gst/gstbin.c: Only care about latency min and max when the sink is actually a live...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * gst/gstbin.c: (bin_query_latency_fold):
4         Only care about latency min and max when the sink is actually a live
5         sink.
6
7 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
8
9         * docs/design/part-block.txt:
10         Fix typo.
11
12         * docs/design/part-element-transform.txt:
13         Add notes about why transform needs to know input/output sizes.
14         Add some issues that need to be solved.
15         Add some more use cases.
16
17         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
18         (gst_test_trans_class_init), (result_sink_chain),
19         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
20         (gst_test_trans_push), (gst_test_trans_pop):
21         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
22         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
23         (set_caps_1), (set_caps_ct1), (transform_ct1),
24         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
25         (gst_basetransform_suite):
26         Add suport for different pad templates and buffer-alloc.
27         Add more checks for caps and buffer-alloc.
28         Add checks for proxy buffer alloc.
29         Add unit test for copy transform.
30
31 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
32
33         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
34
35         * docs/manual/appendix-integration.xml:
36         * docs/manual/appendix-licensing.xml:
37         * docs/manual/basics-elements.xml:
38         * docs/manual/basics-helloworld.xml:
39         * docs/manual/basics-pads.xml:
40         * docs/manual/highlevel-components.xml:
41         * docs/manual/highlevel-xml.xml:
42         * docs/manual/intro-basics.xml:
43         * docs/manual/intro-preface.xml:
44           Typo and formatting fixes (#538594).
45
46 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
47
48         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
49         Fix some memory leaks and uses of object instances that we don't
50         actually own.
51
52 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
53
54         * plugins/elements/gstmultiqueue.c:
55         Add functionality to extra-size-buffers property.
56
57 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
58
59         * plugins/elements/gstmultiqueue.c:
60         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
61         activate the pads if they are added in STATE_NULL.
62
63 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
64
65         * docs/libs/gstreamer-libs-sections.txt:
66         Add new API to doc
67         * libs/gst/check/gstcheck.c:
68         * libs/gst/check/gstcheck.h:
69         API: gst_check_teardown_pad_by_name
70
71 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
72
73         * libs/gst/check/gstcheck.c:
74         * libs/gst/check/gstcheck.h:
75         Also setup request pads and allow setup pads by name (#537812)
76         API: gst_check_setup_src_pad_by_name
77         API: gst_check_setup_sink_pad_by_name
78
79 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
80
81         * tests/check/gst/gstbuffer.c:
82         * tests/check/pipelines/parse-launch.c:
83           Use HAVE_VALGRIND_H some more.
84
85 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
86
87         * scripts/cvs-update.sh:
88           Pass arguments to make.
89           Run autoregen.sh if Makefile is not there.
90
91 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
92
93         * configure.ac:
94         * gst/gstinfo.c:
95           Don't assume that <valgrind/valgrind.h> exists just because
96           the binary is there.
97
98 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
99
100         * tests/check/Makefile.am:
101         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
102         (gst_test_trans_class_init), (gst_test_trans_init),
103         (gst_test_trans_set_data), (result_sink_chain),
104         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
105         (gst_test_trans_pop):
106         * tests/check/libs/transform1.c: (GST_START_TEST),
107         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
108         Add some test basetransform element and the beginnings of various
109         unit tests for it.
110
111 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
112
113         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
114         Increase code readability.
115         Don't try to compare buffer offsets when ther are invalid.
116
117 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
118
119         * docs/design/Makefile.am:
120           Dist some more design docs.
121
122         * docs/random/moving-plugins:
123           Small addition: good plugins mustn't have functional code
124           within assertion macros.
125
126 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
127
128         * docs/design/draft-framestep.txt:
129         Some ideas about a framestep API
130
131         * docs/design/part-element-transform.txt:
132         Start design and use cases for basetransform in order to get it
133         fixed soon.
134
135 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
136
137         * gst/gsttaglist.h:
138           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
139           be in UTF-8 encoding.
140
141 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
142
143         * gst/gstbus.c:
144           Make it known that gst_bus_poll() is pure evil (fixes #538810).
145
146 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
147
148         * plugins/elements/gstcapsfilter.c:
149         * plugins/elements/gstfakesink.c:
150         * plugins/elements/gstfakesrc.c:
151         * plugins/elements/gstfdsink.c:
152         * plugins/elements/gstfdsrc.c:
153         * plugins/elements/gstfilesink.c:
154         * plugins/elements/gstfilesrc.c:
155         * plugins/elements/gstidentity.c:
156         * plugins/elements/gstmultiqueue.c:
157         * plugins/elements/gstqueue.c:
158         * plugins/elements/gsttee.c:
159         * plugins/elements/gsttypefindelement.c:
160           Remove short_description. Add basic docs for gsttypefindelement.
161           Simplify markup for fakesrc/fdsrc.
162
163 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
164
165         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
166         Added Since doc.
167
168 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
169
170         Patch by: joel larsson <tilljoel at gmail dot com>
171
172         * docs/plugins/gstreamer-plugins.args:
173         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
174         (gst_fd_src_init), (gst_fd_src_update_fd),
175         (gst_fd_src_set_property), (gst_fd_src_get_property),
176         (gst_fd_src_create):
177         * plugins/elements/gstfdsrc.h:
178         Add timeout property like udpsrc. Fixes #538628.
179         Add some more docs and example pipelines.
180
181 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
182
183         * docs/libs/gstreamer-libs-sections.txt:
184         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
185         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
186         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
187         (gst_base_sink_do_sync):
188         * libs/gst/base/gstbasesink.h:
189         * win32/common/libgstbase.def:
190         Add method to allow sinks to specify additional delay between the sync
191         times and the actual rendering of the data.
192         API: gst_base_sink_set_render_delay()
193         API: gst_base_sink_get_render_delay()
194
195 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
196
197         * configure.ac:
198         Bump version number back to dev -> 0.10.20.1
199
200 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
201
202         * docs/gst/gstreamer-sections.txt:
203         * gst/gsttaglist.c: (_gst_tag_initialize):
204         * gst/gsttaglist.h:
205         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
206         Fixes bug #538568.
207
208 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
209
210         * libs/gst/controller/gstcontroller.c:
211           Revert one change, that make ret value possible uninitialized.
212
213 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
214
215         * libs/gst/controller/gstcontroller.c:
216           Use freeze/thaw notify to sync notify emission a bit (its also more
217           efficient). Move debug output to LOG (is called a lot in a loop).
218           Always unset g_values if the have been initialized.
219
220 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
221
222         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
223         (gst_base_sink_wait_eos), (gst_base_sink_event):
224         If we have not seen a buffer before EOS, use the segment values to
225         report the current position instead of invalid positions.
226
227 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
228
229         * docs/plugins/tmpl/.cvsignore:
230         * tests/check/gst/.cvsignore:
231           Ignore more.
232
233 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
234
235         * libs/gst/controller/gstinterpolation.c:
236         * libs/gst/controller/gstinterpolationcontrolsource.c:
237         * tests/check/libs/controller.c:
238           Rewrite handling of default values. Fix overflow with unsigned types
239           in linear interpolation. Remove now obsolete _first_value() function.
240           Add more tests. Fixes #538201.
241
242 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
243
244         * libs/gst/base/gstbasetransform.c:
245         (gst_base_transform_class_init), (gst_base_transform_init),
246         (gst_base_transform_transform_caps),
247         (gst_base_transform_prepare_output_buffer):
248         Add debug info.
249         When a buffer is writable, its metadata is also writable so we don't
250         need to subbuffer (which then makes the buffer not-writable anymore).
251
252 === release 0.10.20 ===
253
254 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
255
256         * configure.ac:
257           releasing 0.10.20, "You Crazy Diamond"
258
259 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
260
261         * configure.ac:
262         0.10.19.3 pre-release
263
264 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
265
266         * configure.ac:
267         * gst/gstpreset.c:
268         Rename DATADIR to GST_DATADIR to avoid build problems
269         on win32. Patch By: David Schleef <ds@schleef.org>
270         Fixes: #536857
271
272 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
273
274         * configure.ac:
275         Explicitely link with -ldl if dladdr() is found there. Before it was
276         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
277         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
278
279 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
280
281         * gst/gsterror.c: (_gst_stream_errors_init):
282           Fix typo (spotted by Fabricio Godoy, #536723).
283
284 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
285
286         * configure.ac:
287         0.10.19.2 pre-release
288
289 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
290
291         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
292         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
293         Add some debug.
294         Make sure we don't generate invalid QoS messages.
295
296 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
297
298         * gst/gstevent.c: (gst_event_new_qos):
299         Add some assert and docs for invalid input to the qos function.
300
301 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
302
303         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
304         (gst_base_sink_get_position):
305         The reported position must always be smaller than the last seen
306         timestamps (or timestamp + duration for reverse).
307
308 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
309
310         Patch by: Rob Bradford <rob at robster dot org dot uk>
311
312         * gst/gstregistry.c: (gst_registry_scan_path_level):
313         Don't recurse into .debug directories as some distros install
314         the debugging symbols next to the plugins in .debug directories
315         and dlopen() crashes on them sometimes. Fixes bug #508070.
316
317         Add FIXME for 0.11 to not recurse into directories at all because
318         it's very inconsistent to the behaviour of other PATH environment
319         variables.
320
321 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
322
323         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
324         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
325         Fix position query range checks in reverse playback.
326
327 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
328
329         * gst/gstelement.c:
330         * gst/gstelement.h:
331         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
332         clear of the reference to the resulting pad must be released later
333         or not, resulting in possible leaks. Fixes bug #533865.
334
335 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
336
337         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
338
339         * gst/gstelementfactory.c:
340         Small doc fix. Fixes #535285.
341
342 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
343
344         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
345
346         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
347         (gst_base_src_get_range), (gst_base_src_pad_get_range),
348         (gst_base_src_loop), (gst_base_src_set_flushing),
349         (gst_base_src_change_state):
350         Make sending an EOS event to the basesrc non-blocking even if the
351         implementation does blocking waits in the create function. This is done
352         by unlocking the create function when EOS is sent.
353         Fixes #535218.
354
355 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
356
357         * tools/gst-inspect.c: (print_element_properties_info):
358         If possible print the element type of GValueArray properties.
359
360 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
361
362         * gst/gstiterator.c:
363         Remove an unused field from the private GstListIterator struct.
364
365 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
366
367         * libs/gst/controller/gstcontroller.c:
368           Add parameter guards.
369
370 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
371
372         * tests/check/gst/gstpipeline.c:
373           Revert test change and add comment why it should not work.
374
375 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
376
377         * tests/check/gst/gstpipeline.c:
378           Extending the test a little to verify that we also get the NULL state-
379           change message.
380
381 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
382
383         * gst/gstpreset.c: (gst_preset_default_get_meta),
384           (gst_preset_get_preset_names), (gst_preset_get_property_names),
385           (gst_preset_load_preset), (gst_preset_save_preset),
386           (gst_preset_rename_preset), (gst_preset_delete_preset),
387           (gst_preset_set_meta):
388           Add Since: markers to docs blurbs.
389
390         * win32/common/libgstreamer.def:
391           Add recently-added API.
392
393 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
394
395         Patch by: Stefan Kost  <ensonic@users.sf.net>
396
397         * configure.ac:
398         Add DATADIR for storing presets.
399
400         * docs/gst/gstreamer-docs.sgml:
401         * docs/gst/gstreamer-sections.txt:
402         * docs/gst/gstreamer.types.in:
403         Add GstPreset to docs.
404
405         * gst/Makefile.am:
406         * gst/gst.h:
407         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
408         (preset_open_and_parse_header), (preset_parse_version),
409         (preset_merge), (preset_get_keyfile),
410         (gst_preset_default_get_preset_names),
411         (gst_preset_default_get_property_names),
412         (gst_preset_default_load_preset),
413         (gst_preset_default_save_presets_file),
414         (gst_preset_default_save_preset),
415         (gst_preset_default_rename_preset),
416         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
417         (gst_preset_default_get_meta), (gst_preset_default_randomize),
418         (gst_preset_default_reset), (gst_preset_get_preset_names),
419         (gst_preset_get_property_names), (gst_preset_load_preset),
420         (gst_preset_save_preset), (gst_preset_rename_preset),
421         (gst_preset_delete_preset), (gst_preset_set_meta),
422         (gst_preset_get_meta), (gst_preset_class_init),
423         (gst_preset_base_init), (gst_preset_get_type):
424         * gst/gstpreset.h:
425         Add GstPreset to core. Fixes #396779
426
427         * tests/check/Makefile.am:
428         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
429         (gst_preset_test_set_property), (gst_preset_test_class_init),
430         (gst_preset_test_base_init), (gst_preset_test_get_type),
431         (gst_preset_test_plugin_init), (GST_START_TEST),
432         (remove_preset_file), (test_setup), (test_teardown),
433         (gst_preset_suite):
434         Add GstPreset unit tests.
435
436 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
437
438         * gst/gstpad.c: (gst_pad_event_default_dispatch):
439         The default event function on a sinkpad should return TRUE when
440         there are no internal links but should collect the return values from
441         the internal links otherwise.
442
443 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
444
445         * plugins/elements/gsttypefindelement.c:
446         (gst_type_find_element_src_event),
447         (gst_type_find_element_handle_event):
448         Use faster and safer _pad_push_event().
449
450 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
451
452         * docs/gst/gstreamer-sections.txt:
453         * gst/gstutils.c: (element_find_unlinked_pad),
454           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
455         * gst/gstutils.h:
456           API: add gst_bin_find_unlinked_pad()
457           API: deprecate gst_bin_find_unconnected_pad() (#401456)
458
459 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
460
461         * gst/gstclock.c:
462         * gst/gstclock.h:
463         * gst/gsttask.c:
464         * gst/gsttask.h:
465         Fixed a bunch of typos.
466
467 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
468
469         * gst/gstpad.h:
470         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
471           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
472           (gst_parse_bin_from_description_full):
473         * gst/gstutils.h:
474           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
475
476 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
477
478         * docs/pwg/advanced-tagging.xml:
479           Small docs update, can't be bothered to rewrite the nonsensical
480           examples right now.
481
482 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
483
484         * gst/gstevent.h:
485           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
486
487 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
488
489         * gst/parse/grammar.y:
490           Remove unneeded casts.
491
492 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
493
494         * gst/parse/grammar.y:
495         * tests/check/pipelines/parse-launch.c:
496           Get all missing elements from a parse launch string if possible
497           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
498
499 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
500
501         * tests/check/Makefile.am:
502         * tests/check/pipelines/parse-launch.c:
503           Add some unit tests for the new gst_parse_launch*_full() API.
504           (Exposes a previously-existing memory leak in the error code
505           path, so adding to VALGRIND_TO_FIX for now).
506
507 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
508
509         * docs/gst/gstreamer-sections.txt:
510         * gst/gst.c: (init_post):
511         * gst/gst_private.h: (_GstParseContext):
512         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
513           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
514           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
515           (gst_parse_launch_full):
516         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
517           (GstParseFlags), (GstParseContext):
518         * gst/gstutils.c: (gst_parse_bin_from_description),
519           (gst_parse_bin_from_description_full):
520         * gst/gstutils.h:
521         * gst/parse/grammar.y:
522         * gst/parse/types.h:
523         * win32/common/libgstreamer.def:
524           Add new gst_parse_*_full API (#528178):
525           API: gst_parse_launch_full()
526           API: gst_parse_launchv_full()
527           API: gst_parse_bin_from_description_full()
528           API: gst_parse_context_new()
529           API: gst_parse_context_free()
530           API: gst_parse_context_get_missing_elements()
531
532 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
533
534         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
535
536         * docs/faq/gst-uninstalled:
537           Also support ffmpeg in gst-uninstalled.
538
539 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
540
541         * configure.ac:
542         After discussion on IRC use the binary registry as default
543         but allow to disable it with --disable-binary-registry.
544
545         * win32/common/libgstreamer.def:
546         Add the two new symbols for the binary registry.
547
548 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
549
550         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
551         * gst/gstutils.c: (gst_parse_bin_from_description):
552         * gst/parse/grammar.y: (graph):
553           More guards against bad input; typo fix; some minor clean-ups.
554
555 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
556
557         Patch by: Sjoerd Simons <sjoerd at luon dot net>
558
559         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
560         If nothing else can be used, use the last buffer's start time as
561         the segment's last stop. Fixes bug #534258.
562
563 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
564
565         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
566           Move size sanity check to the right place: downstream may return
567           a buffer with a smaller size if the buffer caps are different than
568           the requested ones, as may happen when doing reverse negotiation.
569
570 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
571
572         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
573         (gst_file_sink_render):
574         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
575         (gst_file_src_start):
576         Small cleanups. Add note adbout g_fopen() on windows and why we don't
577         use it yet.
578
579 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
580
581         * gst/gstpad.c: (gst_pad_load_and_link):
582         * gst/gstutils.c: (gst_element_link_pads),
583         (gst_element_unlink_pads):
584         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
585         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
586         (gst_check_teardown_sink_pad),
587         (gst_check_element_push_buffer_list):
588         * tests/check/elements/fakesink.c: (GST_START_TEST):
589         * tests/check/elements/filesink.c:
590         * tests/check/elements/filesrc.c: (GST_START_TEST):
591         * tests/check/elements/multiqueue.c: (setup_multiqueue),
592         (mq_sinkpad_to_srcpad):
593         * tests/check/elements/tee.c: (GST_START_TEST):
594         * tests/check/generic/sinks.c: (GST_START_TEST):
595         * tests/check/gst/gstbin.c: (GST_START_TEST):
596         * tests/check/gst/gstevent.c: (GST_START_TEST):
597         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
598         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
599         * tests/check/gst/gstquery.c: (GST_START_TEST):
600         * tests/check/gst/gstutils.c: (GST_START_TEST):
601         * tests/check/libs/basesrc.c: (GST_START_TEST):
602         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
603         (gst_parse_test_element_change_state):
604         Don't use gst_element_get_pad().
605
606 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
607
608         * docs/Makefile.am:
609         Fix installing plugin documentation when gtk-doc is disabled.
610
611 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
612
613         * docs/manual/advanced-autoplugging.xml:
614         * docs/manual/basics-helloworld.xml:
615         * docs/manual/basics-pads.xml:
616         * docs/manual/highlevel-components.xml:
617         Avoid using a bad function in the example code.
618
619 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
620
621         * gst/gstclock.c: (gst_clock_set_calibration):
622         Fix debug of the new clock rate.
623
624 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
625
626         * win32/common/libgstbase.def:
627         Add gst_base_sink_wait_clock() to the exported symbols.
628
629 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
630
631         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
632
633         * libs/gst/base/gstbasetransform.c:
634         (gst_base_transform_sink_event):
635         Unref events that the GstBaseTransform::event vfunc didn't want to
636         have forwarded by the base class. Closes a leak in identity.
637         Fixes bug #446763.
638
639 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
640
641         * docs/libs/gstreamer-libs-sections.txt:
642         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
643         * libs/gst/base/gstbasesink.h:
644         Expose a method that was previously used internally to synchronize
645         against the clock because it can be useful for subclasses too.
646         API: GstBaseSink::gst_base_sink_wait_clock()
647
648 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
649
650         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
651           Add sanity check to make sure we don't get smaller buffers
652           than requested (and fallback to normal buffer alloc if we do).
653
654 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
655
656         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
657         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
658         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
659         Refactor adjusting the running_time with latency and offset into a
660         separate method.
661         When doing clipping, we still want to use the subclass get_times method,
662         just in case the DURATION or TIMESTAMP are not set.
663
664 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
665
666         * docs/gst/gstreamer-sections.txt:
667         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
668         * gst/gsttypefind.h:
669         * win32/common/libgstreamer.def:
670           API: add gst_type_find_suggest_simple(), #533740.
671
672 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
673
674         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
675           Use right error code when typefinding fails, so we can use
676           the default (translated) error messages.
677
678 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
679
680         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
681         (gst_base_src_start):
682         When the subclass did not set caps on outgoing buffers, configure the
683         caps we negotiated on the source pad.
684         When the typefind helper does not find caps, error out properly instead
685         of doing things with NULL caps.
686
687 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
688
689         * gst/gsttypefind.h:
690           Tabs to spaces, oh yes!
691
692 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
693
694         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
695           Add David's and Benjamin's tests for array intersection to the
696           unit test suite (#147931).
697
698 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
699
700         * gst/gstevent.c:
701           Document that gst_event_new_tag() and gst_event_new_navigation()
702           take ownership of the taglist/structure passed to them. (#533635).
703
704 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
705
706         * docs/Makefile.am:
707         Don't descend into the plugins dir if plugin docs building
708         is disabled.
709
710         * docs/README:
711         Add a note about the new type:GTypeName syntax for the plugin
712         documentation .types file.
713
714 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
715
716         * gst/gstmessage.c: (gst_message_new_error),
717         (gst_message_new_warning), (gst_message_new_info):
718         * gst/gstmessage.h:
719         Mark the debug string parameters as const. Fixes bug #533490.
720
721 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
722
723         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
724         Sort buffer cache list by end offsets. This makes sure that we don't
725         stop to search for a cached buffer that contains the requested data
726         too early.
727         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
728         more efficient. Fixes bug #459862.
729
730 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
731
732         * gst/gstinfo.c:
733           Explain why we copy the list.
734
735         * gst/gstpipeline.c:
736           Improve docs.
737
738         * gst/gstutils.c:
739           Add one debug-log statement to help tracing probelms with linking pads.
740
741 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
742
743         * tests/check/gst/gstinfo.c:
744         Add a test for removing the default log handler. Seems to fail under
745         windows.
746
747 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
748
749         * gst/gstpad.c: (gst_pad_peer_accept_caps):
750         Release pad lock before calling out to avoid a possible deadlock.
751
752 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
753
754         * gst/parse/grammar.y:
755         Remove unneeded value unset.
756
757         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
758         Add unit test for de/serialization of caps.
759
760 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
761
762         * plugins/elements/gstfakesink.c:
763         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
764         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
765         (gst_fake_src_class_init):
766         Use custom marshalers that take GstMiniObject as first parameter.
767         Using OBJECT as parameter while a GstMiniObject is given will lead
768         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
769
770 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
771
772         * plugins/elements/gsttypefindelement.c:
773         (gst_type_find_element_handle_event),
774         (gst_type_find_element_send_cached_events),
775         (gst_type_find_element_change_state):
776         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
777         immediately.
778
779 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
780
781         * plugins/elements/gsttypefindelement.c:
782         (gst_type_find_handle_src_query), (stop_typefinding),
783         (gst_type_find_element_handle_event),
784         (gst_type_find_element_send_cached_events),
785         (gst_type_find_element_change_state):
786         Forward FLUSH_START events immediately and clean up instead of
787         caching them.
788
789 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
790
791         Patch by: Sjoerd Simons <sjoerd at luon dot net>
792
793         * libs/gst/base/gstbasetransform.c:
794         (gst_base_transform_buffer_alloc):
795         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
796         fall back to default negotiation in the chain function if the caps
797         are different from what was requested. Fixes bug #526768.
798
799 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
800
801         * gst/gstsegment.c:
802         * tests/check/gst/gstsegment.c:
803           No, let's not use g_slice_{dup|copy} here, since they only exist
804           since GLib 2.14 and we still depend only on >= 2.12. Also add
805           unit test for gst_segment_copy().
806
807 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
808
809         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
810           Try to fix 'dereferencing type-punned pointer will break strict
811           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
812           changed the default GType typedef from gulong to gsize at some point,
813           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
814           g_once_* functions all take a gsize * though, so work around the type
815           mismatch for C++ by doing everything in gsize and casting to GType
816           later.
817
818 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
819
820         * plugins/elements/gstmultiqueue.c:
821         Add documentation for the signals to push our core plugin docs
822         coverage back up to 100%.
823
824 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
825
826         * gst/gstinfo.h (GST_FUNCTION):
827           Reverted GST_FUNCTION to the old version as we don't want the
828           full signature in C++ code. Also added support for MSVC.
829
830 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
831
832         * gst/gstutils.h:
833         Intern the type name string, similar to what G_DEFINE_TYPE does.
834
835 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
836
837         * gst/gstutils.h:
838         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
839
840 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
841
842         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
843
844         * libs/gst/base/gstbasetransform.c:
845         (gst_base_transform_buffer_alloc):
846         Don't passthrough buffer allocation too easily if the caps change.
847         This breaks when working in passthrough mode and upstream changes
848         it's caps. Fixes bug #526768.
849
850 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
851
852         * gst/gstinfo.c (gst_debug_log_valist):
853           Improved the __FILE__ part of debug output for MSVC.
854
855 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
856
857         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
858           Declaration after statement fix for compilers like MSVC.
859
860 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
861
862         * win32/common/config.h.in:
863           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
864           use the real thing than having "???" unconditionally.
865
866 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
867
868         * gst/gstinfo.h (GST_FUNCTION):
869           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
870
871 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
872
873         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
874         Small code cleanup.
875
876         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
877         (gst_base_sink_set_flushing):
878         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
879         Fix some comments.
880
881 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
882
883         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
884         (gst_fake_src_init), (gst_fake_src_set_property),
885         (gst_fake_src_get_property), (gst_fake_src_start):
886         * plugins/elements/gstfakesrc.h:
887         Added format property to control the format of the newsegment events.
888         API: GstFakeSrc:format
889
890 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
891
892         * win32/common/libgstreamer.def:
893         Add gst_pad_has_name() to the exported symbols.
894
895 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
896
897         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
898         * libs/gst/base/gstbasetransform.c:
899         (gst_base_transform_prepare_output_buffer):
900         Don't allow negative sizes when allocating new buffers.
901         Fixes bug #461253.
902
903 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
904
905         Patch by: Sjoerd Simons <sjoerd at luon net>
906
907         * gst/gstbus.c: (gst_bus_source_dispatch):
908           Don't print a warning if the queue is empty when we try to pop
909           here. That could happen if another thread or callback set the
910           bus to flushing between the source's check/prepare and the
911           dispatch being called (#531538).
912
913 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
914
915         * plugins/elements/gstmultiqueue.c:
916           Small docs fix.
917         
918 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
919
920         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
921         Add unit test for deserializing uint64s and check some really large
922         numbers in the int64 test.
923
924 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
925
926         * tools/gst-inspect.c: (n_print), (print_hierarchy),
927         (print_interfaces), (print_element_properties_info),
928         (print_signal_info):
929         Use "%s" as format string instead of printing strings directly.
930
931 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
932
933         * gst/gstclock.c: (gst_clock_set_calibration):
934         Make some checks actually useful.
935
936         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
937         Remove some unused code. Unsigned integers tend to be >= 0.
938
939 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
940
941         * gst/gstminiobject.c: (gst_value_get_mini_object):
942           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
943           function was not in the unscheduled 0.10.19 release.
944
945 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
946
947         * gst/gstregistry.c: (gst_registry_scan_path_level):
948           Only print one log message per non-plugin file.
949
950 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
951
952         * gst/gstinfo.c: (gst_debug_log_default):
953           Fix alignment of debug log columns on 64-bit.
954
955 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
956
957         * docs/libs/Makefile.am:
958         * docs/libs/gstreamer-libs-sections.txt:
959           Ignore private controller headers for docs.
960
961 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
962
963         * libs/gst/controller/gstcontrollerprivate.h:
964         * libs/gst/controller/gsthelper.c:
965         * libs/gst/controller/gstinterpolation.c:
966         * libs/gst/controller/gstinterpolationcontrolsource.c:
967         (gst_interpolation_control_source_set_interpolation_mode):
968         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
969         * libs/gst/controller/lib.c:
970         Move some private declarations into private headers.
971
972 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
973
974         * gst/gstdebugutils.c: (debug_dump_element_pad):
975         Remove some code that is unused after Stefan's refactoring and uses
976         uninitialized variables now, resulting in a compiler warning.
977
978 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
979
980         * gst/gstregistry.c: (gst_registry_scan_path_level):
981           Run g_str_has_suffix() only on the file name, not the
982           entire file path.
983
984 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
985
986         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
987           Since we're not called only from the chain function any longer,
988           we can't assume that there's always data in the queue, so move
989           the is_full check to the beginning of the loop (otherwise we'd
990           hit the assert when changing the limit properties while the
991           queue is empty or not running yet).
992           Also, only set a discont if items were actually removed from
993           the queue.
994
995         * tests/check/elements/queue.c: (test_leaky_downstream):
996           Test case for the above.
997
998 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
999
1000         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
1001
1002         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
1003         (gst_queue_chain), (queue_capacity_change),
1004         (gst_queue_set_property):
1005         When changing thr max capacity of a leaky queue, immediatly drop buffers
1006         instead of waiting for a push on the sinkpad. Fixes #530637.
1007
1008 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
1009
1010         * gst/gstdebugutils.c:
1011           Refactor code and fix handling of ghostpads and their proxypads.
1012
1013 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1014
1015         * docs/gst/gstreamer-sections.txt:
1016         * gst/gstevent.c: (gst_event_has_name):
1017         * gst/gstevent.h:
1018         * tests/check/gst/gstevent.c: (GST_START_TEST):
1019         Add method to conveniently check the name of a custom event with
1020         gst_event_has_name().
1021         Reformat the event docs so that related methods are put together instead
1022         of the default alphabetical sort.
1023         Update unit test with new method.
1024         API: GstEvent::gst_event_has_name()
1025
1026 2008-04-28  Michael Smith <msmith@songbirdnest.com>
1027
1028         * libs/gst/check/Makefile.am:
1029           Don't add an explicit link to libgstreamer-0.10.la; it's already
1030           included in GST_OBJ_LIBS.
1031
1032 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
1033
1034         * gst/gst.c:
1035         Register GstClock type from a type-safe context. Fixes bug #530317.
1036
1037 2008-04-25  Michael Smith <msmith@songbirdnest.com>
1038
1039         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
1040         * tools/gst-run.c:
1041           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
1042
1043 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1044
1045         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1046         (gst_bin_dispose):
1047         Use the GLib stuff to create a private structure.
1048         Add some locking around some dispose methods to make them a little
1049         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1050
1051 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1052
1053         * libs/gst/base/gstbasesink.h:
1054         * libs/gst/base/gstbasesrc.h:
1055         * libs/gst/base/gstbasetransform.h:
1056         * libs/gst/base/gstcollectpads.h:
1057           Fix doc typos and unify caps a bit.
1058
1059 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1060
1061         * tools/gst-launch.1.in:
1062           Forgot to also add the envvar docs here.
1063
1064 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1065
1066         * gst/gst.c: (init_post), (gst_deinit):
1067         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
1068           (test_concurrent_create), (gst_pipeline_suite):
1069           Ref some more classes in gst_init() to work around thread-safety
1070           issues in pre-2.16 GLibs, and add basic unit test.
1071
1072 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1073
1074         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1075         (gst_base_sink_send_event):
1076         Rearrange the latency query code. We always want to do the upstream
1077         query, even if we are not live so that the upstream elements can get the
1078         latency results too. If we fail doing the query and we are live, we
1079         return TRUE afterwards.
1080
1081 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1082
1083         patch by: Jason Zhao <e3423c@motorola.com>
1084
1085         * docs/gst/running.xml:
1086         * gst/gst.c:
1087           Enable/disable scan_and_update_registry() based on commandline switch
1088           or environment variable. Fixes #520468.
1089           
1090         * ChangeLog:
1091           Fix typo in my previous commit.
1092
1093 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1094
1095         * gst/gstregistrybinary.c:
1096           Add a warning if we hit unhandled factories when saving.
1097           More debug logging detail, but move to LOG category.
1098
1099 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1100
1101         * gst/gstregistry.c:
1102           Tell the *truth* when improving the documentation.
1103
1104 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
1105
1106         * gst/gstelementfactory.c: (gst_element_factory_make):
1107         Unref the factory after it was used the last time, not before.
1108
1109         * gst/gstindexfactory.c: (gst_index_factory_make):
1110         Improve debugging a bit and don't leak a ref to the index factory with
1111         each call.
1112
1113 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1114
1115         * gst/gstregistry.c:
1116           Improve the documentation.
1117
1118 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1119
1120         * gst/gstsegment.c:
1121           The glib macro seems to be borked. Use g_slice_copy directly and cast
1122           in the hope that this fixes the warning on 64bit.
1123
1124 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1125
1126         * gst/gstsegment.c:
1127           Document the new function. Use g_slice_dup() (no need for
1128           gst_segment_init()).    
1129
1130 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1131
1132         * docs/gst/gstreamer-sections.txt:
1133           Move GParamSepc macros to standart section.
1134   
1135         * gst/gstbin.c:
1136           Dn't document _get_type - its in private section in docs anyway and
1137           this doc-blob was incomplete.
1138
1139         * gst/gstclock.h:
1140           Fix wrong symbol names in docs.
1141
1142         * gst/gstmacros.h:
1143           Add once doc sentence.
1144
1145         * tests/check/gst/.cvsignore:
1146           Ignore more.
1147
1148 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1149
1150         * docs/gst/Makefile.am:
1151           And remove those libs here.
1152
1153 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1154
1155         * docs/libs/Makefile.am:
1156           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
1157
1158 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1159
1160         Patch by: Olivier Crete <tester at tester dot ca>
1161
1162         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1163         Add the min-threshold to the min latency if possible. Fixes #529148.
1164
1165 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1166
1167         * docs/gst/gstreamer.types.in:
1168           Stupid editor, I removed that line as it should go in yet.
1169
1170 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1171
1172         * docs/gst/gstreamer.types.in:
1173         * docs/libs/gstreamer-libs.types:
1174           Remove library types fro core docs and have them in libs docs.
1175           Reformat and cleanup. Add comment for miniobject types.
1176
1177 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
1178
1179         * gst/gsturi.c: (gst_uri_get_protocol):
1180           Fix leak: g_strdown operates on the string in place, while
1181           g_ascii_strdown() returns a newly-allocated string.
1182
1183 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
1184
1185         * tools/gst-inspect.c: (print_uri_handler_info),
1186         (print_element_info):
1187         Print the URI protocols and the URI type supported by the element.
1188
1189 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1190
1191         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
1192         Use g_value_take_string() instead of the deprecated
1193         g_value_set_string_take_ownership().
1194
1195 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1196
1197         * gst/gstregistrybinary.c: (_gst_crc32):
1198         Return the old CRC instead of 0 if we give a NULL buffer
1199         or a buffer with a length of 0.
1200
1201 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1202
1203         * gst/gsturi.c: (gst_uri_protocol_check_internal),
1204         (gst_uri_get_protocol), (gst_uri_has_protocol),
1205         (gst_uri_construct), (gst_uri_handler_set_uri):
1206         A valid URI scheme can also include '+', '-' and '.' additional
1207         to alphanumeric characters as per RFC 3986 Section 3.1.
1208
1209         Handle URI schemes case insensitive in all places and convert
1210         to lower-case when constructing an URI or setting an URI with
1211         the GstURIHandler interface. Fixes bug #528868.
1212         All elements can still assume (as before) that they will
1213         get passed URIs with a lower-case URI scheme by the GstURIHandler
1214         interface.
1215
1216 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
1217
1218         * gst/gstcaps.c: (gst_static_caps_get):
1219         * gst/gstclock.c: (gst_clock_entry_new):
1220           Don't use g_atomic_set_int where it's not needed.
1221
1222 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1223
1224         * gst/gstvalue.c: (gst_value_deserialize_caps):
1225         * gst/parse/grammar.y:
1226         Fix 2 caps leaks.
1227
1228 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1229
1230         * gst/gstutils.c: (gst_atomic_int_set):
1231         Use g_atomic_int_set() here too instead of assignment +
1232         g_atomic_int_get().
1233
1234 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1235         
1236         * gst/gstutils.c:
1237         * gst/gstutils.h:
1238         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
1239         now that we depend on new enough GLib.
1240
1241         * gst/gstcaps.c: (gst_static_caps_get):
1242         * gst/gstclock.c: (gst_clock_entry_new):
1243         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
1244         (gst_debug_set_default_threshold), (_gst_debug_category_new),
1245         (gst_debug_category_set_threshold):
1246         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1247         (gst_base_sink_set_qos_enabled):
1248         * libs/gst/net/gstnettimeprovider.c:
1249         (gst_net_time_provider_set_property):
1250         Use g_atomic_int_set() instead of gst_atomic_int_set().
1251
1252 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1253
1254         * gst/gstquery.c:
1255           Also use G_GINT64_CONSTANT for the queries.
1256
1257 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1258
1259         * gst/gstmessage.c:
1260           Use G_GINT64_CONSTANT in varargs function.
1261
1262 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1263
1264         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
1265         Initialize the registry magic with zeroes.
1266
1267 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1268
1269         * gst/gstregistrybinary.c: (_gst_crc32),
1270         (gst_registry_binary_write),
1271         (gst_registry_binary_initialize_magic),
1272         (gst_registry_binary_write_cache),
1273         (gst_registry_binary_check_magic),
1274         (gst_registry_binary_read_cache):
1275         * gst/gstregistrybinary.h:
1276         Add crc32 checksum to the binary registry file and check this before
1277         accepting a registry file.
1278
1279         Also free the data list when writing to the registry file fails.
1280
1281 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1282
1283         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1284         (gst_registry_binary_load_feature),
1285         (gst_registry_binary_load_plugin):
1286         If an element supports the Uri interface, returns a valid pointer
1287         to the supported URI protocols but this pointer contains nothing
1288         don't try to save that as it will corrupt the registry.
1289
1290         Don't unref the plugin if we added it to the registry already but
1291         fail to load a feature as gst_registry_add_plugin() takes ownership
1292         of the plugin.
1293
1294         Improve debugging a bit.
1295
1296 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1297
1298         * gst/gsttaglist.h:
1299           Clarify some tag item docs after discussion on irc.
1300
1301 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1302
1303         * docs/gst/gstreamer-docs.sgml:
1304           Remove commented out plugins (they have their own docs). Update
1305           comments.
1306
1307 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1308
1309         * docs/gst/gstreamer-docs.sgml:
1310         * docs/gst/gstreamer-sections.txt:
1311         * gst/gstparamspecs.c:
1312         * gst/gstparamspecs.h:
1313           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
1314           docs to own section.
1315
1316         * gst/gstvalue.c:
1317           This now only documents GValue.
1318           
1319         * docs/libs/gstreamer-libs-sections.txt:
1320         * libs/gst/controller/gstcontroller.h:
1321           Remove GST_PARAM_CONTROLLABLE.
1322
1323 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1324
1325         * docs/README:
1326           Correct file path. Tell about how to use -overrides.txt.
1327         * docs/design/draft-tagreading.txt:
1328           Small design update.
1329
1330 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
1331
1332         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
1333         (gst_registry_binary_load_plugin):
1334         Fix a typo in a debug message and revert change from yesterday as
1335         gst_registry_add_plugin() will only fail if something is really wrong
1336         already and we can't survive it anyway.
1337
1338 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
1339
1340         * gst/gst.c: (init_post), (gst_deinit):
1341           Pre-register GstGError GType from a thread-safe context
1342           (fixes #527967); unref enum type classes in deinit.
1343
1344 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1345
1346         Patch by: Rene Stadler <mail at renestadler de>
1347
1348         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1349           Merging an empty list with another list in KEEP_ALL mode should
1350           yield an empty list as result and not the second list (#512578).
1351
1352         * tests/check/gst/gsttagsetter.c:
1353           Add unit test for tag merge modes and the aforementioned bug.
1354
1355 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1356
1357         Patch by: Rene Stadler <mail at renestadler de>
1358
1359         * gst/gsttaglist.h:
1360           Fix description to match the order in the table (#512577).
1361   
1362 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1363
1364         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
1365
1366         * libs/gst/net/gstnettimepacket.h:
1367         * docs/libs/gstreamer-libs-sections.txt:
1368           Define socklen_t as int if it's not defined yet. Fixes compilation
1369           with MSVC6 and other versions where socklen_t is not defined in
1370           the windows headers (#518022).
1371
1372 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
1373
1374         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1375         If gst_registry_add_plugin() fails our reference to the plugin is
1376         invalid so don't try to use it anymore and instead error out.
1377
1378 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1379
1380         * tools/gst-xmlinspect.c: (print_element_info), (main):
1381           De-cruft a bit. If no argument is specified, print all elements in
1382           XML syntax rather than a freestyle list of elements like gst-inspect.
1383           Also, don't print XML header chunk unless we actually have something
1384           to print (ie. don't print it before an error message); print error
1385           message to stderr not stdout. Remove support for printing plugin
1386           info (it would just output something freestyle along the lines of
1387           gst-inspect so far), which fixes #514507. Also add license header.
1388
1389 2008-04-11  Julien Moutte  <julien@fluendo.com>
1390
1391         Mac OS X love...
1392         * configure.ac: Merge platform specific defines, introduce a new
1393         define on OS X to remember that forking when updating registry is
1394         unsafe.
1395         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
1396         module.
1397         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
1398         is defined.
1399         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
1400         condition that leads to absolutely no plugins being registered on
1401         OS X.
1402
1403 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1404
1405         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1406
1407         * gst/gstutils.c: (gst_pad_add_data_probe),
1408           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
1409           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
1410           (gst_pad_add_buffer_probe_full):
1411         * gst/gstutils.h:
1412         * docs/gst/gstreamer-sections.txt:
1413         * win32/common/libgstreamer.def:
1414           Add gst_pad_add_*_probe_full() functions with a notify callback that
1415           lets the caller free the data it passes to the probe functions. This
1416           is useful for bindings such as gst-python or gstreamermm (#526814).
1417           API: gst_pad_add_data_probe_full
1418           API: gst_pad_add_buffer_probe_full
1419           API: gst_pad_add_event_probe_full
1420
1421         * tests/check/gst/gstutils.c:
1422           Add minimal unit test to make sure freeing the data actually works
1423           as expected.
1424
1425         * tests/benchmarks/.cvsignore:
1426           Random cvsignore addendum.
1427
1428 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1429
1430         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
1431           (GST_DEBUG_BIN_TO_DOT_FILE):
1432           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
1433           to it in the docs (since these are macros the types of the arguments
1434           won't be shown in the docs otherwise).
1435
1436 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1437
1438         * gst/gstpad.c:
1439           Do not abort on out of memory for pad_alloc_buffer.
1440
1441 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1442
1443         * libs/gst/check/gstcheck.c:
1444           Remove blank line between symbol name ad parameters to fix gtkdoc
1445           warning.
1446
1447 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1448
1449         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1450
1451         * docs/gst/gstreamer-sections.txt:
1452         * gst/gstsegment.c:
1453         * gst/gstsegment.h:
1454         * win32/common/libgstreamer.def:
1455           Expose gst_segment_copy() to make things easier for the c++ bindings.
1456           Fixes #518932.
1457           API: gst_segment_copy()
1458
1459 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1460
1461         * gst/gst.c: (gst_init_get_option_group), (init_post):
1462           Fix const position; ref GType classes for enum types to work
1463           around thread-safety issues in GLib versions < 2.16.
1464
1465 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1466
1467         * docs/design/part-buffering.txt:
1468         Fix some typos and set the estimated total for push mode to -1.
1469
1470         * gst/gstquery.c: (gst_query_new_buffering):
1471         Set buffering-left to 0 as we're not buffering by default.
1472
1473         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1474         Implement BUFFERING query.
1475
1476 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1477
1478         Based on patch by: Milosz Derezynski <internalerror gmail com>
1479
1480         * gst/gsterror.c: (_gst_stream_errors_init):
1481         * gst/gsterror.h:
1482           Add two new error codes for encrypted content. Fixes #524659.
1483           API: GST_STREAM_ERROR_DECRYPT
1484           API: GST_STREAM_ERROR_DECRYPT_NOKEY
1485
1486 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1487
1488         * gst/gstquery.h:
1489           Fix typo.
1490
1491         * win32/common/libgstreamer.def:
1492           Add new functions.
1493
1494 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
1495
1496         * plugins/elements/gstidentity.c: (gst_identity_event),
1497         (gst_identity_start):
1498         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
1499         event after processing some data. Fixes bug #526042.
1500
1501 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1502
1503         * docs/gst/gstreamer-sections.txt:
1504         * gst/gstquery.c: (gst_query_parse_latency),
1505         (gst_query_set_buffering_percent),
1506         (gst_query_parse_buffering_percent),
1507         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
1508         * gst/gstquery.h:
1509         Rename _avail -> _range
1510         API: gst_query_set_buffering_range
1511         API: gst_query_parse_buffering_range
1512
1513 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1514
1515         * docs/design/part-buffering.txt:
1516         * gst/gstquark.c:
1517         * gst/gstquark.h:
1518         * gst/gstquery.c: (gst_query_parse_latency),
1519         (gst_query_new_buffering), (gst_query_set_buffering_percent),
1520         (gst_query_parse_buffering_percent):
1521         * gst/gstquery.h:
1522         Add busy field and quark for the buffering query so that the app can
1523         only use the query to see if buffering is in progress.
1524
1525 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1526
1527         * docs/gst/gstreamer-sections.txt:
1528         * gst/gstmessage.c: (gst_message_set_buffering_stats),
1529         (gst_message_parse_buffering_stats):
1530         * gst/gstmessage.h:
1531         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1532         (gst_query_parse_latency), (gst_query_new_buffering),
1533         (gst_query_set_buffering_percent),
1534         (gst_query_parse_buffering_percent),
1535         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
1536         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
1537         * gst/gstquery.h:
1538         Reorder the message docs and headers for clarity.
1539         Add aditional buffering stats API for messages.
1540         Add buffering query.
1541         Convert some leftover queries to use GstQuark.
1542         API: gst_message_set_buffering_stats
1543         API: gst_message_parse_buffering_stats
1544         API: GST_QUERY_BUFFERING
1545         API: GstBufferingMode
1546         API: gst_query_new_buffering
1547         API: gst_query_set_buffering_percent
1548         API: gst_query_parse_buffering_percent
1549         API: gst_query_set_buffering_stats
1550         API: gst_query_parse_buffering_stats
1551
1552 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1553
1554         * gst/gstmessage.c: (gst_message_new_error),
1555         (gst_message_new_warning), (gst_message_new_info),
1556         (gst_message_new_buffering), (gst_message_new_state_changed),
1557         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
1558         (gst_message_new_new_clock), (gst_message_new_segment_start),
1559         (gst_message_new_segment_done), (gst_message_new_duration),
1560         (gst_message_new_async_start), (gst_message_parse_buffering),
1561         (gst_message_parse_state_changed),
1562         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1563         (gst_message_parse_new_clock), (gst_message_parse_error),
1564         (gst_message_parse_warning), (gst_message_parse_info),
1565         (gst_message_parse_segment_start),
1566         (gst_message_parse_segment_done), (gst_message_parse_duration),
1567         (gst_message_parse_async_start):
1568         Use GstQuark for messages.
1569
1570 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1571
1572         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1573         * gst/gstquark.h:
1574         Add some more quarks needed for messages and queries.
1575
1576 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1577
1578         * docs/design/part-buffering.txt:
1579         Remove the "none" buffering mode, STREAM is a good default.
1580         Move estimated-time to the avail query, that's when it will be needed.
1581         Other small typo fixes and updates.
1582
1583 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1584
1585         * gst/gstindex.c: (gst_index_resolver_get_type):
1586           Don't put descriptions into the nick field of a GEnumValue: it's not
1587           meant for that and some language bindings rely on the nick field to
1588           construct constants and the like. Fixes #526705.
1589
1590 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1591
1592         * NEWS:
1593         * RELEASE:
1594         * gstreamer.doap:
1595           Merge other changes from 0.10.19 release branch.
1596
1597 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
1598
1599         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1600
1601         * configure.ac:
1602         Actually build dlls when cross-compiling with mingw32.
1603         Fixes bug #526247.
1604
1605 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
1606
1607         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1608
1609         * gst/gstpoll.c:
1610         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
1611
1612 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1613
1614         * docs/design/draft-latency.txt:
1615         Fix typo.
1616
1617         * docs/design/part-buffering.txt:
1618         Update design docs with more buffering ideas.
1619
1620 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
1621
1622         * configure.ac:
1623           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
1624
1625 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1626
1627         * configure.ac:
1628           Revert part that belongs to the preset patch.
1629
1630 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1631
1632         * configure.ac:
1633           Add qoutes to the define. Fixes # 525961.
1634
1635 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
1636
1637         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
1638         (gst_file_index_load), (gst_file_index_add_id),
1639         (gst_file_index_get_assoc_entry):
1640         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
1641         (gst_mem_index_free_id), (gst_mem_index_add_id),
1642         (gst_mem_index_index_format):
1643         Use GSlice when possible.
1644
1645 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
1646
1647         * libs/gst/controller/gstinterpolationcontrolsource.c:
1648         (gst_control_point_free),
1649         (gst_interpolation_control_source_set_internal):
1650         Use GSlice for allocating the control points.
1651
1652 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
1653
1654         * plugins/elements/gsttypefindelement.c:
1655         (gst_type_find_element_class_init),
1656         (gst_type_find_element_set_property),
1657         (gst_type_find_element_get_property),
1658         (gst_type_find_element_activate):
1659         * plugins/elements/gsttypefindelement.h:
1660         Cleanup properties.
1661         Fix pad leak when peer query fails.
1662         We can still typefind when the peer returns -1.
1663         Add property to force caps and bypass typefinding. This will be used in
1664         uridecodebin.
1665         API::force-caps
1666
1667 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
1668
1669         * configure.ac:
1670         Require GLib 2.12.
1671
1672         * gst/glib-compat-private.h:
1673         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
1674         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1675         Unconditionally use GSlice for allocation.
1676
1677         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
1678         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
1679         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
1680         (gst_structure_free):
1681         Use GSlice for allocation.
1682
1683 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
1684
1685         * gst/parse/Makefile.am:
1686         * gst/parse/grammar.tab.pre.c:
1687         * gst/parse/grammar.tab.pre.h:
1688         * gst/parse/lex._gst_parse_yy.pre.c:
1689         Require a new enough flex and bison and remove the parser hacks to use
1690         a pre-regenerated version.
1691
1692 2008-04-01  Julien Moutte  <julien@fluendo.com>
1693
1694         patch by: Jason Zhao <E3423C@motorola.com>
1695
1696         * configure.ac: Add a configure switch to disable option parsing
1697         in gst_init.
1698         Fixes #522882.
1699
1700 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1701
1702         * configure.ac:
1703         * gst/gstregistry.c:
1704           MacOS has plugins under .so or under .dylib. Add detection for MacOS
1705           and handle this case.
1706
1707         * gst/gst.c:
1708           Add a comment here describing, why we stat each plugin and not try to
1709           be smart.
1710
1711 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
1712
1713         * libs/gst/base/gstbasetransform.c:
1714         (gst_base_transform_prepare_output_buffer):
1715         Also unset the GAP flag on buffers if we're working inplace but
1716         the element is not GAP-aware.
1717
1718         Mark a comment as FIXME 0.11.
1719
1720 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1721
1722         * gst/gst.c:
1723           Fix type in log message and add one to ease seeing how long registry
1724           cache verification takes.
1725
1726         * gst/gstregistry.c:
1727           Only test plugin filenames against G_MODULE_SUFFIX.
1728
1729 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1730
1731         * gst/gstdebugutils.c:
1732           Improve handling ghost/proxy pads.
1733
1734 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
1735
1736         * docs/gst/gstreamer-sections.txt:
1737         * gst/gstpad.c:
1738         * gst/gstpad.h:
1739           Expose macro to docs and fix link to it.
1740
1741 2008-03-27  Michael Smith <msmith@fluendo.com>
1742
1743         * libs/gst/dataprotocol/dataprotocol.c:
1744         (gst_dp_packet_from_event_1_0):
1745           When calculating GDP body CRC, use the correct pointer. 
1746           Fixes part of #522401.
1747
1748 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1749
1750         Patch by: Mark Nauwelaerts <manauw at skynet be>
1751
1752         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1753         (gst_identity_init), (gst_identity_prepare_output_buffer):
1754         Identity is not always a passthrough element, it can modify the buffer
1755         timestamps when it has a datarate and operates in single-segment mode.
1756         We therefore make it an in_place filter with a custom buffer prepare
1757         function that conditionally makes the input buffer metadata writable
1758         when needed.  Fixes #523985.
1759
1760 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1761
1762         Patch by: Mark Nauwelaerts <manauw at skynet be>
1763
1764         * gst/gstclock.h:
1765         * libs/gst/base/gstbasesrc.h:
1766         * libs/gst/base/gstbasetransform.c:
1767         * libs/gst/check/gstcheck.c:
1768         Small documentation fixes. Fixes #523978.
1769
1770 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1771
1772         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1773         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
1774         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
1775
1776 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1777
1778         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
1779         (single_queue_underrun_cb):
1780         When trying to make room in the queue, bump the max allowed buffers
1781         bigger than the current amount of buffers in the queue. this fixes some
1782         nasty deadlocks in multiqueue when dynamically changing the limits of
1783         the queue.
1784
1785 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1786
1787         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1788
1789         * gst/gstcaps.c: (gst_caps_set_simple),
1790         (gst_caps_set_simple_valist), (gst_caps_intersect):
1791         * gst/gstcaps.h:
1792         Constify the field gchar * params in set_simple and friends.
1793         Fixes #522326.
1794
1795 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1796
1797         * gst/gstvalue.c: (gst_value_transform_object_string):
1798         Transform a GstObject to a more meaningfull string that includes the
1799         object type in addition to its name.
1800
1801 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
1802
1803         * ChangeLog:
1804           ChangeLog surgery to add bugnumber to commit.
1805
1806 2008-03-23  Rene Stadler  <mail@renestadler.de>
1807
1808         * libs/gst/base/gstbasetransform.c:
1809         (gst_base_transform_set_gap_aware): Fix confusing documentation.
1810
1811 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1812
1813         * gst/gstregistrybinary.c: (gst_registry_binary_write):
1814         Rename constant everywhere and don't forget one occurence.
1815
1816 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1817
1818         * gst/gstregistrybinary.c: (gst_registry_binary_write):
1819         Align memory to the pointer size even if the architecture allows
1820         unaligned memory access. Unaligned memory access usually comes with
1821         performance penality.
1822
1823 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1824
1825         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1826         (gst_registry_binary_check_magic),
1827         (gst_registry_binary_load_pad_template),
1828         (gst_registry_binary_load_feature),
1829         (gst_registry_binary_load_plugin):
1830         Align memory to the pointer size instead of always 32 bit. Fixes
1831         unaligned memory accesses on ia64 and friends.
1832
1833         * gst/gstregistrybinary.h:
1834         Bump binary registry format version for this as it changes the
1835         format on those architectures that don't have unaligned access
1836         and 64 bit pointers.
1837
1838 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1839
1840         * docs/pwg/advanced-dparams.xml:
1841         * docs/pwg/building-props.xml:
1842         * docs/pwg/other-source.xml:
1843         * gst/glib-compat.h:
1844         * gst/gstbin.c: (gst_bin_class_init):
1845         * gst/gstclock.c: (gst_clock_class_init):
1846         * gst/gstindex.c: (gst_index_class_init):
1847         * gst/gstobject.c: (gst_object_class_init):
1848         * gst/gstpad.c: (gst_pad_class_init):
1849         * gst/gstpipeline.c: (gst_pipeline_class_init):
1850         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1851         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1852         * libs/gst/base/gstbasetransform.c:
1853         (gst_base_transform_class_init):
1854         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
1855         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
1856         (_gst_check_fault_handler_sighandler),
1857         (_gst_check_fault_handler_setup), (gst_check_init):
1858         * libs/gst/controller/gstcontroller.c:
1859         (_gst_controller_class_init):
1860         * libs/gst/controller/gstlfocontrolsource.c:
1861         (gst_lfo_control_source_class_init):
1862         * libs/gst/net/gstnetclientclock.c:
1863         (gst_net_client_clock_class_init):
1864         * libs/gst/net/gstnettimeprovider.c:
1865         (gst_net_time_provider_class_init):
1866         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1867         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1868         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1869         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1870         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1871         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1872         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1873         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1874         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
1875         * plugins/elements/gstqueue.c: (gst_queue_class_init):
1876         * plugins/elements/gsttee.c: (gst_tee_class_init):
1877         * plugins/elements/gsttypefindelement.c:
1878         (gst_type_find_element_class_init):
1879         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1880         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
1881         use it everywhere for GParamSpecs that use static strings (i.e. all).
1882         This gives us less memory usage, fewer allocations and thus less
1883         memory defragmentation. Fixes bug #523806.
1884
1885 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1886
1887         * gst/gstminiobject.c: (gst_value_dup_mini_object),
1888         (gst_param_spec_mini_object):
1889         * gst/gstminiobject.h:
1890         * win32/common/libgstreamer.def:
1891         * docs/gst/gstreamer-sections.txt:
1892         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
1893         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
1894         GstParamSpecMiniObject into a public header for this.
1895
1896         This make GstMiniObject a bit more consistent with GObject and makes
1897         it possible to extend the param specs.
1898
1899         gst_value_dup_mini_object is mainly useful for set_property methods.
1900
1901         Fixes bug #523798.
1902
1903         * tools/gst-inspect.c: (print_element_properties_info):
1904         Print something useful for GstMiniObject properties and not just
1905         "unknown type".
1906
1907 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
1908
1909         * docs/gst/gstreamer-sections.txt:
1910         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1911         (gst_registry_binary_check_magic):
1912         * gst/gstregistrybinary.h:
1913         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
1914         and add it to the (private part) of the docs to fix the build.
1915
1916 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
1917
1918         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1919         (gst_registry_binary_check_magic),
1920         (gst_registry_binary_read_cache):
1921         * gst/gstregistrybinary.h:
1922         Don't use GST_MAJORMINOR for the binary registry version. Instead
1923         hardcode a value that must be changed whenever the format changes
1924         in an incompatible way.
1925         Also don't GST_ERROR when there is a version mismatch, just
1926         regenerate the registry silently.
1927
1928 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
1929
1930         * configure.ac:
1931         Back to development - 0.10.18.1
1932
1933 === release 0.10.18 ===
1934
1935 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
1936
1937         * configure.ac:
1938           releasing 0.10.18, "So far away"
1939
1940 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
1941
1942         * configure.ac:
1943         * win32/common/config.h:
1944         0.10.17.4 pre-release
1945
1946 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1947
1948         Patch by: Ole André Vadla Ravnås
1949             <ole dot andre dot ravnas at tandberg dot com>
1950
1951         * docs/gst/gstreamer-sections.txt:
1952         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
1953         (gst_poll_update_winsock_event_mask),
1954         (gst_poll_prepare_winsock_active_sets),
1955         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
1956         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
1957         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
1958         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1959         (gst_poll_check_ctrl_commands), (gst_poll_wait):
1960         * gst/gstpoll.h:
1961         * win32/common/libgstreamer.def:
1962         Add new function gst_poll_fd_ignored() for improved Windows
1963         compatibility.
1964         Various minor fixes and cleanups. See #520808.
1965
1966 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
1967
1968         * gst/gstindex.c: (gst_index_entry_free):
1969         * gst/gstindex.h:
1970           Don't free key strings which we don't own. Fixes crash in
1971           gst_index_entry_free() (#522741).
1972
1973         * tests/check/Makefile.am:
1974         * tests/check/gst/.cvsignore:
1975         * tests/check/gst/gstindex.c: (test_index_entries),
1976           (gst_index_suite), (gst_index):
1977           Add unit test for the above.
1978
1979 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
1980
1981         * win32/common/libgstreamer.def:
1982         Remove symbols that were removed recently. Fixes bug #521740.
1983
1984 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
1985
1986         * configure.ac:
1987         * win32/common/config.h:
1988         0.10.17.3 pre-release
1989
1990 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1991
1992         Patch by: Ole André Vadla Ravnås
1993             <ole dot andre dot ravnas at tandberg dot com>
1994
1995         * docs/gst/gstreamer-sections.txt:
1996         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
1997         (gst_poll_update_winsock_event_mask), (gst_poll_new),
1998         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
1999         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2000         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
2001         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2002         (gst_poll_fd_can_write), (gst_poll_wait),
2003         (gst_poll_set_controllable), (gst_poll_restart),
2004         (gst_poll_set_flushing):
2005         * gst/gstpoll.h:
2006         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2007         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
2008         (gst_net_time_provider_new):
2009         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2010         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
2011         * tests/benchmarks/gstpollstress.c: (main):
2012         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
2013         Remove GstPollMode from the API, it does not make sense to let the
2014         application control this.
2015         Add support for Win32.
2016         Fix the testsuite. Fixes #520671.
2017
2018 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
2019
2020         Patch by: Ole André Vadla Ravnås
2021             <ole dot andre dot ravnas at tandberg dot com>
2022
2023         * gst/gstregistrybinary.c:
2024         Include io.h for write() and close() when building with MSVC. Fixes
2025         bug #520877.
2026
2027 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
2028
2029         * configure.ac:
2030         * gst/gst_private.h:
2031         * gst/gstconfig.h.in:
2032         * gst/gstregistry.h:
2033         * gst/gstregistrybinary.c:
2034         * win32/common/gstconfig.h:
2035           Move registry backend API to private headers where we can. Add
2036           fixme-0.11 comments for the others. Add stubs for the xml backend when
2037           using the binary to ensure they functions exists (they should not be
2038           used though). Fixes #520756.
2039
2040 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
2041
2042         * configure.ac:
2043         * win32/common/config.h:
2044         0.10.17.2 prelease
2045
2046 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2047
2048         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2049         (gst_registry_binary_read_cache):
2050         * gst/gstregistryxml.c: (gst_registry_save):
2051         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
2052         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
2053         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2054         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2055         Switch to using portabl gsize/gssize instead of size_t/ssize_t
2056         Fixes #520152
2057
2058 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2059
2060         * gst/gstminiobject.c:
2061         Import gst_private.h before any other header that might include other
2062         glib headers. This fixes the build on windows using native compilers.
2063
2064 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2065
2066         * win32/common/gstconfig.h:
2067           Add here too, just for completeness.
2068
2069 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2070
2071         * configure.ac:
2072         * gst/gstconfig.h.in:
2073         * gst/gstregistry.h:
2074           Fix broken use of config.h-defined preprocessor directive in a public
2075           header file. Add a corresponding define to gstconfig.h, since we can't
2076           really remove those function declarations from the header file now
2077           (or can we? and why are they there in the first place?).
2078
2079 2008-03-03  Andy Wingo  <wingo@pobox.com>
2080
2081         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
2082         the new warning.
2083
2084         * gst/gststructure.c (gst_structure_from_string): Warn if
2085         structure_from_string didn't consume the whole string, but the
2086         caller did not provide an end pointer.
2087
2088 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
2089
2090         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
2091
2092         * gst/gstregistryxml.c: (read_string), (load_feature):
2093           Strings allocated by libxml2 should be freed with xmlFree(), not
2094           with g_free(). Fixes issues on windows in certain contexts (#519698).
2095
2096 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
2097
2098         * gst/gstinterface.c: (gst_element_implements_interface):
2099           Don't crash if the element supports the interface queried, but does
2100           not implement GstImplementsInterface. Fixes #519584.
2101
2102         * tests/check/Makefile.am:
2103         * tests/check/gst/.cvsignore:
2104         * tests/check/gst/gstinterface.c:
2105           Add unit test for the above.
2106
2107 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2108
2109         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2110         Small doc update.
2111
2112 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2113
2114         * gst/gstsegment.c: (gst_segment_set_seek),
2115         (gst_segment_to_stream_time):
2116         Improve some comment.
2117         Update variables where it makes more sense.
2118
2119 2008-02-29  Rene Stadler  <mail@renestadler.de>
2120
2121         * gst/gsturi.c: (gst_uri_handler_get_protocols):
2122         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
2123         URIHandlers implemented using language bindings.
2124
2125 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2126
2127         * gst/gstelementfactory.h:
2128         * tests/check/elements/fakesink.c:
2129         * tests/check/elements/fakesrc.c: (setup_fakesrc):
2130         * tests/check/elements/fdsrc.c: (setup_fdsrc):
2131         * tests/check/elements/filesink.c: (setup_filesink):
2132         * tests/check/elements/filesrc.c: (setup_filesrc):
2133         * tests/check/elements/identity.c: (setup_identity):
2134         * tests/check/elements/tee.c:
2135         * tests/check/generic/sinks.c:
2136         * tests/check/generic/states.c: (setup), (teardown):
2137         * tests/check/gst/gst.c:
2138         * tests/check/gst/gstabi.c:
2139         * tests/check/gst/gstbin.c:
2140         * tests/check/gst/gstbus.c: (pull_messages):
2141         * tests/check/gst/gstcaps.c:
2142         * tests/check/gst/gstelement.c:
2143         * tests/check/gst/gstevent.c:
2144         * tests/check/gst/gstghostpad.c:
2145         * tests/check/gst/gstiterator.c:
2146         * tests/check/gst/gstmessage.c:
2147         * tests/check/gst/gstminiobject.c: (my_foo_init):
2148         * tests/check/gst/gstobject.c: (thread_name_object),
2149         (gst_object_suite):
2150         * tests/check/gst/gstpad.c:
2151         * tests/check/gst/gstplugin.c:
2152         * tests/check/gst/gstpoll.c:
2153         * tests/check/gst/gstquery.c:
2154         * tests/check/gst/gstsegment.c:
2155         * tests/check/gst/gststructure.c:
2156         * tests/check/gst/gstsystemclock.c:
2157         * tests/check/gst/gsttask.c:
2158         * tests/check/gst/gstutils.c:
2159         * tests/check/gst/gstvalue.c:
2160         * tests/check/gst/struct_hppa.h:
2161         * tests/check/gst/struct_i386.h:
2162         * tests/check/gst/struct_ppc32.h:
2163         * tests/check/gst/struct_ppc64.h:
2164         * tests/check/gst/struct_x86_64.h:
2165         * tests/check/libs/adapter.c: (create_and_fill_adapter):
2166         * tests/check/libs/basesrc.c:
2167         * tests/check/libs/controller.c: (GST_START_TEST):
2168         * tests/check/libs/gdp.c:
2169         * tests/check/libs/gstnetclientclock.c:
2170         * tests/check/libs/gstnettimeprovider.c:
2171         * tests/check/libs/libsabi.c:
2172         * tests/check/libs/struct_hppa.h:
2173         * tests/check/libs/struct_i386.h:
2174         * tests/check/libs/struct_ppc32.h:
2175         * tests/check/libs/struct_ppc64.h:
2176         * tests/check/libs/struct_x86_64.h:
2177         * tests/check/pipelines/cleanup.c:
2178         * tests/check/pipelines/simple-launch-lines.c:
2179         * tests/check/pipelines/stress.c:
2180         And correct even more valid sparse warnings.
2181
2182         * win32/common/libgstreamer.def:
2183         Add gst_poll_fd_init to the list of symbols.
2184
2185 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2186
2187         * gst/gstconfig.h.in:
2188         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
2189         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
2190         (gst_check_log_critical_func), (gst_check_drop_buffers),
2191         (gst_check_element_push_buffer_list):
2192         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
2193         (gst_controller_get_type):
2194         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
2195         (gst_object_get_controller), (gst_object_get_control_source):
2196         * libs/gst/controller/gstinterpolationcontrolsource.c:
2197         (gst_interpolation_control_source_new):
2198         * libs/gst/controller/gstlfocontrolsource.c:
2199         (gst_lfo_control_source_new):
2200         * libs/gst/dataprotocol/dataprotocol.c:
2201         (gst_dp_event_from_packet_0_2):
2202         * plugins/elements/gstfdsrc.c:
2203         * plugins/elements/gstmultiqueue.c:
2204         * plugins/elements/gsttee.c:
2205         * plugins/elements/gsttypefindelement.c:
2206         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
2207         (gst_file_index_add_association):
2208         * plugins/indexers/gstmemindex.c:
2209         * tests/benchmarks/gstpollstress.c: (mess_some_more):
2210         * tests/check/elements/queue.c: (setup_queue):
2211         * tests/check/gst/gstpipeline.c:
2212         * tests/check/libs/collectpads.c: (setup), (teardown),
2213         (gst_collect_pads_suite):
2214         * tests/examples/adapter/adapter_test.c:
2215         * tests/examples/metadata/read-metadata.c: (make_pipeline):
2216         * tests/examples/xml/createxml.c:
2217         * tests/examples/xml/runxml.c:
2218         * tools/gst-inspect.c:
2219         * tools/gst-run.c:
2220         Correct all relevant warnings found by the sparse semantic code
2221         analyzer. This include marking several symbols static, using
2222         NULL instead of 0 for pointers, not using variable sized arrays
2223         on the stack, moving variable declarations to the beginning of
2224         a block and using "foo (void)" instead of "foo ()" for declarations.
2225
2226 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2227
2228         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2229         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2230         Don't reset GstPollFDs, this is not necessary at all.
2231
2232         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2233         (delayed_restart), (delayed_control):
2234         Use GST_POLL_FD_INIT.
2235
2236 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2237
2238         * gst/gstpoll.c: (gst_poll_fd_init):
2239         * gst/gstpoll.h:
2240         Added Since tags.
2241
2242         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2243         Use some more init macros.
2244
2245 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2246
2247         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2248         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2249         Use init macros and functions.
2250
2251 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2252
2253         * docs/gst/gstreamer-sections.txt:
2254         * gst/gstpoll.c: (gst_poll_fd_init):
2255         * gst/gstpoll.h:
2256         Add INIT macro and _init method for initializing the GstPollFD.
2257
2258 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
2259
2260         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
2261         (gst_fd_sink_update_fd):
2262         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2263         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2264         (delayed_restart), (delayed_control):
2265         Initialize some uninitialized variables as spotted by valgrind.
2266
2267 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2268
2269         * tests/benchmarks/Makefile.am:
2270         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
2271         (main):
2272         Add poll stress test.
2273
2274 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2275
2276         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2277
2278         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2279         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
2280         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
2281         * plugins/elements/gstfdsink.h:
2282         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2283         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
2284         (gst_fd_src_unlock_stop), (gst_fd_src_create),
2285         (gst_fd_src_uri_set_uri):
2286         * plugins/elements/gstfdsrc.h:
2287         Port to GstPoll. See #505417.
2288
2289 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
2290
2291         * win32/common/libgstreamer.def:
2292         Add new gst_poll_ symbols to win32 defs.
2293
2294 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2295
2296         * docs/libs/gstreamer-libs-sections.txt:
2297         * libs/gst/net/gstnetclientclock.c:
2298         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
2299         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2300         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2301         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2302         * libs/gst/net/gstnetclientclock.h:
2303         * libs/gst/net/gstnettimeprovider.c:
2304         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
2305         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2306         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2307         (gst_net_time_provider_new):
2308         * libs/gst/net/gstnettimeprovider.h:
2309         Use a private stuct to not break ABI.
2310
2311 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2312
2313         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2314
2315         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
2316         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2317         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2318         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2319         * libs/gst/net/gstnetclientclock.h:
2320         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
2321         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2322         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2323         (gst_net_time_provider_new):
2324         * libs/gst/net/gstnettimeprovider.h:
2325         Massive code removal and cleanups because of GstPoll.
2326         Fixes #505417.
2327
2328 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2329
2330         * configure.ac:
2331         Add checks for poll, ppoll and pselect.
2332
2333         * docs/gst/gstreamer-docs.sgml:
2334         * docs/gst/gstreamer-sections.txt:
2335         Add docs for GstPoll.
2336
2337         * gst/Makefile.am:
2338         * gst/gst.h:
2339         * gst/gstpoll.c: (find_index), (selectable_fds),
2340         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
2341         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
2342         (gst_poll_set_mode), (gst_poll_get_mode),
2343         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
2344         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2345         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
2346         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
2347         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
2348         (gst_poll_fd_can_write), (gst_poll_wait),
2349         (gst_poll_set_controllable), (gst_poll_restart),
2350         (gst_poll_set_flushing):
2351         * gst/gstpoll.h:
2352         Add generic poll abstraction. We ideally don't want to have this in core
2353         here but in glib intead...
2354         This code will be used in various network elements and ultimately for
2355         the nanosecond precision monotonic clock (that's why it's here in core).
2356         It'll allow us to implement cancelable socket operations for windows too.
2357
2358         * tests/check/Makefile.am:
2359         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2360         (delayed_stop), (delayed_restart), (delayed_flush),
2361         (delayed_control), (gst_poll_suite):
2362         Add GstPoll unit test.
2363
2364 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
2365
2366         * gst/gstfilter.c:
2367           Improve documentation of gst_filter_run(). Fixes #518627.
2368
2369 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2370
2371         * docs/README:
2372           Add a few lines about the new 'check-inspected-versions' target.
2373
2374 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2375
2376         * tests/check/gst/gstevent.c:
2377           Add qos to the event test. Rename tcase/tsuite; is not only about
2378           custom events.
2379
2380 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2381
2382         * plugins/elements/gstqueue.c:
2383           Ensure that buffer metadata is writeable, before modifying. Spotted by
2384           Mike.
2385
2386 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
2387
2388         * plugins/elements/gstqueue.c:
2389         * plugins/elements/gstqueue.h:
2390           When dropping buffers in leaky modes, mark next buffers we sent as
2391           DISCONT.
2392
2393 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2394
2395         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
2396           Also, if mmap() fails that would be a READ error, not OPEN_READ.
2397
2398 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2399
2400         * plugins/elements/Makefile.am:
2401         * plugins/elements/gstbufferstore.c:
2402         * plugins/elements/gstbufferstore.h:
2403         * plugins/elements/gsttypefindelement.h:
2404           Remove GstBufferStore, no idea why we were still building it.
2405           It's not used anywhere and superseded by GstAdapter.
2406
2407         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2408           (gst_file_src_create_mmap):
2409         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
2410           Printf format fixes for 64-bit integers.
2411
2412 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2413
2414         * configure.ac:
2415         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
2416         We're not in 0.8 times anymore.
2417
2418 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
2419
2420         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
2421         (gst_check_element_push_buffer_list):
2422         * libs/gst/check/gstcheck.h:
2423         Make the declaration in the header for
2424         gst_check_element_push_buffer_list match the implementation.
2425
2426         Fix up spelling, grammar and wording of the documentation in a few
2427         places, and add the Since keyword to new API functions.
2428         Use g_list_delete_link instead of g_list_remove in
2429         gst_check_drop_buffers, since it's immeasurably more efficient.
2430
2431         * tests/check/elements/fakesrc.c: (GST_START_TEST):
2432         Use new gst_check_drop_buffers function where appropriate.
2433
2434         * win32/common/libgstbase.def:
2435         * win32/common/libgstreamer.def:
2436         Add new symbols gst_collect_pads_take_buffer, 
2437         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
2438         exports
2439
2440         Changelog surgery to add API keyword to new gst_check API.
2441
2442 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2443
2444         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
2445         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
2446         Update pre-generated flex files with flex 2.3.34.
2447
2448 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2449
2450         * gst/gstminiobject.c:
2451           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
2452           friendly to subclasses and not require them to know all internals
2453           of their parent class.
2454
2455 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2456
2457         * docs/libs/gstreamer-libs-sections.txt:
2458         * libs/gst/base/gstcollectpads.c:
2459         * libs/gst/base/gstcollectpads.h:
2460           Add sub-buffer functions to collectpads. Fixes #516187.
2461           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
2462
2463 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2464
2465         * gst/gstbuffer.c:
2466           Copy selected buffer-flags when creating subbuffers.
2467           Fixes #516395.
2468
2469 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
2470
2471         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
2472         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
2473         * gst/gstmessage.c: (gst_message_class_init),
2474         (gst_message_finalize):
2475         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
2476         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
2477         (gst_mmap_buffer_finalize):
2478         Properly chain up finalize functions to the parent class.
2479
2480 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
2481
2482         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
2483
2484         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
2485         (gst_index_set_resolver_full):
2486         * gst/gstindex.h:
2487         Add new function with option to dispose of user_data in resolver.
2488         Actually call the dispose function when finalizing the object and not
2489         just when changing the resolver/filter.
2490         API: GstIndex::gst_index_set_resolver_full()
2491
2492         * docs/gst/gstreamer-sections.txt:
2493         Add new function to docs. Fixes #515469.
2494
2495 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
2496
2497         * gst/gstindex.c: (gst_index_finalize):
2498         Chain up finalize to the parent class. Fixes leaking the GstObject
2499         name and other things.
2500
2501 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
2502
2503         * configure.ac:
2504         Make DISABLE_DEPRECATED defined *only* during CVS, not during
2505         pre-releases or releases.
2506
2507         * docs/faq/gst-uninstalled:
2508         Add gst-plugins-gl
2509
2510         * docs/random/release:
2511         Change one of the steps - we only upload core & base to Gnome FTP
2512
2513 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
2514
2515         * gst/gstconfig.h.in:
2516           Add 'id' for example.
2517
2518         * gst/gstpad.c:
2519         * gst/gstutils.c:
2520         * plugins/elements/gstfdsink.c:
2521           Link to signals. Doc and comment fixes.
2522
2523 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
2524
2525         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
2526         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
2527           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
2528           unused and unimplemented; finally, it is plugin features, not
2529           plugins, that have ranks.
2530           
2531 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2532
2533         * gst/gstpluginfeature.h:
2534           Clarify GstRank range docs.
2535
2536 2008-02-05  David Schleef  <ds@schleef.org>
2537
2538         * gst/gst.c: Add a separate gst_deinitialized that prevents
2539           gst_init() from being called after gst_deinit().  Fixes #509559
2540
2541 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2542
2543         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
2544         (gst_bin_class_init):
2545         * gst/gstelement.c: (gst_element_base_class_init),
2546         (gst_element_class_add_pad_template):
2547         * gst/gstpadtemplate.c: (gst_pad_template_init):
2548         * gst/gstpipeline.c: (gst_pipeline_get_type),
2549         (gst_pipeline_base_init), (gst_pipeline_class_init):
2550         * libs/gst/base/gstbasesink.c:
2551         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2552         (gst_base_src_base_init), (gst_base_src_class_init):
2553         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2554         (gst_capsfilter_class_init):
2555         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2556         (gst_fake_sink_class_init):
2557         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2558         (gst_fake_src_class_init):
2559         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2560         (gst_fd_sink_class_init):
2561         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2562         (gst_fd_src_class_init):
2563         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2564         (gst_file_sink_class_init):
2565         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2566         (gst_file_src_class_init):
2567         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2568         (gst_identity_class_init):
2569         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2570         (gst_multi_queue_class_init):
2571         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2572         (gst_queue_class_init):
2573         * plugins/elements/gsttee.c: (gst_tee_base_init),
2574         (gst_tee_class_init):
2575         * plugins/elements/gsttypefindelement.c:
2576         (gst_type_find_element_base_init),
2577         (gst_type_find_element_class_init):
2578         * tests/check/gst/gstelement.c: (gst_element_suite):
2579         Revert previous changes to the behaviour of GstPadTemplates, etc
2580         and the possiblity to call them in class_init as it breaks too
2581         many elements. Reopens bug #491501.
2582
2583         Should be applied again for 0.11, thus added a few FIXME 0.11 at
2584         several places.
2585
2586 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2587
2588         * tools/gst-launch.c:
2589         Dump one graph per pipeline state-change and state change name
2590         (if GST_DEBUG_DUMP_DOT_DIR is set).
2591
2592 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
2593
2594         * gst/gstpad.c:
2595         * tests/check/gst/gstpad.c:
2596         Be sure that we have a new copy of the caps and not
2597         reffed caps from a template
2598
2599 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2600
2601         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2602         * gst/gstpipeline.c: (gst_pipeline_get_type),
2603         (gst_pipeline_class_init):
2604         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2605         (gst_base_sink_class_init):
2606         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2607         (gst_base_src_class_init):
2608         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2609         (gst_base_transform_class_init):
2610         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2611         (gst_collect_pads_class_init):
2612         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
2613         * libs/gst/net/gstnettimeprovider.c:
2614         (gst_net_time_provider_base_init),
2615         (gst_net_time_provider_class_init):
2616         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2617         (gst_capsfilter_class_init):
2618         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2619         (gst_fake_sink_class_init):
2620         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2621         (gst_fake_src_class_init):
2622         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2623         (gst_fd_sink_class_init):
2624         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2625         (gst_fd_src_class_init):
2626         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2627         (gst_file_sink_class_init):
2628         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2629         (gst_file_src_class_init):
2630         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2631         (gst_identity_class_init):
2632         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2633         (gst_multi_queue_class_init):
2634         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2635         (gst_queue_class_init):
2636         * plugins/elements/gsttee.c: (gst_tee_base_init),
2637         (gst_tee_class_init):
2638         * plugins/elements/gsttypefindelement.c:
2639         (gst_type_find_element_base_init),
2640         (gst_type_find_element_class_init):
2641         Don't use base_init where not absolutely necessary. For example it's
2642         not necessary anymore for adding pad templates or setting element
2643         details.
2644
2645         Leave empty base_init functions in several places as GST_BOILERPLATE
2646         still defines and uses them.
2647
2648 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2649
2650         * gst/gstelement.c: (gst_element_base_class_init),
2651         (gst_element_class_add_pad_template):
2652         * gst/gstpadtemplate.c:
2653         Make it possible (and recommended) to set element details and add
2654         pad templates in the class_init functions by copying the details/pad
2655         templates in GstElement's base_init.
2656
2657         Also make it possible to replace existing pad templates by adding
2658         a new one with the same name. This was done in a hackish fashion
2659         in same elements before already.
2660
2661         Don't reference pad templates that are added a second time. A
2662         new pad template has a refcount of one and is not floating anymore
2663         and to be owned by the element's class. Make this more explicit by
2664         mentioning it in the docs of gst_element_class_add_pad_template().
2665
2666         These changes are backwards compatible. Fixes bug #491501.
2667
2668         * tests/check/gst/gstelement.c:
2669         Add unit test for setting element details, adding pad templates and
2670         replacing them in a subclass.
2671
2672 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2673
2674         * tools/gst-inspect.c: (print_interfaces),
2675         (print_element_properties_info), (print_pad_info),
2676         (print_signal_info), (print_element_info):
2677         Fix a few memory leaks.
2678
2679 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2680
2681         * docs/libs/gstreamer-libs-sections.txt:
2682         * libs/gst/check/gstcheck.c:
2683         * libs/gst/check/gstcheck.h:
2684         Add more functions for unit testing: gst_check_drop_buffers,
2685         gst_check_caps_equal, gst_check_element_push_buffer_list,
2686         gst_check_element_push_buffer
2687         API: gst_check_drop_buffers
2688         API: gst_check_caps_equal
2689         API: gst_check_element_push_buffer_list
2690         API: gst_check_element_push_buffer
2691
2692 2008-02-01  Julien Moutte  <julien@fluendo.com>
2693
2694         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
2695         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
2696         (gst_index_finalize), (gst_index_entry_free),
2697         (gst_index_add_association): Fix memory leaks.
2698         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
2699         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
2700         (gst_mem_index_free_format), (gst_mem_index_free_id),
2701         (gst_mem_index_finalize): Fix memory leaks.
2702         * win32/common/config.h: Updated to CVS HEAD.
2703
2704 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
2705
2706         * docs/README:
2707           Some more details about how the plugin docs works.
2708
2709         * docs/plugins/gstreamer-plugins-sections.txt:
2710           Whitespace cleanup.
2711
2712 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
2713
2714         * gst/parse/grammar.tab.pre.c:
2715         * gst/parse/grammar.tab.pre.h:
2716         * gst/parse/grammar.y:
2717         * gst/parse/lex._gst_parse_yy.pre.c:
2718           Add delayed set-property. This allows to set properties on dynamicaly
2719           created objects (pads in videomxer). Fixes #509391.
2720
2721 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2722
2723         * gst/gstutils.c:
2724         Check if caps are not NULL (fix bug #510194)
2725
2726 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2727
2728         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
2729         (gst_base_sink_get_position_paused):
2730         Add fixme regarding EOS in pull mode.
2731         Fix position reporting in PAUSED for negative rates.
2732
2733 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2734
2735         * gst/gstminiobject.c: (gst_mini_object_replace):
2736         When replacing a miniobject, do a quick equality check first so that we
2737         can avoid a ref/unref pair.
2738
2739 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2740
2741         * docs/design/part-synchronisation.txt:
2742         Update some docs.
2743
2744         * docs/plugins/Makefile.am:
2745         * docs/plugins/gstreamer-plugins-docs.sgml:
2746         * docs/plugins/gstreamer-plugins-sections.txt:
2747         * plugins/elements/gstmultiqueue.c:
2748         Add multiqueue to the docs.
2749
2750 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2751
2752         * configure.ac:
2753           Back to CVS
2754
2755 === release 0.10.17 ===
2756
2757 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
2758
2759         * configure.ac:
2760           releasing 0.10.17, "Due Negligence"
2761
2762 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2763
2764         * gst/gstutils.c:
2765         Revert caps != NULL check temporarily for 0.10.17 release.
2766
2767 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
2768
2769         * gst/gstutils.c:
2770         Check if caps are not NULL (fix bug #510194)
2771
2772 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2773
2774         * gst/gstutils.c:
2775         Fix compilation on systems that have posix timers but no
2776         monotonic clock.
2777         Fixes: #512715
2778         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
2779         dot net>
2780
2781 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2782
2783         * tools/gst-inspect.c:
2784         Revert previous commit in preparation for an impromptu 0.10.17 release
2785
2786 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
2787
2788         * tools/gst-inspect.c: (print_interfaces),
2789         (print_element_properties_info), (print_pad_info),
2790         (print_signal_info), (print_element_info):
2791         Fix a few memory leaks.
2792
2793 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
2794
2795         * configure.ac:
2796         Back to CVS
2797
2798 === release 0.10.16 ===
2799
2800 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
2801
2802         * configure.ac:
2803           releasing 0.10.16, "Special Dispensation"
2804
2805 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         * configure.ac:
2808           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
2809           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
2810           not fail when trying to crosscompile on OpenEmbedded (#511750).
2811
2812 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
2813
2814         * docs/manuals.mak:
2815         Use $(MAKE) instead of make to fix the build if GNU make is
2816         called different. Fixes bug #510747.
2817
2818 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2819
2820         * gst/gstplugin.c: (_gst_plugin_initialize):
2821           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
2822           again, which I broke two commits ago when changing the API
2823           of gst_plugin_register_static(): the g_list_foreach() in
2824           _gst_plugin_register_static still assumed the old function
2825           signature and would therefore fail (re-fixes #510187).
2826
2827         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
2828           (_gst_plugin_register_static), (gst_plugin_register_static):
2829           Revert the (technically correct) change to call g_thread_init() from
2830           the pre-main() constructor. This will break programs which call
2831           g_thread_init() without an if (!g_thread_supported()) guard in their
2832           main function. We could just blame it on GLib or the application, but
2833           it's probably best to just avoid this altogether and simply not use
2834           any GLib functions here and use plain old malloc() with a simple
2835           array to store the plugins to register later when gst_init() is
2836           finally called (re-fixes #510187).
2837
2838         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
2839           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
2840           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
2841           (GST_START_TEST), (gst_plugin_suite):
2842           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
2843           works.
2844
2845 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2846
2847         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2848           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
2849           This makes gtk-doc complain, but results in slightly better
2850           compiler errors. The old _gst_plugin_register_static() is
2851           still guarded, so there'll be a compiler warning about that
2852           instead. Fixes #510187 too.
2853
2854 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2855
2856         * gst/gst.c: (init_post):
2857         * gst/gstplugin.c: (_gst_plugin_register_static),
2858           (gst_plugin_register_static), (_gst_plugin_initialize):
2859         * gst/gstplugin.h: (GstPluginFilter):
2860           Change API of gst_plugin_register_static() to not take
2861           a GstPluginDesc, but rather just take all the arguments
2862           in a GstPluginDesc directly. This is more intuitive and
2863           avoids certain mistakes when porting code from
2864           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
2865           Fixes #510187.
2866
2867         * tests/check/gst/gstplugin.c:
2868           Fix up for changed API.
2869
2870 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2871
2872         * docs/faq/legal.xml:
2873           Update FAQ, Totem actually has an exception these days.
2874
2875 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
2876
2877         * win32/common/libgstreamer.def:
2878         Add new API declarations
2879
2880 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
2881
2882         * gst/gstminiobject.c:
2883           Spelling fixes for the API docs.
2884
2885 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
2886
2887         * libs/gst/base/gstbasetransform.c:
2888           Fix long property description for QoS.
2889
2890 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
2891
2892         * gst/gst.c:
2893         _gst_trace_on is already provided by gsttrace.h, no need to declare
2894         it ourselves.
2895
2896         * docs/libs/gstreamer-libs-sections.txt:
2897         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
2898         and remove strange tcase_add_test which is outputting a warning.
2899
2900         * libs/gst/check/gstcheck.c:
2901         * libs/gst/check/gstcheck.h:
2902         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
2903         and define them in gstcheck.c instead of having every .c file whcih
2904         includes gstcheck.h be defining its own copy and relying on symbol
2905         interposing to marry them all, which doesn't work on Solaris.
2906
2907         * tests/check/elements/identity.c: (GST_START_TEST):
2908         Don't define 'buffers' locally, it comes from libgstcheck.
2909
2910         * tests/check/generic/sinks.c: (send_buffer):
2911         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
2912
2913         * tests/check/gst/gststructure.c: (GST_START_TEST):
2914         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
2915         * tests/check/gst/gstutils.c: (GST_START_TEST):
2916         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2917         Add a bunch of casts to make various constants fit the types
2918         they're being assigned to.
2919
2920 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
2921
2922         * gst/gstchildproxy.c:
2923           Improve docs and add some ideas for making this more general-purpose.
2924
2925 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
2926
2927         * gst/gst_private.h: (GST_CAT_TYPES):
2928           Add GST_CAT_TYPES, for consistency, and so that the other
2929           debug categories don't make fun of it. Spotted by Saur on IRC.
2930
2931 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2932
2933         * gst/parse/Makefile.am:
2934           Move types.h from EXTRA_DIST to noinst_HEADERS.
2935
2936 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2937
2938         * autogen.sh:
2939           Add -Wno-portability to the automake parameters to stop warnings
2940           about GNU make extensions being used. We require GNU make in almost
2941           every Makefile anyway.
2942
2943         * configure.ac:
2944           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
2945           at the same time is required for per target flags.
2946
2947 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * gst/gstmacros.h:
2950           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
2951           __GNUC__ is defined before using it.
2952
2953 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2954
2955         * docs/gst/gstreamer-sections.txt:
2956         * gst/gst.c: (init_post):
2957         * gst/gstplugin.c: (_gst_plugin_register_static),
2958           (gst_plugin_register_static), (_gst_plugin_initialize),
2959           (gst_plugin_register_func):
2960         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2961           API: add gst_plugin_register_static() and deprecate
2962           GST_PLUGIN_DEFINE_STATIC, since it's not portable
2963           (#498924).
2964           Also, in _gst_plugin_register_static(), make sure to call
2965           g_thread_init() before calling GLib functions such as
2966           g_list_append() if we're not initialised yet, since that
2967           may lead to random crashes with older GSlice/GLib versions.
2968
2969         * tests/check/gst/gstplugin.c:
2970           Adapt unit test to above changes.
2971
2972 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2973
2974         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
2975         * gst/gstcaps.c: (gst_caps_to_string):
2976         * gst/gststructure.c: (GST_ASCII_IS_STRING),
2977           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
2978           Yet another gratuitous GString micro-optimisation: add a (private)
2979           function that serialises a structure appending to an existing
2980           GString, so that when we serialise caps we don't need to alloc+free
2981           a throwaway GString for each structure (each of which also entailing
2982           multiple reallocs on the way); also use g_string_sized_new() in
2983           various places with an approximate string length to avoid reallocs
2984           within GString. See #500143.
2985
2986 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2987
2988         * gst/gststructure.c: (gst_structure_id_set_value):
2989           Always check UTF-8 conformance of structure strings and not only
2990           if the debugging system is enabled; reasoning: the behaviour of
2991           the actual code shouldn't really change depending on whether the
2992           debugging system is enabled or not (#508291).
2993
2994 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
2995
2996         * Makefile.am:
2997           Remove old coverage target in favour of "make lcov".
2998
2999 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3000
3001         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3002         (gst_base_src_loop):
3003         The start segment for reverse playback goes from start to last_stop.
3004
3005 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3006
3007         Patch by: Peter Kjellerstedt <pkj axis com>
3008
3009         * gst/gstclock.h:
3010         Cast the results from the timeval/spec_to_time macros to what the
3011         docs say it casts to, a GstClockTime. fixes #508175.
3012
3013 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3014
3015         * gst/gstbuffer.c:
3016         Update some comments.
3017
3018         * tools/gst-inspect.c: (print_element_properties_info):
3019         Improve printing of flags.
3020
3021 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3022
3023         * libs/gst/base/gstbasetransform.c:
3024           (gst_base_transform_transform_size):
3025           Print element name with g_warning() if there's a problem
3026           with the unit size.
3027
3028 2008-01-07  David Schleef  <ds@schleef.org>
3029
3030         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
3031
3032         * libs/gst/controller/gstcontroller.h:
3033         * libs/gst/controller/gstcontrolsource.h:
3034         * libs/gst/controller/gstinterpolationcontrolsource.h:
3035         * libs/gst/controller/gstlfocontrolsource.h:
3036         * libs/gst/dataprotocol/dataprotocol.h:
3037           Fix empty prototypes.  Fixes bug #507957.
3038
3039 2008-01-07  David Schleef  <ds@schleef.org>
3040
3041         * docs/faq/dependencies.xml: Fix typo.
3042
3043 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3044
3045         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
3046         (gst_base_src_loop):
3047         Don't update the last_stop position in do_seek, that's the position we
3048         did a seek to.
3049         Read backwards when we have a negative rate.
3050
3051         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
3052         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
3053         (filesrc_suite):
3054         Add check for reverse reading.
3055
3056 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
3057
3058         Patch by: Alexis Ballier <aballier at gentoo org>
3059
3060         * tests/check/gst/gstabi.c:
3061         * tests/check/gst/struct_ppc64.h:
3062         * tests/check/libs/libsabi.c:
3063         * tests/check/libs/struct_ppc64.h:
3064           Decide which header to include based on the userland ABI target
3065           and not the kernel/cpu. Fix up structure sizes of ppc64 header
3066           for 64-bit userland (#503590).  Might need something similar for
3067           x86 too.
3068
3069 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
3072           Log the reason why fopen fails in addition to the fact that it failed.
3073           
3074 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
3075
3076         * gst/parse/parse.l:
3077         Use "%option never-interactive" to prevent useless calls to isatty()
3078         on every input when parsing. Also use "%option noinput" to not define
3079         the static input/yyinput functions which we don't use anyway. This
3080         removes a compiler warning with gcc 4.3 and saves some bytes in the
3081         library.
3082         
3083         * gst/parse/lex._gst_parse_yy.pre.c:
3084         Regenerated for the above change.
3085
3086 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3087
3088         * gst/gstpad.c: (fixate_value):
3089         Don't crash when trying to fixate and empty list.
3090         Fixes #506643.
3091
3092 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
3093
3094         * docs/faq/gst-uninstalled:
3095         Clarify the comments to make the usage of this script and what it
3096         does easier to understand.
3097
3098 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3099
3100         * tools/gst-plot-timeline.py:
3101         Add more options to gst-plot-timeline
3102
3103 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
3104
3105         * docs/design/part-synchronisation.txt:
3106         Some more info on how the stream_time in GstBaseSink is done.
3107
3108 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
3109
3110         * tests/check/generic/sinks.c: (gst_sinks_suite):
3111           Put back the tcase_set_timeout(), apparently it's needed after
3112           all; fix it up in a way that makes things work with valgrind too.
3113
3114 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3115
3116         * gst/gstdebugutils.c:
3117           Add warning when failed to open file for writing.
3118
3119 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3120
3121         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
3122
3123         * gst/gstvalue.c: (gst_value_is_fixed):
3124           Optimisation: bail out of the loop as early as possible (#500143).
3125
3126 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3127
3128         * gst/gstcaps.c: (gst_caps_to_string):
3129         * gst/gstinfo.c: (gst_debug_construct_term_color):
3130         * gst/gstparse.c: (gst_parse_launchv):
3131         * gst/gstutils.c: (gst_util_dump_mem):
3132         * gst/gstvalue.c: (gst_value_serialize_any_list),
3133           (gst_value_transform_any_list_string):
3134           Bunch of gratuitous nano-optimisations.
3135
3136 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3137
3138         * tests/check/generic/sinks.c: (async_done_func),
3139           (async_done_eos_func):
3140           Fix leak in unit test (bus sync handler must unref the message
3141           if it returns GST_BUS_DROP). Don't fiddle with the default test
3142           timeout, this is smaller than the current preconfigured value
3143           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
3144           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
3145
3146 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3147
3148         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3149
3150         * configure.ac:
3151         Check for stdio_ext.h for the filesink changes.
3152
3153         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
3154         (gst_file_sink_class_init), (gst_file_sink_init),
3155         (gst_file_sink_dispose), (gst_file_sink_set_property),
3156         (gst_file_sink_get_property), (gst_file_sink_open_file),
3157         (gst_file_sink_close_file):
3158         * plugins/elements/gstfilesink.h:
3159         Add two properties to control the buffering mode and size.
3160         API: GstFileSink::buffer-mode
3161         API: GstFileSink::buffer-size
3162         Fixes #500150.
3163
3164 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3165
3166         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
3167         Add some more docs to explain why a FIXME was wrongly added. 
3168
3169 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
3170
3171         * gst/gstobject.c:
3172           Fix typo in the gst_object_{ref,unref} documentation.
3173
3174 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3175
3176         * tests/check/libs/controller.c:
3177         * tests/check/libs/typefindhelper.c:
3178         * tests/check/pipelines/parse-launch.c:
3179           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
3180           going to be deprecated (see #498924).
3181
3182 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3183
3184         * gst/gsttypefind.c: (gst_type_find_register):
3185           Make gst_type_find_register work for static typefind functions,
3186           ie. allow passing plugin == NULL (prerequisite for #498924).
3187
3188         * gst/gstelementfactory.c: (gst_element_register):
3189           Small docs addition.
3190
3191 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3192
3193         * gst/gstpad.c: (gst_pad_dispose):
3194         Really unlink the peer pad instead of setting the peer pointer to NULL
3195         when we dispose the pad.
3196         This correctly calls the unlink functions and makes sure that the peer
3197         does not have a handle to invalid memory. See #504671.
3198
3199         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3200         Add testsuite for above case.
3201
3202 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3203
3204         Patch by: Peter Kjellerstedt <pkj axis com>
3205
3206         * libs/gst/check/gstcheck.h:
3207           Fix detection of the check version we're compiling against (would
3208           otherwise break if check goes v0.10.0); correctly report the
3209           name of the failed test again in case of failure, instead of
3210           just 'tf' (fixes #504499).
3211
3212 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3213
3214         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
3215         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3216         (gst_base_src_loop), (gst_base_src_set_flushing),
3217         (gst_base_src_change_state):
3218         Allow sending EOS to the source to make it send out an EOS event from
3219         the streaming thread.
3220         Update docs and deprecate the old NULL/READY shutdown method.
3221
3222         * tests/check/libs/basesrc.c: (GST_START_TEST),
3223         (gst_basesrc_suite):
3224         Add unit test for controlled shutdown.
3225
3226 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3227
3228         * docs/design/part-synchronisation.txt:
3229         Small updates.
3230
3231         * gst/gstsegment.c: (gst_segment_set_seek),
3232         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3233         (gst_segment_to_running_time):
3234         The seek format can be different from the segment format when the start
3235         and stop values are not to be updated, when we only do a rate change for
3236         example.
3237
3238         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3239         (gst_segment_suite):
3240         Add a testcase for the rate-only seeks, checking that the format is
3241         correctly ignored when start and stop are not updated.
3242
3243 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
3244
3245         Patch by: Matthias Bolte <photon at mail dot upb dot de>
3246
3247         * win32/vs8/grammar.vcproj:
3248         * win32/vs8/libgstcontroller.vcproj:
3249         * win32/vs8/libgstreamer.vcproj:
3250         Fix compilation with VS8 and include some missing files.
3251
3252 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3253
3254         * gst/gsttaglist.c:
3255           Small docs addition: mention that the strings returned by
3256           gst_tag_list_get_string*() are in UTF-8 encoding.
3257
3258 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3259
3260         * Makefile.am:
3261           The check-exports stuff moved to common/win32.mak, so include that.
3262
3263 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3264
3265         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3266         (gst_base_src_perform_seek), (gst_base_src_get_range),
3267         (gst_base_src_set_playing), (gst_base_src_change_state):
3268         Make _wait_playing() not check any variables so that we can call this
3269         function from subclasses. Move the checks elsewhere similar to
3270         _wait_preroll() in basesink.
3271         Add some debugging.
3272         Only signal the LIVE cond when we are going back to PLAYING.
3273
3274 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3275
3276         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
3277           Use g_remove() and g_rename(). Check result of g_rename(), and
3278           don't leak the open file descriptor if we error out when writing.
3279
3280         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
3281           Must check the return value of close() after writing out the new
3282           registry file.  Sometimes write problems such as out-of-diskspace
3283           are only reported when the file is closed and not already during
3284           the write.  This may have caused partial/broken registry files in
3285           some rare circumstances. Should fix #503675.
3286
3287 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
3288
3289         * docs/gst/.cvsignore:
3290         * docs/libs/.cvsignore:
3291         * docs/plugins/.cvsignore:
3292         Ignore files generated by new common/* modifications
3293
3294 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3295
3296         * win32/common/libgstbase.def:
3297           Yes, you can also have a <TAB> if you want.
3298
3299 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3300
3301         * win32/common/libgstbase.def:
3302           Add new basetransform API to win export file.
3303
3304 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3305
3306         * tests/check/gst/gstbin.c:
3307           Adjust the test to the refcount change two days ago.
3308
3309 2007-12-14  David Schleef  <ds@schleef.org>
3310
3311         * docs/faq/getting.xml: Fix typo.
3312
3313 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
3314
3315         * docs/libs/gstreamer-libs-sections.txt:
3316         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3317           (gst_base_transform_prepare_output_buffer),
3318           (gst_base_transform_set_gap_aware):
3319         * libs/gst/base/gstbasetransform.h:
3320           API: Add gst_base_transform_set_gap_aware() to control whether
3321           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
3322           get buffers with this flag at all. Fixes #503231.
3323
3324 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
3325
3326         * libs/gst/base/gstbasesink.c:
3327         * libs/gst/base/gstbasesrc.c:
3328         * libs/gst/base/gstbasetransform.c:
3329           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
3330           thread. Correct log message in gstbasesrc.c.
3331
3332 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3333
3334         * gst/gstutils.c: (element_find_unconnected_pad):
3335           Fix possible compiler warning (#503417).
3336
3337 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3338
3339         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
3340           Don't use GST_CAT_EVENT here for logging, it makes no sense.
3341
3342 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
3343
3344         * tools/gst-inspect.c: (print_element_properties_info):
3345           Add support for GstFraction properties.
3346
3347 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3348
3349         * Makefile.am:
3350           Add check-exports target and run it as part of 'make check'
3351           (see #499140 and #493983).
3352
3353         * gst/gst_private.h:
3354         * gst/gstelementfactory.h:
3355         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
3356         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
3357           (_priv_gst_in_valgrind):
3358         * gst/gstinfo.h: (GstLogFunction):
3359         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
3360           (gst_type_find_register):
3361         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
3362           (gst_type_find_factory_get_type):
3363         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
3364           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
3365           (gst_controller_new_valist), (gst_controller_new_list),
3366           (_gst_controller_dispose), (_gst_controller_class_init):
3367         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
3368         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
3369           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
3370           (gst_object_get_controller), (gst_object_set_controller),
3371           (gst_object_suggest_next_sync), (gst_object_sync_values),
3372           (gst_object_set_control_source), (gst_object_get_control_source),
3373           (gst_object_get_value_arrays), (gst_object_get_value_array),
3374           (gst_object_get_control_rate), (gst_object_set_control_rate):
3375         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
3376         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
3377           Make some functions that should be static static; rename some
3378           private symbols so that they don't get exported; add some FIXME
3379           comments so we can move accidentally exported functions into
3380           our private section in 0.11.
3381
3382         * win32/common/libgstreamer.def:
3383           Add gst_utils_get_timestamp().
3384
3385 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3386
3387         * gst/gstvalue.c:
3388         * gst/gstvalue.h:
3389           Add more missing "Since:" tags to docs.
3390
3391 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3392
3393         * gst/gstutils.c:
3394           Add mising "Since:" to docs.
3395
3396 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3397
3398         * gst/gstplugin.c:
3399           Include "glib-compat-private.h" to fix the build on system with
3400           glib < 2.10. Fixes #503131.
3401
3402 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3403
3404         * gst/gstutils.c:
3405         * gst/gstutils.h:
3406           Actually its not PURE as it gets the time from elsewhere.
3407
3408 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3409
3410         * docs/gst/gstreamer-sections.txt:
3411         * gst/gstclock.h:
3412         * gst/gstdebugutils.c:
3413         * gst/gstinfo.c:
3414         * gst/gstutils.c:
3415         * gst/gstutils.h:
3416         * libs/gst/base/gstbasesink.c:
3417         * tools/gst-launch.c:
3418           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
3419           uses as we don't have HAVE_POSIX_TIMERS in public headers.
3420           Thanks Tim for spotting.
3421           API: gst_util_get_timestamp
3422
3423 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
3424
3425         * configure.ac:
3426           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
3427
3428 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
3429
3430         * gst/gststructure.c: (gst_structure_validate_name),
3431           (gst_structure_new_valist), (gst_structure_parse_value),
3432           (gst_structure_from_string):
3433           Don't crash in _from_string() if the structure name is not valid
3434           (fixes #501560).  Allow structure names to start with a number
3435           again (this apparently broke the ubuntu codec installer).
3436
3437         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
3438           (GST_START_TEST):
3439           Add unit test for the crash; update unit tests for new behaviour.
3440
3441 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
3442
3443         * gst/gstutils.c:
3444         Clarify gst_element_get_compatible_pad() documentation.
3445         Fixes #500919.
3446
3447 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
3448
3449         * tests/check/Makefile.am:
3450           Don't forget to dist {gst,libs}/struct_hppa.h.
3451
3452 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3453
3454         * libs/gst/base/gstbasesink.c:
3455           Use new API to get elapsed time.
3456
3457 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3458
3459         * gst/gstdebugutils.c:
3460         * gst/gstinfo.c:
3461           Fix wrong order of args in GST_CLOCK_DIFF() usage.
3462
3463         * tools/gst-launch.c:
3464           Use new API to get elapsed time.
3465
3466 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3467
3468         * docs/gst/gstreamer-sections.txt:
3469         * gst/gstclock.h:
3470         * gst/gstdebugutils.c:
3471         * gst/gstinfo.c:
3472           Rename new API + ChangeLog surgery to remove old name from last entry..
3473
3474 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3475
3476         * docs/gst/gstreamer-sections.txt:
3477         * gst/gstclock.h:
3478         * gst/gstdebugutils.c:
3479         * gst/gstinfo.c:
3480           Now hide the different clock stuff behind a macro.
3481
3482 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3483
3484         * configure.ac:
3485         * gst/gstdebugutils.c:
3486         * gst/gstinfo.c:
3487           Apply the posix-timer check from #361155. Conditionally use the posix
3488           timer for logging. This gives better timestamp precission, less
3489           overhead and no ntp jitter.
3490
3491 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
3492
3493         * gst/gstminiobject.c: (gst_mini_object_get_type),
3494         (gst_mini_object_class_init), (gst_mini_object_copy_default),
3495         (gst_mini_object_finalize), (gst_mini_object_copy),
3496         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
3497         (gst_mini_object_replace), (param_mini_object_validate),
3498         (gst_param_spec_mini_object_get_type):
3499         Some cleanup and checking against invalid function parameters.
3500
3501 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
3502
3503         * docs/gst/gstreamer-sections.txt:
3504         * gst/gstclock.h:
3505         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3506         (gst_systemclock_suite):
3507         Start merging in the easy bits of #361155, the monotonic clock patch.
3508         This one adds a few handy macros with docs and a testsuite.
3509
3510 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
3511
3512         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
3513         Be a bit smarter when seeking, like, don't try to do a seek when it's
3514         not needed. This avoids errors when the file is not seekable.
3515         Fixes #499771.
3516
3517 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
3518
3519         * docs/gst/gstreamer-docs.sgml:
3520         * docs/gst/gstreamer-sections.txt:
3521         * docs/gst/gstreamer.types.in:
3522         * gst/Makefile.am:
3523         * gst/gst.h:
3524         * gst/gstpreset.c:
3525         * gst/gstpreset.h:
3526         * plugins/elements/gstqueue.c:
3527           Due to popular request remove preset interface again. :-(.
3528
3529 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3530
3531         * tools/gst-inspect.c:
3532           Print 'default value' for enums and flags too.
3533
3534 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3535
3536         * docs/random/ensonic/profiling.txt:
3537           More ideas.
3538
3539         * gst/gstbin.c:
3540           Fix typo and give better log output.
3541
3542         * gst/gstdebugutils.c:
3543         * gst/gstdebugutils.h:
3544           More ideas, make graphs a bit smaller and fix param name in macro.
3545
3546 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3547
3548         * gst/gstpreset.c:
3549           Try harder to use the return value from fgets().
3550
3551 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
3552
3553         * gst/gstpreset.c:
3554           For theses two fgets we handle the error below.
3555
3556 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3557
3558         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
3559         Only send upstream events upstream. Fixes #498746.
3560
3561 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3562
3563         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3564
3565         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3566         (gst_identity_init), (gst_identity_transform_ip),
3567         (gst_identity_set_property), (gst_identity_get_property):
3568         * plugins/elements/gstidentity.h:
3569         Add property to disable handoff signal emission. Fixes #498694.
3570         API: GstIdentity::signal-handoffs
3571
3572 2007-11-21  Julien Moutte  <julien@fluendo.com>
3573
3574         * docs/faq/gst-uninstalled: Yet another missing library for the
3575         uninstalled script (fft)
3576
3577 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
3578
3579         * docs/faq/developing.xml:
3580         Add a question about how to submit new translations.
3581
3582         * docs/random/release:
3583         Update the contact email address for the Translation Project
3584
3585         * plugins/elements/gstfdsrc.c:
3586         The parent_class for fdsrc is pushsrc, not GstElement.
3587
3588 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3589
3590         * gst/gstpreset.c:
3591           Plug a leak and fix saving.
3592
3593 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
3594
3595         * docs/gst/gstreamer-sections.txt:
3596         Add new gst_preset__get_property_names() function to the docs
3597         to fix the build.
3598
3599 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3600
3601         * gst/gstpreset.c:
3602         * gst/gstpreset.h:
3603           Change _get_preset_names API to return a strv with copies. Add
3604           _get_property_names to allow implementations to filter and provide
3605           good default implementation.
3606
3607 2007-11-20  Julien MOUTTE  <julien@moutte.net>
3608
3609         * docs/faq/gst-uninstalled: Add another library to the uninstalled
3610         script (sdp).
3611
3612 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3613
3614         * gst/gstpreset.c:
3615           More cleanups, docs, and TODOs from comments that now slowly come in.
3616
3617 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3618
3619         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
3620         search path.
3621
3622 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3623
3624         * gst/gstpreset.c:
3625           Fix bogus warning and make the property type specific code more
3626           similar.
3627
3628 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3629
3630         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
3631         it build on OS X.
3632
3633 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
3634
3635         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3636         (gst_bin_add_func), (gst_bin_remove_func),
3637         (gst_bin_change_state_func), (gst_bin_continue_func):
3638         Change email, cleanups add some more debug and comments.
3639         Also set bus and clock on new elements when the pipeline was in error.
3640
3641 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
3642
3643         * gst/gstbin.c:
3644         * gst/gstdebugutils.c:
3645           Fix build with --disable-gst-debug. Fixes #497859.
3646           Spotted by Sameer Naik.
3647
3648 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3649
3650         * gst/gstevent.c:
3651           Little documentation improvment.
3652
3653         * gst/gstpreset.c:
3654           More TODO cleanups. Remove c++ comments.
3655
3656         * libs/gst/controller/gstcontroller.c:
3657           Add TODO and use quark from static string.
3658
3659         * tests/check/gst/gstmessage.c:
3660         * tests/check/gst/gststructure.c:
3661           Use quark from static string.
3662
3663 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3664
3665         * gst/gstpreset.c:
3666           Add some comments and TODOs.
3667
3668         * gst/gstpreset.h:
3669           Add padding for future changes.
3670
3671         * plugins/elements/gstqueue.c:
3672           Implement the iface.    
3673
3674 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3675
3676         * docs/gst/gstreamer-docs.sgml:
3677         * docs/gst/gstreamer-sections.txt:
3678         * docs/gst/gstreamer.types.in:
3679         * gst/Makefile.am:
3680         * gst/gst.h:
3681         * gst/gstpreset.c:
3682         * gst/gstpreset.h:
3683           Add the preset interface (Fixes #396779). Do some doc cleanups along.
3684
3685 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
3686
3687         * configure.ac:
3688
3689         Back to CVS
3690
3691 === release 0.10.15 ===
3692
3693 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
3694
3695         * configure.ac:
3696           releasing 0.10.15, "October"
3697
3698 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
3699
3700         * win32/vs6/libgstreamer.dsp:
3701         Convert line endings back to DOS.
3702
3703 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
3704
3705         * docs/design/draft-tagreading.txt:
3706         * docs/random/ensonic/profiling.txt:
3707         Update fast tagreading draft and performance profiling ideas.
3708
3709 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
3710
3711         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
3712         Don't hold the object lock when unreffing a buffer because it could
3713         cause a deadlock when the finalize function wants to grab the object
3714         lock too. Fixes #495133.
3715
3716 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
3717
3718         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
3719         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3720         Also accumulate time correctly when doing reverse playback. Fixes
3721         #488201,
3722         When converting to running and stream time, use default values for
3723         start/stop/time/accum when comparing different formats. Fixes #494245.
3724
3725         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3726         Do running/stream time in TIME format.
3727
3728         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3729         (gst_segment_suite):
3730         2 new unit tests for segment accumulation.
3731
3732 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3733
3734         * gst/gst.c: (init_pre):
3735         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
3736           (_gst_debug_bin_to_dot_file):
3737           Move getenv() back into gst_init, so everyone can live happily
3738           ever after. Make sure the symbol isn't exported though.
3739
3740 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3741
3742         Patch by: Sebastien Moutte  <sebastien moutte net>
3743
3744         * win32/common/gstenumtypes.c:
3745         * win32/common/gstenumtypes.h:
3746           Update enum types.
3747
3748         * win32/vs6/libgstreamer.dsp:
3749           Update vs6 project files (#494343).
3750
3751 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3752
3753         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
3754         (gst_base_src_perform_seek), (gst_base_src_default_event),
3755         (gst_base_src_set_flushing), (gst_base_src_activate_push),
3756         (gst_base_src_activate_pull):
3757         Unify flushing code, remove some old unlock code that is no longer used.
3758         Take the streaming lock when seeking to avoid races. Fixes #492729.
3759         Added some more comments.
3760
3761 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3762
3763         * gst/gst.c: (_gst_disable_segtrap):
3764           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
3765           we can use gst_segtrap_is_enabled() there now that we have that API.
3766           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
3767           to do the getenv here (and export the variable).
3768
3769         * gst/gstdebugutils.c: (debug_dump_element),
3770           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
3771           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
3772
3773         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
3774           (gst_debug_log_default):
3775           Rename _gst_info_start_time to priv_gst_info_start_time so it
3776           doesn't get exported (was never in any header).
3777
3778         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
3779           (gst_plugin_loading_mutex):
3780           Make static mutex gst_plugin_loading_mutex really static (was never
3781           in any header), and use gst_segtrap_is_enabled() instead of
3782           _gst_disable_segtrap.
3783
3784         * gst/gsttrace.c: (_gst_trace_default):
3785           Make local _gst_trace_default static (was never in any header).
3786
3787 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3788
3789         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
3790
3791         * win32/common/libgstbase.def:
3792         * win32/common/libgstcontroller.def:
3793         * win32/common/libgstdataprotocol.def:
3794         * win32/common/libgstnet.def:
3795         * win32/common/libgstreamer.def:
3796           Add more missing symbols, remove some duplicates, and sort
3797           as the 'sort' command sorts it (partially fixes #493983).
3798
3799 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3800
3801         * gst/gstelement.c: (gst_element_set_state_func):
3802         Only change the state cookie if a different state was set on the
3803         element. See #492729.
3804
3805 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3806
3807         * gst/gstvalue.c:
3808           Remove unused and uninitialised type variables that were still
3809           exported for some reason (they were never in any header files
3810           though).
3811
3812 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3813
3814         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3815         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
3816         (gst_base_sink_event), (gst_base_sink_get_position_last),
3817         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3818         (gst_base_sink_change_state):
3819         Don't try to report a 0 position when we don't know, return -1 and FALSE
3820         instead. This mostly happens when we are prerolling.
3821         Make sure we can report the right position before we post the ASYNC_DONE
3822         message so that a message handler can query position without races.
3823
3824         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
3825         (async_done_handoff), (async_done_func), (send_buffer),
3826         (async_done_eos_func), (gst_sinks_suite):
3827         Add two tests for the above.
3828
3829 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3830
3831         * MAINTAINERS:
3832         Update with new email address.
3833
3834         * docs/design/part-TODO.txt:
3835         Add some more info about future pad-block and negotiation changes.
3836
3837         * docs/design/part-buffering.txt:
3838         Add some ideas about buffering reporting.
3839
3840 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
3841
3842         * tests/check/gst/gstobject.c:
3843         Disable silly racy test that always fails on this combination of CPU
3844         and kernel.
3845
3846 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3847
3848         Patch by: Murray Cumming  <murrayc@murrayc.com>
3849
3850         * gst/gstobject.c:
3851           Corrected the registration of the parent-set and parent-unset
3852           signals: The parameter is a GstObject, not a GObject (#493134).
3853
3854 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3855
3856         * gst/gst_private.h:
3857         * gst/gstbuffer.h:
3858         * gst/gstevent.h:
3859         * gst/gstformat.h:
3860         * gst/gstmessage.h:
3861         * gst/gstplugin.h:
3862         * gst/gstquery.h:
3863         * gst/gsttaglist.h:
3864         * gst/gstvalue.h:
3865           Move declaration of private _gst_foo_initialize() functions into
3866           our private header file where they should have been all along.
3867
3868 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3869
3870         * docs/plugins/gstreamer-plugins-sections.txt:
3871         * gst/gstdebugutils.h:
3872         * gst/gstxml.h:
3873         * plugins/elements/gstqueue.c:
3874           gtk-doc fixes; trailing-comma-in-enum fix.
3875
3876 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3877
3878         * gst/gst.c: (gst_deinit):
3879           Clean up on deinit (not the external ones though, doesn't seem to be
3880           needed for some reason).
3881
3882 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3883
3884         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
3885           Remove __declspec(dllimport) for MSVC that was copied over into core
3886           from a plugin, obviously without ever having been tested (note the
3887           single underscore in _declspec in the initial commit), and that doesn't
3888           really make sense.  See #492077.
3889
3890 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3891
3892         * gst/gst.c: (init_post):
3893         * gst/gstevent.c: (_gst_event_initialize):
3894         * gst/gstquery.c: (_gst_query_initialize):
3895         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
3896           g_type_class_ref() other types as well, see #349410 and #64764.
3897
3898         * gst/gstbuffer.c: (_gst_buffer_initialize):
3899         * gst/gstmessage.c: (_gst_message_initialize):
3900           Simplify existing g_type_class_ref().
3901
3902 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3903
3904         * gst/gstformat.c: (_gst_format_initialize):
3905           g_type_class_ref() our GstFormat type to make sure we avoid the
3906           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
3907           bug #64764. Should fix intermittent tee unit test failures (#474823).
3908
3909 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3910
3911         * tests/check/elements/tee.c: (test_num_buffers):
3912           Simplify, simplify, simplify - or not.  Rewrite unit test
3913           not to use gst_parse_launch(); allow N sub-streams. Increasing
3914           the number of sub-streams seems to reproduce #474823 more easily.
3915
3916 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
3917
3918         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
3919
3920         * gst/gsttrace.c:
3921         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3922         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3923         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
3924           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
3925           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
3926           so use _pipe() directly (#492077).
3927
3928         * win32/common/dirent.c: (_treaddir):
3929           Add a couple of casts to make it build without warnings with MSVC.
3930
3931         * win32/common/libgstreamer.def:
3932           Add some more symbols that need to be exported.
3933
3934 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
3935
3936         * tests/examples/metadata/read-metadata.c: (message_loop):
3937           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
3938           arriving in a second or third tag message are added to
3939           the tag list as well.
3940
3941 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
3942
3943         * libs/gst/base/gstbasesrc.c:
3944           Its "Since:" and not "@Since:". And remove an superflous cast.
3945
3946 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
3947
3948         * docs/libs/gstreamer-libs-sections.txt:
3949         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3950         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
3951         (gst_base_sink_get_property), (gst_base_sink_render_object),
3952         (gst_base_sink_preroll_object),
3953         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3954         (gst_base_sink_change_state):
3955         * libs/gst/base/gstbasesink.h:
3956         Add a new last-buffer property that contains the last buffer used in
3957         basesink for preroll or rendering. useful for making snapshots.
3958         API: gst_base_sink_get_last_buffer()
3959         API: GstBaseSink::last-buffer
3960
3961 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
3962
3963         * docs/gst/running.xml:
3964         * gst/gst.c:
3965         * gst/gstdebugutils.c:
3966         * gst/gstdebugutils.h:
3967         * tools/gst-launch.c:
3968           Improve bin graph dumping, by using the envvar to specify a path.
3969           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
3970
3971 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
3972
3973         * plugins/elements/gsttypefindelement.c:
3974           (gst_type_find_element_handle_event),
3975           (gst_type_find_element_activate):
3976           Post special error message if we can't determine the type of a stream
3977           because it's empty.
3978
3979 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
3980
3981         * docs/gst/running.xml:
3982         * gst/gstdebugutils.c:
3983           Document new env-var. Add one log-line after dumpng a graph.
3984
3985 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
3986
3987         * configure.ac:
3988           Ugly hack to put the (recently removed and non-portable, apparently)
3989           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
3990           GNU ld, because without that 'make check' fails miserably on my debian
3991           stable box.  Someone with more knowledge of linker intricacies and
3992           portability issues than me fix this properly please.
3993
3994 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
3995
3996         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3997         Reset last seen position after flushing so that we don't report the old
3998         position anymore.
3999
4000 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4001
4002         * gst/gstelementfactory.c: (gst_element_register):
4003         * gst/gsturi.h:
4004         Patch from Alessandro Decina adding get_type_full and
4005         get_protocols_full private vfuncs to the URIHandler interface
4006         to allow bindings to support creating URI handlers. 
4007         Partially fixes: #339279
4008         API: GstURIHandlerInterface::get_type_full
4009         API: GstURIHandlerInterface::get_protocols_full
4010
4011 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4012
4013         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4014         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
4015         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
4016         Make it so that pads are considered linked until a buffer is pushed
4017         and discovered otherwise. This avoids problems with decodebin2 hanging
4018         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
4019         case.
4020
4021         Make sure we lock the multiqueue when updating the max-size properties.
4022         
4023         Fix a crash on Solaris in a debug statement in get_request_pad that
4024         passes a NULL string to GST_DEBUG. 
4025
4026         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
4027         (run_output_order_test):
4028         Fix the test to allow the first buffer on not-linked pads to come out
4029         of sequence while multiqueue discovers that they are not-linked.
4030
4031 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4032
4033         * configure.ac:
4034         * libs/gst/check/Makefile.am:
4035         Use a custom export symbol regex for libgstcheck, as it needs
4036         to export symbols that don't match the standard GStreamer gst_*
4037         pattern, and  --export-dynamic is not portable (only works on 
4038         GNU ld)
4039
4040         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4041         (gst_check_setup_sink_pad):
4042         Make sure to pass a message parameter to the fail_* macros.
4043
4044         * tests/check/gst/gstinfo.c: (GST_START_TEST):
4045         Fix some compiler warnings.
4046
4047 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
4048
4049         * tests/check/gst/gststructure.c: (test_to_string):
4050           Disable test that checks that white spaces are not allowed
4051           in structure names or field names, since we need to
4052           support that for now for backwards compatibility reasons.
4053
4054 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4055
4056         * docs/gst/gstreamer-sections.txt:
4057         * gst/gsttaglist.c:
4058         * gst/gsttaglist.h:
4059           API: add GST_TAG_ARTIST_SORTNAME
4060           API: add GST_TAG_ALBUM_SORTNAME
4061           API: add GST_TAG_TITLE_SORTNAME
4062           Add tag variants for sorting (#414539).
4063
4064 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4065
4066         * gst/gststructure.c:
4067           Also allow white space for names so we don't break
4068           backwards compatibility.
4069
4070 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
4071
4072         * docs/design/part-TODO.txt:
4073         * docs/design/part-segments.txt:
4074         * docs/design/part-streams.txt:
4075         Small updates.
4076
4077 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4078
4079         * docs/gst/gstreamer-sections.txt:
4080          Fixed documentation from my previous commit (added new API add
4081          gst_value_set_structure(), add gst_value_get_structure() and
4082          GST_VALUE_HOLDS_STRUCTURE).
4083
4084 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
4085
4086         * gst/gstdebugutils.c:
4087           Reflow code to fix uninitialized variable warning.
4088
4089 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4090
4091         * gst/gstcaps.c: (gst_caps_to_string),
4092         (gst_caps_from_string_inplace):
4093         * gst/gststructure.c: (gst_structure_get_abbrs),
4094         (gst_structure_to_string), (gst_structure_from_string):
4095         * gst/gstvalue.c: (gst_value_set_structure),
4096         (gst_value_get_structure), (gst_value_serialize_structure),
4097         (gst_value_deserialize_structure), (_gst_value_initialize):
4098         * gst/gstvalue.h:
4099         * tests/check/gst/gststructure.c: (GST_START_TEST),
4100         (gst_structure_suite):
4101         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4102          Added GstStructure to gst_value_table and its related functions.
4103          Changed gst_structure_to_string to print ';' in the end.
4104          Changed gst_caps_to_string to not print ';' beteween its
4105          fields (structures) anymore and remove the lastes ';' from latest
4106          structure. Now it is possible to have nested structures.
4107          In addition, backward compatibilty is assured by accepting '\0' as
4108          end delimiter. Fixes: #487969.
4109          API: add gst_value_set_structure()
4110          API: add gst_value_get_structure()
4111          API: add GST_VALUE_HOLDS_STRUCTURE
4112
4113 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
4114
4115         * gst/gstbus.c:
4116           When no GSource callback has been set up, tell developer
4117           to use a function that actually exists.
4118
4119 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
4120
4121         * docs/gst/gstreamer-sections.txt:
4122         * gst/Makefile.am:
4123         * gst/gst.c:
4124         * gst/gst.h:
4125         * gst/gstdebugutils.c:
4126         * gst/gstdebugutils.h:
4127         * gst/gstinfo.c:
4128         * gst/gstinfo.h:
4129         * tools/gst-launch.c:
4130           Allow dumping pipelines as dot graphs. Fixes #456573.
4131
4132 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4133
4134         * gst/gststructure.c:
4135           Allow '+' as well, it can be part of media or mime types
4136           such as image/svg+xml.
4137
4138 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4139
4140         * docs/gst/gstreamer-sections.txt:
4141         * gst/gstbus.c:
4142         * gst/gstbus.h:
4143           API: add gst_bus_pop_filtered
4144           API: add gst_bus_timed_pop_filtered
4145           Two new functions for waiting for specific message types on the
4146           bus for a specified amount of time without iterating any main
4147           loops or main contexts.
4148
4149         * tests/check/gst/gstbus.c:
4150           Some tests for the new functions.
4151
4152 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4153
4154         * docs/libs/gstreamer-libs-sections.txt:
4155           Make gtk-doc ignore stuff it should ignore.
4156
4157 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4158
4159         * libs/gst/check/gstcheck.c:
4160         * libs/gst/check/gstcheck.h:
4161           Allow runtime selection of unit tests to run via the GST_CHECKS
4162           environment variable (test case function names, comma-separated).
4163
4164 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4165
4166         * gst/gststructure.c:
4167         * tests/check/gst/gststructure.c:
4168           Revert serialisation change and constrain structure-names after
4169           consensus on irc. Update api documentation to reflect the change.
4170
4171 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4172
4173         * gst/gststructure.c:
4174           Improve serialization and fix tests.
4175
4176         * tests/check/gst/gststructure.c:
4177           Add another test that covers why I actually did the previous structure
4178           change.
4179
4180 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4181
4182         * tools/gst-inspect.c: (print_element_info):
4183         Don't crash when inspecting an element.
4184
4185 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4186
4187         * tests/check/gst/gststructure.c:
4188           Add unit test for escaping of structure name when serialising
4189           and deserialising to/from strings.
4190
4191 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4192
4193         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4194         (gst_single_queue_new):
4195         * plugins/elements/gstqueue.c: (gst_queue_init),
4196         (gst_queue_push_one):
4197         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
4198         upstream is tricked into thinking it can suggest a format downstream
4199         while downstream does not support that format. The real problem is that
4200         core calls acceptcaps when pushing a buffer with new caps, for which we
4201         do a little workaround by setting the caps on the srcpad ourselves
4202         before pushing the buffer (until this is figured out). Fixes #486758.
4203
4204 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4205
4206         * gst/gststructure.c:
4207         * gst/gstvalue.c:
4208           Add some more comments and debug output. Quote structure name to fix
4209           deserialisation of some strings.
4210
4211 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4212
4213         * gst/gstbuffer.h:
4214           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
4215           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
4216
4217 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4218
4219         * tools/gst-inspect.c:
4220           Save approx. 400 1 byte allocs when printing. Use API to acces element
4221           details.
4222
4223         * tools/gst-run.c:
4224           Avoid a strdup.
4225
4226         * tools/gst-xmlinspect.c:
4227           Use API to acces element details.
4228
4229 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4230
4231         * gst/gstinfo.c:
4232           Fix some spelling errors.
4233
4234 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
4235
4236         * gst/gstbin.c: (bin_handle_async_done):
4237         Correctly set the next state if all of our async children commited their
4238         state. This makes sure we can actually cancel the state change in
4239         progress. Fixes a regression in Rhythmbox when seeking.
4240
4241 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4242
4243         * gst/gstbin.c:
4244           Don't shadow local variable.
4245
4246         * gst/gstinfo.c:
4247           Don't shadow global function name.
4248
4249 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4250
4251         * gst/gstelementfactory.c:
4252         * gst/gstpluginfeature.c:
4253         * gst/gstpluginfeature.h:
4254         * gst/gstregistrybinary.c:
4255         * gst/gstregistryxml.c:
4256         * gst/gsttypefind.c:
4257           Use already-interned string for the private GstPluginFeature
4258           plugin_name field.
4259
4260 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4261
4262         * docs/libs/gstreamer-libs-sections.txt:
4263           Add new API to docs; fixes the build.
4264
4265 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
4266         
4267         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
4268
4269         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
4270         (gst_base_sink_event):
4271         * libs/gst/base/gstbasesink.h:
4272         Add function to wait for EOS, subclasses can use this to correctly wait
4273         for devices to drain before performing the EOS logic. Fixes #485343.
4274         API: gst_base_sink_wait_eos()
4275
4276 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4277
4278         * gst/gstplugin.h:
4279           Cast description string constants in GST_PLUGIN_DEFINE macros
4280           to a (gchar*) to make C++ code using these macros compile
4281           without warning with g++-4.2 (see #462737).  Even if slightly
4282           ugly, this seems preferable to putting the description strings
4283           into the GLib quark table or making the structure member a
4284           const gchar * and doing casts in core code that allocs and
4285           frees these strings, or requiring a cast in the C++ code.
4286
4287 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4288
4289         * gst/gstinfo.h:
4290           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
4291           to print the entire class/function signature into the log
4292           file for C++ code.  This only affects C++ code, for C code
4293           everything remains the same.
4294
4295 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
4296
4297         * gst/gstbin.c: (remove_from_queue):
4298         Work around a problem with pipelines containing (semi)loops until a
4299         proper, more complicated solution is ready. See #475455.
4300
4301 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4302
4303         * gst/gstplugin.c:
4304         * gst/gstplugin.h:
4305         * gst/gstregistrybinary.c:
4306         * gst/gstregistryxml.c:
4307           Put more strings into the GLib quark table. No need to keep
4308           a hundred-something copies of identical version strings,
4309           license strings, package name strings and package origin
4310           strings around. 
4311
4312 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4313
4314         * docs/manual/advanced-dataaccess.xml:
4315           Don't imply that it's okay to unconditionally change
4316           buffer data or buffer metadata in a pad probe callback,
4317           and a bunch of other comments. Fixes #430031.
4318
4319 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4320
4321         * win32/common/gstenumtypes.c:
4322         * win32/common/gstenumtypes.h:
4323         * win32/common/gstversion.h:
4324           Update generated files.
4325
4326 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4327
4328         * docs/manual/advanced-autoplugging.xml:
4329           Prefix section with broken code with a warning (see #342432).
4330
4331 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4332
4333         * docs/manual/appendix-integration.xml:
4334         * docs/manual/basics-init.xml:
4335           Call g_thread_init() before g_option_context_new() to
4336           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
4337
4338 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4339
4340         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4341         (gst_base_sink_queue_object_unlocked),
4342         (gst_base_sink_queue_object), (gst_base_sink_event),
4343         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
4344         When we received EOS and are waiting for when to post the EOS message,
4345         our state is prerolled and we should not return ASYNC.
4346         Reorganize some code paths to implement this behavior.
4347
4348         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4349         (gst_sinks_suite):
4350         Add unit test to verify above EOS fix.
4351
4352 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4353
4354         * plugins/elements/gsttypefindelement.c:
4355         (gst_type_find_element_have_type), (gst_type_find_element_init),
4356         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
4357         Move detecting the input caps of the sinkpad to the setcaps function.
4358         This allows us to update the output caps when we receive new input caps
4359         instead of always using the first detected caps.
4360
4361 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4362
4363         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4364         (gst_base_sink_get_position):
4365         Don't try to preroll non-async elements after a flush.
4366         Subtract latency form clock times when reporting position.
4367
4368 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4369
4370         * gst/gstpad.c: (gst_pad_pause_task):
4371         * gst/gstutils.c:
4372         Small comment and documentation update.
4373
4374 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4375
4376         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4377         (gst_base_src_set_live), (gst_base_src_is_live),
4378         (gst_base_src_query_latency), (gst_base_src_perform_seek),
4379         (gst_base_src_default_event), (gst_base_src_wait),
4380         (gst_base_src_do_sync), (gst_base_src_get_range),
4381         (gst_base_src_pad_get_range), (gst_base_src_loop),
4382         (gst_base_src_unlock), (gst_base_src_unlock_stop),
4383         (gst_base_src_set_flushing), (gst_base_src_set_playing),
4384         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4385         (gst_base_src_change_state):
4386         Rework the locking of basesrc in a similar fashion to basesink. We
4387         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
4388         us to handle live sources and semi live ones much better.
4389         Simplify flushing.
4390         Fix unlocking when seeking, shutting down and pausing in live sources.
4391
4392 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4393
4394         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
4395         Fix compilation again.
4396
4397 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4398
4399         * gst/gstelement.c:
4400           Use meaningful categories for the logs to clean the default one.
4401
4402 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4403
4404         * tests/check/pipelines/cleanup.c:
4405           Print message name and not just number.
4406
4407 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4408
4409         * docs/design/draft-tagreading.txt:
4410           Add some more thoughts.
4411
4412 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4413
4414         * tests/check/pipelines/simple-launch-lines.c:
4415           Print message name and not just number.
4416
4417 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4418
4419         * libs/gst/base/gsttypefindhelper.c:
4420           Speedup typefinding. This is work in progress (see #459862).
4421
4422 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4423
4424         * gst/gstplugin.c:
4425           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
4426           Spotted by Josep Torra Valles <josep@fluendo.com>.
4427
4428 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
4429
4430         * gst/gstclock.h:
4431           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
4432           field has moved to GstObject.
4433
4434 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
4435
4436         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
4437         (gst_base_src_get_range), (gst_base_src_change_state):
4438         Call unlock for live sources so that they can't get stuck in _create and
4439         produce a buffer before they are set back to PLAYING.
4440
4441 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
4442
4443         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4444         (gst_queue_locked_dequeue):
4445         Comment the segment-related code... in the PROPER function.
4446         See #482147 and my commit from yesterday.
4447
4448 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
4449
4450         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4451         Also initialize the counter that calculates the first timestamp on a
4452         buffer correctly for non-live sources.
4453
4454 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
4455
4456         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
4457         Disable code that's breaking the current-time-level reporting.
4458         See #482147
4459
4460 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
4461
4462         * docs/gst/gstreamer-sections.txt:
4463         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
4464         as they shouldn't show up. Fixes the docs build.
4465
4466 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
4467         
4468         * gst/gstinfo.h:
4469         Add an explicit variable importation needed on VS6 (only for MSC_VER)
4470         Define M_PI which is used in files which are including gstinfo.h. 
4471         VS6 includes doesn't define it.
4472         * win32/common/libgstbase.def:
4473         * win32/common/libgstcontroller.def:
4474         * win32/common/libgstreamer.def:
4475         Add new exported functions and variables.
4476         * win32/vs6/libgstcontroller.dsp:
4477         * win32/vs6/libgstreamer.dsp:
4478         Update the list of files to build.
4479         
4480 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4481
4482         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4483
4484         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
4485         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
4486         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
4487         Improve debugging. Fixes #480858.
4488
4489 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4490
4491         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4492
4493         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4494         First patch of code cleanups, use the macros and right arguments in the
4495         macros to signal and lock the queue. See #480858.
4496
4497 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
4498
4499         * gst/gstbus.c: (poll_func):
4500         Improve debugging when dealing with _poll().
4501
4502 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * gst/gstregistryxml.c:
4505           Fix memory leak I introduced a few days ago.
4506
4507 2007-09-26  Michael Smith <msmith@fluendo.com>
4508
4509         * gst/gstbuffer.c: (gst_buffer_finalize):
4510           Make it once again possible to free GstBuffers in the default
4511           build.
4512           The poisoning scribbles on parts of the miniobject we need in
4513           order to free it.
4514           Fixes #480341
4515
4516 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         * docs/gst/gstreamer-sections.txt:
4519         * gst/gsttaglist.c:
4520         * gst/gsttaglist.h:
4521         API: add GST_TAG_COMPOSER, fixes #459809.
4522
4523 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
4524
4525         * gst/gstplugin.c:
4526         * gst/gstplugin.h:
4527         Add the 3-clause BSD license and the MIT/X11 license to the license
4528         list. Fixes #479784.
4529
4530 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4531
4532         * docs/faq/getting.xml:
4533           Add Q+A about different GStreamer versions (#364056).
4534
4535 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4536
4537         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4538         (gst_base_sink_event), (gst_base_sink_change_state):
4539         Return correct gboolean from query function.
4540
4541 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4542
4543         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4544         (gst_base_sink_event), (gst_base_sink_query),
4545         (gst_base_sink_change_state):
4546         Simplify latency query.
4547         When not synchronizing, we can report latency without querying the peer
4548         element.
4549
4550 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4551
4552         * gst/gstobject.h:
4553         * gst/gstvalue.c:
4554         Fix small typos in the docs.
4555
4556 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4557
4558         * docs/design/draft-latency.txt:
4559         * docs/design/draft-push-pull.txt:
4560         * docs/design/draft-tagreading.txt:
4561         * docs/design/part-MT-refcounting.txt:
4562         * docs/design/part-activation.txt:
4563         * docs/design/part-block.txt:
4564         * docs/design/part-element-source.txt:
4565         * docs/design/part-events.txt:
4566         * docs/design/part-gstbin.txt:
4567         * docs/design/part-gstelement.txt:
4568         * docs/design/part-gstobject.txt:
4569         * docs/design/part-gstpipeline.txt:
4570         * docs/design/part-messages.txt:
4571         * docs/design/part-preroll.txt:
4572         * docs/design/part-push-pull.txt:
4573         * docs/design/part-qos.txt:
4574         * docs/design/part-query.txt:
4575         * docs/design/part-scheduling.txt:
4576         * docs/design/part-seeking.txt:
4577         * docs/design/part-segments.txt:
4578         * docs/design/part-states.txt:
4579         Documentation updates and typo fixes.
4580
4581 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4582
4583         * plugins/elements/gstfakesink.c:
4584           Add some debug text to error message to indicate that
4585           we errored out on request.
4586
4587         * tools/gst-launch.c:
4588           When the state change to PLAYING fails, check for an
4589           error message on the bus and print it.
4590
4591 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4592
4593         translated by: Jorge González González <aloriel@gmail.com>
4594
4595         * po/LINGUAS:
4596         * po/es.po:
4597           Added Spanish translation.
4598
4599 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
4600
4601         * plugins/elements/gstqueue.c: (gst_queue_push_one):
4602         Fix printf arguments.
4603
4604 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4605
4606         * tests/check/generic/states.c:
4607           Improved state change unit test.
4608
4609 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4610
4611         * gst/gstbin.h:
4612           Move priv to the right place.
4613
4614         * gst/gstsystemclock.c:
4615           Add FIXME: and improve log.
4616
4617         * tests/check/Makefile.am:
4618         * tests/examples/manual/Makefile.am:
4619           Work with all types of registries.
4620
4621 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
4622
4623         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4624         Don't unref the event after pushing it. Fixes #478401.
4625
4626 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4627
4628         * .cvsignore:
4629         * tests/examples/manual/.cvsignore:
4630           Ignore registries in any format.
4631
4632 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * gst/glib-compat-private.h:
4635           Add compatibility macro for g_intern_string() for
4636           GLib-2.8 (any reason we can't just bump the
4637           requirement to at least 2.10?)
4638
4639         * gst/gstpadtemplate.h:
4640         * gst/gstelementfactory.c:
4641         * gst/gstregistryxml.c:
4642         * gst/gstregistrybinary.c:
4643           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
4644           up the internal code accordingly.  This shouldn't be a problem, since
4645           there is no reason external code could ever assume the string in such
4646           a structure is dynamically allocated unless it did that itself;  the
4647           use of g_strdup() is private to element factories.  The new code also
4648           saves some memory by putting pad template name strings into the GLib
4649           quark table instead of allocating them dynamically.
4650           Declaring this field constant fixes warnings with g++-4.2 when using
4651           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
4652
4653 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4654
4655         * gst/gstelementfactory.c:
4656           Release static caps. Fixes #475723.
4657
4658 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
4659
4660         * gst/gstinfo.c:
4661         * gst/gstinfo.h:
4662           Make some internal API take const gchar * instead of just
4663           gchar * to avoid compiler warnings with g++-4.2.2 when
4664           passing string constants (partially fixes #478092).
4665
4666 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
4667
4668         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
4669         A latency query fails when one of the sinks fail.
4670
4671         * gst/gstelement.c: (gst_element_set_base_time):
4672         Improve debugging.
4673
4674 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
4675
4676         * gst/gstbin.c: (gst_bin_continue_func):
4677         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4678         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
4679         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
4680
4681         Fix minor compilation warnings shown with Forte.
4682
4683 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
4684
4685         * plugins/elements/gstqueue.c: (apply_buffer),
4686         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
4687         Measure queue level based on the diff between head and tail timestamps
4688         even when pushing the first buffer.
4689
4690 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4691
4692         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4693         (gst_base_sink_event), (gst_base_sink_change_state):
4694         Sinks that don't preroll can always be queried for the latency.
4695         Don't post ASYNC start when we are not async.
4696
4697 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4698
4699         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4700         (gst_queue_handle_sink_event), (gst_queue_chain),
4701         (gst_queue_push_one), (gst_queue_handle_src_query),
4702         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
4703         * plugins/elements/gstqueue.h:
4704         When downstream returns UNEXPECTED from pushing a buffer, don't try to
4705         push more buffers but allow pushing of EOS and NEWSEGMENT.
4706         Add some more debug info here and there. Fixes #476514.
4707
4708 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4709
4710         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4711         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
4712         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4713         (gst_base_sink_set_flushing), (gst_base_sink_query),
4714         (gst_base_sink_change_state):
4715         Latency query is allowed after we are prerolled. Introduce a new flag
4716         for this and stop abusing other variables.
4717
4718 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4719
4720         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4721         Push OOB events downstream when we get them in send_event. This allows
4722         the application to insert events in the pipeline.
4723         Add some more comments.
4724
4725 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4726
4727         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
4728         (do_bin_latency), (gst_bin_change_state_func):
4729         * gst/gstpipeline.c: (gst_pipeline_change_state):
4730         Move latency query from GstPipeline to GstBin so that we can also
4731         use it when async-handling is enabled on bins.
4732
4733 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4734
4735         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4736         (gst_base_src_do_sync), (gst_base_src_change_state):
4737         Update docs.
4738         Clean up the timestamping and syncing code for pseudo live sources.
4739
4740 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
4741
4742         Patch by: Steve Fink  <sphink gmail com>
4743
4744         * docs/manual/appendix-checklist.xml:
4745           Mention less -R switch in the section about debug output (#474055).
4746
4747 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4748
4749         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4750         Queue can latency to the pipeline up to the configured max size in time.
4751         Report this fact in the latency query.
4752
4753 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4754
4755         Patch by: Sebastien Moutte <sebastien at moutte dot net>
4756
4757         * libs/gst/controller/gstinterpolation.c:
4758         * libs/gst/controller/gstlfocontrolsource.c:
4759         Use gst_guint64_to_gdouble() when converting from a uint64 or
4760         GstClockTime to double to fix the build on win32. Fixes #474371.
4761
4762 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4763
4764         * gst/gstbuffer.c: (gst_buffer_finalize):
4765         Implement poisoning for GstBuffer if --enable-poisoning is specified.
4766         When finalizing a buffer the complete struct is filled with 0xff,
4767         thus making a use of the buffer after the final unref impossible.
4768
4769 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4770
4771         * tests/check/libs/controller.c: (GST_START_TEST):
4772         Use fail_unless_equals_int(a, b) instead of
4773         fail_unless_equals (a == b) to get better output on failures.
4774
4775 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
4776
4777         * tests/check/gst/gsturi.c:
4778           Also check for the other file URI variant on win32.
4779
4780 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
4781
4782         * gst/gsturi.c: (gst_uri_get_location):
4783           If there's no hostname, we want to return 'c:/foo/bar.txt'
4784           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
4785
4786         * tests/check/gst/gsturi.c:
4787           Unit test for the above and a few more things.
4788
4789 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
4790
4791         * docs/design/part-live-source.txt:
4792         Add docs on how live sources should timestamp.
4793
4794         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4795         Add some more debug info.
4796         For subclasses that are live and like to sync, add aditional startup
4797         latency to sync time and timestamps so that we timstamp according to the
4798         design doc.
4799
4800 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
4801
4802         * gst/gstbuffer.c:
4803           Also do a g_type_class_ref() for the subbuffer type in
4804           the init function.
4805
4806 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
4807
4808         * docs/gst/gstreamer-sections.txt:
4809         * gst/gstpad.c: (gst_pad_peer_query):
4810         * gst/gstpad.h:
4811         Add function to perform a query on the peer of a pad.
4812         API: gst_pad_peer_query()
4813
4814 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
4815
4816         * tests/check/gst/gstsystemclock.c:
4817           Cleanup the test a little (use gst-logging and not g_message). Improve
4818           test to check if a wait reached the target.
4819
4820 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
4821
4822         * docs/libs/gstreamer-libs-sections.txt:
4823           Add new API to docs and fix the build.
4824
4825 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
4826
4827         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4828         (gst_base_src_init), (gst_base_src_set_do_timestamp),
4829         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
4830         (gst_base_src_get_property), (gst_base_src_do_sync):
4831         * libs/gst/base/gstbasesrc.h:
4832         Add property to make the basesrc timestamp buffers based on the current
4833         running time.
4834         API: GstBaseSrc::do-timestamp
4835         API: gst_base_src_set_do_timestamp()
4836         API: gst_base_src_get_do_timestamp()
4837
4838 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
4839
4840         * docs/random/release:
4841           Really make sure translations are up-to-date before
4842           a release (#465010).
4843
4844 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
4845
4846         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4847         Always destroy the timer, also in error cases.
4848
4849 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
4850
4851         * docs/manual/highlevel-xml.xml:
4852         Fix XML example code. Fixes #472714.
4853
4854 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
4855
4856         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4857         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4858         (gst_base_sink_query):
4859         Protect eos and have_preroll with the OBJECT lock so we don't need to
4860         take the PREROLL lock when querying the latency. Fixes #473846.
4861
4862 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
4863
4864         * gst/gstelement.c:
4865           Give some log-messages a category.
4866
4867 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
4868
4869         * gst/gststructure.c:
4870         (gst_structure_fixate_field_nearest_fraction):
4871         Fix fraction list fixation code. Take the fraction with the smallest
4872         difference with the target instead of the first one in the list.
4873
4874         * tests/check/gst/gststructure.c: (GST_START_TEST),
4875         (gst_structure_suite):
4876         Added test to verify correct fraction list fixation behaviour.
4877
4878 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
4879
4880         * win32/common/libgstreamer.def:
4881           Export gst_bus_add_signal_watch too.
4882
4883 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
4884
4885         * docs/libs/gstreamer-libs-sections.txt:
4886         Add new methods to docs.
4887
4888         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4889         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
4890         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
4891         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
4892         * libs/gst/base/gstbasesink.h:
4893         Add ts-offset property to fine-tune the synchronisation.
4894         API: GstBaseSink::ts-offset property
4895         API: gst_base_sink_set_ts_offset()
4896         API: gst_base_sink_get_ts_offset()
4897
4898 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
4899
4900         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4901         (gst_base_sink_init), (gst_base_sink_set_sync),
4902         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4903         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
4904         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
4905         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
4906         (gst_base_sink_get_property), (gst_base_sink_change_state):
4907         * libs/gst/base/gstbasesink.h:
4908         Add async property to instruct the sink never to inform the parent about
4909         ASYNC state changes, update docs.
4910         Check argument with g_return_* for the public functions.
4911         API: GstBaseSink::async property
4912         API: gst_base_sink_set_async_enabled()
4913         API: gst_base_sink_is_async_enabled()
4914
4915 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
4916
4917         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
4918         Improve debugging.
4919
4920         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4921         (gst_base_src_default_query), (gst_base_src_wait),
4922         (gst_base_src_do_sync), (gst_base_src_change_state):
4923         Rearrange some code so that we can add support for measuring the 
4924         startup latency.
4925
4926 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
4927
4928         * docs/random/ensonic/dynlink.txt:
4929           More thoughs on this.
4930
4931         * plugins/elements/gstcapsfilter.c:
4932           Add bugzilla ticket number to FIXME comment.
4933
4934 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
4935
4936         * docs/design/part-TODO.txt:
4937         * docs/design/part-block.txt:
4938         Update some docs.
4939
4940 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4941
4942         * gst/Makefile.am:
4943           Revert patch which uses $(gst_headers) instead of $^ because it
4944           breaks make dist.
4945
4946 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4947
4948         * tests/check/gst/gstbin.c: (GST_START_TEST):
4949           Fix leaks in the new unit test.
4950
4951 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
4952
4953         * gst/gst.c:
4954           Don't use GST_INFO before the debug system is actually initialised
4955           (shouldn't do any harm, but won't print anything either, so we can
4956           just as well remove it).
4957
4958         * gst/gstinfo.h:
4959           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
4960           compilers that don't support variadic macros (such as MSVC), should
4961           check for debug_level <= __gst_debug_min as well, since that's the
4962           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
4963           inline helper functions. Should improve performance a bit, but also
4964           makes sure uses of GST_INFO et.al are ignored if the debugging
4965           system isn't initialised yet (instead of printing an assertion
4966           failure).
4967
4968 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
4969
4970         patch by: David Nečas <yeti@physics.muni.cz>
4971
4972         * gst/Makefile.am:
4973           Replace some non portable makefile constructs.
4974
4975 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
4976
4977         * common/gtk-doc-plugins.mak:
4978           Grrrrr. Don't remove the types file on make clean.
4979
4980 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
4981
4982         * tools/gst-launch.1.in:
4983         Add colorspace to example pipeline. Fixes #458274.
4984
4985 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
4986
4987         * docs/random/release:
4988           The release manager should run 'make download-po' before making a
4989           release to make sure translations are up-to-date.
4990
4991         * po/LINGUAS:
4992         * po/be.po:
4993         * po/pl.po:
4994         * po/rw.po:
4995           Add some new translations.
4996
4997 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
4998
4999         * tools/gst-launch.c: (event_loop), (main):
5000         Don´t try to do any state management when a live pipeline posts
5001         buffering messages.
5002         Also make the buffering string translatable.
5003
5004 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5005
5006         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
5007         (bin_handle_async_start), (gst_bin_handle_message_func):
5008         Improve debugging.
5009         When adding elements, insert messages into the bus of the newly added
5010         element and make sure the element is the source of the message. This
5011         allows the parent bin to intercept the message and do the
5012         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
5013         messages to the app (which is not allowed).
5014         Update some docs.
5015
5016         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5017         Fix testsuite so that is does not work around messages that should not
5018         have been posted in the first place.
5019
5020 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5021
5022         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
5023         (update_degree), (gst_bin_sort_iterator_next):
5024         Fix annoying bug in the sorted iterator where a sink that is not really
5025         a sink (when it has downstream links) screwed up the iterator.
5026
5027         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5028         Unit test to verify the fix.
5029
5030 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5031
5032         * gst/gstmessage.h:
5033         Add some more docs for the messages.
5034
5035         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5036         (gst_base_sink_query):
5037         Add some more debugging.
5038
5039         * tools/gst-launch.c: (event_loop):
5040         When interrupting, don't try to set pipeline to PAUSED twice.
5041
5042 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5043
5044         
5045         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
5046         (bin_handle_async_start), (gst_bin_handle_message_func):
5047         Move ASYNC_START message posting to where it belongs, similar to
5048         async_done. 
5049         Don't post ASYNC_START when we are in error. 
5050         Post ASYNC_START when we added an async element to a bin.
5051
5052 2007-08-14  Julien MOUTTE  <julien@moutte.net>
5053
5054         * gst/gstindex.c: (gst_index_add_association): Fix index entry
5055         generation from vargs. Fixes #466595.
5056
5057 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5058
5059         * gst/gstbin.c: (gst_bin_element_set_state):
5060         Always change the state of a NO_PREROLL element even if it has ASYNC
5061         elements inside (in case of a bin).
5062
5063         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
5064         Unit test for this case.
5065
5066 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
5067
5068         * libs/gst/check/gstbufferstraw.c:
5069         * libs/gst/check/gstcheck.h:
5070         * libs/gst/controller/gstcontroller.c:
5071         * libs/gst/controller/gstcontrolsource.h:
5072         * libs/gst/controller/gstlfocontrolsource.h:
5073         * plugins/elements/gstcapsfilter.h:
5074         * plugins/elements/gstfdsink.h:
5075         * plugins/elements/gstfdsrc.h:
5076           Add more missing docs.
5077
5078 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5079
5080         * gst/gststructure.c:
5081         Add Since tag to docs.
5082
5083 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5084
5085         * docs/gst/gstreamer-sections.txt:
5086         * gst/gststructure.c: (gst_structure_get_uint):
5087         * gst/gststructure.h:
5088         Add function to get uint from a structure.
5089         API: gst_structure_get_uint()
5090
5091 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5092
5093         * gst/gstcaps.c: (gst_caps_set_simple_valist),
5094         (gst_caps_intersect):
5095         Fix proper check for simple caps.
5096
5097 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
5098
5099         * docs/gst/Makefile.am:
5100         * docs/libs/Makefile.am:
5101           Remove cruft and do some cleanups.
5102
5103         * docs/gst/gstreamer-docs.sgml:
5104         * docs/libs/gstreamer-libs-docs.sgml:
5105           Prepare for comming gtkdoc features (rebase against online docs).
5106
5107 2007-08-10  Michael Smith <msmith@fluendo.com>
5108
5109         * docs/gst/gstreamer-sections.txt:
5110           Add gst_registry_add_path to docs.
5111
5112 2007-08-10  Michael Smith <msmith@fluendo.com>
5113
5114         * gst/gstregistry.h:
5115           Add gst_registry_add_path, which was missing from this header.
5116
5117 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5118
5119         * libs/gst/controller/gstlfocontrolsource.c:
5120           Printf format fix.
5121
5122 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
5123
5124         * libs/gst/base/gstbasesink.c:
5125           Don't send an async_start message during downwards state change if 
5126           target state is less than READY
5127
5128 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         translated by: Gabor Kelemen <kelemeng@gnome.hu>
5131
5132         * po/LINGUAS:
5133         * po/hu.po:
5134           Added Hungarian translation.
5135
5136 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5137
5138         * po/fi.po:
5139         * po/it.po:
5140         * po/nl.po:
5141         * po/sv.po:
5142         * po/uk.po:
5143           Updated translations.
5144
5145 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5146
5147         * libs/gst/controller/Makefile.am:
5148         Dist gstlfocontrolsourceprivate.h
5149
5150 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5151
5152         * docs/libs/gstreamer-libs.types:
5153         Don't register the enum type gst_lfo_waveform_get_type() in the
5154         .types file - only GObject derived types belong.
5155
5156 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5157
5158         Patch by: <arenevier at fdn dot fr>
5159
5160         * gst/gstbuffer.h:
5161         Remove comma from last element in enum to avoid compile errors when
5162         using -pendantic. Fixes #464366.
5163
5164 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5165
5166         * docs/design/part-TODO.txt:
5167         Add some more TODO items
5168
5169         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
5170         Improve debugging.
5171
5172         * gst/gstcaps.c: (gst_caps_intersect):
5173         Optimize trivial intersection case between identical caps pointers.
5174
5175         * gst/gstelement.c: (gst_element_continue_state),
5176         (gst_element_set_state_func):
5177         * gst/gstpad.c:
5178         Fix spelling and grammar mistakes.
5179
5180 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
5181
5182         * po/POTFILES.in:
5183         * po/POTFILES.skip:
5184           Update POTFILES. Fixes #461599.
5185
5186 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5187
5188         * gst/gst.c:
5189         Fix confusing typo in debug output.
5190
5191 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5192
5193         reviewed by: Stefan Kost <ensonic@users.sf.net>
5194
5195         * libs/gst/controller/Makefile.am:
5196         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
5197         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
5198         (gst_lfo_control_source_new),
5199         (gst_lfo_control_source_set_waveform),
5200         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
5201         (gst_lfo_control_source_finalize),
5202         (gst_lfo_control_source_dispose),
5203         (gst_lfo_control_source_set_property),
5204         (gst_lfo_control_source_get_property),
5205         (gst_lfo_control_source_class_init):
5206         * libs/gst/controller/gstlfocontrolsource.h:
5207         * libs/gst/controller/gstlfocontrolsourceprivate.h:
5208         API: Add GstLFOControlSource, a control source that gives values
5209         for specific timestamps based on several periodic waveforms.
5210         Fixes #459717.
5211
5212         * tests/check/libs/controller.c: (GST_START_TEST),
5213         (gst_controller_suite):
5214         * docs/libs/gstreamer-libs-docs.sgml:
5215         * docs/libs/gstreamer-libs-sections.txt:
5216         * docs/libs/gstreamer-libs.types:
5217         Add documentation and unit tests for GstLFOControlSource.
5218
5219 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
5220
5221         * configure.ac:
5222         Back to CVS
5223
5224 === release 0.10.14 ===
5225
5226 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
5227
5228         * configure.ac:
5229           releasing 0.10.14, "Breathing Vacuum"
5230
5231 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
5232
5233         * gst/gstelement.c: (gst_element_class_set_details_simple):
5234         * gst/gstelement.h:
5235           Make strings passed to gst_element_class_set_details_simple()
5236           constant, as they should be (#462752).
5237
5238 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
5239
5240         * gst/gstbin.c: (gst_bin_change_state_func),
5241         (bin_handle_async_done), (gst_bin_handle_message_func):
5242         Don't forget about the fact that some element went ASYNC even after a
5243         resync. This makes us post the ASYNC_DONE message correctly.
5244         Fixes #462558.
5245
5246 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5247
5248         * gst/gstregistry.c: (gst_registry_add_feature):
5249         When replacing an existing feature in the registry, make sure to
5250         continue holding a reference until we've replaced the name string
5251         within our feature hash table. Make sure to use g_hash_table_replace
5252         instead of g_hash_table_insert to ensure the new name string is used
5253         as a key instead of the old one that we're about to free.
5254         Fixes: #462085
5255
5256 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5257
5258         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5259         (gst_plugin_feature_set_name):
5260         Revert patch from #459466 until after the release and we can work
5261         out exactly what the problem is (if any).
5262
5263 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5264
5265         * docs/gst/gstreamer-sections.txt:
5266         * gst/gsttaglist.c:
5267         * gst/gsttaglist.h:
5268           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
5269
5270 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5271
5272         * docs/libs/Makefile.am:
5273         Include our build-prefix libs and includes before the generic ones to
5274         avoid linking against the installed libs when we want the build-tree
5275         ones.
5276
5277 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5278
5279         Patch by: Steve Fink  <sphink gmail com>
5280
5281         * docs/pwg/building-testapp.xml:
5282           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
5283           if people try to build or install the example from the plugin
5284           template against a GStreamer from package using the configure
5285           defaults.
5286
5287 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5288
5289         Patch by: Steve Fink  <sphink gmail com>
5290
5291         * tools/gst-inspect.1.in:
5292           Document --print-all and --print-plugin-auto-install-info command
5293           line options in man page.
5294
5295 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5296
5297         * docs/gst/gstreamer-sections.txt:
5298         Add docs for new api function.
5299
5300 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5301
5302         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
5303         * gst/gstelementfactory.h:
5304         API: gst_element_factory_has_interface()
5305         Added method to check if an element factory implements a named
5306         interface.
5307
5308 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
5309
5310         * configure.ac:
5311         * docs/gst/gstreamer.types.in:
5312           Another conditional doc check.
5313
5314         * gst/gstmessage.c:
5315         * gst/gstparamspecs.h:
5316         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5317         * gst/gstvalue.c:
5318         * gst/gstxml.h:
5319           API-doc fixes.
5320
5321 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5322
5323         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
5324         (gst_registry_binary_load_feature),
5325         (gst_registry_binary_load_plugin),
5326         (gst_registry_binary_read_cache):
5327           Print error just once and with additional info.
5328
5329 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5330
5331         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5332         (helper_find_suggest), (helper_find_get_length),
5333         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
5334         (gst_type_find_helper_for_buffer):
5335           Cleanup the typefindhelper code and add private doc comments.
5336
5337 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
5338
5339         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5340         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
5341         Fix capsfilter for cases where the caps set on capsfilter will provide
5342         additional information.
5343         Fixes #449197
5344
5345 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5346
5347         * gst/gsttypefindfactory.c:
5348           Fix docs that recommened wrong function to use.
5349
5350 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5351
5352         * tools/gst-inspect.c: (print_plugin_features):
5353           Also give media-type for typefinders in element output.
5354
5355 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5356
5357         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
5358         (gst_registry_remove_features_for_plugin_unlocked),
5359         (gst_registry_add_feature), (gst_registry_remove_feature),
5360         (gst_registry_lookup_feature_locked):
5361         * gst/gstregistry.h:
5362           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
5363           Fixes #459501.
5364
5365 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5366
5367         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5368         (gst_plugin_feature_set_name):
5369           Avoid double memory usage for pluginfeature names. Fixes #459466.
5370
5371 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5372
5373         * gst/gstpad.h:
5374           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
5375           driving the pipeline may need to explicitly check for NOT_LINKED as
5376           well, since IS_FATAL doesn't cover that.
5377
5378 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         * docs/pwg/advanced-types.xml:
5381           Fix typo and duplicate entry in video formats list.
5382
5383 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
5384
5385         * libs/gst/controller/gstinterpolation.c:
5386         Also round to the nearest int when using cubic interpolation.
5387
5388 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
5389
5390         * libs/gst/controller/gstinterpolation.c:
5391         When linearly interpolating integer types, round to the nearest int
5392         by adding 0.5. Don't do it for float/double types.
5393         Fixes the failing controller test on my machine, which is somehow
5394         rounding differently than on the buildbots.
5395
5396 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5397
5398         * tools/gst-plot-timeline.py:
5399           Better log parsing (categories can have -). Adjust text vs. lines, so
5400           that they span the same y-range.        
5401
5402 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5403
5404         * docs/random/ensonic/audiobaseclasses.txt:
5405         * docs/random/ensonic/dynlink.txt:
5406         * docs/random/ensonic/profiling.txt:
5407           Save my thoughts.
5408
5409         * docs/random/moving-plugins:
5410           Add note to use g_assert type macros.
5411
5412 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5413
5414         * configure.ac:
5415         * libs/gst/check/Makefile.am:
5416           Add libm check as we use in for plugins.
5417
5418 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
5419
5420         * gst/gstbin.c: (gst_bin_continue_func):
5421         Check that the state_cookie hasn't changed since the continue_func
5422         was scheduled. Avoids problems where the state changes back to
5423         something it shouldn't be because it was changed in the meantime.
5424
5425 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
5426
5427         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
5428         (gst_registry_binary_save_string),
5429         (gst_registry_binary_save_pad_template),
5430         (gst_registry_binary_save_feature),
5431         (gst_registry_binary_save_plugin),
5432         (gst_registry_binary_load_feature),
5433         (gst_registry_binary_load_plugin),
5434         (gst_registry_binary_read_cache):
5435           Fix memory leak. Be less verbose in the log.
5436
5437 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5438
5439         * tests/check/elements/.cvsignore:
5440         Add file to cvsignore as commanded.
5441
5442 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5443
5444         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5445         (mq_dummypad_event), (run_output_order_test):
5446         Use a GStaticMutex to protect all cases where libcheck
5447         fail_if/fail_unless macros might be called from multiple threads
5448         simultaneously to avoid errors like:
5449           "check_pack.c:107: :-1081725400:Bad message type arg"
5450
5451 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5452
5453         * tests/check/pipelines/stress.c: (GST_START_TEST):
5454         Make sure we set the pipeline back to the NULL state before
5455         dropping our final reference.
5456
5457 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5458
5459         * tests/check/elements/tee.c: (GST_START_TEST):
5460         Make the tee stress-test a little less stressful so it doesn't just
5461         time out on slow-machines, and remove a small race when it's starting 
5462         up by adding a get_state() call.
5463
5464 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
5465
5466         * gst/gst.c:
5467           Avoid reading registry twice on startup. Fixes #457322.
5468
5469 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5470
5471         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5472         * pkgconfig/gstreamer-check.pc.in:
5473         Substitute the CFLAGS for libcheck into our .pc file too so that
5474         dependent modules will pick it up properly if libcheck is installed
5475         into some other prefix.
5476
5477 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5478
5479         * configure.ac:
5480         Revert the pkg-config check for libcheck, since it pulls in the
5481         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
5482         a proper solution, either from the check project, or something else.
5483
5484 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
5485
5486         * configure.ac:
5487           Use pkg-config to locate check.
5488
5489 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
5490
5491         * gst/gsttaglist.c:
5492           Fix doc syntax.
5493
5494         * gst/gstutils.c:
5495         * gst/gstutils.h:
5496           Add deprecation guards.
5497
5498         * libs/gst/base/gstcollectpads.h:
5499           Don't document object (this is implicitly private).
5500
5501 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
5502
5503         * gst/gststructure.c: (gst_structure_parse_value):
5504           When deserialising foo=bar without a type cast, check if it's a
5505           boolean before falling back to a string type, otherwise things like
5506           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
5507           because the filtercaps end up having a signed=(string)true field,
5508           which causes problems later when intersection caps.
5509
5510         * tests/check/gst/gststructure.c: (GST_START_TEST):
5511           Add a unit test for this.
5512
5513 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
5514
5515         Reviewed by: Stefan Kost <ensonic@users.sf.net>
5516
5517         * libs/gst/controller/Makefile.am:
5518         * libs/gst/controller/gstcontroller.c:
5519         (gst_controlled_property_add_interpolation_control_source),
5520         (gst_controlled_property_new), (gst_controlled_property_free),
5521         (gst_controller_find_controlled_property),
5522         (gst_controller_new_valist), (gst_controller_new_list),
5523         (gst_controller_new), (gst_controller_remove_properties_valist),
5524         (gst_controller_remove_properties_list),
5525         (gst_controller_remove_properties),
5526         (gst_controller_set_property_disabled),
5527         (gst_controller_set_disabled), (gst_controller_set_control_source),
5528         (gst_controller_get_control_source), (gst_controller_get),
5529         (gst_controller_sync_values), (gst_controller_get_value_array),
5530         (_gst_controller_dispose), (gst_controller_get_type),
5531         (gst_controlled_property_set_interpolation_mode),
5532         (gst_controller_set), (gst_controller_set_from_list),
5533         (gst_controller_unset), (gst_controller_unset_all),
5534         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
5535         * libs/gst/controller/gstcontroller.h:
5536         * libs/gst/controller/gstcontrollerprivate.h:
5537         * libs/gst/controller/gstcontrolsource.c:
5538         (gst_control_source_class_init), (gst_control_source_init),
5539         (gst_control_source_get_value),
5540         (gst_control_source_get_value_array), (gst_control_source_bind):
5541         * libs/gst/controller/gstcontrolsource.h:
5542         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
5543         (gst_object_get_control_source):
5544         * libs/gst/controller/gstinterpolation.c:
5545         (gst_interpolation_control_source_find_control_point_node),
5546         (gst_interpolation_control_source_get_first_value),
5547         (_interpolate_none_get), (interpolate_none_get),
5548         (interpolate_none_get_boolean_value_array),
5549         (interpolate_none_get_enum_value_array),
5550         (interpolate_none_get_string_value_array),
5551         (_interpolate_trigger_get), (interpolate_trigger_get),
5552         (interpolate_trigger_get_boolean_value_array),
5553         (interpolate_trigger_get_enum_value_array),
5554         (interpolate_trigger_get_string_value_array):
5555         * libs/gst/controller/gstinterpolationcontrolsource.c:
5556         (gst_control_point_free), (gst_interpolation_control_source_reset),
5557         (gst_interpolation_control_source_new),
5558         (gst_interpolation_control_source_set_interpolation_mode),
5559         (gst_interpolation_control_source_bind),
5560         (gst_control_point_compare), (gst_control_point_find),
5561         (gst_interpolation_control_source_set_internal),
5562         (gst_interpolation_control_source_set),
5563         (gst_interpolation_control_source_set_from_list),
5564         (gst_interpolation_control_source_unset),
5565         (gst_interpolation_control_source_unset_all),
5566         (gst_interpolation_control_source_get_all),
5567         (gst_interpolation_control_source_get_count),
5568         (gst_interpolation_control_source_init),
5569         (gst_interpolation_control_source_finalize),
5570         (gst_interpolation_control_source_dispose),
5571         (gst_interpolation_control_source_class_init):
5572         * libs/gst/controller/gstinterpolationcontrolsource.h:
5573         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
5574         API: Refactor GstController into the core controller which can take
5575         a GstControlSource for providing actual values for timestamps.
5576         Implement a interpolation control source and use this for backward
5577         compatibility, deprecate a bunch of functions that are now handled
5578         by GstControlSource or GstInterpolationControlSource.
5579         Make it possible to disable the controller completely or only for
5580         specific properties. Fixes #450711.
5581         * docs/libs/gstreamer-libs-docs.sgml:
5582         * docs/libs/gstreamer-libs-sections.txt:
5583         * docs/libs/gstreamer-libs.types:
5584         Add new functions and classes to the docs.
5585         * tests/check/libs/controller.c: (GST_START_TEST),
5586         (gst_controller_suite):
5587         * tests/examples/controller/audio-example.c: (main):
5588         Port unit test and example to the new API and add some new
5589         unit tests.
5590
5591 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
5592
5593         Patch by: Mark Nauwelaerts <manauw at skynet be>
5594
5595         * plugins/elements/gstmultiqueue.c:
5596         (gst_multi_queue_get_internal_links), (apply_buffer),
5597         (single_queue_overrun_cb), (gst_single_queue_new):
5598         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
5599         the pipeline layout can be tracked correctly. Fixes #453732.
5600
5601 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
5602
5603         * docs/gst/Makefile.am:
5604         * docs/libs/Makefile.am:
5605         * docs/plugins/Makefile.am:
5606           Simplify --extra-dir as gtkdoc scans recursively.
5607
5608 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5609
5610         * tools/gst-launch.c: (main):
5611         When we got an error, there is no point in waiting for preroll when
5612         shutting down.
5613
5614 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5615
5616         * plugins/elements/gsttee.c: (gst_tee_base_init),
5617         (gst_tee_request_new_pad), (gst_tee_release_pad),
5618         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
5619         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
5620         (gst_tee_chain):
5621         Be a lot smarter when deciding what srcpad to use for proxying
5622         the buffer_alloc. Also handle pad added/removed when doing so.
5623         Fixes #357959.
5624         Keep track of what pads we already pushed on in case we have pads
5625         added/removed while pushing. Fixes #374639 
5626
5627         * tests/check/Makefile.am:
5628         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
5629         (tee_suite):
5630         Added unit test for pad resync.
5631
5632 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5633
5634         * po/nl.po:
5635         * po/sv.po:
5636           Updated translations.
5637
5638 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5639
5640         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
5641
5642         * po/LINGUAS:
5643         * po/fi.po:
5644           Added new Finnish translation.
5645
5646 2007-06-28  Wim Taymans  <wim@fluendo.com>
5647
5648         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5649         (single_queue_overrun_cb):
5650         When figuring out when a queue is filled, use our internal time estimate
5651         based on segments, just like check_full does.
5652
5653 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
5654
5655         * gst/gstminiobject.c: (gst_mini_object_get_type):
5656           Remove 3 do-nothing methods.
5657
5658 2007-06-27  Wim Taymans  <wim@fluendo.com>
5659
5660         Patch by: Tim Angus <tim at ngus dot net>
5661
5662         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5663         (gst_capsfilter_set_property):
5664         Take a reference instead of a copy when setting "caps".
5665         Fix documentation to clarify this behaviour. Fixes #449414.
5666
5667 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
5668
5669         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5670         * gst/gstplugin.c: (gst_plugin_init):
5671         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
5672         * gst/gstquery.c: (gst_query_get_type):
5673         * gst/gstregistry.c: (gst_registry_init):
5674         * gst/gsturi.c: (gst_uri_handler_base_init):
5675           Remove empty instance_init() functions to save relocs and lessen the
5676           noise. Remove some of the function prototypes that are doubled by
5677           G_DEFINE_TYPE.
5678           
5679 2007-06-27  Wim Taymans  <wim@fluendo.com>
5680
5681         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
5682
5683         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
5684         Add peer and direction in the XML serialisation of ghostpads.
5685         Fixes #449226.
5686
5687 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
5688
5689         * configure.ac:
5690           Preserve useful information, thanks Tim.
5691
5692 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
5693
5694         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5695         (gst_single_queue_flush), (apply_segment), (apply_buffer),
5696         (gst_single_queue_push_one), (gst_multi_queue_loop),
5697         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5698         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
5699         (compute_high_id), (gst_single_queue_new):
5700         * plugins/elements/gstmultiqueue.h:
5701         Take the multiqueue lock when updating the fill level so we don't get
5702         confused. 
5703
5704         After applying a buffer or event on the src pad segment, make sure to
5705         call gst_data_queue_limits_changed() to get the data queue to unblock
5706         and check the filled state again.
5707         
5708         Rework the not-linked pad handling so the logic is that not-linked 
5709         pads can push as fast as they like, but only so they never get 
5710         ahead of any linked pads.
5711
5712         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
5713         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
5714         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
5715
5716         Add a test to check that not-linked pads always stay behind
5717         linked pads.
5718
5719         Fixes: #430682
5720
5721 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
5722
5723         * docs/random/release:
5724           Some updates to the release procedure.
5725
5726 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
5727
5728         * gst/gstelementfactory.c: (__gst_element_details_clear):
5729           Microoptimization that saves stunning 80 bytes.
5730
5731 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * docs/plugins/gstreamer-plugins.args:
5734         * docs/plugins/inspect/plugin-coreelements.xml:
5735         * docs/plugins/inspect/plugin-coreindexers.xml:
5736           Update docs with caps info.
5737
5738 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5739
5740         * po/it.po:
5741           Updated Italian translation.
5742
5743 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5744
5745         * ChangeLog:
5746         * po/vi.po:
5747           Update Vietnamese translations.
5748
5749 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5750
5751         * libs/gst/base/gstbasesink.c:
5752           Remove unused signal enum.
5753
5754 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
5755
5756         * docs/gst/gstreamer-sections.txt:
5757         * gst/gstelement.c:
5758         * gst/gstutils.c: (gst_type_register_static_full):
5759         Beef up and include the docs for gst_type_register_static_full and
5760         gst_element_class_set_details_simple and add the API keyword
5761         in the ChangeLog.
5762
5763 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
5764
5765         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5766         (update_time_level), (gst_single_queue_push_one),
5767         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
5768         (single_queue_overrun_cb), (single_queue_underrun_cb),
5769         (single_queue_check_full):
5770         Fix setting max-* properties after adding queues.
5771         Use IS_FILLED for checking visible items.
5772         Signal overrun if multiple queues overrun.
5773         Add extra debug output.
5774         Patch by: Wim Taymans <wim@fluendo.com>
5775
5776 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
5777
5778         * gst/gstelement.c: (gst_element_class_set_details_simple):
5779         * gst/gstelement.h:
5780         * gst/gstutils.c: (gst_type_register_static_full):
5781         * gst/gstutils.h:
5782         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
5783         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
5784         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
5785         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
5786         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
5787         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
5788         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
5789         * plugins/elements/gstidentity.c: (gst_identity_base_init):
5790         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
5791         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5792         (apply_buffer), (gst_queue_chain):
5793         * plugins/elements/gsttee.c: (gst_tee_base_init):
5794         * plugins/elements/gsttypefindelement.c:
5795         (gst_type_find_element_base_init),
5796         (gst_type_find_element_class_init):
5797           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
5798           API: add gst_type_register_static_full
5799           API: add gst_element_class_set_details_simple
5800
5801 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5802
5803         * docs/pwg/advanced-types.xml:
5804           Fix typo in iana.org URI.
5805
5806 2007-06-19  Andy Wingo  <wingo@pobox.com>
5807
5808         * tests/check/pipelines/simple-launch-lines.c
5809         (test_state_change_returns): Enable pull-mode tests now that
5810         basesink has been fixed.
5811
5812         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
5813         Changed from gst_base_sink_is_prerolled, reversing the sense of
5814         the return value. Returns FALSE also if the sink is in pull mode,
5815         in which case it needs no preroll.
5816         (gst_base_sink_query, gst_base_sink_change_state): Update for
5817         needs_preroll change.
5818         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
5819         chaining up, in which we return SUCCESS directly if we activated
5820         in pull mode instead of ASYNC. Involves countering an async_start
5821         message sent before chaining up; not sure if this is correct, in
5822         an ideal world we only send async-start when activating in push
5823         mode.
5824
5825         * tests/check/pipelines/simple-launch-lines.c
5826         (test_state_change_returns): New test, partially disabled until
5827         basesink is fixed.
5828
5829 2007-06-19  Wim Taymans  <wim@fluendo.com>
5830
5831         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5832         (gst_multi_queue_sink_event):
5833         Fix event leak.
5834
5835 2007-06-19  Wim Taymans  <wim@fluendo.com>
5836
5837         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5838         (gst_bin_change_state_func), (bin_push_state_continue),
5839         (bin_handle_async_start), (bin_handle_async_done),
5840         (gst_bin_handle_message_func):
5841         Move the common code for posting state-change messages into
5842         one function.
5843         Broadcast the state signal after we posted the messages.
5844         Mark the bin as busy when it's doing a state-change.
5845         Make sure async-start/done messages don't interfere with the bin's
5846         state when it's busy.
5847         After the state change, let the bin check which elements completed the
5848         state change while it was busy so that it can update its state.
5849
5850 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
5851
5852         * docs/random/release:
5853         Add a note about updating the doap file to the release checklist
5854
5855 2007-06-18  Wim Taymans  <wim@fluendo.com>
5856
5857         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5858         (gst_single_queue_push_one), (gst_multi_queue_chain),
5859         (gst_multi_queue_sink_event):
5860         Make sure we don't reference the buffer/event after we have given away
5861         ownership in the queue.
5862
5863 2007-06-18  Wim Taymans  <wim@fluendo.com>
5864
5865         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5866         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
5867         Update queue state _after_ adding the item in the queue because else we
5868         could end up being full without the element added yet.
5869
5870 2007-06-18  Wim Taymans  <wim@fluendo.com>
5871
5872         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5873         (gst_bin_remove_func), (gst_bin_get_state_func),
5874         (gst_bin_element_set_state), (gst_bin_continue_func),
5875         (bin_push_state_continue), (bin_handle_async_start),
5876         (bin_handle_async_done), (gst_bin_handle_message_func):
5877         * gst/gstbin.h:
5878         Immediatly commit the toplevel bin state when receiving an async-done
5879         message. This enables us to avoid spawning a thread to commit the state
5880         in some common cases and it also avoids some races.
5881         Avoid spawning a state thread when adding/removing async elements to a
5882         toplevel bin. Instead we immediatly update the bin state.
5883         Get rid of iterating all the children when getting the state in the bin
5884         because it is now always up-to-date.
5885         Fix bug where locked elements would always return _SUCCESS even it they
5886         returned NO_PREROLL before being locked.
5887         Fix the order of the state_change, async-start/done messages that was
5888         sometimes incorrect.
5889         Mark the state_dirty field as deprecated, we don't need it anymore as we
5890         are always up-to-date.
5891
5892         * gst/gstelement.c: (gst_element_get_state_func),
5893         (gst_element_continue_state):
5894         Small debug inprovements.
5895         Return the previous element state return when nothing is pending instead
5896         of blindly returning SUCCESS.
5897
5898         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
5899         (gst_sinks_suite):
5900         Add a whole bunch of new testcases.
5901
5902 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5903
5904         * po/uk.po:
5905         * po/vi.po:
5906           Update translations.
5907
5908 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
5909
5910         * gst/gstpad.c:
5911         Fix typo in the docs.
5912
5913 2007-06-15  Wim Taymans  <wim@fluendo.com>
5914
5915         * docs/libs/gstreamer-libs-sections.txt:
5916         Add docs for new methods.
5917
5918 2007-06-15  Wim Taymans  <wim@fluendo.com>
5919
5920         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
5921         (gst_multi_queue_item_new):
5922         Don't use GSlice because we don't depend on >= 2.10 yet.
5923
5924 2007-06-15  Wim Taymans  <wim@fluendo.com>
5925
5926         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5927         (update_time_level), (apply_segment), (apply_buffer),
5928         (gst_single_queue_push_one), (gst_multi_queue_item_new),
5929         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
5930         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
5931         (single_queue_underrun_cb), (single_queue_check_full):
5932         Remove debug printf.
5933
5934 2007-06-15  Wim Taymans  <wim@fluendo.com>
5935
5936         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
5937         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
5938         (gst_data_queue_set_flushing), (gst_data_queue_push),
5939         (gst_data_queue_pop), (gst_data_queue_drop_head),
5940         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
5941         * libs/gst/base/gstdataqueue.h:
5942         Various cleanups.
5943         Added methods to get the current levels and to inform the queue that the
5944         'full' limits changed.
5945
5946         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5947         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5948         (gst_single_queue_flush), (update_time_level), (apply_segment),
5949         (apply_buffer), (gst_single_queue_push_one),
5950         (gst_multi_queue_item_steal_object),
5951         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5952         (gst_multi_queue_loop), (gst_multi_queue_chain),
5953         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5954         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
5955         (gst_multi_queue_src_query), (single_queue_overrun_cb),
5956         (single_queue_underrun_cb), (single_queue_check_full),
5957         (gst_single_queue_new):
5958         Keep track of time in the queue by measuring the difference between
5959         running_time on input and output. This gives more accurate results and
5960         can compensate for segments correctly.
5961         Make a queue by default only 5 buffers deep. We will now increase the
5962         buffer size depending on the filledness of the other queues.
5963         Factor out commong flush code.
5964         Make sure we don't add additional refcounts to buffers when we can avoid
5965         it.
5966         Propagate GstFlowReturn differently.
5967         Use GSlice for intermediate GstMultiQueueItems.
5968         Keep track of EOS.
5969         Resize queues on over and underruns based on filled level of other
5970         queues.
5971         When checking if the queue is filled, prefer to measure in time if we
5972         can and fall back to bytes when no time is known.
5973
5974         * plugins/elements/gstqueue.c:
5975         Fix return value.
5976
5977 2007-06-15  Wim Taymans  <wim@fluendo.com>
5978
5979         * libs/gst/base/gstbasetransform.c:
5980         (gst_base_transform_sink_event):
5981         Work around the brokenness of the event vmethod in basetransform. Prefer
5982         to return TRUE when the subclass returned FALSE (meaning don't forward
5983         the event). 
5984
5985         * libs/gst/base/gstbasetransform.h:
5986         Clarify the docs.
5987
5988 2007-06-15  Wim Taymans  <wim@fluendo.com>
5989
5990         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
5991         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5992         (gst_base_src_default_query), (gst_base_src_get_range),
5993         (gst_base_src_start):
5994         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
5995         Improve debugging.
5996
5997 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
5998
5999         * docs/pwg/advanced-types.xml:
6000           Added more formats to caps table.
6001
6002 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6003
6004         * tools/gst-launch.c: (main):
6005           Remove crufy code. GOption does not need this workaround.
6006
6007 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6008
6009         * libs/gst/controller/gstcontroller.c:
6010         (gst_controlled_property_set_interpolation_mode):
6011           Fix wrong getter for enums in controller.
6012
6013 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6014
6015         * libs/gst/check/gstcheck.c: (gst_check_init):
6016           Intercept criticals and warnings in the Gst-Phonon log domain, so
6017           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
6018           well.
6019         
6020 2007-06-14  Edward Hervey  <edward@fluendo.com>
6021
6022         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
6023         Since this file doesn't include "gst.h" it will not go through the
6024         macros that disable GST_LOG if debugging was disabled.
6025
6026 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6027
6028         * libs/gst/check/Makefile.am:
6029         * libs/gst/check/gstcheck.h:
6030         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6031         * pkgconfig/gstreamer-check.pc.in:
6032           Ugly 'fix' for the controller unit test on the p5 bot: in
6033           fail_unless_equals_float() check whether the values are 'almost
6034           equal' by allowing a small absolute error, which should be good
6035           enough for our use cases (normal numbers and values close to 0).
6036           Proper fixage left to floating point arithmetic aficionados.
6037
6038 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6039
6040         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
6041         (gst_base_sink_render_object), (gst_base_sink_get_position):
6042           Add two breaks thats where missing.
6043
6044 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6045
6046         * docs/libs/gstreamer-libs-sections.txt:
6047         * libs/gst/check/gstcheck.h:
6048           API: add fail_unless_equals_float() and assert_equals_float().
6049           Add documentation for some of the macros.
6050
6051         * tests/check/libs/controller.c: (GST_START_TEST):
6052           Use newly-added asserts.
6053
6054 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6055
6056         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
6057           Show the caps change in the log to help spotting the case of not
6058           exactly matching caps.
6059
6060 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6061
6062         * docs/pwg/building-boiler.xml:
6063           Fix typos, spotted by Thijs Vermeir (#447190).
6064
6065 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6066
6067         * docs/plugins/tmpl/.cvsignore:
6068         Ignore file to keep the buildbots happy
6069
6070 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6071
6072         * docs/plugins/Makefile.am:
6073         * docs/plugins/gstreamer-plugins-docs.sgml:
6074         * docs/plugins/gstreamer-plugins-sections.txt:
6075         Pull fdsink into the docs too.
6076
6077 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
6078
6079         * libs/gst/controller/gstinterpolation.c:
6080         Actually use the new functions with min/max checks for the trigger and
6081         none interpolation modes for get() and get_value_array() instead of
6082         just the latter.
6083
6084 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
6085
6086         * libs/gst/controller/gstcontroller.c:
6087         (gst_controlled_property_free):
6088         Unset the minimum and maximum GValues when freeing the corresponding
6089         GstControllerProperty struct.
6090
6091 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
6092
6093         * libs/gst/controller/gstcontroller.c:
6094         (gst_controlled_property_new):
6095         * libs/gst/controller/gstcontrollerprivate.h:
6096         * libs/gst/controller/gstinterpolation.c:
6097         (gst_controlled_property_find_control_point_node),
6098         (interpolate_none_get), (interpolate_none_get_enum_value_array),
6099         (interpolate_none_get_string_value_array),
6100         (interpolate_trigger_get),
6101         (interpolate_trigger_get_enum_value_array),
6102         (interpolate_trigger_get_string_value_array):
6103         Protect against values larger or smaller than the minimum or maximum
6104         allowed value for the property when using values that can be compared.
6105
6106         Optimize trigger interpolator a bit by taking the last requested value
6107         into account instead of always looping through the complete list.
6108
6109         Fix coding style a bit, everywhere else we use "return foo" instead
6110         of "return (foo)".
6111         
6112         * tests/check/libs/controller.c: (GST_START_TEST),
6113         (gst_controller_suite):
6114         Add unit test for the protection against too large or too small
6115         values.
6116
6117 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
6118
6119         * docs/random/slomo/controller.txt:
6120         Add some thoughts about the future of the controller.
6121
6122 2007-06-08  Wim Taymans  <wim@fluendo.com>
6123
6124         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6125         Don't overflow in retimestamping code.
6126
6127 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
6128
6129         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
6130         Use gst_util_guint64_to_gdouble for conversions.
6131         * win32/common/libgstreamer.def:
6132         Add new exported functions.
6133
6134 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
6135
6136         * gst/gstutils.c:
6137           Small docs addition.
6138
6139 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6140
6141         * README:
6142           Remove that test line again.
6143
6144 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6145
6146         * README:
6147           Test commit mail sending.
6148
6149 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6150
6151         * configure.ac:
6152           Fix typo and test commit mail sending.
6153
6154 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6155
6156         * tests/examples/controller/audio-example.c:
6157           Improve comment and test commit mail sending.
6158
6159 2007-06-07  Wim Taymans  <wim@fluendo.com>
6160
6161         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
6162         (gst_bin_remove_func), (gst_bin_element_set_state),
6163         (bin_handle_async_start), (bin_handle_async_done),
6164         (gst_bin_handle_message_func):
6165         Add helper function to find messages.
6166         Generate the async-done messages together with the state change
6167         messages.
6168         Small cleanups in handling toplevel bins.
6169
6170 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6171
6172         * libs/gst/base/gstdataqueue.c:
6173         * libs/gst/base/gstdataqueue.h:
6174         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6175         (gst_multi_queue_item_new), (gst_multi_queue_chain),
6176         (gst_multi_queue_sink_event):
6177         * tests/check/elements/multiqueue.c: (multiqueue_suite):
6178           Fix multiqueue leaking buffers and events when downstream or the
6179           queue are flushing. Make refcounting assumptions explicit and
6180           document them (shouldn't break existing code that uses it other than
6181           maybe leak miniobjects, but that already happens anyway). Add unit
6182           test for the most common flushing case. Fixes #423700.
6183           
6184 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6185
6186         * libs/gst/controller/gstcontroller.c:
6187         Clarify docs: The get_all, get_value_array(s) functions
6188         don't modify the GObject properties.
6189
6190 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6191
6192         * libs/gst/controller/gstcontroller.c:
6193         (gst_controlled_property_set_interpolation_mode),
6194         (gst_controlled_property_prepend_default),
6195         (gst_controlled_property_new), (gst_controller_set_unlocked),
6196         (gst_controller_set), (gst_controller_set_from_list),
6197         (gst_controller_unset), (gst_controller_unset_all):
6198         * libs/gst/controller/gstcontrollerprivate.h:
6199         * libs/gst/controller/gstinterpolation.c:
6200         Factor out the 'set' logic into gst_controller_set_unlocked for the
6201         gst_controller_set and gst_controller_set_from_list functions.
6202
6203         To make life of the interpolators easier always add a control point
6204         at timestamp zero with the default value.
6205
6206         In the linear interpolator make things more obvious by better variable
6207         naming (slope).
6208
6209         Implement cubic interpolation mode (by using a natural cubic spline)
6210         and map the quadratic interpolation mode to this too (as quadratic
6211         doesn't make much sense, see discussion on the list).
6212
6213         * tests/check/libs/controller.c: (GST_START_TEST),
6214         (gst_controller_suite):
6215         Add unit test for the cubic interpolation mode and check everywhere
6216         if the interpolation mode could be set as expected.
6217
6218 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6219
6220         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
6221           Don't use GLib-2.10 functions, we still depend on
6222           GLib-how-old-is-it-again-2.8.
6223
6224 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6225
6226         * docs/gst/gstreamer-sections.txt:
6227         * gst/Makefile.am:
6228         * gst/gst.c:
6229         * gst/gst.h:
6230         * gst/gstparamspecs.c: (_gst_param_fraction_init),
6231         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
6232         (_gst_param_fraction_values_cmp),
6233         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
6234         * gst/gstparamspecs.h:
6235         * gst/gstvalue.c:
6236         * tests/check/Makefile.am:
6237         * tests/check/gst/.cvsignore:
6238         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
6239         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
6240         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
6241         (GST_START_TEST), (gst_param_spec_suite):
6242           API: add GstParamSpecFraction, so elements can have fraction
6243           properties without lots of painful string parsing (#444648).
6244
6245 2007-06-05  Wim Taymans  <wim@fluendo.com>
6246
6247         * gst/gstobject.c: (gst_object_class_init):
6248         Fix signal signature.
6249
6250         * gst/gstsegment.c:
6251         Add small clarification in the api docs.
6252
6253         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
6254         States are protected with object lock.
6255
6256 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6257
6258         * AUTHORS:
6259         I should probably be listed as an author by now.
6260
6261         * docs/random/release:
6262         Update the release doc
6263
6264 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
6265
6266         * gst/gstvalue.c:
6267           Make docs for gst_value_compare() mention return enums that
6268           actually exist.
6269
6270 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6271
6272         * configure.ac:
6273           Back to CVS
6274
6275 === release 0.10.13 ===
6276
6277 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
6278
6279         * configure.ac:
6280           releasing 0.10.13, "With or without you"
6281
6282 2007-05-25  Wim Taymans  <wim@fluendo.com>
6283
6284         * gst/gstbin.c: (bin_handle_async_done):
6285         Make sure that the child bin stops after completing the async state
6286         change so that the parent can continue the state change to PLAYING.
6287         Fixes #441159.
6288
6289 2007-05-25  Wim Taymans  <wim@fluendo.com>
6290
6291         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6292         (unref_data), (gst_collect_pads_remove_pad),
6293         (gst_collect_pads_check_pads):
6294         Use additional refcounting to avoid crashes when dynamically adding and
6295         removing pads. Fixes #420206.
6296
6297 2007-05-24  Wim Taymans  <wim@fluendo.com>
6298
6299         * tools/gst-launch.c: (event_loop):
6300         When buffering goes from a two digit to a single digit number, make sure
6301         to remove the old second digit by writing a blank over it.
6302
6303 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6304
6305         * libs/gst/base/gstdataqueue.c:
6306           Eliminate tabs and trailing comma in enum list; fix some typos.
6307
6308 2007-05-24  Wim Taymans  <wim@fluendo.com>
6309
6310         * tests/check/gst/gstbin.c: (GST_START_TEST):
6311         Allow refcount of 3 and 4 because some state thread might still be busy
6312         with it.
6313
6314 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6315
6316         * plugins/elements/Makefile.am:
6317         * plugins/elements/gstmultiqueue.h:
6318         * plugins/elements/gstqueue.h:
6319           These are not installed headers, no need for padding.
6320
6321 2007-05-24  Wim Taymans  <wim@fluendo.com>
6322
6323         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6324         (gst_bin_continue_func):
6325         Enable latency for next release.
6326         Restore STATE_LOCK around recalc_state that was left out during the
6327         rewrite and could result in racy behaviour when _get_state and
6328         recalc_state are run concurrently. See #440463.
6329
6330 2007-05-23  Wim Taymans  <wim@fluendo.com>
6331
6332         * tests/check/gst/gstsystemclock.c: (store_callback),
6333         (GST_START_TEST):
6334         Improve test_async_order to also work when both timers are already
6335         expired when we get scheduled to check it.
6336
6337 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6338
6339         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
6340         (gst_bin_set_property), (gst_bin_get_property),
6341         (gst_bin_remove_func), (gst_bin_handle_message_func):
6342         * gst/gstbin.h:
6343           'private' is a c++ keyword, let's not use that in header files,
6344           otherwise c++ compilers will throw a tantrum.
6345
6346 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6347
6348         * plugins/elements/gstelements.c:
6349         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
6350         (gst_file_sink_get_current_offset):
6351         * plugins/indexers/gstindexers.c: (plugin_init):
6352           Use #ifdef for HAVE_XYZ for consistency.
6353
6354         * tests/check/Makefile.am:
6355         * tests/check/elements/.cvsignore:
6356         * tests/check/elements/filesink.c: (setup_filesink),
6357         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
6358           Add some unit tests for filesink.
6359
6360 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6361
6362         Patch by: Mark Nauwelaerts <manauw at skynet be>
6363
6364         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6365         (gst_file_sink_query), (gst_file_sink_do_seek),
6366         (gst_file_sink_get_current_offset), (gst_file_sink_render):
6367         * plugins/elements/gstfilesink.h:
6368           Fix position reporting; rename data_written member to current_pos to
6369           reflect its real meaning (fixes #412648).
6370
6371 2007-05-22  Edward Hervey  <edward@fluendo.com>
6372
6373         * docs/gst/gstreamer-sections.txt:
6374         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6375         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
6376         (gst_bin_remove_func), (gst_bin_handle_message_func):
6377         * gst/gstbin.h:
6378         Add a property for bins that handle the state change of their childs.
6379         Fixes #435880
6380
6381 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
6382
6383         * libs/gst/controller/gstinterpolation.c:
6384         Use an array of the correct type when using _get_value_array with
6385         linear interpolation.
6386
6387 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
6388
6389         * gst/gstelement.c (gst_element_requires_clock,
6390           gst_element_provides_clock, gst_element_request_pad,
6391           gst_element_class_set_details, gst_element_class_set_details_simple,
6392           gst_element_default_send_event, gst_element_abort_state,
6393           gst_element_continue_state, gst_element_set_state,
6394           gst_element_set_state_func, iterator_activate_fold_with_resync):
6395         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
6396           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
6397           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
6398           gst_pad_get_range, gst_pad_pull_range):
6399         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
6400           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
6401           GstPadActivateModeFunction, GstPadChainFunction,
6402           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
6403           GstPadFixateCapsFunction, GstPadTemplate):
6404         * gst/gstpipeline.c (gst_pipeline_change_state,
6405           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
6406           gst_pipeline_set_clock, gst_pipeline_auto_clock,
6407           gst_pipeline_get_delay):
6408           Whitespace and docs fixes.
6409
6410 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6411
6412         * libs/gst/controller/gstinterpolation.c:
6413         (interpolate_trigger_get_enum_value_array),
6414         (interpolate_trigger_get_string_value_array):
6415         Add support for retrieving value arrays when using the trigger
6416         interpolation mode. 
6417
6418 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6419
6420         * libs/gst/controller/gstcontroller.c:
6421         (gst_controller_get_value_array):
6422         * libs/gst/controller/gstcontroller.h:
6423         Clarify the docs of gst_controller_get_value_array(): The array where
6424         the values should be written to must be allocated as there seems to be
6425         no way to get the size of a random GType. This doesn't change any
6426         behaviour. Also fix some typos all over the place and remove an unused,
6427         commented function that is not necessary as g_object_set() could be
6428         used instead.
6429         * tests/check/libs/controller.c: (GST_START_TEST),
6430         (gst_controller_suite):
6431         Add unit test for gst_controller_get_value_array().
6432
6433 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
6434
6435         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6436
6437         Disable part of the gst_buffer_try_new_and_alloc test, because
6438         it can happily succeed on 64-bit systems where there's more address
6439         space available.
6440
6441 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6442
6443         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6444         Add unit test for the improved caps checking from bug #421543.
6445
6446 2007-05-21  Wim Taymans  <wim@fluendo.com>
6447
6448         * docs/design/part-synchronisation.txt:
6449         Small addition.
6450
6451         * gst/gstbin.c: (gst_bin_query):
6452         * plugins/elements/gstqueue.c: (apply_segment):
6453         Improve debugging.
6454
6455         * gst/gstmessage.h:
6456         Improve docs.
6457
6458 2007-05-21  Wim Taymans  <wim@fluendo.com>
6459
6460         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6461         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
6462         (gst_pad_configure_src):
6463         Added simple version of improved caps checking. It was previously
6464         assumed that a setcaps function would check the validity of the caps but
6465         people prefer us to check caps against the template automatically. 
6466         Fixes #421543.
6467
6468 2007-05-21  Wim Taymans  <wim@fluendo.com>
6469
6470         * libs/gst/base/gstbasetransform.h:
6471         Fix macro for locking/unlocking the transform lock.
6472
6473 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6474
6475         * docs/plugins/tmpl/.cvsignore:
6476           Ignore more.
6477
6478 2007-05-18  Edward Hervey  <edward@fluendo.com>
6479
6480         * plugins/elements/gstqueue.c: (gst_queue_loop):
6481         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
6482         for the subtle art of warning a potentially blocking thread that it
6483         should check the source pad return value, and relay the information
6484         upstream.
6485
6486 2007-05-18  Edward Hervey  <edward@fluendo.com>
6487
6488         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6489         Release the queue lock !
6490
6491 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6492
6493         * docs/libs/gstreamer-libs-sections.txt:
6494         Add the two new controller functions to the appropiate places.
6495
6496 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6497
6498         reviewed by: Stefan Kost <ensonic@users.sf.net>
6499
6500         * libs/gst/controller/gstcontroller.c:
6501         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
6502         (_gst_controller_get_property), (_gst_controller_set_property),
6503         (_gst_controller_init), (_gst_controller_class_init):
6504         * libs/gst/controller/gstcontroller.h:
6505         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
6506         (gst_object_get_control_rate), (gst_object_set_control_rate):
6507         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
6508         Add API that provides sync suggestion timestamps for elements that
6509         call gst_object_sync_values() from which those elements can subdivide
6510         their processing loop to get the best results for the controlled
6511         properties. For now it just suggests last_sync + control_rate as
6512         new timestamp but this will be improved in the future.
6513
6514         While doing that change the control-rate property to a GstClockTime
6515         from guint and change it's meaning from samples to nanoseconds as
6516         the GstController doesn't know anything about sampling rate. Strictly
6517         speaking this breaks ABI but as the control-rate property didn't do
6518         anything in the past and as such couldn't be used this should be no
6519         problem.        
6520
6521 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6522
6523         reviewed by: Stefan Kost <ensonic@users.sf.net>
6524
6525         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6526         (gst_controller_unset_all):
6527         * libs/gst/controller/gstcontrollerprivate.h:
6528         * libs/gst/controller/gstinterpolation.c:
6529         (gst_controlled_property_find_control_point_node):
6530         Save last synced value from the list to continue searching from there
6531         in future syncs. This speeds everything up a bit.
6532         
6533 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6534
6535         reviewed by: Stefan Kost <ensonic@users.sf.net>
6536
6537         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
6538         (gst_control_point_find), (gst_controlled_property_new),
6539         (gst_control_point_free), (gst_controlled_property_free),
6540         (gst_controller_set), (gst_controller_set_from_list),
6541         (gst_controller_unset), (gst_controller_unset_all),
6542         (gst_controller_sync_values):
6543         * libs/gst/controller/gstcontroller.h:
6544         * libs/gst/controller/gstcontrollerprivate.h:
6545         * libs/gst/controller/gstinterpolation.c:
6546         (gst_controlled_property_find_control_point_node),
6547         (interpolate_none_get), (interpolate_trigger_get):
6548         Add a new private GstControlPoint struct which "inherits" from
6549         GstTimedValue to allow different interpolators to store internal
6550         values next to each control point. From the outside everything is
6551         still a GstControlPoint so we don't loose binary compatibility.
6552         Also fixup all the GValue handling to not leak GValues or list nodes.
6553         * tests/check/libs/controller.c: (GST_START_TEST):
6554         Free the list nodes and GValues in the controller_misc test.
6555
6556 2007-05-17  Edward Hervey  <edward@fluendo.com>
6557
6558         * gst/gstsegment.c:
6559         Small doc fix.
6560
6561 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6562
6563         * gst/gstplugin.c: (gst_plugin_load_file):
6564           If we fail to load a plugin because of unresolved symbols or missing
6565           libraries and spew a warning to stderr, we may just as well mention
6566           which plugin it was that failed to load.
6567
6568 2007-05-13  David Schleef  <ds@schleef.org>
6569
6570         * docs/Makefile.am: the gtk-doc makefile snippet correctly
6571           handles the case when ENABLE_GTK_DOC is false, and installs
6572           the prebuilt documentation.  So gtk-doc subdirs are 
6573           unconditionally enabled.  Fixes: #349099.
6574
6575 2007-05-13  David Schleef  <ds@schleef.org>
6576
6577         * gst/gstutils.h: Reword some documentation.
6578
6579 2007-05-12  David Schleef  <ds@schleef.org>
6580
6581         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
6582           do anything with the passed "module" parameter, so remove it.
6583           Allows removal of additional vestigal code.
6584
6585 2007-05-12  David Schleef  <ds@schleef.org>
6586
6587         * gst/gstplugin.c:
6588           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
6589           Switch to using g_stat() because it's more portable.
6590
6591 2007-05-12  David Schleef  <ds@schleef.org>
6592
6593         * gst/gst.c:
6594           Add GST_DISABLE_OPTION_PARSING, in order to disable option
6595           parsing for embedded systems.
6596         * gst/gstelementfactory.c:
6597           Allow gst_element_register() to be called with plugin==NULL.
6598           Did nobody notice that static elements were broken?
6599
6600 2007-05-12  Wim Taymans  <wim@fluendo.com>
6601
6602         * tools/gst-launch.c: (event_loop):
6603         Give more interesting info when buffering starts and stops.
6604         Fix case where buffering starts but we fail to update the buffering flag
6605         because the target state is not PLAYING.
6606
6607 2007-05-12  Wim Taymans  <wim@fluendo.com>
6608
6609         * plugins/elements/gstqueue.c: (gst_queue_init),
6610         (gst_queue_finalize), (update_time_level), (apply_segment),
6611         (apply_buffer), (gst_queue_locked_flush),
6612         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
6613         (gst_queue_handle_sink_event), (gst_queue_chain),
6614         (gst_queue_push_one), (gst_queue_loop):
6615         * plugins/elements/gstqueue.h:
6616         Refactor an cleanup queue a bit.
6617         Do better time level calculations that also work when the srcpad is not
6618         yet running.
6619         Remove some unneeded debug lines.
6620
6621         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
6622         Added testcase for time level measurement.
6623         Try to make some stuff more racefree.
6624
6625 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6626
6627         * gst/gsturi.c: (gst_element_make_from_uri):
6628           Don't leak plugin feature.
6629
6630         * tests/check/Makefile.am:
6631         * tests/check/gst/.cvsignore:
6632         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
6633           Add brain-dead unit test.
6634
6635 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6636
6637         Patch by: Jeroen Wouters <woutersj at gmail com>
6638
6639         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
6640           Treat protocol strings in a case-insensitive way (#437563).
6641
6642 2007-05-11  Michael Smith <msmith@fluendo.com>
6643
6644         * gst/gstplugin.c: (gst_plugin_load_file):
6645         * gst/gstregistry.c: (gst_registry_scan_path_level):
6646           Don't print a g_warning for any failure to load a shared object.
6647           Instead, push this down into gstplugin.c, and warn _only_ if we
6648           failed to open the module (i.e. failure to link).
6649           Avoids warnings on normal, working, non-plugin .so files.
6650
6651 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
6652
6653         * gst/gstplugin.c (gst_plugin_load_file):
6654         * gst/gstregistry.c (GST_CAT_DEFAULT,
6655           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
6656           Print a g_warning if there was an error when loading a plugins during
6657           registry scan. The shuld help beginners starting with gst-plugin
6658           template.
6659
6660 2007-05-10  Wim Taymans  <wim@fluendo.com>
6661
6662         * plugins/elements/gstqueue.c: (gst_queue_class_init),
6663         (update_time_level), (gst_queue_locked_flush),
6664         (gst_queue_handle_sink_event), (gst_queue_chain),
6665         (gst_queue_push_one), (gst_queue_loop):
6666         * plugins/elements/gstqueue.h:
6667         Be smarter when calculating the current amount of data in the queue by
6668         measuring the difference between start and end timestamps (in running
6669         time) inside the queue. Fixes #432876.
6670         API: GstQueue::pushing to notify elements that we are pushing data again
6671         since the running signal is rather broken for this purpose.
6672
6673 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
6674
6675         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
6676           gst_queue_base_init, gst_queue_init):
6677           use GST_BOILERPLATE
6678
6679 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
6680
6681         * win32/common/libgstreamer.def:
6682         Add new exported functions.
6683         * win32/vs6/grammar.dsp:
6684         Use grammar pre-generated files.
6685
6686 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6687
6688         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
6689
6690         * gst/Makefile.am:
6691         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
6692         * gst/gstparse.h:
6693         * gst/gstutils.c: (gst_parse_bin_from_description):
6694         * gst/gstutils.h:
6695           Maintain API and ABI when --disable-parse is used. Now that
6696           we have an appropriate error code, we can just return NULL and the
6697           appropriate error when gst_parse_launch() is used despite it having
6698           been disabled (#342564).
6699
6700         * tests/check/Makefile.am:
6701         * tests/check/pipelines/.cvsignore:
6702         * tests/check/pipelines/parse-disabled.c:
6703           Make sure these functions exist and return NULL plus a GError when
6704           --disable-parse is used.
6705
6706 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6707
6708         * tests/benchmarks/complexity.c: (main):
6709         * tests/benchmarks/mass-elements.c: (main):
6710           Set a good example and don't leak messages.
6711
6712 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
6713
6714         * docs/gst/Makefile.am:
6715         * docs/libs/Makefile.am:
6716           Correct fixxrefs options.
6717
6718         * docs/plugins/Makefile.am:
6719         * docs/plugins/gstreamer-plugins-docs.sgml:
6720         * docs/plugins/gstreamer-plugins-sections.txt:
6721         * plugins/elements/Makefile.am:
6722         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
6723         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
6724           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
6725           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
6726           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
6727           _GstCapsFilterClass, trans_class):
6728         * plugins/elements/gstelements.c (name, rank, type, _elements):
6729         * plugins/elements/gstidentity.c
6730           (gst_identity_check_imperfect_timestamp,
6731           gst_identity_check_imperfect_offset):
6732           Document capsfilter and add doc-blurb to identity.
6733
6734 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6735
6736         * libs/gst/controller/gstcontroller.c:
6737         (gst_controlled_property_set_interpolation_mode):
6738         * libs/gst/controller/gstinterpolation.c:
6739           Don't crash if someone tries to set an interpolation mode that
6740           is invalid or that isn't supported yet. Fixes #422295.
6741
6742         * tests/check/libs/controller.c: (GST_START_TEST),
6743         (gst_controller_suite):
6744           Add a test case for the above.
6745
6746 2007-05-03  Edward Hervey  <edward@fluendo.com>
6747
6748         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6749         Properly set the last_stop position on GstSegment. This will only happen
6750         if there is a buffer to push out.
6751
6752 2007-05-03  Wim Taymans  <wim@fluendo.com>
6753
6754         * libs/gst/base/gstbasetransform.c:
6755         (gst_base_transform_buffer_alloc):
6756         always_in_place does not mean that the sink and source caps are the
6757         same! Make sure we don't blindly proxy the buffer_alloc in this case.
6758
6759 2007-05-03  Wim Taymans  <wim@fluendo.com>
6760
6761         * docs/libs/gstreamer-libs-sections.txt:
6762         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6763         (gst_base_src_default_query), (gst_base_src_get_range):
6764         * libs/gst/base/gstbasesrc.h:
6765         API: gst_base_src_query_latency(). Added method so that subclasses can
6766         easily get the latency values of the base source class.
6767
6768 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
6769
6770         * tools/gst-inspect.c (print_implementation_info):
6771         Remove 0.8 cruft.
6772
6773 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
6774
6775         * tools/Makefile.am:
6776         * tools/gst-launch.1.in:
6777           Don't create a customised man page based on the host architecture,
6778           describe the default registry path generically. That way the man
6779           page is the same for all architectures and packagers have one
6780           multilib issue less to deal with. Fixes #434926.
6781
6782 2007-05-02  Wim Taymans  <wim@fluendo.com>
6783
6784         * gst/gstpad.c:
6785         Fix documentation as spotted by rg on IRC. 
6786
6787 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
6788
6789         * gst/gstutils.c:
6790           Improve docs for gst_element_{link,unlink}.
6791
6792 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
6793
6794         * docs/design/part-events.txt:
6795         * docs/design/part-overview.txt:
6796         * gst/gstevent.c:
6797         * gst/gsturi.c:
6798         * gst/gsturi.h:
6799         * libs/gst/base/gstbasesink.c:
6800           Typo fixes; minor docs addition.
6801
6802 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6803
6804         * docs/gst/gstreamer-sections.txt:
6805         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
6806         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
6807         * gst/gsturi.h:
6808         API: Add gst_uri_protocol_is_supported(), which checks if a sink
6809         or src that supports a given URI protocol exists.
6810
6811 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6812
6813         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6814         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6815         Set the location to NULL if "file://" is set as URI. Otherwise
6816         some random previous URI would still be set if "file://" is
6817         set on an already used filesink/filesrc.
6818
6819 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6820
6821         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6822         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6823         Special case the "file://" URI as as this is used by some
6824         applications to test with gst_element_make_from_uri if there's
6825         an element that supports the URI protocol.
6826         Also move the g_path_is_absolute() check for the location part
6827         of the URI to also check this for "file://localhost/bla" URIs.
6828
6829 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
6830
6831         * docs/gst/gstreamer-sections.txt:
6832         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
6833         * gst/gstbuffer.h:
6834         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6835         (gst_buffer_suite):
6836           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
6837
6838 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
6839
6840         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6841         (gst_registry_binary_load_pad_template),
6842         (gst_registry_binary_load_plugin),
6843         (gst_registry_binary_read_cache):
6844         * gst/gstregistrybinary.h:
6845           Implement no-mmap alternative for registry reading. Do code cleanups.
6846           Add more comments about avoiding strdups for all text data. Comments
6847           welcome.
6848
6849 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * gst/gstregistrybinary.h (GstBinaryPluginElement,
6852           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
6853           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
6854           Comment structs and reformat to fix the build (that stuff should go
6855           into a priv. header).
6856
6857 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
6858
6859         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
6860         (gst_registry_binary_load_feature):
6861         * gst/gstregistrybinary.h:
6862           Refactor so that we can implement multiple features. Add support for
6863           TypeFindFactory features.
6864
6865 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
6866
6867         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
6868
6869         * configure.ac:
6870           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
6871
6872 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
6873
6874         * gst/gstbin.c: (gst_bin_element_set_state),
6875         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
6876         (bin_handle_async_done), (gst_bin_handle_message_func):
6877           Fix build with --gst-disable-gst-debug
6878
6879 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
6880
6881         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
6882           Make sure streaming has finished before calling the ::stop() vfunc,
6883           since that vfunc might clear state which is being used in the
6884           streaming thread. This fixes a race that caused crashes in
6885           audioresample when shutting down a pipeline (#420106).
6886
6887 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6888
6889         * docs/gst/gstreamer-sections.txt:
6890           That was one byte missing.
6891
6892 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6893
6894         * configure.ac:
6895         * docs/gst/gstreamer-sections.txt:
6896         * gst/Makefile.am:
6897         * gst/gstconfig.h.in:
6898         * gst/gstobject.c: (gst_object_class_init),
6899         (gst_signal_object_class_init):
6900         * gst/gstobject.h:
6901           2nd attempt to have a xml-less build as a joined effort of #413123
6902           and #421480.
6903
6904 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6905
6906         * docs/design/draft-tagreading.txt:
6907           Added open issues/thoughts to draft.
6908
6909 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6910
6911         * gst/parse/grammar.tab.pre.c:
6912         * gst/parse/grammar.tab.pre.h:
6913         * gst/parse/lex._gst_parse_yy.pre.c:
6914         Update the prebuild parser sources.
6915
6916 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6917
6918         * gst/parse/Makefile.am:
6919         And now fix the building of the flex sources. Now everything should
6920         work as expected.
6921
6922 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6923
6924         * gst/parse/Makefile.am:
6925         Now hopefully fix the build failures by setting proper rule
6926         dependencies and moving instead of copying.
6927
6928 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6929
6930         * tests/benchmarks/complexity.gnuplot:
6931         * tests/benchmarks/complexity.scm:
6932         * tests/benchmarks/mass-elements.gnuplot:
6933         * tests/benchmarks/mass-elements.scm:
6934           Total licensification.
6935
6936 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6937
6938         * gst/parse/Makefile.am:
6939           Fix the build by correcting the rule that gave wrong files to flex.
6940
6941 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6942
6943         * tests/benchmarks/complexity.c:
6944         * tests/benchmarks/mass-elements.c:
6945           Change licence to LGPL as granted by Benjamin and Andy.
6946
6947 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6948
6949         * gst/parse/Makefile.am:
6950         Add correct grammar.tab.h dependency if compiling without new enough
6951         flex. Fixes #431150.
6952
6953 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
6954
6955         * gst/parse/Makefile.am:
6956         Fix typo and use outdated sources if the flex/bison sources are newer
6957         than the pregenerated ones but flex is too old. Print a warning in
6958         that case. This should fix the build on the build bot.
6959
6960 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
6961
6962         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
6963         * gst/parse/Makefile.am:
6964         * gst/parse/grammar.y:
6965         * gst/parse/parse.l:
6966         Make the parser reentrant and recursively callable. This requires flex
6967         >= 2.5.31, for older versions pregenerated sources are used as we
6968         can't bump the build dependency. Finally fixes #349180.
6969
6970         * gst/gstparse.c: (gst_parse_launch):
6971         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
6972         now anyway.
6973
6974         * docs/gst/Makefile.am:
6975         * docs/gst/Makefile.am:
6976         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
6977         (__gst_parse_strfree), (__gst_parse_link_new),
6978         (__gst_parse_link_free), (__gst_parse_chain_new),
6979         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
6980         (gst_parse_element_set), (gst_parse_free_link),
6981         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
6982         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
6983         (_gst_parse_launch):
6984         * gst/parse/grammar.tab.pre.h:
6985         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
6986         (yy_get_previous_state), (yy_try_NUL_trans), (input),
6987         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
6988         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
6989         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
6990         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
6991         (_gst_parse_yypop_buffer_state),
6992         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
6993         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
6994         (yy_fatal_error), (_gst_parse_yyget_extra),
6995         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
6996         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
6997         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
6998         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
6999         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
7000         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
7001         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
7002         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
7003         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
7004         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
7005         (_gst_parse_yyfree):
7006         If the installed flex version is too old use pre-generated parser
7007         sources. These pre-generated parser sources are always updated when
7008         the actual flex/bison sources change but require everybody who wants
7009         to change something in the parser to have flex >= 2.5.31 installed.
7010
7011 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
7012
7013         * common/m4/gst-gettext.m4:
7014         * gst/gst-i18n-lib.h:
7015           Make --disable-nls to work
7016
7017 2007-04-17  Wim Taymans  <wim@fluendo.com>
7018
7019         * gst/gstconfig.h.in:
7020         Revert previous change that broke the build.
7021
7022 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
7023
7024         * configure.ac:
7025         * gst/Makefile.am:
7026         * gst/gstconfig.h.in:
7027           Drop libxml2 dependency when building with 
7028           --enable-binary-registry --disable-loadsave
7029
7030 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
7031
7032         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7033         (gst_registry_binary_read_cache):
7034         * gst/gstregistrybinary.h:
7035           Remove unnecessary <sys/mman.h> include which broke the win32 build
7036           with MingW; move includes from header file to .c file, even if the
7037           header file isn't installed; use g_strerror() where UTF-8 strings
7038           are expected, such as in GST_DEBUG messages.
7039
7040 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7041
7042         * docs/libs/gstreamer-libs-sections.txt:
7043         Remove bogus addition for API I didn't end up keeping.
7044
7045         * libs/gst/base/gstbasesrc.h:
7046         Mention Since: 0.10.13 in the documentation.
7047
7048         Add the API keyword to the previous ChangeLog entry.
7049
7050 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7051
7052         * docs/libs/gstreamer-libs-sections.txt:
7053         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7054         (gst_base_src_default_prepare_seek_segment),
7055         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
7056         * libs/gst/base/gstbasesrc.h:
7057         Allow basesrc derived classes to execute seeks in other formats
7058         by providing a prepare_seek_segment vmethod. Sub-classes can choose
7059         to prepare the GstSegment in any format that their perform_seek method
7060         will be able to understand. The default implementation provides the
7061         old behaviour of attempting to convert the seek offsets to the 
7062         configured native format.
7063
7064         API: basesrc::prepare_seek_segment vmethod.
7065
7066 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7067
7068         * gst/gstelement.c: (gst_element_get_state_func):
7069         Don't output the same debug statement twice.
7070
7071         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
7072         (gst_adapter_peek), (gst_adapter_take_buffer):
7073         Optimise the case where we have buffers at the head of the queue that
7074         can be joined quickly (because they're contiguous sub-buffers) by
7075         merging them together rather than copying data out into new memory.
7076
7077         * gst/parse/grammar.y:
7078         * tests/check/pipelines/parse-launch.c:
7079         Fix a leak in an error path for parse_launch, and add a check 
7080         for it to the testsuite.
7081
7082 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7083
7084         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7085           Don't deadlock when releasing a pad - gst_pad_set_active may try
7086           and take the multiqueue lock too.
7087
7088 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7089
7090         * gst/gsterror.c: (_gst_core_errors_init):
7091         * gst/gsterror.h:
7092           API: add GST_CORE_ERROR_DISABLED (#392804).
7093
7094 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7095
7096         * docs/faq/gst-uninstalled:
7097           don't get empty paths on the PATH variables
7098         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
7099           Don't format for the uncommon terminal width of 84 characters.
7100
7101 2007-04-06  Wim Taymans  <wim@fluendo.com>
7102
7103         * gst/gstpipeline.c: (reset_stream_time),
7104         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
7105         Only try to select a different pipeline clock when we went back to
7106         PAUSED and not when we merely got flushed.
7107
7108 2007-04-05  Michael Smith  <msmith@fluendo.com>
7109
7110         * tools/gst-launch.1.in:
7111           fractions are better supported in gstreamer than ractions, so
7112           suggest using those.
7113
7114 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7115
7116         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
7117
7118         * po/LINGUAS:
7119         * po/da.po:
7120           Added Danish translation.
7121
7122 2007-04-05  Wim Taymans  <wim@fluendo.com>
7123
7124         * libs/gst/base/gstbasesink.c:
7125         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
7126         Fix leak caused when refusing newsegment after EOS.
7127
7128         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7129         (gst_fake_sink_init), (gst_fake_sink_set_property),
7130         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
7131         (gst_fake_sink_render), (gst_fake_sink_change_state):
7132         * plugins/elements/gstfakesink.h:
7133         Add num-buffers property to make the element generate EOS after a
7134         configurable amount of buffers.
7135         API: fakesink::num-buffers property.
7136
7137         * tests/check/elements/fakesink.c: (GST_START_TEST),
7138         (fakesink_suite):
7139         Fix GstBus leak in test.
7140         Test for fakesink num-buffers.
7141
7142 2007-04-05  Wim Taymans  <wim@fluendo.com>
7143
7144         * libs/gst/base/gstbasesink.c:
7145         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
7146         (gst_base_sink_change_state):
7147         Don't accept anything after an EOS, return UNEXPECTED instead.
7148
7149         * tests/check/elements/fakesink.c: (GST_START_TEST),
7150         (fakesink_suite):
7151         Unit test for new EOS behaviour.
7152
7153 2007-04-05  Wim Taymans  <wim@fluendo.com>
7154
7155         * gst/gstelement.c: (gst_element_get_request_pad):
7156         Make padtemplates also work when they don't contain %s or %d.
7157
7158 2007-04-05  Wim Taymans  <wim@fluendo.com>
7159
7160         * docs/gst/gstreamer-sections.txt:
7161         * gst/gstclock.c: (gst_clock_adjust_unlocked),
7162         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
7163         * gst/gstclock.h:
7164         Improve _adjust_unlocked() so that it overflows less.
7165         Add gst_clock_unadjust_unlocked to convert from external time to
7166         internal time based on calibration.
7167         Add some more debug.
7168         API: GstClock::gst_clock_unadjust_unlocked()
7169
7170 2007-04-03  Wim Taymans  <wim@fluendo.com>
7171
7172         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7173
7174         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7175         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
7176         when releasing sink pad. Fixes #425400.
7177
7178 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
7179
7180         * docs/random/ensonic/dynlink.txt:
7181           More work on proposal for new core api.
7182
7183         * docs/libs/gstreamer-libs-sections.txt:
7184         * libs/gst/base/gstbasetransform.h:
7185           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
7186           
7187         * libs/gst/controller/gstcontroller.c:
7188         (on_object_controlled_property_changed),
7189         (gst_controller_sync_values),
7190         (gst_controller_set_interpolation_mode):
7191         * libs/gst/controller/gstcontroller.h:
7192           Less verbose logging add docs for unimplemented parts and correctly
7193           return when using unavailable parts.
7194
7195 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7196
7197         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
7198         Move all the debug to the CLOCK category, and associate it with
7199         the clock object.
7200
7201 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7202
7203         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
7204         Make take_buffer a bit quicker by removing redundant checks
7205         caused by calling gst_adapter_take.
7206
7207 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7208
7209         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
7210           Don't leak GCond.
7211
7212         * tests/check/Makefile.am:
7213         * tests/check/elements/.cvsignore:
7214         * tests/check/elements/multiqueue.c: (setup_multiqueue),
7215         (GST_START_TEST), (multiqueue_suite):
7216           Add some dead simple unit tests for the 'multiqueue' element
7217           (some bits don't work yet and are disabled for now).
7218
7219 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7220
7221         * gst/gstelement.c: (gst_element_get_request_pad),
7222         (gst_element_class_get_request_pad_template):
7223           Make gst_element_get_request_pad() create request pads only for
7224           request pad templates and not for, say, sometimes pad templates.
7225
7226 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
7227
7228         * docs/design/draft-klass.txt:
7229           Add example that needs more thinking.
7230         
7231         * docs/design/draft-missing-plugins.txt:
7232           More thoughts about wrapper plugins.
7233         
7234         * docs/random/ensonic/embedded.txt:
7235         * docs/random/ensonic/profiling.txt:
7236           More design work.
7237
7238 2007-03-25  Wim Taymans  <wim@fluendo.com>
7239
7240         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
7241         (gst_base_src_loop):
7242         Only push the segment events in the PLAYING state for live sources.
7243
7244 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
7245
7246         * gst/gstpipeline.c: (gst_pipeline_change_state):
7247         Modify the clock distribution path in PAUSED->PLAYING so that we 
7248         never attempt to choose a new clock unless we're actually leaving
7249         the PAUSED state for the first time. This prevents choosing a
7250         different clock when the state_change gets called for a 2nd time due
7251         to some element doing an async state change.
7252
7253 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7254
7255         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
7256         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
7257         (gst_pad_chain_unchecked), (gst_pad_push):
7258         Revert last commit. This needs some more thoughts.
7259
7260 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7261
7262         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
7263         (gst_pad_chain_unchecked), (gst_pad_push):
7264         Check in set_caps if the caps are compatible with the pad and remove
7265         two functions that are redundant now. Fixes #421543.
7266
7267 2007-03-22  Wim Taymans  <wim@fluendo.com>
7268
7269         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7270         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
7271         Unref some more to make valgrind happy.
7272
7273 2007-03-22  Wim Taymans  <wim@fluendo.com>
7274
7275         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
7276         (gst_system_clock_id_wait_jitter),
7277         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
7278         Fix anoying regression that survived a few releases. When adding an
7279         async entry while blocking on a sync entry, the sync entry will unblock
7280         but still be busy, so it should continue to wait instead of returning
7281         _BUSY to the app.
7282         Add some comments here and there.
7283
7284         * tests/check/gst/gstsystemclock.c: (mixed_thread),
7285         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
7286         Add testcase for this.
7287
7288 2007-03-22  Wim Taymans  <wim@fluendo.com>
7289
7290         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
7291         Handle errors from the clock sync better, only UNSCHEDULED indicates a
7292         WRONG_STATE and can silently pause the task. All other cases should
7293         error out.
7294
7295 2007-03-22  Wim Taymans  <wim@fluendo.com>
7296
7297         Patch by: Ville Syrjala <syrjala at sci dot fi>
7298
7299         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
7300         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
7301         Improve debugging.
7302
7303 2007-03-21  Michael Smith  <msmith@fluendo.com>
7304
7305         * docs/pwg/advanced-types.xml:
7306           Fix some errors in the typefinding docs pointed out on irc.
7307
7308 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
7309
7310         * libs/gst/base/gstbasesrc.c:
7311         Clarify FIXME comment in the face of having added unlock_stop()
7312
7313 2007-03-21  Wim Taymans  <wim@fluendo.com>
7314
7315         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
7316         Prepare for release where we warn against possible app breakage in the
7317         case of live pipelines along with an env var to enable/disable live
7318         preroll mode (GST_COMPAT=[no-]live-preroll).
7319
7320 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7321
7322         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
7323         So we should use correct constants for checking for None offset.
7324
7325 2007-03-20  Wim Taymans  <wim@fluendo.com>
7326
7327         * docs/design/part-block.txt:
7328         Mention the fact that the newly switched element should be set to at
7329         least PAUSED.
7330
7331 2007-03-20  Wim Taymans  <wim@fluendo.com>
7332
7333         * gst/gst.c:
7334         Fix compilation with registry disabled as spotted by Saur.
7335
7336 2007-03-20  Wim Taymans  <wim@fluendo.com>
7337
7338         Patch by: Olivier Crete <tester at tester dot ca>
7339
7340         * gst/gstelement.c: (gst_element_sync_state_with_parent):
7341         Look at the pending state too when syncing the element state to the
7342         parent. Fixes #420133.
7343
7344 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
7345
7346         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7347         (gst_base_sink_change_state):
7348         * libs/gst/base/gstbasesink.h:
7349         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7350         (gst_base_src_default_event), (gst_base_src_unlock_stop),
7351         (gst_base_src_deactivate):
7352         * libs/gst/base/gstbasesrc.h:
7353         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
7354         for sub-classes to correctly clear any state they set trying to
7355         unlock, such as clearing out unlock commands from a command fd.
7356         API: basesrc::unlock_stop
7357         API: basesink::unlock_stop
7358
7359         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
7360         (gst_fd_sink_render), (gst_fd_sink_unlock),
7361         (gst_fd_sink_unlock_stop):
7362         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
7363         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
7364         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
7365
7366         Implement unlock_stop in fdsrc and fdsink.
7367         Implement seeking in fdsrc when a seekable fd is passed, as in
7368         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
7369
7370 2007-03-19  Wim Taymans  <wim@fluendo.com>
7371
7372         Patch by: Evan Nemerson <evan at coeus dash group dot com>
7373
7374         * gst/gstelement.c: (gst_element_class_init):
7375         Fix pad-added and pad-removed signal signatures so that the pad type is
7376         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
7377
7378 2007-03-19  Wim Taymans  <wim@fluendo.com>
7379
7380         * docs/gst/gstreamer-sections.txt:
7381         Add new element field and method.
7382
7383         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7384         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
7385         (gst_bin_recalc_state), (gst_bin_get_state_func),
7386         (gst_bin_element_set_state), (gst_bin_change_state_func),
7387         (gst_bin_continue_func), (bin_bus_handler),
7388         (bin_push_state_continue), (bin_handle_async_start),
7389         (bin_handle_async_done), (gst_bin_handle_message_func):
7390         Make async state changes a bit smarter by using new ASYNC_START and
7391         ASYNC_DONE messages. This reduces the number of times we run the state
7392         recalculation thread.
7393         Don't change state of element with a pending ASYNC_START message.
7394         Deprecate STATE_DIRTY messages.
7395         
7396         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
7397         (gst_element_get_state_func), (gst_element_continue_state),
7398         (gst_element_lost_state), (gst_element_set_state_func),
7399         (gst_element_change_state):
7400         * gst/gstelement.h:
7401         Keep the state that was last set by the app in a new element field.
7402         Don't allow state changes when handling an element event.
7403         Post ASYNC_START and ASYNC_DONE messages.
7404         Change lost_state so that we go to PAUSED and wait for the parent to set
7405         us to PLAYING again (so latency calculation can be performed)
7406         Export gst_element_change_state() method so that subclasses can use it.
7407         API: gst_element_change_state()
7408         API: GST_STATE_TARGET
7409
7410         * gst/gstpipeline.c: (gst_pipeline_class_init),
7411         (reset_stream_time), (gst_pipeline_change_state),
7412         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
7413         Using the new ASYNC_START message we can reset the base_time when
7414         needed. This can then be used to implement base_time redistribution in
7415         flushing seeks so that we can remove the explicit seek handling.
7416         Perform latency query and configuration when going to PLAYING.
7417
7418         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7419         (gst_base_sink_query), (gst_base_sink_change_state):
7420         Post new ASYNC_START/ASYNC_DONE messages.
7421
7422         * tests/check/generic/sinks.c: (GST_START_TEST):
7423         Fix test because the bin will not set the async element to PLAYING right
7424         away.
7425
7426         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
7427         Make the message check a little stronger.
7428         Handle ASYNC messages.
7429
7430         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
7431         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
7432         Expect ASYNC_DONE messages.
7433
7434 2007-03-19  Wim Taymans  <wim@fluendo.com>
7435
7436         * docs/gst/gstreamer-sections.txt:
7437         * gst/gstmessage.c: (gst_message_new_async_start),
7438         (gst_message_new_async_done), (gst_message_parse_info),
7439         (gst_message_parse_async_start):
7440         * gst/gstmessage.h:
7441         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
7442         support.
7443
7444 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7445
7446         * tools/gst-inspect.c:
7447         (print_plugin_automatic_install_info_codecs):
7448           Now that we don't check for the 'Codec' keyword any longer in the
7449           klass, we shouldn't spew a warning if the klass isn't a decoder or
7450           encoder (since it might be a Source/Network, for example).
7451
7452 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7453
7454         * tools/gst-inspect.c:
7455         (print_plugin_automatic_install_info_codecs):
7456           Don't require decoder/demuxer/depayloader elements or
7457           encoder/muxer/paylader elements to have 'Codec' as part of their
7458           factory class string when introspecting a plugin's capabilities.
7459           draft-klass.txt mentions that it might be removed in future, and
7460           flump3dec doesn't have it as part of its class string, so chances
7461           are others might also not have it.
7462
7463 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7464
7465         * po/af.po:
7466         * po/az.po:
7467         * po/bg.po:
7468         * po/ca.po:
7469         * po/cs.po:
7470         * po/de.po:
7471         * po/en_GB.po:
7472         * po/fr.po:
7473         * po/it.po:
7474         * po/nb.po:
7475         * po/nl.po:
7476         * po/ru.po:
7477         * po/sq.po:
7478         * po/sr.po:
7479         * po/sv.po:
7480         * po/tr.po:
7481         * po/uk.po:
7482         * po/vi.po:
7483         * po/zh_CN.po:
7484         * po/zh_TW.po:
7485           Update translations from translation project
7486
7487 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
7488
7489         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
7490         (gst_child_proxy_set_property):
7491           Invert precondition check to be alike the ones in the mimiced gobject
7492           api.
7493
7494 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
7495
7496         * docs/design/draft-tagreading.txt:
7497         * docs/random/ensonic/audiobaseclasses.txt:
7498           Do some Architect work.
7499
7500         * gst/gstobject.c: (gst_object_set_name):
7501           Add a WARNING.
7502
7503         * gst/gstpad.c:
7504           Add docs that point from gst_pad_get_range to gst_pad_pull_range
7505
7506 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
7507
7508         * gst/gstsystemclock.c: (gst_system_clock_init),
7509         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
7510         Defer starting the async system clock thread until the first async
7511         wait is scheduled. Fixes #414986.
7512
7513 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7514
7515         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
7516         (gst_single_queue_free):
7517           Fix small leak (free GstSingleQueue structure too, not only contents).
7518
7519 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
7520
7521         * gst/gstbin.c:(gst_bin_add):
7522         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
7523         * win32/common/libgstbase.def:
7524         * win32/common/libgstreamer.def:
7525         Add new exported functions.
7526
7527 2007-03-09  Wim Taymans  <wim@fluendo.com>
7528
7529         * docs/plugins/gstreamer-plugins-sections.txt:
7530         Fix GstTee docs.
7531
7532 2007-03-09  Wim Taymans  <wim@fluendo.com>
7533
7534         * docs/gst/gstreamer-sections.txt:
7535         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
7536         * gst/gstbuffer.h:
7537         Add metadata copy functions. Fixes #393099.
7538         API: gst_buffer_copy_metadata()
7539
7540         * gst/gstutils.c: (gst_buffer_stamp):
7541         * libs/gst/base/gstbasetransform.c:
7542         (gst_base_transform_prepare_output_buffer):
7543         Use new metadata copy functions.
7544
7545 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7546
7547         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7548         (gst_identity_init), (gst_identity_check_perfect),
7549         (gst_identity_check_imperfect_timestamp),
7550         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
7551         (gst_identity_set_property), (gst_identity_get_property):
7552         * plugins/elements/gstidentity.h:
7553         Separate out check-imperfect-timestamp and check-imperfect-offset.
7554         Put back check-perfect as it was to keep compatibility.
7555
7556 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
7557
7558         * gst/gstelement.c: (gst_element_dispose):
7559         There's no need to warn if VOID_PENDING is not NONE here, as
7560         long as the state is NULL it's ok, and that's checked immediately
7561         above.
7562
7563 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7564
7565         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7566         Fix check for perfect stream to ignore buffers with -1 
7567         offsets/offset ends when checking data contiguity.
7568
7569 2007-03-08  Wim Taymans  <wim@fluendo.com>
7570
7571         * tools/gst-launch.c: (event_loop):
7572         Print INFO messages.
7573
7574 2007-03-08  Wim Taymans  <wim@fluendo.com>
7575
7576         * libs/gst/base/gstbasetransform.c:
7577         (gst_base_transform_sink_eventfunc),
7578         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7579         (gst_base_transform_activate):
7580         * libs/gst/base/gstbasetransform.h:
7581         Add support for dropping buffers with custom GstFlowReturn.
7582         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
7583         buffers or dropped buffers.
7584
7585         * docs/libs/gstreamer-libs-sections.txt:
7586         docs for new custom return code.
7587
7588         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7589         Use drop support in base class to implement drop-probability.
7590
7591 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7592
7593         * gst/gst.c: (load_plugin_func):
7594         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
7595         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7596         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7597           Remove newlines at end of debug log strings.
7598
7599 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7600
7601         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7602         Only post bus message at max, once per buffer received.
7603
7604 2007-03-07  Wim Taymans  <wim@fluendo.com>
7605
7606         * docs/design/Makefile.am:
7607         * docs/design/part-synchronisation.txt:
7608         Add doc about synchronisation
7609
7610         * docs/design/draft-latency.txt:
7611         * docs/design/part-TODO.txt:
7612         * docs/design/part-clocks.txt:
7613         * docs/design/part-events.txt:
7614         * docs/design/part-gstbus.txt:
7615         * docs/design/part-gstpipeline.txt:
7616         * docs/design/part-live-source.txt:
7617         * docs/design/part-messages.txt:
7618         * docs/design/part-overview.txt:
7619         * docs/design/part-streams.txt:
7620         * docs/design/part-trickmodes.txt:
7621         Documentation updates.
7622
7623 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7624
7625         * gstreamer.doap:
7626         Update the doap file.
7627
7628 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7629
7630         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7631         Rename non-perfect to imperfect for Mike and for the sanctity of the
7632         language.
7633         Also make sure bus message gets emitted for data-incontiguities.
7634
7635 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7636
7637         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
7638         (gst_identity_start):
7639         * plugins/elements/gstidentity.h:
7640         Emit bus message if check-perfect is true and we encounter a
7641         non-perfect stream between 2 consecutive buffers.
7642         Fixes #415394.
7643
7644 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7645
7646         * configure.ac:
7647         Back to CVS
7648
7649 === release 0.10.12 ===
7650
7651 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
7652
7653         * configure.ac:
7654           releasing 0.10.12, "Inevitable Demise"
7655
7656 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
7657
7658         * configure.ac:
7659          Version 0.10.11.2 (0.10.12 pre-release)
7660          Bump libtool versioning.
7661
7662 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
7663
7664         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7665           Log flow-names and not numbers.
7666
7667 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7668
7669         * configure.ac:
7670           Convert to new AG_GST style.
7671
7672 2007-02-28  Wim Taymans  <wim@fluendo.com>
7673
7674         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
7675         Don't unref query twice.
7676
7677 2007-02-28  Wim Taymans  <wim@fluendo.com>
7678
7679         * gst/gstvalue.c: (gst_value_transform_object_string),
7680         (_gst_value_initialize):
7681         Implement GstObject -> string transform so we print object names
7682         when serializing GValues containing GstObjects.
7683
7684 2007-02-28  Wim Taymans  <wim@fluendo.com>
7685
7686         * docs/gst/gstreamer-sections.txt:
7687         Add new stuff to docs.
7688
7689 2007-02-28  Wim Taymans  <wim@fluendo.com>
7690
7691         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
7692         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
7693         (gst_base_sink_change_state):
7694         Improve latency query code.
7695         Don't leak latency events.
7696
7697         * tests/check/gst/gstbin.c: (GST_START_TEST):
7698         Improve debugging.
7699
7700 2007-02-28  Wim Taymans  <wim@fluendo.com>
7701
7702         * gst/gstelement.c: (gst_element_message_full),
7703         (gst_element_get_state_func):
7704         * gst/gstelement.h:
7705         Improve docs a little. Added Since: for new macro.
7706
7707         * gst/gstobject.c: (gst_object_sink):
7708         * gst/gstpipeline.c: (gst_pipeline_change_state),
7709         (gst_pipeline_set_new_stream_time):
7710         * gst/gstpipeline.h:
7711         Improve debugging and docs.
7712
7713         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7714         Improve debugging.
7715
7716 2007-02-28  Wim Taymans  <wim@fluendo.com>
7717
7718         * gst/gstelement.c: (gst_element_message_full),
7719         (gst_element_set_locked_state), (gst_element_get_state_func),
7720         (gst_element_change_state):
7721         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
7722         Documentation updates.
7723         Small code cleanups.
7724
7725         * gst/gstmessage.c: (gst_message_new_info),
7726         (gst_message_parse_info):
7727         * gst/gstmessage.h:
7728         API: gst_message_new_info()
7729         API: gst_message_parse_info()
7730         Add INFO message create and parse code.
7731
7732 2007-02-28  Wim Taymans  <wim@fluendo.com>
7733
7734         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
7735         (bin_query_latency_done):
7736         Also report the live parameter of a latency query.
7737
7738 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7739
7740         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
7741           Copy the current generic/states example from -base and adapt so
7742           we can use the exact same code everywhere.
7743           Check a STATES_IGNORE_ELEMENTS env var which can be used
7744           to ignore certain element factories for this test, which is
7745           what is being done in -base
7746         * tests/check/Makefile.am:
7747           Mention this environment variable.
7748
7749 2007-02-27  Wim Taymans  <wim@fluendo.com>
7750
7751         * docs/gst/gstreamer-sections.txt:
7752         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7753         (gst_bus_timed_pop), (gst_bus_pop):
7754         * gst/gstbus.h:
7755         API: gst_bus_timed_pop()
7756         Implement gst_bus_timed_pop() to do a blocking timed wait for a
7757         message to arrive on the bus.
7758
7759         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
7760         (gst_bus_suite):
7761         Two unit tests for new _timed_pop() function.
7762
7763 2007-02-23  Wim Taymans  <wim@fluendo.com>
7764
7765         * gst/gstpipeline.c: (gst_pipeline_change_state),
7766         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
7767         Don't ref a NULL clock in _provide_clock_func().
7768         Don't allow an INVALID delay.
7769         Don't try to calculate base_time with an invalid start_time.
7770         Also distribute and notify a NULL clock when it was selected.
7771
7772         * tools/gst-launch.c: (event_loop):
7773         Don't crash when a NULL clock was selected in the pipeline.
7774
7775 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7776
7777         * docs/design/Makefile.am:
7778         * docs/design/draft-missing-plugins.txt:
7779         * docs/random/draft-missing-plugins.txt:
7780           Some small updates: update plugin system identifier prefix
7781           ('gstreamer.net' to 'gstreamer'), mention our new install
7782           API in libgstbaseutils rather than libgimme-codec, add
7783           reference to the online docs.
7784
7785 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7786
7787         * win32/common/config.h:
7788           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
7789           use moap cl ci to only check in what is mentioned in the ChangeLog.
7790
7791 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7792
7793         * docs/gst/gstreamer-sections.txt:
7794         * gst/gstelement.h:
7795           Fix up documentation to link to the correct GstGError section.
7796           Add GST_ELEMENT_INFO macro since someone else added a Info message.
7797
7798 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7799
7800         * tools/gst-launch.c: (event_loop):
7801           Make sure that we actually show the important message part of a
7802           warning message.
7803           No need to check if the gerror is not NULL to free; first of all
7804           g_free accepts NULL; and second the default error handler would
7805           segfault if gerror was NULL.
7806
7807 2007-02-21  Wim Taymans  <wim@fluendo.com>
7808
7809         * docs/gst/gstreamer-sections.txt:
7810         Removed docs as well.
7811
7812 2007-02-21  Wim Taymans  <wim@fluendo.com>
7813
7814         * gst/gstmessage.c: (gst_message_parse_duration):
7815         * gst/gstmessage.h:
7816         Remove new messages for release.
7817
7818 2007-02-20  Wim Taymans  <wim@fluendo.com>
7819
7820         * docs/design/part-gstghostpad.txt:
7821         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
7822         (gst_ghost_pad_new_full):
7823         Make the ghostpad a parent of the internal pad again for better backward
7824         compatibility. Don't write code that relies on this however.
7825
7826         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7827         (gst_pad_link_check_hierarchy):
7828         Require that parents should be GstElements in the hierarchy check.
7829
7830 2007-02-20  Wim Taymans  <wim@fluendo.com>
7831
7832         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
7833         (gst_bin_change_state_func), (bin_query_min_max_init),
7834         (bin_query_latency_fold), (bin_query_latency_done),
7835         (gst_bin_query):
7836         Improve debug info.
7837         Implement latency query.
7838
7839 2007-02-20  Wim Taymans  <wim@fluendo.com>
7840
7841         * docs/design/part-gstghostpad.txt:
7842         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
7843         (gst_ghost_pad_internal_do_activate_push),
7844         (gst_ghost_pad_internal_do_activate_pull),
7845         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7846         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
7847         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
7848         Do not set the internal pad as a parent anymore so we can avoid
7849         hierarchy linking errors when the ghostpad has no parent yet. This also
7850         fixes failed activation because of unlinked internal pads, which in
7851         turn fixes the impossible case where you have to activate a pad before
7852         you can add it to a running element.
7853         Also fix the docs.
7854
7855         * gst/gstpad.c: (pre_activate), (post_activate),
7856         (gst_pad_set_active), (gst_pad_activate_pull),
7857         (gst_pad_activate_push), (gst_pad_check_pull_range):
7858         Add some more debug info.
7859         Mark activation mode in pre_activate so that we don't try to activate in
7860         endless loops. Fixes #385084.
7861
7862 2007-02-19  Wim Taymans  <wim@fluendo.com>
7863
7864         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
7865         (gst_base_transform_check_get_range):
7866         Implement a checkgetrange function instead of relying on the default
7867         core behaviour that assumes we can operate in pull mode if we have a
7868         getrange function. First step at fixing #385084.
7869
7870 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
7871
7872         * gst/gstchildproxy.h:
7873         * libs/gst/base/gstbasesink.h:
7874         * libs/gst/base/gstbasesrc.h:
7875         * libs/gst/base/gstbasetransform.h:
7876         More docs coverage and some ChangeLog surgery (add missing names)
7877
7878 2007-02-15  Wim Taymans  <wim@fluendo.com>
7879
7880         * docs/design/part-TODO.txt:
7881         * docs/design/part-activation.txt:
7882         * docs/design/part-block.txt:
7883         * docs/design/part-buffering.txt:
7884         * docs/design/part-clocks.txt:
7885         * docs/design/part-element-source.txt:
7886         * docs/design/part-events.txt:
7887         * docs/design/part-gstbin.txt:
7888         * docs/design/part-gstbus.txt:
7889         * docs/design/part-gstpipeline.txt:
7890         * docs/design/part-live-source.txt:
7891         * docs/design/part-messages.txt:
7892         * docs/design/part-overview.txt:
7893         * docs/design/part-qos.txt:
7894         * docs/design/part-query.txt:
7895         * docs/design/part-states.txt:
7896         * docs/design/part-trickmodes.txt:
7897         Some doc updates. Start renaming from stream_time to running_time where
7898         it was used wrongly.
7899
7900 2007-02-15  Wim Taymans  <wim@fluendo.com>
7901
7902         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
7903         Answer LATENCY query.
7904
7905 2007-02-15  Wim Taymans  <wim@fluendo.com>
7906
7907         * tests/check/gst/gstevent.c: (event_probe), (test_event),
7908         (GST_START_TEST):
7909         Improve debugging.
7910
7911 2007-02-15  Wim Taymans  <wim@fluendo.com>
7912
7913         * gst/gstpad.c: (gst_pad_get_internal_links_default),
7914         (gst_pad_dispatcher):
7915         Improve debugging of default pad dispatcher and query functions.
7916
7917 2007-02-15  Wim Taymans  <wim@fluendo.com>
7918
7919         * docs/gst/gstreamer-sections.txt:
7920         Remove old unused method.
7921
7922 2007-02-13  Wim Taymans  <wim@fluendo.com>
7923
7924         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7925         Fix check
7926
7927 2007-02-13  Wim Taymans  <wim@fluendo.com>
7928
7929         * docs/design/part-seeking.txt:
7930         Some small update.
7931
7932         * gst/gstsegment.c: (gst_segment_set_seek):
7933         Revert old bogus change that should make seeking work again.
7934
7935 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
7936
7937         * docs/random/ensonic/dynlink.txt:
7938         * docs/random/ensonic/interfaces.txt:
7939         * docs/random/ensonic/receipies.txt:
7940           Possible dynamic reconnection api, plus some type fixes the other two
7941           docs.
7942
7943 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
7944
7945         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7946         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7947         Also check for an absolute path following file:// in the filesrc
7948         element. Remove redundant check and call g_path_is_absolute() on the
7949         unescaped location.
7950
7951 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
7952
7953         * docs/design/draft-klass.txt:
7954           Add existing category analysis.
7955           
7956         * gst/gstcaps.c:
7957           Fix doc example, framerate is a fraction.
7958
7959 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
7960
7961         * configure.ac:
7962         * docs/gst/Makefile.am:
7963         * docs/gst/gstreamer-sections.txt:
7964         * docs/libs/Makefile.am:
7965           Erm, forgot a bunch of --extra-dir.
7966
7967 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
7968
7969         * configure.ac:
7970         * docs/gst/Makefile.am:
7971         * docs/libs/Makefile.am:
7972         * docs/plugins/Makefile.am:
7973           Add crossreferences to glib/gobject docs.
7974
7975 2007-02-12  Wim Taymans  <wim@fluendo.com>
7976
7977         * docs/design/draft-latency.txt:
7978         Small update.
7979
7980         * docs/libs/gstreamer-libs-sections.txt:
7981         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7982         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
7983         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
7984         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
7985         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
7986         (gst_base_sink_get_position), (gst_base_sink_query),
7987         (gst_base_sink_change_state):
7988         * libs/gst/base/gstbasesink.h:
7989         API: gst_base_sink_query_latency() to let subclasses query the upstream
7990         latency.
7991         API: gst_base_sink_get_latency() to let subclasses query the configured
7992         latency in the sink.
7993         Implement query and set latency.
7994         Update some docs.
7995         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
7996         don't continue preroll when we are flushing. Fixes #405284.
7997
7998         * tests/check/pipelines/stress.c: (change_state_timeout),
7999         (quit_timeout), (GST_START_TEST), (stress_suite):
8000         Test for #405284.
8001
8002 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8003
8004         Patch by: René Stadler <mail at renestadler de>
8005
8006         * docs/gst/gstreamer-sections.txt:
8007         * gst/gsttaglist.c: (_gst_tag_initialize):
8008         * gst/gsttaglist.h:
8009           API: add GST_TAG_REFERENCE_LEVEL (#403597).
8010
8011 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
8012
8013         * docs/libs/Makefile.am:
8014           Fix path to core docs.
8015
8016         * gst/gstbin.c: (gst_bin_get_by_interface),
8017         (gst_bin_iterate_all_by_interface):
8018           Refix docs by also renaming 'interface' to 'iface' in implementation.
8019
8020         * docs/gst/gstreamer-sections.txt:
8021         * gst/gstcaps.c:
8022         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
8023         * gst/gstchildproxy.h:
8024         * gst/gstelementfactory.c:
8025         * gst/gstpadtemplate.h:
8026         * libs/gst/controller/gstcontroller.c:
8027         (gst_controlled_property_new):
8028           Document more.
8029
8030 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
8031
8032         * gst/gstbin.h:(gst_bin_get_by_interface),
8033         (gst_bin_iterate_all_by_interface):
8034         Replace interface parameter name by iface as interface is 
8035         a reserved keyword in Visual Studio for C++ projects so it removes
8036         a build error for application developpers using VS.
8037         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
8038         Fix a bug on Windows in uri format check. Now the prefix checked
8039         is file:// and next we check if the path after file:// is absolute.
8040         * win32/common/libgstbase.def:
8041         * win32/common/libgstdataprotocol.def:
8042         * win32/common/libgstgstreamer.def:
8043         Add new exported functions.
8044
8045 2007-02-09  Andy Wingo  <wingo@pobox.com>
8046
8047         * tests/check/pipelines/simple-launch-lines.c
8048         (simple_launch_lines_suite, test_tee): Disable tee test until I
8049         have time to fix it :-(
8050
8051         * tests/check/Makefile.am (noinst_HEADERS): 
8052         * tests/check/libs/libsabi.c: 
8053         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
8054         * tests/check/gst/gstabi.c: 
8055         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
8056
8057         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
8058         tests for push and pull tee behavior.
8059
8060         * plugins/elements/gsttee.h: 
8061         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
8062         mark as deprecated as well as unimplemented. It was a crack idea.
8063         Add support for tee operating in pull mode, off by default.
8064
8065         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
8066         normal-case logs down to LOG, raise errors to WARNING.
8067         (gst_registry_xml_read_cache): Don't log before calling a function
8068         that logs.
8069
8070         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
8071         exit (registry finalize).
8072         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
8073         DEBUG log when we emit signals that people don't even have the
8074         chance to connect to.
8075         (gst_registry_scan_path_level): Less logging in the normal case.
8076
8077 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8078
8079         Patch by: Michal Benes <michal dot benes at itonis dot tv>
8080
8081         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8082         Correctly generate EOS for non-seekable files. We don't have a total
8083         length for them and would get an unexpected end of file if we only
8084         special-cased for regular files. (Fixes: #404569)
8085
8086 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8087
8088         * tests/check/elements/filesrc.c: (GST_START_TEST),
8089         (filesrc_suite):
8090         Add unit test for the GstURIHandler interface in filesrc. This also
8091         tests the newly added file://localhost/foo/bar support.
8092
8093 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8094
8095         * gst/gstelementfactory.h:
8096           The klass string is not a hierarchy. Add reference to the design doc
8097           for more information and common types.
8098
8099 2007-02-02  Wim Taymans  <wim@fluendo.com>
8100
8101         * gst/gstquery.c: (gst_query_new_latency):
8102         Remove old structure field.
8103
8104 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
8105
8106         * tools/gst-launch.1.in:
8107           Give example for network streaming (#351998)
8108
8109 2007-02-02  Wim Taymans  <wim@fluendo.com>
8110
8111         * docs/gst/gstreamer-sections.txt:
8112         Add docs for new methods.
8113
8114         * gst/gstevent.c: (gst_event_new_latency),
8115         (gst_event_parse_latency):
8116         * gst/gstevent.h:
8117         Add new LATENCY event to configure latency in a pipeline.
8118         API: gst_event_new_latency
8119         API: gst_event_parse_latency
8120
8121         * gst/gstmessage.c: (gst_message_new_buffering),
8122         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
8123         (gst_message_new_latency), (gst_message_parse_buffering),
8124         (gst_message_parse_lost_preroll):
8125         * gst/gstmessage.h:
8126         Added messages used in draft-latency.
8127         API: gst_message_new_lost_preroll
8128         API: gst_message_parse_lost_preroll
8129         API: gst_message_new_prerolled
8130         API: gst_message_new_latency
8131
8132         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
8133         (gst_query_parse_latency):
8134         * gst/gstquery.h:
8135         Implemented new latency query as in design doc.
8136         API: gst_query_new_latency
8137         API: gst_query_set_latency
8138         API: gst_query_parse_latency
8139
8140 2007-02-02  Wim Taymans  <wim@fluendo.com>
8141
8142         * docs/design/draft-latency.txt:
8143         Slight redesign to allow for dynamic latency adjustments.
8144
8145         * docs/design/part-negotiation.txt:
8146         Fix some typos.
8147
8148 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
8149
8150         reviewed by: Wim Taymans <wim@fluendo.com>
8151
8152         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8153         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8154         Allow file://localhost/foo/bar URLs and correctly fail for every other
8155         hostname that one sets. This was gnomevfssrc is linked for those if
8156         installed as it can handle it (#403172)
8157
8158 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8159
8160         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8161
8162         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8163         (unref_data), (gst_collect_pads_add_pad_full):
8164         * libs/gst/base/gstcollectpads.h:
8165         Don't put the previously added destroy notify in the GstCollectData
8166         struct as all it's padding is already used and we don't want to break
8167         ABI. Instead put in the pad's GObject data for now. This should be
8168         cleaned up for 0.11 (#402393).
8169
8170 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8171
8172         reviewed by: Wim Taymans <wim@fluendo.com>
8173
8174         * docs/libs/gstreamer-libs-sections.txt:
8175         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8176         (unref_data), (gst_collect_pads_add_pad),
8177         (gst_collect_pads_add_pad_full):
8178         * libs/gst/base/gstcollectpads.h:
8179         API: Add function to specify a destroy notification for custom
8180         GstCollectData when adding new pads in GstCollectPads (#402393).
8181
8182 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
8183
8184         * po/sv.po:
8185           Update Swedish translation (#378255).
8186
8187 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8188
8189         * docs/design/draft-klass.txt:
8190           Fix the previous change, this is a list of categories and not a hierarchy.
8191
8192 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8193
8194         * docs/design/draft-klass.txt:
8195           Add info about how to get a list of used classes.
8196
8197 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
8198
8199         * plugins/elements/gsttypefindelement.c:
8200         (gst_type_find_element_chain_do_typefinding),
8201         (gst_type_find_element_change_state):
8202           Don't leak found caps in chain function (no idea why that never
8203           showed up as a leak anywhere).
8204
8205 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
8206
8207         * gst/gstplugin.h:
8208           Fix and expand GstPluginDesc API docs.
8209
8210 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8211
8212         * gst/gstcaps.c:
8213         * gst/gstelementfactory.c:
8214         * gst/gstpadtemplate.h:
8215           api doc fixes
8216
8217         * libs/gst/controller/gstcontroller.c:
8218         (gst_controlled_property_new):
8219         * tests/examples/controller/audio-example.c:
8220           comment fixes
8221
8222 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8223
8224         * configure.ac:
8225           comment about refining the xml deps
8226
8227         * docs/manuals.mak:
8228           comments about moving away from jade for docs
8229         
8230         * gst/gst.c:
8231           recommit the ifdefs to use the binary registry
8232         
8233         * gst/gstbin.c: (gst_bin_change_state_func):
8234           this break is obsolete
8235
8236         * gst/gstelementfactory.h:
8237           better GST_ELEMENT_DETAILS docs, add comment about translation
8238
8239         * gst/gstinfo.h:
8240           remove eol slash
8241
8242         * gst/gstobject.c: (gst_signal_object_get_type):
8243           add G_UNLIKELY as usual
8244
8245         * gst/gstpad.c: (gst_pad_event_default):
8246           add fall trhu comment
8247
8248         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8249         (gst_registry_binary_initialize_magic),
8250         (gst_registry_binary_save_string),
8251         (gst_registry_binary_save_pad_template),
8252         (gst_registry_binary_save_feature),
8253         (gst_registry_binary_save_plugin),
8254         (gst_registry_binary_write_cache),
8255         (gst_registry_binary_check_magic),
8256         (gst_registry_binary_load_pad_template),
8257         (gst_registry_binary_load_feature),
8258         (gst_registry_binary_load_plugin),
8259         (gst_registry_binary_read_cache):
8260           comment typo and formatting
8261
8262         * gst/gstutils.c: (gst_element_state_get_name),
8263         (gst_element_state_change_return_get_name):
8264           remove obsolete breaks
8265
8266         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8267           add FIXME 0.11 and remove cpp comment
8268
8269 2007-01-29  Edward Hervey  <edward@fluendo.com>
8270
8271         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8272         Fix print statement in an even more portable way.
8273
8274 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
8275
8276         * docs/gst/gstreamer-sections.txt:
8277         * gst/gstutils.h:
8278           API: add GST_ROUND_DOWN_* macros (#401781).
8279
8280 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
8281
8282         * docs/gst/gstreamer.types.in:
8283         * gst/gstregistry.c: (gst_registry_class_init):
8284           Document registry signals and make gtk-doc pick them up (#401381).
8285
8286 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8287
8288         * docs/pwg/building-testapp.xml:
8289           Add some audioconverts and audioresample to the pipeline, and some
8290           more comments and error handling.
8291
8292 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8293
8294         * docs/manual/manual.xml:
8295         * docs/pwg/pwg.xml:
8296           Fix typo (#400987).
8297
8298 2007-01-26  Wim Taymans  <wim@fluendo.com>
8299
8300         * gst/gstcaps.c: (gst_static_caps_get):
8301         Init caps flags too.
8302
8303 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
8304
8305         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
8306
8307         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8308         If not using mmap'ed files try to seek to the end instead of the
8309         start to determine whether we can seek at all. This fixes the case
8310         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
8311         seeks for everything afterwards fail. Fixes #400656
8312
8313 2007-01-25  Wim Taymans  <wim@fluendo.com>
8314
8315         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
8316         Add some refcount debugging.
8317         Make gst_static_caps_get threadsafe, which is needed when autoplugging
8318         in multiple streaming threads.
8319
8320 2007-01-25  Wim Taymans  <wim@fluendo.com>
8321
8322         Patch by: David Schleef <ds at schleef dot org>
8323
8324         * docs/libs/gstreamer-libs-sections.txt:
8325         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
8326         * libs/gst/base/gstadapter.h:
8327         API: gst_adapter_copy() that can reduce the amount of memcpy when
8328         getting data from the adapter. Fixes #388201.
8329
8330 2007-01-25  Edward Hervey  <edward@fluendo.com>
8331
8332         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8333         In print statements, "%x" is for guint. Fixes build on macosx.
8334
8335 2007-01-24  Edward Hervey  <edward@fluendo.com>
8336
8337         * plugins/elements/gstmultiqueue.c:
8338         (gst_multi_queue_loop):
8339         Small fix.
8340         (single_queue_overrun_cb), (single_queue_underrun_cb),
8341         (single_queue_check_full), (gst_single_queue_new):
8342         Implement single queue growth system.
8343         This uses the extra-size properties, and will grow single queues by
8344         that much if one goes full whereas there are others empty. This is
8345         called extra-mode in the code.
8346         When a single queue's levels go back below the initial max-size
8347         limits, it is no longer in extra-mode. This is to ensure we don't
8348         consume too much memory.
8349         Fixes #399875
8350
8351 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
8352
8353         * gst/gst.c: (gst_init_get_option_group):
8354           Make warning about late g_thread_init() calls a bit more explicit,
8355           so that it's more obvious to application developers what they need
8356           to do if a user files a bug against their application.
8357
8358 2007-01-22  Edward Hervey  <edward@fluendo.com>
8359
8360         * plugins/elements/gstmultiqueue.c:
8361         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
8362         Remove previous hack of unsetting the flushing flag for the source pad
8363         instead of activating it. Instead, fix the source pad activate function
8364         so that it no longer depends on having a parent set or not.
8365
8366 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
8367
8368         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
8369
8370         * docs/manual/basics-bus.xml:
8371           Fix example code, gst_element_unref() doesn't exist any longer.
8372
8373 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
8374
8375         Patch by: Mark Nauwelaerts <manauw at skynet be>
8376
8377         * gst/gstpad.c:
8378           Fix two docs typoes (#399094).
8379
8380 2007-01-19  Edward Hervey  <edward@fluendo.com>
8381
8382         * docs/faq/gst-uninstalled:
8383         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
8384         depending on libgstbaseutils can work in uninstalled environment.
8385
8386 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
8387
8388         * gst/gsttaglist.h:
8389         * gst/gsttagsetter.c:
8390         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
8391         statement for new tag.
8392
8393 2007-01-17  Edward Hervey  <edward@fluendo.com>
8394
8395         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
8396         When dynamically creating single queues, activate sinkpad before adding
8397         it.
8398         We should be doing the same thing for the source pad, but we can't
8399         since it would call a method which needs the parent to be set in order
8400         to work propertly. Instead of activating the source pad, we just unset
8401         the flushing flag, which is the minimal requirement for adding a pad
8402         to an element in a state greater than READY.
8403
8404 2007-01-17  Edward Hervey  <edward@fluendo.com>
8405
8406         * docs/faq/gst-uninstalled:
8407         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
8408         Mac OS X.
8409
8410 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
8411
8412         * tests/check/gst/gstabi.c:
8413         * tests/check/gst/struct_hppa.h:
8414         * tests/check/libs/libsabi.c:
8415         * tests/check/libs/struct_hppa.h:
8416           Add ABI structs for HPPA (see #393796).
8417
8418 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
8419
8420         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8421           Actually write ABI structs to the file specified in the GST_ABI
8422           environment variable, as the message we print claims we would.
8423
8424 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8425
8426         * tests/check/gst/gsttask.c:
8427           Fix header comment.
8428
8429 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8430
8431         * gst/gsttaglist.c: (_gst_tag_initialize):
8432           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
8433           previous two entries.
8434
8435 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8436
8437         * docs/gst/gstreamer-sections.txt:
8438         * gst/gsttaglist.c: (_gst_tag_initialize):
8439         * gst/gsttaglist.h:
8440           Add tag support for beat-per-minute.
8441
8442 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8443
8444         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8445         (gst_registry_binary_initialize_magic),
8446         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
8447         (gst_registry_binary_save_pad_template),
8448         (gst_registry_binary_save_feature),
8449         (gst_registry_binary_save_plugin),
8450         (gst_registry_binary_write_cache),
8451         (gst_registry_binary_check_magic),
8452         (gst_registry_binary_load_pad_template),
8453         (gst_registry_binary_load_feature),
8454         (gst_registry_binary_load_plugin),
8455         (gst_registry_binary_read_cache):
8456         * gst/gstregistrybinary.h:
8457           Use glib types, cleanup comments, impement interfaces and uri-types.
8458
8459 2007-01-13  Andy Wingo  <wingo@pobox.com>
8460
8461         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
8462         getrange() to return buffers with other caps, while we fix
8463         demuxers and typefind, or otherwise change part-negotiation.txt.
8464
8465 2007-01-12  Andy Wingo  <wingo@pobox.com>
8466
8467         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
8468         Factor start/stop into this private function instead of partially
8469         in activate functions and partially in the change_state function.
8470         Fixes setup before the element has changed from READY->PAUSED, as
8471         is the case in pull-mode pipelines.
8472         (gst_base_transform_sink_activate_push)
8473         (gst_base_transform_src_activate_pull): Refactor to use
8474         gst_base_transform_activate().
8475         (gst_base_transform_change_state): Removed, not needed any more.
8476
8477         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8478         Truncate before fixating.
8479         
8480         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8481         Don't set_caps() if the result of fixating is ANY, as it's not
8482         supported, and not necessary in the case of a link with no
8483         template caps on either side. Fixes tests/check/libs/basesrc in
8484         some pull-mode tests.
8485
8486         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
8487         (gst_base_transform_init, gst_base_transform_sink_activate_push)
8488         (gst_base_transform_src_activate_pull): 
8489         Track the activation mode.
8490         (gst_base_transform_setcaps): In pull mode, when activating the
8491         src pad, after activating the sink pad, activate the sink pad's
8492         peer, as discussed in part-negotiation.txt.
8493
8494         * libs/gst/base/gstbasesrc.h: 
8495         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
8496         vmethod, as in basesink.
8497
8498         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
8499
8500         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
8501         mode, first proxy the setcaps to the peer pad.
8502         (gst_base_sink_pad_fixate): Add a fixate function that calls the
8503         new fixate vmethod.
8504         (gst_base_sink_default_activate_pull): Rename from
8505         gst_base_sink_activate_pull.
8506         (gst_base_sink_negotiate_pull): New function, performs negotiation
8507         in pull mode before calling ::activate_pull().
8508         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
8509         vmethod instead of the default implementation. I have no idea how
8510         this worked before. Negotiate before calling activate_pull.
8511
8512         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
8513         sink pads in pull mode. In addition to being correct, fixes
8514         filesrc ! decodebin ! identity ! fakesink.
8515         (gst_pad_get_range, gst_pad_pull_range): Don't call
8516         gst_pad_set_caps() if the caps changes; instead error out with
8517         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
8518
8519 2007-01-12  Andy Wingo  <wingo@pobox.com>
8520
8521         * docs/design/part-negotiation.txt: Update with more policy.
8522
8523 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8524
8525         * libs/gst/check/gstbufferstraw.h:
8526         * libs/gst/check/gstcheck.h:
8527           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
8528           belongs.
8529
8530 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8531
8532         * tests/check/Makefile.am:
8533         * tests/check/gst/.cvsignore:
8534         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
8535         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
8536         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
8537         (GST_START_TEST), (gst_tag_setter_suite):
8538           Add minimal unit test for beforementioned GstTagSetter bug.
8539
8540 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8541
8542         Patch by: René Stadler <mail at renestadler dot de>
8543
8544         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
8545           gst_tag_list_merge() returns a new list, so it's not the best idea
8546           to ingore its return value. Effectively meant that tags could only
8547           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
8548           Also add function guard to require a non-NULL taglist as input (has
8549           always been so due to gst_tag_list_copy(), just making it explicit).
8550
8551 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8552
8553         * docs/random/draft-missing-plugins.txt:
8554           Some additions: mention new API that is supposed to be used at the
8555           various stages; short blob about new gst-inspect introspection
8556           option; mention potential future problem with plugins that have
8557           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
8558
8559 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8560
8561         * tools/gst-inspect.c:
8562         (print_plugin_automatic_install_info_codecs),
8563         (print_plugin_automatic_install_info_protocols),
8564         (print_plugin_automatic_install_info), (main):
8565         Add --print-plugin-auto-install-info option to gst-inspect, so we can
8566         introspect plugin files and get machine-parsable output that corresponds
8567         to the last bit of the missing-plugin installer string (small gotcha:
8568         doesn't take into account ranks).
8569
8570 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
8571
8572         * configure.ac:
8573         * docs/gst/gstreamer-sections.txt:
8574         * gst/Makefile.am:
8575         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
8576         (gst_registry_lookup_locked):
8577         * gst/gstregistry.h:
8578         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8579         (gst_registry_binary_initialize_magic),
8580         (gst_registry_binary_save_string),
8581         (gst_registry_binary_save_pad_template),
8582         (gst_registry_binary_save_feature),
8583         (gst_registry_binary_save_plugin),
8584         (gst_registry_binary_write_cache),
8585         (gst_registry_binary_check_magic),
8586         (gst_registry_binary_load_pad_template),
8587         (gst_registry_binary_load_feature),
8588         (gst_registry_binary_load_plugin),
8589         (gst_registry_binary_read_cache):
8590         * gst/gstregistrybinary.h:
8591         * gst/gstregistryxml.c: (load_feature),
8592         (gst_registry_xml_read_cache):
8593           commit binary registry (disabled by default, see #359653)
8594
8595 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8596
8597         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
8598           Fix 'make check' too.
8599
8600 2007-01-10  Andy Wingo  <wingo@pobox.com>
8601
8602         * docs/design/part-negotiation.txt: Fix a typo, add a couple
8603         notes.
8604         
8605         * docs/design/part-negotiation.txt: Update with, um, one way that
8606         pull-mode negotiation might work?
8607
8608         * gst/gstpad.h: 
8609         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
8610         that the pad must be a src pad; makes sense to call it the other
8611         way in pull mode, and the logic is symmetric anyway.
8612
8613 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
8614
8615         * plugins/elements/gstfilesink.c:
8616           Include <stdio.h> for fseeko().
8617
8618 2007-01-10  Wim Taymans  <wim@fluendo.com>
8619
8620         * gst/gstevent.c:
8621         * gst/gstevent.h:
8622         Reserve LATENCY event.
8623
8624 2007-01-09  Wim Taymans  <wim@fluendo.com>
8625
8626         * docs/design/draft-latency.txt:
8627         Updates.
8628
8629 2007-01-09  Wim Taymans  <wim@fluendo.com>
8630
8631         * docs/design/draft-latency.txt:
8632         Updates.
8633
8634         * gst/gstelement.h:
8635         * gst/gststructure.c:
8636         * gst/gsttrace.c:
8637         Small typo fixes.
8638
8639 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8640
8641         * tests/check/.cvsignore:
8642           Ignore test-registry.xml as well.
8643
8644 2007-01-09  Wim Taymans  <wim@fluendo.com>
8645
8646         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8647         unref data at the end when we are done with the pad.
8648
8649 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
8650
8651         * docs/gst/gstreamer-sections.txt:
8652         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
8653         (init_post), (gst_deinit), (gst_update_registry):
8654         * gst/gst.h:
8655           API: add gst_update_registry() (#391296).
8656
8657         * tests/check/Makefile.am:
8658         * tests/check/gst/gstregistry.c:
8659         * tests/check/gst/.cvsignore:
8660           Simple unit test for the above.
8661
8662 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
8663
8664         * gst/gstregistry.c: (gst_registry_scan_path_level):
8665           Plugin extension on HP-UX is .sl, add that to the list of approved
8666           plugin extensions (see #393796).
8667
8668         * tests/check/gst/gstpad.c: (GST_START_TEST):
8669           ulong => gulong. Fixes compilation with HP-UX compiler.
8670
8671         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8672           Fix compilation if valgrind headers are not available.
8673
8674 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
8675
8676         * win32/common/libgstreamer.def: 
8677           Add new exported function.
8678         * win32/vs6/libgstbase.dsp: 
8679           Add gstdataqueue.c to the build.
8680         * win32/vs6/libgstcoreelements.dsp:
8681           Add gstmultiqueue.c to the build.
8682         
8683 2007-01-06  Andy Wingo  <wingo@pobox.com>
8684
8685         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
8686         activate_pull(), providing for a way to specialize the process of
8687         spawning a thread to pull on the sink pad. There is a default
8688         implementation.
8689
8690         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
8691         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
8692         (gst_base_sink_init): Renamed pad activation functions (inserting
8693         "_pad" in their names). Refactor to use the new activate_pull
8694         vmethod, as appropriate.
8695         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
8696         default activate_pull function to start a task pulling from the
8697         sink pad, as before.
8698
8699         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
8700         on the pads if necessary, as in push()/chain(). Update docs.
8701         Shouldn't affect existing pull() usage as it is currently only
8702         being used on buffers without caps.
8703
8704 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8705
8706         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8707         (init_pre):
8708           Call g_thread_init() first thing in gst_init() / gst_check_init().
8709           When initialisation is done via gst_init_get_option_group() and
8710           GOption parsing, issue a warning if the GLib thread system has not
8711           been initialised yet by the time gst_init_get_option_group() is
8712           called, as it's quite likely other GLib functions such as
8713           g_option_context_new() have been called already then, and
8714           g_thread_init() must be called before any other GLib function. The
8715           application in question must be fixed in that case, since memory
8716           corruption might happen otherwise.
8717           We issue the warning because even if the GLib folks decide to work
8718           around the problem on their end in future, this is still an issue
8719           with all GLib versions >= 2.10.0, so we should warn until we depend
8720           on a GLib version we know to be safe.
8721           Update documentation as well.
8722           Closes bug #391278.
8723
8724 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8725
8726         * tools/gst-inspect.c: (main):
8727         * tools/gst-launch.c: (main):
8728         * tools/gst-typefind.c: (main):
8729         * tools/gst-xmlinspect.c: (main):
8730           Call g_thread_init() really really early, before any other GLib
8731           function (see #342564 and recent discussion on gtk-devel-list).
8732
8733 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8734
8735         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
8736
8737         * gst/gst_private.h:
8738         * gst/gstconfig.h.in:
8739         * gst/gstinfo.h:
8740           On win32, all the __declspec stuff for symbol exporting is
8741           apparently only needed with MSVC, but doesn't work with MingW.
8742           Fixes compilation with MingW and #391909.
8743
8744 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8745
8746         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
8747           Change some GST_ERROR_OBJECT that aren't really errors to
8748           GST_WARNING_OBJECT in order to reduce terminal spam.
8749
8750 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
8751
8752         * tests/check/Makefile.am:
8753           disable test again, as there seem to be still race problems
8754
8755 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
8756
8757         * tests/check/Makefile.am:
8758         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8759         (GST_START_TEST), (queue_suite):
8760           enable queue test again, add tests for the leaky behaviour
8761
8762 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
8763
8764         * configure.ac:
8765         * tests/examples/Makefile.am:
8766           Compile adapter test/example only if the required headers are
8767           available (fixes #391915).
8768
8769 2007-01-01  David Schleef  <ds@schleef.org>
8770
8771         * gst/gstplugin.c:
8772           Restore the previous signal handler for SIGSEGV instead of
8773           setting to default, since we may have stolen it away from
8774           someone.  (i.e., Mono)
8775
8776 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
8777
8778         * docs/random/draft-missing-plugins.txt:
8779           Some small additions and clarifications.
8780
8781 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
8782
8783         * gst/gstregistryxml.c: (gst_registry_save_escaped):
8784           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
8785           since that can lead to random memory corruptions and crashes
8786           (may or may not be related to #383244, #386711, and #386711).
8787
8788 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8789
8790         * tests/check/.cvsignore:
8791         * tests/check/Makefile.am:
8792           sync .cvsignome and CLEANFILES
8793
8794 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8795
8796         * tests/check/Makefile.am:
8797           fix distcheck
8798
8799 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8800
8801         * docs/design/part-states.txt:
8802           two tiny additional comments
8803         
8804         * gst/gststructure.c:
8805           doc fixing
8806
8807         * tests/check/Makefile.am:
8808         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8809         (GST_START_TEST):
8810           disable test for now, unless it gets fixed
8811
8812 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8813
8814         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8815         (GST_START_TEST):
8816           fix race in underrun test
8817
8818 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8819
8820         * tests/check/elements/.cvsignore:
8821           ignore more
8822
8823         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8824         (GST_START_TEST):
8825           try to narrow test failure
8826
8827 2006-12-21  David Schleef  <ds@schleef.org>
8828
8829         * plugins/elements/gstfakesrc.c:
8830           Use g_random_int_range(), since it produces better random
8831           numbers in a range than almost-correct floating point code.
8832
8833 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8834
8835         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8836         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8837         (gst_check_teardown_sink_pad):
8838           do not automatically (de)activate pads
8839
8840         * tests/check/Makefile.am:
8841         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8842         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
8843           add new, yet simple tests for queue
8844
8845         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
8846         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
8847         * tests/check/elements/filesrc.c: (cleanup_filesrc),
8848         (GST_START_TEST):
8849         * tests/check/elements/identity.c: (cleanup_identity):
8850           consistent pad (de)activation
8851
8852 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
8853
8854         Patch by: Sebastian Dröge  <slomo ubuntu com>
8855
8856         * libs/gst/base/gstcollectpads.c:
8857           Fix two doc typos (#387866).
8858
8859 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
8860
8861         * docs/manual/advanced-dparams.xml:
8862           Fix typo (g_object_control_properties() doesn't exist).
8863
8864 2006-12-19  Edward Hervey  <edward@fluendo.com>
8865
8866         * gst/gstsegment.c: (gst_segment_set_seek):
8867         Fine tune the cases where the segment start/stop values are really
8868         updated.
8869         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8870         Add tests for the return values of gst_segment_set_seek().
8871
8872 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
8873
8874         * gst/gst.c:
8875           Docs typo fix.
8876
8877         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8878         (gst_queue_init):
8879           Fix incorrect documentation and flesh it out a bit more.
8880           Set default values for the max properties on the GParamSpec as well,
8881           so it shows up correctly in gst-inspect.
8882
8883 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
8884
8885         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
8886           Correct docs of queue, add more detail and crosslink it more.
8887
8888 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8889
8890         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8891           Print additional debug info when the stream isn't perfectly
8892           timestamped; don't try to use invalid durations.
8893
8894 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8895
8896         * docs/design/Makefile.am:
8897           Dist new design docs.
8898
8899 2006-12-16  Wim Taymans  <wim@fluendo.com>
8900
8901         Patch by: Sjoerd Simons <sjoerd at luon dot net>
8902
8903         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
8904         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8905         (gst_collect_pads_stop), (gst_collect_pads_event),
8906         (gst_collect_pads_chain):
8907         * libs/gst/base/gstcollectpads.h:
8908         Add refcounting to the collectpads data so we can track when it's safe
8909         to free the data. Fixes #383382.
8910
8911 2006-12-15  Wim Taymans  <wim@fluendo.com>
8912
8913         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8914         (gst_collect_pads_remove_pad):
8915         Automatically activate/deactivate pads when they are added to a
8916         started/stoped collectpads.
8917
8918 2006-12-15  Wim Taymans  <wim@fluendo.com>
8919
8920         * gst/gstelement.c: (gst_element_add_pad):
8921         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8922         * gst/gstpad.c: (gst_pad_init):
8923         Set pads to FLUSHING when they are created. Check, warn and fix when a
8924         demuxer adds an inactive pad to itself when running. Fixes #339326.
8925
8926 2006-12-15  Wim Taymans  <wim@fluendo.com>
8927
8928         * gst/gstelement.c: (gst_element_class_init),
8929         (gst_element_default_send_event), (gst_element_send_event),
8930         (gst_element_default_query), (gst_element_query):
8931         Expose default element send_event and query handling as vmethods that
8932         subclasses can chain up to.
8933
8934 2006-12-15  Wim Taymans  <wim@fluendo.com>
8935
8936         * gst/gstelement.c: (gst_element_set_state_func):
8937         Small documentation fixes.
8938
8939 2006-12-15  Wim Taymans  <wim@fluendo.com>
8940
8941         * docs/design/draft-latency.txt:
8942         Checked in draft for handling latency in pipelines.
8943
8944 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8945
8946         * Makefile.am:
8947         * gstreamer.doap:
8948         * gstreamer.spec.in:
8949           adding .doap file
8950
8951 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
8952
8953         * gst/gst.c: (init_pre), (init_post):
8954           init_pre() and init_post() might be called via our GOptionGroup or
8955           from gst_init(), and we should skip both of them if we've already
8956           been initialised, otherwise we will init some things twice or add
8957           two default log functions.
8958
8959 2006-12-13  Edward Hervey  <edward@fluendo.com>
8960
8961         * docs/manual/basics-bus.xml:
8962         No, gst_main_loop does not exist. Its g_main_loop.
8963         Discovered by somebody who abused the copy-paste technique of coding :)
8964
8965 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
8966
8967         * gst/gstghostpad.c:
8968           Log ghostpad debug stuff to the GST_PADS category as well rather
8969           than just to the default category.
8970
8971 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
8972
8973         * configure.ac:
8974         * gst/gst.c: (init_pre):
8975           Add some basic system details such as OS and architecture
8976           to the debug output if possible, courtesy of uname().
8977
8978 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
8979
8980         * docs/gst/running.xml:
8981           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
8982           environment variables.
8983
8984 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
8985
8986         * tests/check/gst/gstbin.c: (GST_START_TEST):
8987         It is acceptable to have a refcount of 2 or 3 at this point in the
8988         test, because the pipeline might be just posting its state_change
8989         message. The next line then waits for that message to appear using
8990         bus_poll, so that should be fine too.
8991
8992 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
8993
8994         * gst/gst.c: (ensure_current_registry_forking):
8995         Ignore EINTR when reading from the child registry pipe.
8996         Explicitly ignore the return value from close, since it makes no
8997         difference.
8998
8999         * gst/gstminiobject.c: (gst_mini_object_ref),
9000         (gst_mini_object_unref):
9001         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
9002
9003         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
9004         When removing cached plugins, remove their features too, so they're
9005         not visible after they've disappeared.
9006
9007         * gst/gstutils.c: (prepare_link_maybe_ghosting):
9008         In the unlikely case that we are linking pads with no parents, don't
9009         crash trying to get the non-existent parent bin.
9010
9011         * gst/parse/grammar.y:
9012         Output debug in the PIPELINE category
9013
9014 2005-03-08  Wim Taymans  <wim@fluendo.com>
9015
9016         Patch by: René Stadler <mail at renestadler dot de>
9017
9018         * gst/gstclock.c: (gst_clock_new_periodic_id):
9019         Reject invalid clock times for interval of periodic ids.
9020         Fixes ##383506.
9021
9022 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9023
9024         * gst/gstelementfactory.c: (gst_element_factory_create):
9025         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9026         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9027         * tools/gst-inspect.c: (print_element_info):
9028         Fix refcounting of gst_plugin_feature_load to match the docs. 
9029         Fixes: #380129
9030
9031 2006-12-07  Wim Taymans  <wim@fluendo.com>
9032
9033         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
9034         (gst_base_sink_get_position):
9035         Improve debugging of events.
9036
9037 2006-12-07  Wim Taymans  <wim@fluendo.com>
9038
9039         Patch by: René Stadler <mail at renestadler dot de>
9040
9041         * gst/gstclock.c: (gst_clock_id_wait):
9042         Make period ids add the interval to the origial requested time instead
9043         of the possibly updated time which can be wrong when there are multiple
9044         waiters for the same id. Fixes #382592.
9045
9046         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
9047         (gst_system_clock_id_wait_jitter_unlocked),
9048         (gst_system_clock_id_wait_jitter):
9049         Fix restart in the async notify thread when an async entry is added to
9050         the front of the list. Fixes #381492. 
9051
9052         * tests/check/gst/gstsystemclock.c: (store_callback),
9053         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
9054         Added test for multiple async waits.
9055         Added test for async wait order.
9056
9057 2006-12-07  Wim Taymans  <wim@fluendo.com>
9058
9059         * gst/gstbin.c: (gst_bin_query):
9060         Add some more docs about the POSITION query.
9061
9062 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9063
9064         * configure.ac:
9065         Bump version nano - back to CVS.
9066
9067 === release 0.10.11 ===
9068
9069 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
9070
9071         * configure.ac:
9072           releasing 0.10.11, "Love never runs on time"
9073
9074 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
9075
9076         * win32/common/libgstbase.def:
9077         * win32/common/libgstreamer.def:
9078         * win32/vs8/libgstbase.vcproj:
9079         * win32/vs8/libgstcoreelements.vcproj:
9080         * win32/vs8/libgstreamer.vcproj:
9081         Fix compilation on win32 under VS8
9082         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9083         Partially fixes #381175
9084
9085 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
9086
9087         * gst/gstvalue.c: (gst_value_compare_fraction):
9088         If someone is foolish enough to compare 2 fractions with denominator =
9089         0, return UNORDERED rather than aborting.
9090
9091 2006-11-28  Edward Hervey  <edward@fluendo.com>
9092
9093         * libs/gst/base/Makefile.am:
9094         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
9095         (gst_data_queue_base_init), (gst_data_queue_class_init),
9096         (gst_data_queue_init), (gst_data_queue_new),
9097         (gst_data_queue_cleanup), (gst_data_queue_finalize),
9098         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
9099         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
9100         (gst_data_queue_is_empty), (gst_data_queue_is_full),
9101         (gst_data_queue_set_flushing), (gst_data_queue_push),
9102         (gst_data_queue_pop), (gst_data_queue_drop_head),
9103         (gst_data_queue_set_property), (gst_data_queue_get_property):
9104         * libs/gst/base/gstdataqueue.h:
9105         New GstDataQueue object for threadsafe queueing. Most useful for
9106         elements that need some queueing functionnality.
9107         * docs/libs/gstreamer-libs-docs.sgml:
9108         * docs/libs/gstreamer-libs-sections.txt:
9109         Insert documentation for GstDataQueue
9110         * plugins/elements/Makefile.am:
9111         * plugins/elements/gstelements.c:
9112         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
9113         (gst_multi_queue_class_init), (gst_multi_queue_init),
9114         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
9115         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
9116         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
9117         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
9118         (gst_multi_queue_loop), (gst_multi_queue_chain),
9119         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
9120         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
9121         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
9122         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
9123         (wake_up_next_non_linked), (compute_next_non_linked),
9124         (single_queue_overrun_cb), (single_queue_underrun_cb),
9125         (single_queue_check_full), (gst_single_queue_new):
9126         * plugins/elements/gstmultiqueue.h:
9127         New multiqueue element, using GstDataQueue. Used for queuing multiple
9128         streams.
9129         Closes #344639 and #347785
9130
9131 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
9132
9133         * docs/pwg/advanced-types.xml:
9134           add more missing type details
9135
9136         * tools/gst-run.c: (main):
9137           remove unused variable
9138
9139 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
9140
9141         * docs/libs/Makefile.am:
9142         * docs/libs/gstreamer-libs.types:
9143           add types of base classes to enable gobject specific stuff in the docs
9144
9145         * docs/random/ensonic/embedded.txt:
9146           more ideas about isolating platform specific things
9147
9148 2006-11-20  Wim Taymans  <wim@fluendo.com>
9149
9150         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
9151
9152         * libs/gst/check/gstcheck.h:
9153         Fix compilation and running against 0.9.4. Fixes #377332.
9154
9155 2006-11-20  Wim Taymans  <wim@fluendo.com>
9156
9157         * gst/gstsegment.c: (gst_segment_set_seek),
9158         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
9159         (gst_segment_to_running_time):
9160         Fix boundary checking in to_running_time() and to_stream_time().
9161         Fixes #377183.
9162
9163         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9164         stream and running time can now be calculated for the complete
9165         clipped segment.
9166
9167 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
9168
9169         * gst/gstpad.c: (gst_pad_push_event):
9170           Can't access event structure after giving away ownership of
9171           the event.
9172
9173 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
9174
9175         * docs/random/ensonic/embedded.txt:
9176         * docs/random/ensonic/profiling.txt:
9177         * docs/random/ensonic/receipies.txt:
9178           more thinking
9179
9180 2006-11-13  Wim Taymans  <wim@fluendo.com>
9181
9182         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9183
9184         * gst/gstpad.c:
9185         Fix documentation for gst_pad_dispatcher. Fixes #374475.
9186
9187 2006-11-13  Wim Taymans  <wim@fluendo.com>
9188
9189         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
9190
9191         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9192         Store new length in segment duration so we don't keep on calling the
9193         potentially expensize get_size() call. Fixes #370865.
9194
9195 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
9196
9197         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
9198
9199         * win32/common/libgstreamer.def:
9200           Add two missing symbols (#366492).
9201
9202 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
9203
9204         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
9205         (gst_adapter_take_buffer):
9206         Fix format string to use all its arguments.
9207         Remove useless >= check on a guint
9208
9209 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9210
9211         * tests/examples/adapter/.cvsignore:
9212         Ignore build file as commanded by the build-bot
9213
9214 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9215
9216         * tests/examples/adapter/Makefile.am:
9217         * tests/examples/adapter/adapter_test.c: (run_test_take),
9218         (run_test_take_buffer), (run_tests), (main):
9219
9220         Add new files from the previous commit
9221
9222 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9223
9224         * Makefile.am:
9225         * configure.ac:
9226         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
9227         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
9228         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
9229         * libs/gst/base/gstadapter.h:
9230         * tests/check/libs/adapter.c: (create_and_fill_adapter),
9231         (GST_START_TEST), (gst_adapter_suite):
9232         * tests/examples/Makefile.am:
9233         Do some optimisation work in GstAdapter to avoid copies in more cases.
9234         It could still do slightly better by merging buffers when
9235         gst_buffer_is_span_fast is true, but is already faster. 
9236
9237         Also, avoid traversing a single-linked list to append each incoming 
9238         buffer inside the adapter.
9239
9240         Add simple test app that times the adapter behaviour in different
9241         situations, and extend the unit test to check that bytes enter and
9242         exit the adapter in their original order.
9243
9244 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9245
9246         * docs/random/draft-missing-plugins.txt:
9247           Update: use element message instead of adding a new message
9248           type to the core; don't provide GStreamer API to initiate the
9249           plugin download, just provide API to compose the strings needed
9250           and let an external libgimmestuff handle the rest.
9251
9252 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
9253
9254         * tools/gst-inspect.c: (print_element_properties_info):
9255         Print a string instead of 'unknown type' for GValueArray properties
9256
9257 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
9258
9259         * docs/random/draft-missing-plugins.txt:
9260         More small fixes.
9261
9262 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9263
9264         * tests/examples/typefind/typefind.c: (type_found), (main):
9265           Make typefind element example work again (#371894); add a
9266           license header.
9267
9268 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9269
9270         * docs/random/draft-missing-plugins.txt:
9271           Commit initial draft about how to deal with missing plugins,
9272           needs work (API too).
9273
9274 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
9275
9276         * docs/pwg/advanced-types.xml:
9277           documents the new caps elements (see #363118)
9278
9279 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9280
9281         * gst/gstplugin.c: (gst_plugin_load_file):
9282         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
9283         (gst_file_src_map_region), (gst_file_src_start):
9284         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
9285         (gst_file_index_commit):
9286           Use g_strerror() instead of strerror() - we want UTF-8.
9287
9288 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9289
9290         Patch by: Peter Kjellerstedt <pkj at axis com>
9291
9292         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9293           Another printf fix (#371493).
9294
9295 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9296
9297         * tests/check/gst/gsttag.c:
9298           relicence (okay with author=company)
9299
9300 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9301
9302         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9303         (gst_pad_push_event):
9304           Enhance debug and improve docs
9305         
9306         * gst/gsturi.c:
9307           Fix docs
9308
9309 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9310
9311         * docs/random/ensonic/distributed.txt:
9312         * docs/random/ensonic/profiling.txt:
9313           more ideas
9314
9315 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9316
9317         * docs/gst/gstreamer-sections.txt:
9318           add new API and fix the build
9319           
9320         * gst/gstbin.c: (gst_bin_recalc_state):
9321         * gst/gstelement.c: (gst_element_message_full),
9322         (gst_element_get_state_func), (gst_element_set_state_func):
9323           use new API and improve logging
9324         
9325         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9326         * gst/gstutils.h:
9327           API: add function to get StateChangereturn names to improve logs 
9328
9329 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9330
9331         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9332           I'm considering shooting the next person to put strerror stuff
9333           in the translateable part of the message.
9334
9335 2006-11-03  Wim Taymans  <wim@fluendo.com>
9336
9337         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9338         Get the type and printf conversion specifiers right.
9339
9340 2006-11-03  Wim Taymans  <wim@fluendo.com>
9341
9342         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9343
9344         * gst/gstpad.c: (gst_pad_init), (pre_activate),
9345         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
9346         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
9347         Some small cleanups. Improve debugging.
9348         * gst/gstpad.h:
9349         Signal all waiting threads with a broadcast instead of just one.
9350         Fixes #369942.
9351
9352 2006-11-03  Wim Taymans  <wim@fluendo.com>
9353
9354         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
9355         (gst_fd_src_create):
9356         Add some debugging. 
9357         Only update fd when it's different from the old.
9358
9359 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9360
9361         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
9362           Printf fixes for PPC/OSX, take two (#369366).
9363
9364 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9365
9366         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
9367
9368         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9369         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9370         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
9371           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
9372           don't cast to long long for portability reasons, but use
9373           GLib's types instead.
9374
9375 2006-10-30  Michael Smith  <msmith@fluendo.com>
9376
9377         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
9378           Get the arguments to lseek() the right way around.
9379           Fixes 367677.
9380
9381 2006-10-30  Wim Taymans  <wim@fluendo.com>
9382
9383         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
9384
9385         * gst/gstinfo.h:
9386         _declspec should be __declspec (two underscores, not one). Fixes 366572.
9387
9388 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9389
9390         Patch by: Kjartan Maraas  <kmaraas at gnome org>
9391
9392         * docs/design/part-MT-refcounting.txt:
9393         * docs/random/wtay/capsnego2-docs:
9394         * gst/gstclock.c:
9395         * gst/gstxml.c:
9396           Typo fixes (#366212).
9397
9398 2006-10-28  Wim Taymans  <wim@fluendo.com>
9399
9400         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9401
9402         * gst/gst.c:
9403         * win32/common/libgstbase.def:
9404         * win32/common/libgstreamer.def:
9405         * win32/vs8/libgstbase.vcproj:
9406         * win32/vs8/libgstcontroller.vcproj:
9407         Add needed entries in .def files.
9408         Use HAVE_UNISTD_H.
9409         Rearrange def files in vs8 solutions. Fixes #366286.
9410
9411 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9412
9413         * win32/common/gstconfig.h:
9414           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
9415           hand-made win32 gstconfig.h. Fixes #366321.
9416
9417 2006-10-27  Wim Taymans  <wim@fluendo.com>
9418
9419         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
9420         (gst_ghost_pad_new_full):
9421         Make acceptcaps return TRUE when we don't have a target, just like
9422         setcaps does.
9423
9424 2006-10-27  Wim Taymans  <wim@fluendo.com>
9425
9426         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9427         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
9428
9429 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
9430
9431         * gst/gststructure.c: (gst_structure_id_set_value):
9432           If someone tries to set a non-UTF8 string field on a structure,
9433           don't just print a warning, but also ignore the request and do
9434           not change/add that field to the structure.
9435
9436         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9437           Test for the above.
9438
9439 2006-10-25  David Schleef  <ds@schleef.org>
9440
9441         * gst/gstinfo.c:
9442           g_hash_table_insert() needs a cast to a non-const pointer duh.
9443
9444 2006-10-25  David Schleef  <ds@schleef.org>
9445
9446         * gst/gstinfo.c:
9447         * gst/gstinfo.h:
9448           Change name parameter of _gst_debug_register_funcptr to const
9449           to reflect the constness of its use in the function as well
9450           as to quiet a gcc warning.
9451
9452 2006-10-25  Edward Hervey  <edward@fluendo.com>
9453
9454         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9455         Don't push the buffer if it's empty.
9456         Closes #363095
9457
9458 2006-10-24  Wim Taymans  <wim@fluendo.com>
9459
9460         * gst/gstevent.h:
9461         Add small comment.
9462
9463         * libs/gst/base/gstbasetransform.c:
9464         (gst_base_transform_sink_eventfunc):
9465         Debug segment values *after* updating them as this is more
9466         interesting.
9467
9468 2006-10-23  Wim Taymans  <wim@fluendo.com>
9469
9470         * docs/design/part-events.txt:
9471         Update some docs.
9472
9473         * docs/design/part-block.txt:
9474         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9475         (gst_pad_push_event):
9476         Revert BLOCKING patch, it tries to be smart without really having a
9477         clear idea what or how. So, now we discard all FLUSHING events again on
9478         a blocking pad. Should fix gnonlin again.
9479
9480 2006-10-23  Wim Taymans  <wim@fluendo.com>
9481
9482         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9483
9484         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9485         (gst_base_src_start), (gst_base_src_activate_push):
9486         Make sure size is always initialized. Fixes #364388.
9487
9488 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
9489
9490         * docs/random/ensonic/distributed.txt:
9491           add some ideas about doing distributed processing
9492
9493         * docs/random/ensonic/profiling.txt:
9494           get_rusage look promising
9495
9496 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9497
9498         * docs/manual/basics-helloworld.xml:
9499           Add a cast in example to fix compile warning
9500
9501 2006-10-18  Wim Taymans  <wim@fluendo.com>
9502
9503         * gst/gstsegment.c: (gst_segment_set_last_stop),
9504         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9505         Relax arg checking again, -1 is allowed.
9506
9507 2006-10-18  Wim Taymans  <wim@fluendo.com>
9508
9509         * gst/gstsegment.c: (gst_segment_set_last_stop),
9510         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9511         _set_last_stop() must be with a value != -1
9512         A _TYPE_SET to -1 means seek to 0.
9513         Calc last_stop correctly for negative rates.
9514         Make sure we work with positive durations when updating a segment.
9515
9516 2006-10-18  Wim Taymans  <wim@fluendo.com>
9517
9518         * docs/design/part-live-source.txt:
9519         * gst/gstclock.h:
9520         Small docs fixes.
9521
9522 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
9523
9524         * gst/gstbuffer.h:
9525           Add an explicit cast to GstBuffer** to keep old code that added an
9526           explicit cast to GstMiniObject** for gst_mini_object_replace()
9527           compiling without warning.
9528
9529 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9530
9531         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
9532           check for validity of dates
9533
9534 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9535
9536         * docs/gst/gstreamer-sections.txt:
9537           Forgot this one, makes gtk-doc shut up.
9538
9539 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9540
9541         Patch by: Peter Kjellerstedt <pkj at axis com>
9542
9543         * gst/gstobject.h:
9544           Don't define xmlNodePtr to gpointer if the core was built with
9545           --disable-loadsave and --disable-registry, this will break
9546           applications that want to use libxml2 but are buildling against a
9547           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
9548           instead so we don't have to mess with the libxml2 namespace
9549           (#361675).
9550
9551 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9552
9553         * gst/gstbuffer.h:
9554           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
9555           type-punned pointer warnings.
9556
9557 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
9558
9559         * gst/gstelement.h:
9560           Add casts to the correct return type to state <=> state transition
9561           macros.
9562
9563 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
9564
9565         * docs/design/part-live-source.txt:
9566           describe howto handle latency
9567         
9568         * docs/random/ensonic/profiling.txt:
9569           more ideas
9570
9571         * tools/gst-plot-timeline.py:
9572           fix log parsing for solaris, remove unused function
9573
9574 2006-10-16  Wim Taymans  <wim@fluendo.com>
9575
9576         * docs/design/part-trickmodes.txt:
9577         * gst/gstevent.c:
9578         Update some docs regarding reverse playback.
9579
9580 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9581
9582         Patch by: Marcus Granado  <mrc dot gran at gmail com>
9583
9584         * win32/vs8/grammar.vcproj:
9585           Error out with a warning if glib-genmarshal.exe is not in path,
9586           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
9587
9588 2006-10-13  Wim Taymans  <wim@fluendo.com>
9589
9590         * gst/gstsegment.c: (gst_segment_set_seek):
9591         When seeking to stop -1, set last_stop (current position) to the
9592         duration of the segment.
9593
9594 2006-10-13  Wim Taymans  <wim@fluendo.com>
9595
9596         * gst/gstelement.h:
9597         Clarify _NO_PREROLL a bit more.
9598
9599         * gst/gstevent.c:
9600         Fix docs.
9601
9602         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
9603         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
9604         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
9605         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
9606         due to wrong locking order. Fixes #361769.
9607         Remove some redundant/misplaced checks in pad_block.
9608
9609         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9610         For negative rates, count backwards from the duration.
9611
9612 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9613
9614         * gst/gsterror.c: (_gst_library_errors_init):
9615           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
9616           up with something better).
9617
9618 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9619
9620         * win32/vs6/libgstreamer.dsp:
9621         * win32/vs7/libgstreamer.vcproj:
9622         * win32/vs8/libgstreamer.vcproj:
9623           Don't reference glib-compat.c which is currently not used and not
9624           disted; add gstquark.c which was recently added. Fixes #361730.
9625
9626 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9627
9628         * win32/common/libgstbase.def:
9629         * win32/common/libgstcontroller.def:
9630         * win32/common/libgstreamer.def:
9631           Add gst_caps_merge() and a bunch of other recently-added functions.
9632           Fixes #361732.
9633
9634 2006-10-11  Wim Taymans  <wim@fluendo.com>
9635
9636         * docs/plugins/gstreamer-plugins.args:
9637         * docs/plugins/inspect/plugin-coreelements.xml:
9638         * docs/plugins/inspect/plugin-coreindexers.xml:
9639         Update element args.
9640
9641         * gst/gstsystemclock.c:
9642         Small comment update.
9643
9644         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
9645         (gst_tee_request_new_pad), (gst_tee_release_pad),
9646         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
9647         (gst_tee_sink_activate_pull):
9648         * plugins/elements/gsttee.h:
9649         Some tee loving:
9650         Add default property defines.
9651         Implement release pad function.
9652         Give properties better blubs etc.
9653         Activate pads before adding them to a running tee.
9654         Do simple buffer_alloc on the first requested pad.
9655         Post error when activation fails.
9656
9657 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
9658
9659         * gst/gst.c: (ensure_current_registry_forking):
9660           Check return value of write() to make compiler happy.
9661
9662 2006-10-11  Wim Taymans  <wim@fluendo.com>
9663
9664         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9665
9666         * plugins/elements/gstqueue.c: (gst_queue_chain):
9667         Recheck queue filledness after signalling the overrun when we're about
9668         to leak downstream because we released the lock when emitting the signal
9669         and the queue could be empty again. Fixes #352345.
9670
9671 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
9672
9673         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
9674           Fix refcounting here too, just like we did for _new_valist() a few
9675           days ago (#357180) (thanks to René Stadler). Also remove all those
9676           'Since: 0.9' from the gtk-doc blobs.
9677
9678         * tests/check/libs/controller.c: (controller_refcount_new_list),
9679         (gst_controller_suite):
9680           Unit test for the above.
9681
9682 2006-10-10  Wim Taymans  <wim@fluendo.com>
9683
9684         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
9685
9686         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
9687         (gst_pad_save_thyself):
9688         Update some docs.
9689         Write pad direction in XML output. Fixes #345496.
9690
9691 2006-10-10  Wim Taymans  <wim@fluendo.com>
9692
9693         Patch by: René Stadler <mail at renestadler dot de>
9694
9695         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9696         (gst_controller_new_list), (_gst_controller_dispose),
9697         (_gst_controller_finalize), (_gst_controller_class_init):
9698         Take ref to controlled object so that it cannot disappear. 
9699         Fixes #357432.
9700
9701 2006-10-10  Wim Taymans  <wim@fluendo.com>
9702
9703         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9704         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9705         (gst_check_teardown_sink_pad):
9706         Activate/deactivate pads in setup/teardown respectively.
9707
9708 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9709
9710         Patch by: Josep Torra Valles <josep@fluendo.com>
9711
9712         * gst/Makefile.am:
9713         Cast values when making gstenumtypes.h.  This pacifies Forte
9714         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
9715         in the enumeration.
9716
9717 2006-10-09  Wim Taymans  <wim@fluendo.com>
9718
9719         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
9720         Rename some more @cur to @start to fix docs. 
9721
9722         * gst/gstsegment.c: (gst_segment_set_seek):
9723         Fix typo.
9724         time and start must always stay in sync as defined in design doc.
9725
9726         * gst/gsttaglist.c: (gst_tag_list_is_empty):
9727         Rename param to fix docs.
9728
9729         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9730         Check that start and time are in sync.
9731
9732         * tests/check/pipelines/parse-launch.c:
9733         (gst_parse_test_element_change_state):
9734         Activate pad before adding to the element.
9735
9736 2006-10-09  Wim Taymans  <wim@fluendo.com>
9737
9738         * docs/design/part-qos.txt:
9739         Fix typo.
9740
9741         * gst/gstevent.c:
9742         * gst/gstevent.h:
9743         Update seek event docs regarding negative rates.
9744         Rename @cur to @start. 
9745
9746         * gst/gstsegment.c: (gst_segment_set_seek):
9747         * gst/gstsegment.h:
9748         Update set_seek docs regarding negative rates.
9749         Correctly update last_stop to @stop when dealing with negative
9750         rates.
9751         Rename @cur to @start. 
9752
9753         * tests/check/gst/gstpad.c: (GST_START_TEST):
9754         Activate pads before trying to use them.
9755
9756         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9757         (gst_segment_suite):
9758         Add simple check for segments and negative rates.
9759
9760 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9761
9762         * gst/gsttaglist.c: (gst_tag_list_is_empty):
9763         * gst/gsttaglist.h:
9764         * docs/gst/gstreamer-sections.txt:
9765           API: add gst_tag_list_is_empty() (#360467).
9766
9767         * tests/check/gst/gsttag.c: (GST_START_TEST):
9768           And a test case.
9769
9770 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9771
9772         * gst/gstmessage.h:
9773         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
9774         a value that doesn't fit on enumeration.
9775
9776 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9777
9778         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9779         Remove local debugging system and use Gstreamer's instead.
9780
9781 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9782
9783         Patch by: Josep Torra Valles <josep@fluendo.com>
9784
9785         * common/m4/gst-error.m4:
9786         Disable warning of statement not reached on Forte.
9787         * gst/gstmessage.h:
9788         Fix warning on Forte (value doesn't fit on enumeration).
9789         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
9790         Fix warning on Forte (value doesn't fit on enumeration).
9791         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9792         DEBUG macro says it takes minimum of 2 args and so Forte
9793         complains about the use with just 1 arg.
9794         * plugins/elements/gstfdsink.c:
9795         * plugins/elements/gstfdsrc.c:
9796         * plugins/elements/gstfilesink.c:
9797         * plugins/elements/gstfilesrc.c:
9798         Use correct return type for the uri handler implementations.
9799
9800         All these fix warnings in Forte.  Fixes bug #360860.
9801
9802 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9803
9804         * gst/gstelement.h:
9805           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
9806           format string, so don't use G_GNUC_PRINTF for those versions.
9807
9808 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
9809
9810         * gst/gsttaglist.c: (gst_is_tag_list):
9811         * gst/gsttaglist.h:
9812           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
9813
9814         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9815           Small test for the above.
9816
9817 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
9818
9819         * gst/gsttaglist.h:
9820           Less tabs, more spaces.
9821
9822 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
9823
9824         * gst/gstinfo.h:
9825           Those two function declarations do actually belong there, revert
9826           commit from yesterday that turned them intro macros.
9827
9828 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9829
9830         Patch by: Josep Torra Valles <josep@fluendo.com>
9831
9832         * gst/gst.c: (gst_init_get_option_group):
9833         Fix empty declaration and type mismatch.
9834         * gst/gstbin.c: (gst_bin_change_state_func):
9835         Fix type mismatch.
9836         * gst/gstelement.c: (gst_element_continue_state),
9837         (gst_element_set_state_func), (gst_element_change_state),
9838         (gst_element_change_state_func):
9839         Fix type mismatches.
9840         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
9841         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
9842         Cast as appropriate.
9843         * gst/gstobject.c: (gst_class_signal_connect):
9844         Cast as appropriate.  The function pointer parameter really
9845         has the wrong type but would break API if we change it.
9846         * gst/gstquery.c:
9847         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
9848         order of including string.h.
9849         * gst/gstutils.c: (gst_element_state_get_name):
9850         Remove unreachable line.
9851         * gst/gstxml.c: (gst_xml_parse_doc):
9852         Fix type mismatch.
9853         All these caught by Forte.
9854
9855 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9856
9857         Patch by: Josep Torra Valles <josep@fluendo.com>
9858
9859         * common/m4/gst-error.m4:
9860         Fixed bug #360151.
9861         We need to disable warnings on Forte for empty declarations
9862         due to gst-indent adding ;s to lines that just use macros
9863         where the macro actually doesn't need a ; at end to end
9864         statement.
9865
9866 2006-10-06  Wim Taymans  <wim@fluendo.com>
9867
9868         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
9869         (gst_file_sink_close_file), (gst_file_sink_event),
9870         (gst_file_sink_render):
9871         Add some FIXME for the NEWSEGMENT handling.
9872
9873 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9874
9875         * gst/parse/grammar.y:
9876         Remove static function gst_parse_element_lock as all it does
9877         is return.  Looks like cruft from 0.8.
9878
9879 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9880
9881         Patch by: Josep Torra Valles <josep@fluendo.com>
9882
9883         * common/m4/gst-error.m4:
9884         * configure.ac:
9885         * libs/gst/net/Makefile.am:
9886         Fix a compilation issue with Forte on Solaris.  inet_aton is in
9887         libresolv.
9888
9889 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
9890
9891         * gst/gstpad.c: (pre_activate):
9892         * gst/gstregistry.c: (gst_registry_scan_path_level):
9893         * gst/gstregistryxml.c: (load_plugin):
9894         * libs/gst/controller/gstcontroller.c:
9895         (gst_controlled_property_set_interpolation_mode):
9896         * libs/gst/dataprotocol/dataprotocol.c:
9897         (gst_dp_packet_from_event_1_0):
9898         * libs/gst/net/gstnetclientclock.c:
9899         (gst_net_client_clock_observe_times):
9900         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9901           Printf fixes.
9902
9903 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
9904
9905         * configure.ac:
9906         * docs/gst/gstreamer-sections.txt:
9907         * gst/gstconfig.h.in:
9908         * gst/gstelement.h:
9909         * gst/gstinfo.h:
9910           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
9911           whether we can use G_GNUC_PRINTF in other header files and at
9912           least check the printf format/arguments of debug messages and
9913           GST_ELEMENT_ERROR messages when the printf extension is not
9914           being used.
9915           Replace more tabs with spaces in gstinfo.h and remove two spurious
9916           function declarations in GST_DISABLE_DEBUG part with macros.
9917
9918 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
9919
9920         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
9921           More docs for the sync-message signal (mention that it is not
9922           emitted by default); log message structures of messages posted on
9923           the bus as well.
9924
9925 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
9926
9927         * gst/gst.c: (ensure_current_registry_forking):
9928         Use a pipe pair to receive status results from the forked child, and
9929         ignore the result from waitpid. Fixes #355499
9930
9931 2006-10-02  Wim Taymans  <wim@fluendo.com>
9932
9933         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9934         (gst_ghost_pad_suite):
9935         Fix leak in check.
9936
9937 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9938
9939         * gst/gstpad.c:
9940           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
9941
9942 2006-10-02  Edward Hervey  <edward@fluendo.com>
9943
9944         * docs/design/part-block.txt:
9945         Further explain the use of flushing on blocked pads.
9946         * docs/gst/gstreamer-sections.txt:
9947         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9948         (gst_pad_push_event):
9949         * gst/gstpad.h:
9950         Added new GstPadFlag : GST_PAD_BLOCKING.
9951         Adds the notion of pads really blocking, which enables to properly
9952         handle FLUSH_START/FLUSH_STOP events on blocked pads.
9953         Fixes #358999
9954         API: gst_pad_is_blocking()
9955         API: GST_PAD_IS_BLOCKING() macro
9956         API: GST_PAD_BLOCKING GstPadFlag
9957         
9958 2006-10-02  Wim Taymans  <wim@fluendo.com>
9959
9960         Patch by: mrcgran <mrc.gran at gmail dot com>
9961
9962         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
9963         Filter the proxied caps against the padtemplate if we have one.
9964
9965         * gst/gstquery.c: (gst_query_new_segment):
9966         Add include for gstinfo.h so that compilation with
9967         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
9968
9969 2006-10-02  Wim Taymans  <wim@fluendo.com>
9970
9971         Patch by: Alessandro Decina  <alessandro at nnva org>
9972
9973         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
9974         (gst_file_sink_set_location), (gst_file_sink_open_file),
9975         (gst_file_sink_close_file), (gst_file_sink_event),
9976         (gst_file_sink_render):
9977         Set file to NULL when closing filesink so that we can set a new filename
9978         in READY. Fixes #358613.
9979
9980 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9981
9982         Patch by: Alessandro Decina  <alessandro at nnva org>
9983
9984         * gst/gstevent.c: (_gst_event_copy):
9985           Fix gst_mini_object_make_writable() and gst_event_copy() for events
9986           with event structures by setting the parent refcount address of the
9987           copied structure to the address of the refcount member of the newly
9988           copied event rather than the address of the refcount member of the
9989           original event. Fixes #358737.
9990
9991         * tests/check/gst/gstevent.c: (GST_START_TEST):
9992           Unit test for the above.
9993
9994 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
9995
9996         * docs/design/Makefile.am:
9997           Dist some more files.
9998
9999 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10000
10001         * tests/check/libs/controller.c: (GST_START_TEST),
10002         (gst_controller_suite):
10003           Add test for the previous fix; add some more tests
10004           for correct refcounting behaviour; fix a few leaks
10005           in test cases; call gst_controller_init() at start
10006           of all tests.
10007
10008 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10009
10010         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10011         (gst_controller_set_from_list):
10012           Don't g_return_val_if_fail() on timed values with invalid timestamps
10013           inside a critical section without unlocking the mutex. Spotted by
10014           René Stadler. (#357617)
10015           Also, fix up refcounting properly: when returning an existing
10016           controller, we should increase the reference only once and not
10017           once per property and when trying to control a property again
10018           we should also increase the refcount.
10019
10020 2006-09-29  Wim Taymans  <wim@fluendo.com>
10021
10022         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10023         * libs/gst/net/gstnettimeprovider.c:
10024         (gst_net_time_provider_thread):
10025         Stop reading commands when EOF as well.
10026
10027         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
10028         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
10029         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10030         Unify description of the dump property.
10031
10032 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10033
10034         * tests/examples/manual/.cvsignore:
10035         OK, so it's actually cvsignore that needs changing. Stop laughing.
10036
10037 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10038
10039         * tests/examples/manual/Makefile.am:
10040         Gah, declare vars *before* using them
10041
10042 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10043
10044         * gst/gst.c: (init_pre), (scan_and_update_registry),
10045         (ensure_current_registry_nonforking),
10046         (ensure_current_registry_forking), (ensure_current_registry),
10047         (init_post), (gst_debug_help), (gst_deinit):
10048         * gst/gst_private.h:
10049         * gst/gstregistry.c: (gst_registry_finalize),
10050         (gst_registry_remove_features_for_plugin_unlocked),
10051         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10052         (gst_registry_scan_path),
10053         (_priv_gst_registry_remove_cache_plugins),
10054         (_priv_gst_registry_cleanup):
10055         * gst/gstregistry.h:
10056         Re-commit the registry changes, along with an extra fix:
10057           When a cached plugin is encountered at a different file path,
10058           update the stored path in the registry cache so that the parent
10059           process knows where it actually is now when it re-reads the registry
10060           cache. Fixes the thing that broke distcheck with the previous commit.
10061
10062         * tests/check/Makefile.am:
10063         Clean up files named 'core' too when running make clean.
10064
10065         * tests/examples/manual/Makefile.am:
10066         Set up a registry path for running these tests, and clean it properly
10067         for distcheck.
10068
10069 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10070
10071         * configure.ac:
10072         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
10073         want gmodule-no-export-2.0.pc instead so that we don't drag in
10074         --export-dynamic on every project that links to GStreamer.
10075
10076         Also, make our export regex only match the start of symbols, rather 
10077         than any symbol that contains '_gst' somewhere.
10078
10079         * libs/gst/check/Makefile.am:
10080         The libgstcheck we build does however need export-dynamic, as it
10081         produces some symbols that don't match our _gst... style regex.
10082         Fixes: #318031
10083
10084 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10085
10086         * gst/gst.c: (init_pre), (scan_and_update_registry),
10087         (ensure_current_registry_nonforking),
10088         (ensure_current_registry_forking), (ensure_current_registry),
10089         (init_post), (gst_debug_help), (gst_deinit):
10090         * gst/gst_private.h:
10091         * gst/gstregistry.c: (gst_registry_finalize),
10092         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10093         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
10094         (_gst_registry_cleanup):
10095         * gst/gstregistry.h:
10096           Revert previous change until I figure out why it breaks distcheck.
10097
10098 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10099
10100         * gst/gst.c: (init_pre), (scan_and_update_registry),
10101         (ensure_current_registry_nonforking),
10102         (ensure_current_registry_forking), (ensure_current_registry),
10103         (init_post), (gst_debug_help), (gst_deinit):
10104
10105           Make init_pre and init_post take the full complement of GOptionFunc
10106           args so they can return useful GErrors. Make the registry updating
10107           functions do so.
10108
10109           Call _priv_gst_registry_remove_cache_plugins after scanning files to
10110           ensure that the registry we're about to write out doesn't contain
10111           stale information about old-deleted plugin files.
10112
10113           Make _priv_gst_registry_remove_cache_plugins return a boolean so
10114           that deletion of plugin files is considered a registry change.
10115
10116         * gst/gst_private.h:
10117         * gst/gstregistry.c: (gst_registry_finalize),
10118         (gst_registry_remove_features_for_plugin_unlocked),
10119         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10120         (gst_registry_scan_path),
10121         (_priv_gst_registry_remove_cache_plugins),
10122         (_priv_gst_registry_cleanup):
10123         * gst/gstregistry.h:
10124         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
10125         by adding _priv prefix, so that they won't appear in the global
10126         symbol table. They still do atm though because of #318031. Move the
10127         prototypes to gst_private.h
10128
10129         When removing a plugin, remove all features for that plugin too. 
10130         Fixes #340878.
10131
10132 2006-09-27  Wim Taymans  <wim@fluendo.com>
10133
10134         * docs/random/moving-plugins:
10135         Make it clear that the "compiled-in descriptions" really mean
10136         the element details.
10137
10138         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10139         (gst_base_sink_wait_preroll):
10140         Update docs.
10141
10142         * docs/libs/gstreamer-libs-sections.txt:
10143         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10144         (gst_base_src_get_range), (gst_base_src_activate_push):
10145         * libs/gst/base/gstbasesrc.h:
10146         Added function to block while waiting for PLAYING, this function
10147         is used by live sources that block on the clock.
10148         API: gst_base_src_wait_playing()
10149
10150 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10151
10152         Patch by: Peter Kjellerstedt <pkj at axis com>
10153
10154         * Makefile.am:
10155           gst-element-check.m4 is generated and should therefore be
10156           copied from the build dir rather than the source dir (#357593).
10157           'make distcheck' hasn't noticed this because we were disting
10158           the file as well, so stop doing that.
10159
10160 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10161
10162         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10163           Add some tests for gst_caps_intersect().
10164
10165         * tools/gst-launch.c: (event_loop):
10166           Print all buffering percentages we get, even the 100% one.
10167
10168 2006-09-26  Wim Taymans  <wim@fluendo.com>
10169
10170         * tools/gst-inspect.c: (print_element_properties_info),
10171         (print_signal_info):
10172         Fix printing of flags to match the look of enums.
10173
10174 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10175
10176         * gst/gstelementfactory.c:
10177           Fix typo in docs blurb.
10178
10179 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10180
10181         * gst/gsturi.c: (search_by_entry):
10182           Don't assert/crash here if a uri handler doesn't return any
10183           supported protocols. The list of protocols could be generated
10184           dynamically at runtime or at plugin registration, and an error
10185           in the underlying library shouldn't be fatal (#353301).
10186
10187 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10188
10189         * gst/gstinfo.c:
10190           Fix warning if HAVE_PRINTF_EXTENSION is undefined
10191           (spotted by Peter Kjellerstedt).
10192
10193 2006-09-23  Wim Taymans  <wim@fluendo.com>
10194
10195         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
10196
10197         * libs/gst/base/gstbasesrc.c:
10198         (gst_base_src_default_check_get_range), (gst_base_src_start),
10199         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10200         (gst_base_src_change_state):
10201         Match _start/_stop calls in the activate functions. Remove redundant
10202         _stop call from the state change function. Fixes #356910.
10203         Turn failure DEBUG into ERROR. 
10204
10205 2006-09-22  Wim Taymans  <wim@fluendo.com>
10206
10207         * docs/design/part-buffering.txt:
10208         * gst/gstmessage.c: (gst_message_new_buffering),
10209         (gst_message_parse_buffering):
10210         Update docs about buffering.
10211
10212         * docs/design/part-trickmodes.txt:
10213         Fix typo.
10214
10215 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
10216
10217         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10218         (gst_controller_new_list):
10219           Ref instances when returning them again (fixes #357180)
10220
10221 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10222
10223         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
10224           Don't forget to release proxy lock when there's an error.
10225
10226 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
10227
10228         * gst/gstcaps.h:
10229           Add extra initialisers for Caps things, to fix some plugin warnings
10230           when using -Wextra
10231
10232 2006-09-18  Wim Taymans  <wim@fluendo.com>
10233
10234         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10235           Also set template on the internal pad so that a getcaps from the 
10236           target pad returns the template caps.
10237
10238 2006-09-18  Wim Taymans  <wim@fluendo.com>
10239
10240         * gst/gstelement.c: (gst_element_post_message),
10241         (gst_element_dispose):
10242         Use _DEBUG_OBJECT some more.
10243
10244         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10245         Avoid typechecks.
10246
10247         * tools/gst-launch.c: (main):
10248         If the toplevel element is not a GstPipeline, it must be put in a
10249         pipeline so that a bus and clock is selected.
10250
10251 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10252
10253         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10254           JITTER, RATE, and LATENCY query should be handled by the
10255           default case and not by the CONVERT query code.
10256
10257 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10258
10259         * gst/gstformat.c: (gst_format_register):
10260           Fix locking order (must take lock before using n_values).
10261
10262         * gst/gstvalue.c: (gst_value_serialize_enum),
10263         (gst_value_deserialize_enum_iter_cmp),
10264         (gst_value_deserialize_enum):
10265           Fix serialisation/deserialisation of custom registered GstFormats.
10266
10267         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10268           Unit test for custom format serialisation/deserialisation.
10269
10270 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
10271
10272         * docs/pwg/building-boiler.xml:
10273         * plugins/elements/gstcapsfilter.c:
10274         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
10275         section.
10276
10277 2006-09-16  Edward Hervey  <edward@fluendo.com>
10278
10279         * libs/gst/base/gstbasetransform.c:
10280         (gst_base_transform_buffer_alloc):
10281         Check if requested caps are the same as the sinks caps IF
10282         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
10283         is FALSE.
10284         This fixes the renegotiation issues stated in #352827.
10285
10286 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10287
10288         * configure.ac:
10289         * docs/manual/advanced-autoplugging.xml:
10290         * tests/examples/Makefile.am:
10291         * tests/examples/manual/.cvsignore:
10292         * tests/examples/manual/Makefile.am:
10293         * tests/examples/manual/extract.pl:
10294           Extract the manual examples again like we used to do.
10295           Fix one of them.
10296
10297 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10298
10299         * win32/common/config.h:
10300           update for version
10301
10302 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
10303
10304         * gst/gsterror.c:
10305           Documents how to receive errors.
10306
10307 2006-09-15  Wim Taymans  <wim@fluendo.com>
10308
10309         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
10310         (event_loop), (main):
10311         Added some comments here and there.
10312         Post an application message when an interrupt is caught instead of doing
10313         an uncontrolled state change.
10314         Clean up the event loop.
10315         Handle buffering messages, pause/resume the pipeline.
10316         Make shutdown because of an interrupt more reliable.
10317
10318 2006-09-15  Wim Taymans  <wim@fluendo.com>
10319
10320         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10321         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
10322         (gst_base_sink_preroll_object):
10323         Make sure that our internal state is correct when we commit our state
10324         asynchronously. This solves a race where a state change to PLAYING
10325         could cause the sink to remain blocked in preroll in some situations.
10326
10327 2006-09-15  Wim Taymans  <wim@fluendo.com>
10328
10329         * tools/gst-inspect.c: (print_element_properties_info),
10330         (print_signal_info):
10331         List flags as hex so it's easier to deal with.
10332
10333 2006-09-15  Wim Taymans  <wim@fluendo.com>
10334
10335         * docs/libs/gstreamer-libs-sections.txt:
10336         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
10337         (gst_base_sink_do_sync):
10338         * libs/gst/base/gstbasesink.h:
10339         Expose logic to wait for preroll so that subclasses such as audiosink
10340         can also use this method.
10341         API: gst_base_sink_wait_preroll()
10342
10343 2006-09-15  Wim Taymans  <wim@fluendo.com>
10344
10345         * gst/gstobject.c: (gst_object_set_parent):
10346         * gst/gstpipeline.c: (do_pipeline_seek):
10347         Small cleanups in docs and code.
10348
10349         * gst/gstsegment.c: (gst_segment_clip):
10350         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10351         if stop == start and start is in the segment, no clipping should be
10352         done. Also add a test for this.
10353
10354 2006-09-15  Wim Taymans  <wim@fluendo.com>
10355
10356         * docs/design/part-buffering.txt:
10357         * docs/gst/gstreamer-sections.txt:
10358         * gst/gstmessage.c: (gst_message_new_buffering),
10359         (gst_message_parse_buffering):
10360         * gst/gstmessage.h:
10361         Added methods to create and parse BUFFERING messages.
10362         Added preliminary docs about buffering.
10363         API: gst_message_new_buffering
10364         API: gst_message_parse_buffering
10365
10366 2006-09-06  Wim Taymans  <wim@fluendo.com>
10367
10368         * gst/gstbin.c:
10369         Update documentation.
10370
10371         * gst/gstelement.c: (gst_element_class_init),
10372         (gst_element_release_request_pad), (gst_element_set_clock),
10373         (gst_element_get_index), (gst_element_add_pad),
10374         (gst_element_remove_pad), (gst_element_get_random_pad),
10375         (gst_element_send_event), (gst_element_get_query_types),
10376         (gst_element_query), (gst_element_post_message),
10377         (gst_element_message_full), (gst_element_continue_state),
10378         (gst_element_lost_state), (gst_element_save_thyself),
10379         (gst_element_restore_thyself):
10380         Documentation updates.
10381         Rename last bit of the new-pad -> pad-added signal rename.
10382         Fix the case where an element query would only work if the source
10383         pad was linked.
10384         Avoid some useless type checking in message handling.
10385
10386         * gst/gstevent.c:
10387         * gst/gstevent.h:
10388         * gst/gstutils.c:
10389         Documentation updates.
10390
10391 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10394           add an INFO line for when we actually update the fd
10395
10396 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10397
10398         * configure.ac:
10399           back to TRUNK
10400
10401 === release 0.10.10 ===
10402
10403 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
10404
10405         * configure.ac:
10406           releasing 0.10.10, "Pais"
10407
10408 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
10409
10410         * docs/manual/advanced-position.xml:
10411           Fix typo in sample code.
10412
10413 2006-09-05  Wim Taymans  <wim@fluendo.com>
10414
10415         * libs/gst/net/gstnetclientclock.c: (inet_aton),
10416         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
10417         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
10418         * libs/gst/net/gstnetclientclock.h:
10419         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10420         * libs/gst/net/gstnettimepacket.h:
10421         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
10422         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
10423         (gst_net_time_provider_thread), (gst_net_time_provider_new):
10424         * libs/gst/net/gstnettimeprovider.h:
10425         Make stuff compile on windows. Fixes #345295.
10426
10427 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10428
10429         * gst/gst.c: (ensure_current_registry_forking):
10430           Print better details when child was terminated by signal.
10431
10432 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10433
10434         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
10435           Print a warning rather than g_assert() if a plugin feature
10436           is a URI handler but returns no protocols (#353976).
10437
10438 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
10439
10440         * docs/random/moving-plugins:
10441         Fix two typos.         
10442
10443 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10444
10445         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
10446           Fix locking order, handle NULL function values properly.
10447
10448         * gst/gstinfo.h:
10449           Fix docs.
10450
10451         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
10452           Initialise variable before using it and fix debug statement to
10453           print the address of the function rather than the address of the
10454           variable on the stack holding the address of the function.
10455
10456 2006-09-01  Wim Taymans  <wim@fluendo.com>
10457
10458         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
10459         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
10460         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10461         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
10462         (gst_ghost_pad_parent_unset),
10463         (gst_ghost_pad_internal_do_activate_push),
10464         (gst_ghost_pad_internal_do_activate_pull),
10465         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10466         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10467         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10468         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
10469         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
10470         (gst_ghost_pad_new_no_target_from_template),
10471         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10472         More cleanups.
10473         Avoid needless typechecking in macros.
10474         Since the internal pad is always present and never changes, there is
10475         no need to locking or ref when retrieving it.
10476         Improve debugging a bit.
10477         Handle link errors when setting the target. Fixes #341029.
10478
10479 2006-09-01  Wim Taymans  <wim@fluendo.com>
10480
10481         * docs/libs/gstreamer-libs-sections.txt:
10482         * docs/plugins/gstreamer-plugins-sections.txt:
10483         Fix docs some more.
10484
10485         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10486         (gst_collect_pads_event):
10487         * libs/gst/base/gstcollectpads.h:
10488         Documentation updates.
10489         Free queued buffer when removing a pad.
10490
10491 2006-08-31  Michael Smith  <msmith@fluendo.com>
10492
10493         * gst/gstutils.c: (gst_element_link_pads),
10494         (gst_element_link_pads_filtered):
10495           Ensure that we set a capsfilter to NULL if we failed to link it
10496           when doing filtered linking, to avoid criticals.
10497
10498           No need to check for unreffing srcpad, which is explicly NULLed
10499           above (a trivial code cleanup).
10500
10501 2006-08-31  Wim Taymans  <wim@fluendo.com>
10502
10503         * docs/design/part-gstghostpad.txt:
10504         Update ascii art in documentation.
10505
10506         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
10507         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
10508         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10509         (gst_ghost_pad_internal_do_activate_push),
10510         (gst_ghost_pad_internal_do_activate_pull),
10511         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10512         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10513         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
10514         (gst_ghost_pad_set_target):
10515         Small cleanups and leak fixes.
10516         Remove some checks now that the internal pad is never NULL.
10517         Fix the case where linking pads without a target would create nasty
10518         criticals. Fixes #341029.
10519         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
10520         value of _set_target().
10521
10522         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10523         (gst_ghost_pad_suite):
10524         Some more tests for creating and linking untargeted ghostpads.
10525
10526 2006-08-31  Edward Hervey  <edward@fluendo.com>
10527
10528         * docs/gst/gstreamer-sections.txt:
10529         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
10530         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10531         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
10532         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
10533         (gst_ghost_pad_new_from_template),
10534         (gst_ghost_pad_new_no_target_from_template):
10535         * gst/gstghostpad.h:
10536         Refactored *_new() functions.
10537         Templates are now used as a g_object_new() parameter.
10538         Use template in _do_getcaps() if we don't have a target.
10539         Small documentation cleanups.
10540         Added two new constructors:
10541         gst_ghost_pad_new_from_template()
10542         gst_ghost_pad_new_no_target_from_template()
10543         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10544         (gst_ghost_pad_suite):
10545         Added tests for new ghostpad instanciation functions.
10546
10547         API additions: gst_ghost_pad_new_from_template,
10548         gst_ghost_pad_new_no_target_from_template
10549
10550 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
10551
10552         * docs/random/ensonic/profiling.txt:
10553           Ideas about qos profiling.
10554
10555 2006-08-29  Wim Taymans  <wim@fluendo.com>
10556
10557         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
10558         Code cleanups.
10559         Fix memleak.
10560
10561 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
10562
10563         * gst/gstxml.c:
10564           Improve and detypofy docs.
10565
10566         * tests/check/Makefile.am:
10567         * tests/check/gst/.cvsignore:
10568         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
10569           Add a basic test suite for GstXML.
10570
10571 2006-08-29  Wim Taymans  <wim@fluendo.com>
10572
10573         * gst/gstelement.c: (activate_pads), (clear_caps),
10574         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10575         Clear the pad caps when the element shut down all of the pads and
10576         is not streaming data that could modify the caps. 
10577         Fixes #352958.
10578
10579 2006-08-28  Michael Smith  <msmith@fluendo.com>
10580
10581         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10582           Revert previous change; I misunderstood single-segment mode.
10583
10584 2006-08-28  Michael Smith  <msmith@fluendo.com>
10585
10586         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10587           Unset DISCONT on buffers when using single-segment mode.
10588
10589 2006-08-28  Wim Taymans  <wim@fluendo.com>
10590
10591         * gst/gstcaps.c: (gst_caps_merge_structure):
10592         * gst/gstcaps.h:
10593         Fix docs and indentation again.
10594
10595         * tests/check/gst/gstquery.c: (GST_START_TEST):
10596         Fix leak in tests and add some more tests.
10597
10598 2006-08-28  Edward Hervey  <edward@fluendo.com>
10599
10600         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10601         Inform GstSegment of the last stop position in order for the current
10602         segment to have a proper duration if it doesn't have a specific stop
10603         position from which a duration could be calculated.
10604         This bug was noticeable when a non-flushing, non-update new segment was
10605         followed by another segment (all buffers from the new segment were being
10606         dropped).
10607
10608 2006-08-28  Wim Taymans  <wim@fluendo.com>
10609
10610         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10611         Small comment update.
10612
10613         * plugins/elements/gstidentity.c: (gst_identity_class_init),
10614         (gst_identity_transform_ip):
10615         Drop-probability is broken, mention this in the code with a 
10616         FIXME and also in the property description.
10617         Make silent also be silent about the drop messages.
10618
10619 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
10620
10621         * docs/manual/appendix-win32.xml:
10622           Remove mention of popt, we don't depend on that any
10623           longer (#353136). Add some comments pointing out that
10624           this section is slightly outdated.
10625
10626 2006-08-28  Wim Taymans  <wim@fluendo.com>
10627
10628         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10629
10630         * gst/gstquery.c: (gst_query_new_segment):
10631         * tests/check/gst/gstquery.c: (GST_START_TEST):
10632         Initialize variables when creating a new segment query.
10633         Fixes #353121.
10634
10635 2006-08-28  Wim Taymans  <wim@fluendo.com>
10636
10637         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10638
10639         * gst/gstelement.c: (gst_element_get_bus):
10640         * tests/check/gst/gstelement.c: (GST_START_TEST):
10641         Check for NULL before _reffing the bus. Fixes #353122.
10642
10643 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
10644
10645         * docs/manual/basics-bus.xml:
10646           Docs update: fix wrong callback return value explanation; add
10647           some lines about the implicit relationship between main loop
10648           and main context; remove duplicate main loop variable declaration.
10649
10650 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
10651
10652         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10653           Don't leak caps in unit test; add a few more simple
10654           checks. 
10655
10656 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
10657
10658         * docs/gst/gstreamer-sections.txt:
10659         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
10660         (gst_caps_structure_is_subset), (gst_caps_merge),
10661         (gst_caps_merge_structure):
10662         * gst/gstcaps.h:
10663         * libs/gst/base/gstbasetransform.c:
10664         (gst_base_transform_transform_caps):
10665         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10666           implement caps merging (fixes #352580)
10667
10668 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
10669
10670         * tools/Makefile.am:
10671         * tools/gst-plot-timeline.py:
10672           add debug-log plotting developer tool (#340674)
10673
10674 2006-08-23  Wim Taymans  <wim@fluendo.com>
10675
10676         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
10677         (gst_pad_stop_task):
10678         Improve debugging for task functions.
10679
10680         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
10681         (gst_task_start), (gst_task_pause), (gst_task_join):
10682         Make sure that the task function started and finished after a 
10683         join(). 
10684         Don't try to push the task function on the threadpool multiple
10685         times.
10686         Improve the g_warning message with some useful suggestions
10687         about how to fix the problem. 
10688
10689 2006-08-23  Wim Taymans  <wim@fluendo.com>
10690
10691         * gst/gstutils.c: (gst_pad_proxy_getcaps):
10692         Handle RESYNC correctly in _proxy_getcaps.
10693
10694 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
10695
10696         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
10697         (gst_xml_parse_memory), (gst_xml_get_element):
10698           Chain up to parent class in dispose function and also
10699           unref the elements in the toplevel_elements GList.
10700           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
10701           Always return a reference in gst_xml_get_element() rather
10702           than only sometimes.
10703
10704         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10705           Don't leak GstXml object.
10706
10707 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
10708
10709         * docs/gst/gstreamer-sections.txt:
10710         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
10711         (gst_caps_merge):
10712         * gst/gstcaps.h:
10713         * libs/gst/base/gstbasetransform.c:
10714         (gst_base_transform_transform_caps):
10715           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
10716           in a better way
10717
10718 2006-08-21  Edward Hervey  <edward@fluendo.com>
10719
10720         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
10721         Implement GObject::dispose virtual method in GstXML so we can free the
10722         top_elements GList.
10723
10724 2006-08-21  Wim Taymans  <wim@fluendo.com>
10725
10726         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
10727         (gst_buffer_create_sub):
10728         Copy duration/offset_end/caps when creating a subbuffer of the
10729         complete parent.
10730         Make the subbuffer read-only when we make the metadata writable for
10731         now. Fixes #351768.
10732
10733         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10734         Added check for metadata copy when creating subbuffers.
10735
10736 2006-08-21  Edward Hervey  <edward@fluendo.com>
10737
10738         * libs/gst/base/gstbasetransform.c:
10739         (gst_base_transform_buffer_alloc):
10740         Only call downstream buffer_alloc if transform element is passthrough
10741         or always_in_place. Closes #350449.
10742
10743 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10744
10745         * ChangeLog:
10746           ChangeLog surgery to add comments to previous changes
10747
10748 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10749
10750         * gst/gst.c:
10751           Add comments
10752
10753         * gst/gstpad.c: (gst_pad_set_active):
10754           Be more verbose in the log
10755
10756         * libs/gst/base/gstbasetransform.c:
10757         (gst_base_transform_transform_caps):
10758           Simplify caps to get rid of duplicates, fixes #345444
10759
10760 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10761
10762         * gst/gstvalue.c:
10763         * gst/gstvalue.h:
10764           Use these optimizations only internally.
10765
10766 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10767
10768         * gst/gstvalue.c: (gst_value_compare_list),
10769         (gst_value_compare_fraction_range),
10770         (gst_value_intersect_fraction_fraction_range),
10771         (gst_value_intersect_fraction_range_fraction_range),
10772         (gst_value_subtract_fraction_fraction_range),
10773         (gst_value_subtract_fraction_range_fraction_range),
10774         (gst_value_get_compare_func), (gst_value_compare),
10775         (gst_value_compare_with_func):
10776         * gst/gstvalue.h:
10777           Saves the expensive lookup of the compare function in many cases
10778          (#345444)
10779
10780 2006-08-18  Edward Hervey  <edward@fluendo.com>
10781
10782         * tests/check/gst/gstinfo.c: (gst_info_suite):
10783         Disable test that require gstdebug if it wasn't built in core.
10784
10785 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
10786
10787         * docs/random/ensonic/logging.txt:
10788           update ideas
10789           
10790         * gst/gstinfo.c: (gst_debug_log_default):
10791           reorder fields, save some columns, add optional color codes for log
10792           levels
10793
10794 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
10795
10796         * docs/random/ensonic/logging.txt:
10797           add ideas about making the logs a bit more useful
10798
10799 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
10800
10801         * docs/pwg/advanced-events.xml:
10802         * docs/pwg/titlepage.xml:
10803           Update for 0.10 API (#340627). Add myself
10804           to authors list.
10805
10806 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
10807
10808         * docs/libs/gstreamer-libs-docs.sgml:
10809         * docs/libs/gstreamer-libs-sections.txt:
10810         * libs/gst/check/gstbufferstraw.c:
10811           Make gstcheck stuff show up in docs (still needs to
10812           be documented properly though).
10813
10814 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
10815
10816         * docs/gst/gstreamer-sections.txt:
10817         * gst/Makefile.am:
10818         * gst/gst.c: (init_post):
10819         * gst/gst_private.h:
10820         * gst/gstquark.c: (_priv_gst_quarks_initialize):
10821         * gst/gstquark.h:
10822         * gst/gstquery.c: (gst_query_new_position),
10823         (gst_query_set_position), (gst_query_parse_position),
10824         (gst_query_new_duration), (gst_query_set_duration),
10825         (gst_query_parse_duration), (gst_query_new_convert),
10826         (gst_query_set_convert), (gst_query_parse_convert),
10827         (gst_query_new_segment), (gst_query_set_segment),
10828         (gst_query_parse_segment), (gst_query_new_seeking),
10829         (gst_query_set_seeking), (gst_query_parse_seeking):
10830         Add internal helpers for pre-registering quarks from static strings
10831         and using the quark values directly instead of looking them up when
10832         creating and parsing queries. Can be used for event construction too.
10833         Closes #350432.
10834
10835 2006-08-16  Wim Taymans  <wim@fluendo.com>
10836
10837         * gst/gstbin.c:
10838         Fix bogus docs.
10839
10840 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10841
10842         * gst/gstutils.c: (gst_util_set_value_from_string):
10843           Fix memleak (#351502).
10844
10845         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10846           Add unit test for most of gst_util_set_value_from_string()
10847           (not that one would want to encourage use of this function).
10848
10849 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10850
10851         * libs/gst/check/gstcheck.h:
10852           Use const gchar * variables in fail_unless_equals_string
10853           macro to avoid compiler warnings (and don't use tabs for
10854           indenting).
10855
10856 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10857
10858         * tools/gst-launch.c: (print_tag):
10859           More space on the left for the tag names, to cater
10860           for the 'extended comment' tag (not touching the
10861           string for the first line since it's translated).
10862
10863 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10864
10865         * libs/gst/check/gstcheck.h:
10866           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
10867           print something when they fail.
10868
10869 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10870
10871         * docs/gst/gstreamer-sections.txt:
10872         * gst/gsttaglist.c: (_gst_tag_initialize):
10873         * gst/gsttaglist.h:
10874           API: add GST_TAG_EXTENDED_COMMENT (#350935).
10875           Also change merge function for GST_TAG_COMMENT to
10876           use_first.
10877
10878 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10879
10880         * gst/gstinfo.c: (gst_debug_print_object):
10881           Make GST_PTR_FORMAT print messages as well.
10882
10883         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
10884         (GST_START_TEST), (gst_info_suite):
10885           More tests.
10886
10887 2006-08-14  Edward Hervey  <edward@fluendo.com>
10888
10889         * gst/gstelementfactory.c: (gst_element_register):
10890         If the GstElementClass doesn't have a GstElementDetails with all fields
10891         filled up correctly (longname, description AND author), then error out
10892         nicely instead of crashing.
10893
10894 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10895
10896         * gst/gststructure.c:
10897           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
10898
10899         * gst/gstvalue.h:
10900           Expand on the difference between arrays and lists as we use them.
10901           
10902 2006-08-14  Wim Taymans  <wim@fluendo.com>
10903
10904         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
10905         If the parent state change function failed, don't assume we can safely
10906         stop the source, this will be done when the pads are deactivated.
10907
10908 2006-08-14  Wim Taymans  <wim@fluendo.com>
10909
10910         * gst/gstbuffer.c:
10911         * gst/gsttask.c: (gst_task_join):
10912         Small doc updates.
10913
10914         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10915         (gst_pad_stop_task):
10916         When pad (de)activation failed for some reason, restore the old
10917         activation mode and set the pad to flushing instead of assuming the
10918         pad is deactivated.
10919         If the _task_join() failed, reinstall the task on the pad so that it can
10920         be stopped later and return an error.
10921
10922 2006-08-11  Andy Wingo  <wingo@pobox.com>
10923
10924         * configure.ac:
10925         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10926         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
10927         is only for users of API that don't want to see deprecated
10928         functions in the headers; people that want to compile out
10929         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
10930         CFLAGS. Fixes the build of multifdsink, or will soon..
10931
10932 2006-08-11  Wim Taymans  <wim@fluendo.com>
10933
10934         * docs/gst/gstreamer-sections.txt:
10935         Add GstClockClass vmethod docs.
10936
10937         * gst/gstcaps.h:
10938         Mark #endif with comment for associated #if
10939
10940         * gst/gstclock.c: (gst_clock_id_wait):
10941         * gst/gstclock.h:
10942         Add vmethod wait_jitter to avoid an unneeded _get_time() for
10943         most clock implementations.
10944         Document vmethods.
10945         Flesh out docs about resolution methods.
10946         API: GstClockClass::wait_jitter
10947
10948         * gst/gstsystemclock.c: (gst_system_clock_class_init),
10949         (gst_system_clock_async_thread),
10950         (gst_system_clock_id_wait_jitter_unlocked),
10951         (gst_system_clock_id_wait_jitter):
10952         Use base class wait_jitter variant for improved performance
10953         due to less clock polling.
10954
10955 2006-08-11  Edward Hervey  <edward@fluendo.com>
10956
10957         * gst/gst.c: (gst_init_check), (init_post):
10958         Set gst as being initialized before scanning/updating the registry,
10959         since there might be my python plugin loader that calls gst_init() and
10960         we don't want to loop back in.
10961         Closes #350879
10962
10963 2006-08-11  Wim Taymans  <wim@fluendo.com>
10964
10965         * docs/design/part-qos.txt:
10966         Bring docs in line with the code. Mostly the sign of the jitter was
10967         wrong in the docs. Fixes #349943.
10968
10969         * gst/gstclock.c:
10970         Fix the docs for the jitter.
10971
10972         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
10973         (gst_event_parse_tag), (gst_event_new_buffer_size),
10974         (gst_event_parse_buffer_size), (gst_event_parse_qos),
10975         (gst_event_new_seek), (gst_event_parse_seek),
10976         (gst_event_new_navigation):
10977         Make sure the GstStructure has no parent when creating custom
10978         events.
10979         Add some more argument checking so that we avoid 0.0 rates.
10980         Flesh out the docs for the QoS event some more.
10981
10982 2006-08-11  Wim Taymans  <wim@fluendo.com>
10983
10984         * docs/gst/gstreamer-sections.txt:
10985         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10986         (ensure_current_registry_forking), (ensure_current_registry),
10987         (parse_one_option), (parse_goption_arg), (gst_deinit),
10988         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
10989         * gst/gst.h:
10990         Doc updates.
10991         Added API and command line option to disable registry forking in
10992         addition to the environment variable.
10993         Constify some static arrays.
10994         Added some more debug.
10995         Don't deinit twice.
10996         API: gst_registry_fork_is_enabled()
10997         API: gst_registry_fork_set_enabled()
10998         API: --gst-disable-registry-fork command line option
10999         Fixes #348918.
11000
11001 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
11002
11003         * gst/gst.c: (gst_init):
11004           Fix typo in error message.
11005
11006 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11007
11008         * libs/gst/controller/gstcontroller.h:
11009           fix ABI size-correction
11010
11011         * tests/check/libs/gdp.c: (gst_dp_suite):
11012           make tests that use deprecated API conditional
11013
11014 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11015
11016         * docs/libs/gstreamer-libs-sections.txt:
11017         * libs/gst/controller/gstcontroller.c:
11018         (_gst_controller_get_property), (_gst_controller_set_property),
11019         (_gst_controller_init), (_gst_controller_class_init):
11020         * libs/gst/controller/gstcontroller.h:
11021         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
11022         (gst_object_set_control_rate):
11023           API: add gst_object_{s,g}et_control_rate(), add private data section,
11024           fix docs
11025
11026         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11027         * libs/gst/dataprotocol/dataprotocol.h:
11028           add deprecation guards to make gtk-doc happy and allow disabling cruft
11029
11030 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11031
11032         * tests/check/Makefile.am:
11033         * tests/check/gst/.cvsignore:
11034           Let's enable the new unit test as well.
11035
11036 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11037
11038         * configure.ac:
11039         * docs/gst/gstreamer-sections.txt:
11040         * gst/gstconfig.h.in:
11041         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
11042         (_gst_info_printf_extension_ptr),
11043         (_gst_info_printf_extension_segment):
11044           API: add GST_SEGMENT_FORMAT, which is a printf extension we
11045           register that lets us easily dump GstSegments into debug
11046           logs (#350419).
11047
11048         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
11049         (info_segment_format_printf_extension), (gst_info_suite):
11050           Add simple unit test that logs a bunch of different segments (not
11051           valgrinded at the moment because of leaks in
11052           gst_debug_add_log_function).
11053
11054 2006-08-09  Edward Hervey  <edward@fluendo.com>
11055
11056         * libs/gst/base/gstbasetransform.c:
11057         (gst_base_transform_buffer_alloc):
11058         Even if we can't figure out the proper format to request downstream,
11059         call buffer_alloc() downstream with the input parameters without setting
11060         the caps on the srcpad. This will force negotiation in the chain
11061         function.
11062         Closes #350449
11063
11064 2006-08-08  Edward Hervey  <edward@fluendo.com>
11065
11066         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11067         Unlinking from a pad without a target is now a perfectly valid case
11068         which should NOT raise an assertion.
11069         This case would happen if a linked ghostpad its target set to NULL after
11070         it was previously linked.
11071
11072 2006-08-08  Edward Hervey  <edward@fluendo.com>
11073
11074         * tests/check/libs/gdp.c:
11075         Also comment out the test (see below).
11076
11077 2006-08-08  Edward Hervey  <edward@fluendo.com>
11078
11079         * tests/check/libs/gdp.c: (gst_dp_suite):
11080         Use the architecture information from config.h and not gcc macros
11081         in order to properly disable a test that fails on PPC64.
11082
11083 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
11084
11085         * gst/gstelement.c: (gst_element_remove_pad):
11086           Don't crash printing the warning if the pad has no parent.
11087
11088 2006-08-02  Wim Taymans  <wim@fluendo.com>
11089
11090         * libs/gst/dataprotocol/dataprotocol.c:
11091         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11092         (gst_dp_crc), (gst_dp_header_payload_length),
11093         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
11094         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
11095         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
11096         (gst_dp_event_from_packet), (gst_dp_validate_header),
11097         (gst_dp_validate_payload):
11098         Make debug category static
11099         Constify the crc table.
11100         Do some more arg checking in public functions.
11101         Fix some docs and do some small cleanups.
11102
11103         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
11104         Add some more checks to see if GDP deals with bogus input.
11105
11106 2006-07-31  Wim Taymans  <wim@fluendo.com>
11107
11108         * gst/gstvalue.c: (gst_value_compare_list):
11109         Fix GstValueList comparison code. Fixes #347293.
11110
11111         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11112         Check to test GstValueList comparison.
11113
11114 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11115
11116         * gst/gstelementfactory.c: (gst_element_factory_create):
11117         Remove unnecessary ref/unref pair
11118
11119         * gst/parse/grammar.y:
11120         Make sure to free the parse buffer on all code paths.
11121         Move a g_free up to the error handler where it's easier to see.
11122
11123         * tests/check/gst/gstevent.c: (test_event):
11124         Extending timeout for downstream travelling events to 10 seconds to
11125         hopefully avoid intermittent failure on the buildbots.
11126
11127         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
11128         Don't manually set the state of the src element - it will happen as a
11129         natural consequence of the pipeline changing state, and that way it
11130         will do it in the right order too.
11131
11132 2006-07-31  Wim Taymans  <wim@fluendo.com>
11133
11134         * libs/gst/base/gstbasetransform.c:
11135         (gst_base_transform_buffer_alloc):
11136         Use OBJECT_LOCK and refcounting to get the pad caps in the
11137         buffer_alloc function because the caps could change while we are
11138         busy with them. Fixes #349105
11139
11140 2006-07-31  Wim Taymans  <wim@fluendo.com>
11141
11142         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
11143         Protect _PAD_CAPS with OBJECT_LOCK.
11144
11145 2006-07-31  Wim Taymans  <wim@fluendo.com>
11146
11147         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11148         (gst_pad_get_property), (gst_pad_activate_pull),
11149         (gst_pad_activate_push), (gst_pad_set_blocked_async),
11150         (gst_pad_set_activate_function),
11151         (gst_pad_set_activatepull_function),
11152         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
11153         (gst_pad_set_getrange_function),
11154         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
11155         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11156         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
11157         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
11158         (gst_pad_set_acceptcaps_function),
11159         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11160         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
11161         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
11162         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
11163         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
11164         (gst_pad_configure_sink), (gst_pad_configure_src),
11165         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
11166         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
11167         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
11168         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
11169         (gst_pad_send_event):
11170         Use _DEBUG_OBJECT when it makes sense.
11171         Protect GST_PAD_CAPS with the OBJECT_LOCK.
11172         Small cleanups and code reflows.
11173         Avoid caps refcounting in _accept_caps.
11174         Refactor alloc_buffer so that the code performed on the peer is in a
11175         separate function. Also if the pad does not implement a buffer alloc
11176         function, we should still check if the pad is flushing before falling
11177         back to the default allocator.
11178
11179 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11180
11181         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11182         Make all uses of identity and fakesink have silent=true to avoid
11183         serialising every passing data structure, which is breaking tests
11184         on FC4 for some unknown reason.
11185
11186 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11187
11188         * gst/parse/Makefile.am:
11189         * gst/parse/grammar.y:
11190         * gst/parse/parse.l:
11191           Reverted previous patch as it required to bump the flex dependency to
11192           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
11193
11194 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11195
11196         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
11197
11198         * gst/parse/Makefile.am:
11199         * gst/parse/grammar.y:
11200         * gst/parse/parse.l:
11201           push & pop the state of the lexer for reentrant use case
11202           Fixes #349180
11203
11204 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
11205
11206         * libs/gst/base/gstbasesrc.h:
11207           Note in the docs that the ::newsegment vfunc is not actually used by
11208           GstBaseSrc.
11209
11210 2006-07-28  Wim Taymans  <wim@fluendo.com>
11211
11212         * libs/gst/base/gstcollectpads.c:
11213         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
11214         (gst_collect_pads_clear), (gst_collect_pads_flush),
11215         (gst_collect_pads_event), (gst_collect_pads_chain):
11216         When flushing a pad, also clear the queued buffer so that we don't
11217         accidentally use it when we shouldn't.
11218         Fix leaks by inreffing incomming buffer.
11219         Flush out queued buffers in case of errors.
11220         Fixes #347452.
11221
11222 2006-07-28  Wim Taymans  <wim@fluendo.com>
11223
11224         * docs/random/phonon-gst:
11225         Random notes about a Phonon backend.
11226
11227 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11228
11229         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11230         Extra debug output
11231         * tests/check/libs/gdp.c: (gst_dp_suite):
11232         Take a whack at fixing the ppc compile using a different define to
11233         disable the broken test.
11234
11235         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11236         Remove excess g_print()
11237
11238 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11239
11240         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
11241         Oops, meant to uncomment this line too to dampen the noise a bit.
11242
11243 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11244
11245         * gst/parse/grammar.y:
11246         * gst/parse/parse.l:
11247         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11248         (GST_START_TEST), (parse_suite):
11249         Fix some of the leaks exposed by extending the parse-launch testsuite,
11250         and move the 3 I can't figure out into a separate test that won't run
11251         the pipelines unless the appropriate line is uncommented.
11252
11253 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11254
11255         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11256           Requesting 0 bytes before the end of the file should result in
11257           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
11258           unit test.
11259
11260 2006-07-27  Wim Taymans  <wim@fluendo.com>
11261
11262         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
11263         Fix useless assert, a uint is always positive.
11264
11265         * gst/gststructure.c: (gst_structure_nth_field_name),
11266         (gst_structure_foreach), (gst_structure_map_in_place):
11267         Check input arguments for public functions to avoid obvious crashes.
11268
11269         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
11270         * plugins/elements/gstfakesink.h:
11271         Do less useless typechecking.
11272
11273 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11274
11275         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11276           Do not use mmap() by default since there are a number of error
11277           conditions that we would like to handle in a non-fatal way that
11278           will result in a SIGBUS if we use mmap(). Examples: external
11279           devices (USB harddrive, portable music player) being unplugged
11280           while in use; file on mounted CD/DVD that can't be read because
11281           the medium is partly damaged. Fixes #348455 and #348475.
11282
11283 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11284
11285         * gst/gstquery.h:
11286         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
11287         rates are a gdouble
11288
11289 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
11290
11291         * gst/gstregistry.c:
11292           Move big documentation comment into class section header, so that it
11293           appears in the API docs.
11294
11295 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11296
11297         * docs/gst/gstreamer-sections.txt:
11298         Oops. Commit the docs additions too for new API.
11299         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
11300
11301 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11302
11303         * gst/gststructure.c: (gst_structure_id_set),
11304         (gst_structure_id_set_valist):
11305         * gst/gststructure.h:
11306         Add API for setting values into structures without performing
11307         a quark lookup, if the appropriate quark is already known.
11308
11309         API: gst_structure_id_set
11310         API: gst_structure_id_set_valist
11311
11312         * gst/parse/grammar.y:
11313         * gst/parse/parse.l:
11314         Remove some dead code shown by the coverage information.
11315         Don't throw a critical g_warning when encountering a syntax error,
11316         just warn and let the normal error path handle it.
11317
11318         * plugins/elements/gstelements.c:
11319         Bump the rank of filesink up to PRIMARY so that it is preferred over
11320         gnomevfssink for file:// sink uri's
11321
11322         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11323         (GST_START_TEST), (run_delayed_test),
11324         (gst_parse_test_element_base_init),
11325         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
11326         (gst_parse_test_element_change_state),
11327         (gst_register_parse_element), (parse_suite):
11328         Beef up the tests for parse syntax to check that more error cases
11329         fail as they are supposed to. Increases the test coverage a bit.
11330
11331 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
11332
11333         * docs/manual/basics-elements.xml:
11334           Fix gst_element_link() example.
11335
11336         * gst/gstutils.c:
11337           Mention in API docs that one should usually gst_bin_add()
11338           elements to a bin or pipeline before doing the linking.
11339           
11340 2006-07-26  Wim Taymans  <wim@fluendo.com>
11341
11342         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
11343         (gst_subbuffer_get_type), (gst_buffer_create_sub):
11344         Avoid function call for known types by keeping the buffer and
11345         subbuffer GType global.
11346
11347         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11348         Random silly optimisations in read() path.
11349
11350 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11351
11352         * tools/gst-launch.c: (main):
11353           If the top-level of the parse is a normal bin, it doesn't do the
11354           right logic to run as a top-level element, so place it inside a
11355           pipeline.
11356
11357 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
11358
11359         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
11360           Remove superfluous g_object_notify() calls, GObject does
11361           that for us automatically.
11362
11363 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
11364
11365         * gst/gstinfo.h:
11366           on Win32, use dllspec to export the debug category symbols
11367
11368 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
11369
11370         * gst/gsttaglist.c: (_gst_tag_initialize):
11371           Allow more than one GST_TAG_IMAGE per taglist.
11372
11373 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11374
11375         * gst/gstminiobject.c:
11376           update docs
11377         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
11378         (gst_fd_src_create):
11379           log recurring events at LOG level
11380           add more debug for when the fd gets set
11381
11382 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11383
11384         * gst/gstparse.c: (gst_parse_launch):
11385           Also remove reentrance checks if flex is MT safe (#348179)
11386          Fix my empty ChangeLog entry below
11387
11388 2006-07-21  Andy Wingo  <wingo@pobox.com>
11389
11390         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
11391
11392         * libs/gst/check/Makefile.am
11393         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
11394         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
11395         * libs/gst/check/gstbufferstraw.h:
11396         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
11397         functions, thus proving I am still a GStreamer haxor. OK I wrote
11398         them a long time ago, but anyways.
11399
11400 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11401
11402         * configure.ac:
11403         * gst/gstparse.c: (gst_parse_launch):
11404           Check for flex version and omit mutex if we have a MT save flex
11405           (fixes #348179)
11406
11407 2006-07-21  Wim Taymans  <wim@fluendo.com>
11408
11409         * gst/gstparse.c: (gst_parse_launch):
11410         Protect recursive calls to _parse with a recursive mutex
11411         and busy flag.
11412
11413 2006-07-21  Wim Taymans  <wim@fluendo.com>
11414
11415         * tests/check/gst/gstpad.c: (GST_START_TEST):
11416         Fix leak in test.
11417
11418 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
11419
11420         * gst/gstparse.c: (gst_parse_launch):
11421           Do not hang on recursive usage of gst_parse_launch()
11422
11423 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11424
11425         * gst/gsttaglist.c:
11426           Add some more docs, comments and FIXME 0.11s here and there
11427           and also fix some typos.
11428
11429 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11430
11431         * gst/gstsegment.h:
11432           Convert tabs to spaces for better readability. 
11433
11434 2006-07-20  Edward Hervey  <edward@fluendo.com>
11435
11436         * tests/check/libs/gdp.c: (gst_dp_suite):
11437         the test_buffer test fails at line 140 on ppc64 at the following
11438         check:
11439         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
11440                 GST_BUFFER_FLAG_IN_CAPS),
11441                 "GST_BUFFER_IN_CAPS flag should have been copied !");
11442         See bug #348114 for more details.
11443
11444 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
11445
11446         * docs/pwg/advanced-scheduling.xml:
11447         * gst/gstpad.c:
11448           Fix typos (#348000).
11449
11450 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
11451
11452         * docs/pwg/intro-basics.xml:
11453           Fix wrong links (#347927).
11454
11455 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
11456
11457         * gst/gstregistry.h:
11458         * gst/gstregistryxml.c: (load_feature),
11459         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
11460         * win32/common/config.h:
11461           make --disable-index work (#342564)
11462
11463 2006-07-18  Wim Taymans  <wim@fluendo.com>
11464
11465         Patch by: Peter Kjellerstedt <pkj at axis dot com>
11466
11467         * gst/Makefile.am:
11468         * gst/gsttrace.h:
11469         The attached patch adds two missing defines to gsttrace.h when tracing
11470         is disabled.  It also corrects one existing define.
11471         Fixes #347756.
11472
11473 2006-07-17  Wim Taymans  <wim@fluendo.com>
11474
11475         * docs/gst/gstreamer-sections.txt:
11476         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
11477         * gst/gst.h:
11478         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
11479         Add two functions to check and change the SIGSEGV behaviour
11480         when loading plugins.
11481         Don't mess with the SIGSEGV handler when we were told not to.
11482         Fixes #347794.
11483         API: gst_segtrap_is_enabled
11484         API: gst_segtrap_set_enabled
11485
11486 2006-07-14  Wim Taymans  <wim@fluendo.com>
11487
11488         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11489         * tests/check/elements/filesrc.c: (GST_START_TEST):
11490         Revert fix for regression in #347408 after release.
11491
11492 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
11493
11494         Patch by: Antoine Tremblay <hexa00 at gmail com>
11495
11496         * gst/gstutils.c: (gst_element_unlink):
11497           Free iterator when done (#347311).
11498
11499         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11500           And add a test case for this.
11501
11502 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
11503
11504         * configure.ac:
11505         Bump nano back to CVS
11506
11507 === release 0.10.9 ===
11508
11509 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
11510
11511         * configure.ac:
11512           releasing 0.10.9, "On the road again"
11513
11514 2006-07-13  Wim Taymans  <wim@fluendo.com>
11515
11516         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11517         * tests/check/elements/filesrc.c: (GST_START_TEST):
11518         Revert pull-0 fix for release. Disable check. Fixes #347408.
11519
11520 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11521
11522         * libs/gst/dataprotocol/dataprotocol.c:
11523         (gst_dp_event_from_packet_1_0):
11524           Fixes #347337: failure to deserialize event packets with
11525           empty payload (only event type)
11526
11527 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11528
11529         * gst/Makefile.am:
11530           do not install a .c file in the header directory
11531
11532 2006-07-13  Edward Hervey  <edward@fluendo.com>
11533
11534         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11535         GhostPad no longer implicitely use the padtemplates of the targets.
11536         Fixes #347384
11537
11538 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
11539
11540         * gst/gstvalue.c: (gst_value_compare_list),
11541         (gst_value_compare_array), (_gst_value_initialize):
11542         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11543         Make GstValueArray comparison be order dependent as designed.
11544         Add checks for value lists and value array comparisons.
11545         Fixes #347221
11546
11547 2006-07-11  Edward Hervey  <edward@fluendo.com>
11548
11549         * gst/gstbin.c: (activate_pads),
11550         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
11551         (gst_bin_change_state_func):
11552         (de)activate src pads before calling state_change on the childs.
11553         This is to avoid the case where a src ghostpad is blocked (holding the
11554         stream lock), which would block the deactivation of the ghostpad's
11555         target pad.
11556         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
11557         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
11558         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
11559         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11560         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11561         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11562         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11563         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
11564         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
11565         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11566         (gst_ghost_pad_class_init),
11567         (gst_ghost_pad_internal_do_activate_push),
11568         (gst_ghost_pad_internal_do_activate_pull),
11569         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11570         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11571         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
11572         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
11573         GhostPads now create their internal GstProxyPad at creation (and not
11574         when they're linked, as it was being done previously).
11575         The internal and target pads are linked straight away.
11576         The data will also travel through the other pad in order to make
11577         pad blocking and probes non-hackish (the probe/block now really happens
11578         on the GhostPad and not on the target).
11579         * gst/gstpad.c: (gst_pad_set_blocked_async),
11580         (gst_pad_link_prepare), (gst_pad_push_event):
11581         Remove previous ghostpad cruft.
11582         * gst/gstutils.c: (gst_pad_add_data_probe),
11583         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11584         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11585         (gst_pad_remove_buffer_probe):
11586         Remove previous ghost pad cruft.
11587         Added more detailed debug statements.
11588         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11589         Fix the testsuite for refcounting changes.
11590         The comments about who has references were correct, but the refcount
11591         being checked wasn't the same (!?!).
11592
11593         Fixes #341029
11594
11595 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11596
11597         * docs/gst/gstreamer-sections.txt:
11598         * gst/gstconfig.h.in:
11599         More docs for configuration options, add docs to gtk-doc.
11600
11601 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11602
11603         * gst/Makefile.am:
11604         * gst/gstconfig.h.in:
11605         * win32/common/config.h:
11606         Fix build when disabling tracing (fixes #344016). Also start to document
11607         the defines that disable the sub-systems.
11608
11609 2006-07-10  Edward Hervey  <edward@fluendo.com>
11610
11611         * gst/gst.c: (ensure_current_registry_forking):
11612         let's make valgrind happy...
11613
11614 2006-07-09  Wim Taymans  <wim@fluendo.com>
11615
11616         * gst/gstelement.c: (activate_pads),
11617         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11618         Better pad activation code: Reset the collect value too on resync.
11619         Add some comments.
11620
11621 2006-07-09  Wim Taymans  <wim@fluendo.com>
11622
11623         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
11624         (gst_pad_activate_push):
11625         Use some more macros where it makes sense.
11626         Allow pad mode switching instead of asserting. When a pad
11627         is activated in one mode and we activate it in another, 
11628         deactivate it first before activating it in a different mode.
11629         Fixes #329198.
11630
11631 2006-07-08  Andy Wingo  <wingo@pobox.com>
11632
11633         * tools/gst-launch.c (main): Handle err == NULL.
11634
11635         * gst/gst.c (init_post, ensure_current_registry)
11636         (ensure_current_registry_forking)
11637         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
11638         factoring out the registry scanning into separate functions. Don't
11639         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
11640         Better environment var name/interface suggestions accepted.
11641
11642 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11643
11644         * gst/gstobject.c: (gst_object_set_name_default),
11645         (gst_object_set_name):
11646           Random micro-optimisation: don't use a hash table
11647           with strings as keys and the usual strdup/strcmp
11648           involved, but rather just use the GQuark of the
11649           type name as key, since it needs to be looked up
11650           anyway to get the type name string.
11651
11652         * tests/check/gst/gstobject.c: (GST_START_TEST):
11653           Fix various leaks.
11654
11655 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11656
11657         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
11658         (gst_bin_iterate_all_by_interface):
11659           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
11660           GTypes are gulongs and thus the top 4 bytes might be cut
11661           off on some platforms when doing GPOINTER_TO_INT, leading
11662           to invalid GTypes and bad things happening (see RH bug #179654).
11663           Also add a check to make sure the type passed in is really
11664           an interface type.
11665
11666 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11667
11668         * .cvsignore:
11669           Ignore more.
11670
11671 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11672
11673         * Makefile.am:
11674         * configure.ac:
11675         * gst-element-check.m4:
11676         * gst-element-check.m4.in:
11677           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
11678           instead of the unversioned gst-inspect (#324176, #168659).
11679
11680 2006-07-06  Wim Taymans  <wim@fluendo.com>
11681
11682         * gst/gstmessage.h:
11683         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
11684         warnings.
11685
11686 2006-07-06  Wim Taymans  <wim@fluendo.com>
11687
11688         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11689         (gst_base_src_wait), (gst_base_src_update_length),
11690         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
11691         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
11692         (gst_base_src_loop), (gst_base_src_start),
11693         (gst_base_src_activate_pull):
11694         Update docs.
11695         blocksize == 0 now means the default blocksize when working in push
11696         based mode.
11697         Remove some pointless asserts in _wait function.
11698         Fix offset/length calculations and EOS handling. We can now pull 0
11699         bytes as well, which is allowed.
11700         use _check_get_range() to decide if we can operate in _pull based
11701         mode.
11702         Fix refcounting leak when check_get_range function was not 
11703         implemented.
11704         API GstBaseSrc::blocksize range can be 0 too now (default)
11705
11706         * tests/check/elements/filesrc.c: (GST_START_TEST),
11707         (filesrc_suite):
11708         Added check to test _get_range() behaviour.
11709
11710 2006-07-06  Wim Taymans  <wim@fluendo.com>
11711
11712         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11713         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
11714         (gst_pad_pull_range):
11715         * gst/gstpad.h:
11716         Lots of comments and docs added to the pad functions.
11717         Flesh out the expected behaviour of the get_range() functions.
11718
11719 2006-07-06  Wim Taymans  <wim@fluendo.com>
11720
11721         * gst/gstbus.h:
11722         * gst/gstclock.h:
11723         * gst/gstevent.h:
11724         * gst/gstiterator.h:
11725         * gst/gstpad.h:
11726         * gst/gstplugin.h:
11727         * gst/gsttask.h:
11728         Remove comma at end of enumerator list. 
11729
11730 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
11731
11732         * win32/common/libgstbase.def:
11733         * win32/common/libgstdataprotocol.def:
11734         * win32/common/libsgtreamer.def:
11735         Add new exported functions.
11736
11737 2006-07-05  Wim Taymans  <wim@fluendo.com>
11738
11739         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
11740         Add some more docs here and there.
11741
11742 2006-07-05  Wim Taymans  <wim@fluendo.com>
11743
11744         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
11745         (gst_base_sink_loop), (gst_base_sink_get_position):
11746         When operating in pull mode update the offset so that we
11747         read sequentially.
11748
11749 2006-07-05  Wim Taymans  <wim@fluendo.com>
11750
11751         * gst/gstregistryxml.c: (read_string):
11752         Avoid strdup. (will happen in libxml, but hey!)
11753
11754         * gst/gsturi.c:
11755         Add some more docs.
11756
11757 2006-07-05  Wim Taymans  <wim@fluendo.com>
11758
11759         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
11760         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
11761         (gst_buffer_suite):
11762         No point in checking if the size of the subbuffer > 0, the
11763         code handles it correclty as demonstrated by unit test.
11764         Also add a unit test for the zero sized _new_and_alloc and
11765         _copy. Fixes #346663.
11766
11767 2006-07-05  Wim Taymans  <wim@fluendo.com>
11768
11769         * libs/gst/base/gstbasetransform.c:
11770         (gst_base_transform_prepare_output_buffer),
11771         (gst_base_transform_buffer_alloc),
11772         (gst_base_transform_handle_buffer):
11773         Make sure the buffer we pass to transform_ip has a refcount of
11774         1 and thus is writable. Fixes #343196
11775
11776 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
11777
11778         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11779         (gst_file_src_init), (gst_file_src_set_property),
11780         (gst_file_src_get_property), (gst_file_src_map_region):
11781         * plugins/elements/gstfilesrc.h:
11782         Add "sequential" property, off by default, to use madvise and hint
11783         to the kernel that sequential access is desired.
11784         Touch all retrieved pages by default to ensure they are pulled
11785         into memory. (Closes #345720)
11786
11787 2006-07-03  Wim Taymans  <wim@fluendo.com>
11788
11789         * docs/design/part-block.txt:
11790         * docs/design/part-dynamic.txt:
11791         Small docs updates.
11792
11793 2006-07-03  Wim Taymans  <wim@fluendo.com>
11794
11795         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
11796         (gst_caps_unref), (gst_static_caps_get),
11797         (gst_caps_append_structure):
11798         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
11799         Use GSlice when the glib we build against is >= 2.10
11800
11801 2006-07-03  Wim Taymans  <wim@fluendo.com>
11802
11803         * gst/gstelement.c: (gst_element_pads_activate):
11804         Small cleanup in pad activation code.
11805
11806 2006-07-03  Wim Taymans  <wim@fluendo.com>
11807
11808         Patch by: Peter Kjellerstedt <pkj at axis dot com>
11809
11810         * gst/gst-i18n-app.h:
11811         * gst/gst-i18n-lib.h:
11812         * tools/gst-inspect.c: (print_signal_info):
11813         The attached patch will make the inclusion of gettext.h unconditional in
11814         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
11815         libintl.h in tools/gst-inspect.c.
11816         This allows use of --disable-nls again and fixes #344642.
11817
11818 2006-07-03  Edward Hervey  <edward@fluendo.com>
11819
11820         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
11821         Implement pad blocking on events according to part-block.txt.
11822         More comments on behaviour.
11823         * tests/check/gst/gstevent.c: (test_event):
11824         Send event to peer pad of blocked pad (else it will block).
11825
11826 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11827
11828         * libs/gst/check/gstcheck.c: (gst_check_message_error),
11829         (gst_check_run_suite):
11830           if we get the wrong message, give us the types as string
11831         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11832           Fix a translatable
11833         * tests/check/elements/filesrc.c: (GST_START_TEST):
11834           add a test for trying to open a non-existing file
11835
11836 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11837
11838         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11839           add a test for adding self
11840
11841 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11842
11843         * libs/gst/check/gstcheck.h:
11844           add some assert_ as alias for fail_unless_*
11845         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
11846           increase test coverage
11847
11848 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11849
11850         * Makefile.am:
11851           include lcov.mak for lcov coverage generation
11852         * tools/Makefile.am:
11853           add to CLEANFILES
11854
11855 2006-07-02  Edward Hervey  <edward@fluendo.com>
11856
11857         * tests/check/elements/.cvsignore:
11858         moaping
11859
11860 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11861
11862         * configure.ac:
11863           don't set CFLAGS and friends for gcov, done from GST_GCOV now
11864         * tests/check/Makefile.am:
11865           clean up gcov files
11866
11867 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11868
11869         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
11870           remove gst_caps_simplify; it was not declared and not used
11871           and deprecated in 0.8
11872
11873 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11874
11875         * docs/faq/gst-uninstalled:
11876           don't put empty paths on PYTHONPATH
11877         * docs/gst/gstreamer-sections.txt:
11878           remove some symbols that are not there
11879
11880 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11881
11882         * gst/gstcaps.c: (gst_caps_compare_structures):
11883           whitespace fixes
11884         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11885         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11886           add more tests
11887
11888 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11889
11890         * libs/gst/dataprotocol/Makefile.am:
11891           build dataprotocol test by linking to the lib, instead of
11892           compiling the source, so we get coverage
11893         * tests/check/Makefile.am:
11894         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
11895         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
11896           add a test for filesrc
11897
11898 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11899
11900         * tests/check/gst/gststructure.c: (GST_START_TEST),
11901         (gst_structure_suite):
11902           Push coverage from 59.04% to 70.00%
11903
11904 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11905
11906         * tests/check/Makefile.am:
11907           gst-inspect every element; this makes sure that we also get
11908           coverage on element's get/set functions
11909
11910 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11911
11912         * configure.ac:
11913           set CFLAGS and friends to -O0 if gcov is being used
11914           add GCOV LIBS
11915         * gst/Makefile.am:
11916         * libs/gst/base/Makefile.am:
11917         * libs/gst/check/Makefile.am:
11918         * libs/gst/controller/Makefile.am:
11919         * libs/gst/dataprotocol/Makefile.am:
11920         * libs/gst/net/Makefile.am:
11921         * plugins/elements/Makefile.am:
11922         * plugins/indexers/Makefile.am:
11923           add makefile rules to generate gcov data and clean up
11924         * tests/check/Makefile.am:
11925           add a coverage target that generates an html overview
11926           of coverage data
11927
11928 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11929
11930         * tests/check/elements/fakesink.c:
11931         * tests/check/elements/fakesrc.c:
11932         * tests/check/elements/fdsrc.c:
11933         * tests/check/elements/identity.c:
11934         * tests/check/generic/sinks.c: (gst_sinks_suite):
11935         * tests/check/generic/states.c:
11936         * tests/check/gst/gst.c:
11937         * tests/check/gst/gstabi.c:
11938         * tests/check/gst/gstbin.c:
11939         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
11940         * tests/check/gst/gstbus.c: (gst_bus_suite):
11941         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11942         * tests/check/gst/gstelement.c:
11943         * tests/check/gst/gstevent.c: (gst_event_suite):
11944         * tests/check/gst/gstghostpad.c:
11945         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
11946         * tests/check/gst/gstmessage.c: (gst_message_suite):
11947         * tests/check/gst/gstminiobject.c:
11948         * tests/check/gst/gstobject.c:
11949         * tests/check/gst/gstpad.c:
11950         * tests/check/gst/gstpipeline.c:
11951         * tests/check/gst/gstplugin.c:
11952         * tests/check/gst/gstquery.c: (gst_query_suite):
11953         * tests/check/gst/gstsegment.c: (gst_segment_suite):
11954         * tests/check/gst/gststructure.c:
11955         * tests/check/gst/gstsystemclock.c:
11956         * tests/check/gst/gsttag.c:
11957         * tests/check/gst/gsttask.c: (gst_task_suite):
11958         * tests/check/gst/gstutils.c:
11959         * tests/check/gst/gstvalue.c:
11960         * tests/check/libs/adapter.c:
11961         * tests/check/libs/basesrc.c:
11962         * tests/check/libs/collectpads.c:
11963         * tests/check/libs/controller.c:
11964         * tests/check/libs/gdp.c: (gst_dp_suite):
11965         * tests/check/libs/gstnetclientclock.c:
11966         * tests/check/libs/gstnettimeprovider.c:
11967         * tests/check/libs/libsabi.c: (libsabi_suite):
11968         * tests/check/libs/typefindhelper.c:
11969         * tests/check/pipelines/cleanup.c:
11970         * tests/check/pipelines/parse-launch.c:
11971         * tests/check/pipelines/simple-launch-lines.c:
11972         * tests/check/pipelines/stress.c: (stress_suite):
11973           use the new macro
11974
11975 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11976
11977         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
11978         * libs/gst/check/gstcheck.h:
11979           create a macro and function so that the simple unit test
11980           case can be just one macro to create main()
11981
11982 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
11983
11984         * gst/gstbin.c: (gst_bin_restore_thyself):
11985         * gst/gstxml.c: (gst_xml_make_element):
11986           Fix deserialisation from XML. Set parent manually
11987           instead of using gst_bin_add(), since gst_bin_add()
11988           will unlink all pads of the element being added.
11989           Fixes #341667.
11990
11991 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
11992
11993         Patch by: Peter Kjellerstedt <pkj at axis com>
11994
11995         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
11996           Fix missing g_strdup() and double free when using the
11997           --gst-plugin-load command line option (#346097).
11998
11999 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12000
12001         * gst/gstinfo.c:
12002           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
12003
12004         * libs/gst/net/gstnetclientclock.c:
12005         * libs/gst/net/gstnettimeprovider.c:
12006           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
12007
12008 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12009
12010         * docs/manual/advanced-dataaccess.xml:
12011           Fix buffer probe example compilation in
12012           ADM (#345708).
12013         
12014 2006-06-22  Edward Hervey  <edward@fluendo.com>
12015
12016         * gst/gstelement.c: (gst_element_pads_activate):
12017         We need to deactivate src pads first and then sink pads.
12018         The reason is the src pads might be blocking while holding the streaming
12019         lock, so we need to deactivate them first so that deactivating the sink
12020         pads doesn't block (since it will require the streaming lock).
12021
12022 2006-06-22  Wim Taymans  <wim@fluendo.com>
12023
12024         * libs/gst/base/gstbasetransform.c:
12025         (gst_base_transform_buffer_alloc):
12026         Forgot to remove two unneeded unrefs.
12027         Simplify a check _is_equal allready checks the obvious case.
12028
12029 2006-06-22  Wim Taymans  <wim@fluendo.com>
12030
12031         * docs/design/part-block.txt:
12032         Some docs about what pad_block should do.
12033
12034 2006-06-22  Wim Taymans  <wim@fluendo.com>
12035
12036         * gst/gstcaps.c: (gst_caps_replace):
12037         Fix crasher when passed NULL. Doc clarification.
12038         Optimize for the trivial case.
12039
12040         * gst/gstpipeline.c: (gst_pipeline_change_state):
12041         Small cleanups.
12042
12043         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12044         Small documentation cleanup.
12045
12046         * libs/gst/base/gstbasetransform.c:
12047         (gst_base_transform_buffer_alloc):
12048         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
12049         is what we need and it avoids a whole lot of redundant 
12050         refcount operations.
12051
12052 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
12053
12054         Patch by: Philip Jägenstedt  <philip at lysator liu se>
12055
12056         * docs/manual/advanced-dataaccess.xml:
12057           Fix 'Embedding static elements' section to use
12058           GST_PLUGIN_DEFINE_STATIC (#345607).
12059
12060 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12061
12062         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
12063           Attempt to 'fix' spuriously failing test case: it seems like the
12064           timeout of half a second is simply too small when the system is under
12065           load otherwise, and the timeout doesn't really seem to serve any
12066           particular purpose here. Give the pipeline a few seconds to preroll
12067           first, and then give it another half a second to go from PAUSED to
12068           PLAYING and marshal the message into the main thread.
12069
12070 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12071
12072         * tools/gst-feedback-m.m:
12073           Don't only use unversioned tools, try versioned tools as well
12074           (#345086).
12075
12076 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12077
12078         * gst/gstbus.c: (gst_bus_class_init):
12079           Fix some typos, make docs more explicit.
12080
12081 2006-06-20  Wim Taymans  <wim@fluendo.com>
12082
12083         * tests/check/gst/gstghostpad.c: (block_callback),
12084         (GST_START_TEST), (gst_ghost_pad_suite):
12085         Added some more ghostpad tests, mainly blocking
12086         and probes.
12087
12088 2006-06-16  Wim Taymans  <wim@fluendo.com>
12089
12090         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12091         (gst_file_sink_close_file), (gst_file_sink_do_seek),
12092         (gst_file_sink_event), (gst_file_sink_render):
12093         * plugins/elements/gstfilesink.h:
12094         Check if we can seek in the file instead of assuming
12095         we always can. Post an error when we are asked to seek in a
12096         non-seekable file (like a fifo). Fixes #343312.
12097         Some cleanups.
12098
12099 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12100
12101         * tools/gst-launch.1.in:
12102           Un-garble (fourcc) bit in filtered caps section.
12103
12104 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12105
12106         * docs/manual/advanced-autoplugging.xml:
12107         * docs/manual/basics-helloworld.xml:
12108         * docs/manual/highlevel-components.xml:
12109           Don't leak bus reference in sample code.
12110
12111 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
12112
12113         * autogen.sh:
12114           Add default for new --enable-plugin-docs switch.
12115
12116         * configure.ac:
12117           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
12118           Fixes #344039.
12119
12120         * docs/Makefile.am:
12121           Use new ENABLE_PLUGIN_DOCS conditional.
12122
12123 2006-06-14  Wim Taymans  <wim@fluendo.com>
12124
12125         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
12126         Make it clear with a FIXME and a real define what the #if 0
12127         previously disabled.
12128
12129 2006-06-14  Wim Taymans  <wim@fluendo.com>
12130
12131         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12132         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12133         * libs/gst/base/gstbasetransform.c:
12134         (gst_base_transform_sink_eventfunc):
12135         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12136         Don't randomly and silently reset a segment when the format 
12137         changes as this is a bug somewhere upstream. Fixes #330379.
12138
12139 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
12140
12141         Patch by: Wouter Paesen  <wouter at kangaroot net>
12142
12143         * libs/gst/controller/gstcontroller.c:
12144         (gst_controlled_property_new):
12145           Fix controlling of float properties (#344849).
12146
12147         * tests/check/libs/controller.c:
12148         (gst_test_mono_source_get_property),
12149         (gst_test_mono_source_set_property),
12150         (gst_test_mono_source_class_init), (GST_START_TEST):
12151           While we're at it, add some float stuff to unit test.
12152
12153 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12154
12155         * docs/README:
12156         * docs/images/gdp-header.svg:
12157           add a gdp image
12158         * docs/libs/Makefile.am:
12159         * docs/libs/gdp-header.png:
12160         * libs/gst/dataprotocol/dataprotocol.c:
12161           add it to the API docs
12162         * docs/manual/intro-motivation.xml:
12163           fix typo
12164
12165 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12166
12167         * gst/gst.c: (scan_and_update_registry), (init_post):
12168           If the fork()'ed child process can't write the updated registry cache
12169           file to disk for some reason, make it exit with a failure exit code,
12170           so that the parent can then re-scan the plugins itself and update the
12171           registry structures in memory and work with that (rather than failing
12172           when creating elements because seemingly no plugins are available).
12173           Refactor registry scanning code into separate function for this and
12174           also separate fork() and non-fork() code paths. Fixes #344748.
12175
12176 2006-06-13  Wim Taymans  <wim@fluendo.com>
12177
12178         * docs/manual/advanced-dataaccess.xml:
12179         Fix wrong PluginDesc. Fixes #344755.
12180
12181 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12182
12183         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12184           Fix silly bug that prevented us from creating
12185           ~/.gstreamer-0.10 and writing the registry in one
12186           go (the first call to g_mkstemp() would overwrite the
12187           placeholder in the template string, so the second call
12188           to g_mkstemp() after creating the missing directory
12189           would then error out with 'invalid argument').
12190
12191 2006-06-13  Edward Hervey  <edward@fluendo.com>
12192
12193         * gst/gst.c: (init_post):
12194         Free string.
12195
12196 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12197
12198         * gst/glib-compat-private.h:
12199         * gst/glib-compat.c:
12200         * gst/glib-compat.h:
12201         * gst/gstvalue.c: (gst_value_serialize_flags):
12202           remove GLib 2.6 compatibility code
12203
12204 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
12205
12206         * gst/parse/Makefile.am:
12207           Fix build with 'make -j N' even more (#340016).
12208
12209 2006-06-12  Wim Taymans  <wim@fluendo.com>
12210
12211         * docs/gst/gstreamer-sections.txt:
12212         Fix docs.
12213
12214 2006-06-12  Wim Taymans  <wim@fluendo.com>
12215
12216         * gst/gstsegment.c: (gst_segment_set_duration),
12217         (gst_segment_set_last_stop), (gst_segment_set_seek),
12218         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
12219         (gst_segment_to_running_time), (gst_segment_clip):
12220         Use G_UNLIKELY to help the compiler a bit.
12221
12222 2006-06-12  Wim Taymans  <wim@fluendo.com>
12223
12224         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12225
12226         * gst/gstevent.c: (gst_event_get_type):
12227         * gst/gstmessage.c:
12228         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12229         (gst_pad_push):
12230         constify quark registration strings. Fixes #344115
12231         Avoid unneeded type checking is _pad_push() by internally
12232         calling gst_pad_chain_unchecked().
12233
12234 2006-06-12  Wim Taymans  <wim@fluendo.com>
12235
12236         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
12237         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
12238         (gst_subbuffer_finalize), (gst_buffer_create_sub),
12239         (gst_buffer_is_span_fast), (gst_buffer_span):
12240         Init _type for consistency.
12241         Use _FLAGS macro to avoid type check.
12242         Avoid unneeded type checks in subbufer code.
12243
12244 2006-06-12  Wim Taymans  <wim@fluendo.com>
12245
12246         * gst/gst.c: (gst_debug_help):
12247         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
12248         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12249         (gst_plugin_feature_list_free):
12250         * gst/gstregistry.c: (gst_registry_add_plugin),
12251         (gst_registry_add_feature), (gst_registry_plugin_filter),
12252         (gst_registry_feature_filter), (gst_registry_find_plugin),
12253         (gst_registry_find_feature), (gst_registry_get_plugin_list),
12254         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
12255         * gst/gstregistryxml.c: (load_feature),
12256         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
12257         * gst/gstminiobject.c: (gst_mini_object_unref),
12258         (gst_mini_object_replace), (gst_value_mini_object_free),
12259         (gst_value_mini_object_copy):
12260         Use _CAST macros to avoid unneeded type checking.
12261         Added some more G_UNLIKELY.
12262
12263 2006-06-12  Wim Taymans  <wim@fluendo.com>
12264
12265         * gst/gstbuffer.h:
12266         Avoid unneeded type checking.
12267         API: GST_BUFFER_IS_DISCONT
12268
12269         * gst/gstminiobject.h:
12270         Avoid type check in flag accessor.
12271
12272         * gst/gstelementfactory.h:
12273         * gst/gstplugin.h:
12274         * gst/gstpluginfeature.h:
12275         Add _CAST macros.
12276         API: GST_ELEMENT_FACTORY_CAST
12277         API: GST_PLUGIN_CAST
12278         API: GST_PLUGIN_FEATURE_CAST
12279
12280 2006-06-12  Wim Taymans  <wim@fluendo.com>
12281
12282         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
12283         (gst_object_unref):
12284         Add G_UNLIKELY in type registration.
12285         Avoid type check in _ref/_unref since that is also
12286         done in glib.
12287
12288 2006-06-12  Wim Taymans  <wim@fluendo.com>
12289
12290         * gst/gsterror.c: (gst_g_error_get_type):
12291         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12292         (gst_static_pad_template_get_type):
12293         * gst/gsttaglist.c: (gst_tag_list_get_type):
12294         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
12295         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
12296         * gst/gsturi.c: (gst_uri_handler_get_type):
12297         * gst/gstvalue.c: (gst_date_get_type):
12298         * gst/gstxml.c: (gst_xml_get_type):
12299         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
12300         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12301         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
12302         Add G_UNLIKELY in type registration.
12303
12304 2006-06-12  Wim Taymans  <wim@fluendo.com>
12305
12306         * tools/gst-inspect.c: (print_signal_info):
12307         Properly print enum values.
12308
12309 2006-06-12  Wim Taymans  <wim@fluendo.com>
12310
12311         * gst/gstinfo.c: (gst_debug_set_active),
12312         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
12313         * gst/gstinfo.h:
12314         Add some G_[UN]LIKELY.
12315         Maintain __gst_debug_min to avoid formatting the arguments of
12316         debug messages that will be dropped anyway to avoid a lot of 
12317         overhead from the debugging system.
12318
12319 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12320
12321         * po/POTFILES.in:
12322         * po/POTFILES.skip:
12323           add missing files containing translatable strings, tell intltool about
12324           one exception
12325
12326 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12327
12328         * tests/check/libs/.cvsignore:
12329         add test-binary to ignore list
12330
12331 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12332
12333         * docs/libs/gstreamer-libs-docs.sgml:
12334         reorder (put dp into a chapter) and indent
12335
12336 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12337
12338         * configure.ac:
12339           back to HEAD
12340
12341 === release 0.10.8 ===
12342
12343 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
12344
12345         * configure.ac:
12346           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
12347
12348 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12349
12350         * gst/gst.c: (init_post):
12351           move pid declaration to declaration block
12352
12353 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12354
12355         * gst/gst.c: (init_post):
12356           use _exit() instead of exit() in our forked child; this ensures
12357           that none of the registered exit handlers from whatever is using
12358           GStreamer get executed.  This fixes gnome-mixer-applet failing
12359           to load, because ORBit would shut down.
12360           Spotted by: Edward Hervey  <edward@fluendo.com>
12361           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
12362           Fixes #344474
12363
12364 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12365
12366         * configure.ac:
12367           back to TRUNK
12368
12369 === release 0.10.7 ===
12370
12371 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
12372
12373         * configure.ac:
12374           releasing 0.10.7, "Soepeke, ik zie ou"
12375
12376 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12377
12378         * configure.ac:
12379         * po/af.po:
12380         * po/az.po:
12381         * po/bg.po:
12382         * po/ca.po:
12383         * po/cs.po:
12384         * po/de.po:
12385         * po/en_GB.po:
12386         * po/fr.po:
12387         * po/it.po:
12388         * po/nb.po:
12389         * po/nl.po:
12390         * po/ru.po:
12391         * po/sq.po:
12392         * po/sr.po:
12393         * po/sv.po:
12394         * po/tr.po:
12395         * po/uk.po:
12396         * po/vi.po:
12397         * po/zh_CN.po:
12398         * po/zh_TW.po:
12399         * win32/common/config.h:
12400           0.10.6.2 prerelease
12401
12402 2006-06-07  Wim Taymans  <wim@fluendo.com>
12403
12404         * gst/gstindex.c: (gst_index_gtype_resolver):
12405         * tools/gst-xmlinspect.c: (print_plugin_info):
12406         Fix leak spotted by coverity checker. Fixes #343827
12407         Fix another other leak found by paolo borelli.
12408
12409 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12410
12411         * libs/gst/dataprotocol/dataprotocol.c:
12412         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12413         (gst_dp_version_get_type), (gst_dp_init),
12414         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
12415         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
12416         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
12417         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
12418         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
12419         (gst_dp_packetizer_free):
12420         * libs/gst/dataprotocol/dataprotocol.h:
12421           API: add a GstDPPacketizer object, and create/free functions
12422           API: add GstDPVersion enum
12423           Add 1.0 event function that uses the string serialization
12424           Serialize more useful buffer flags
12425           Fixes #343988
12426
12427 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12428
12429         * tests/check/Makefile.am:
12430         * tests/check/gst/gstabi.c:
12431         * tests/check/gst/struct_ppc64.h:
12432         * tests/check/libs/libsabi.c:
12433         * tests/check/libs/struct_ppc64.h:
12434           add ppc64 structure sizes
12435
12436 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12437
12438         * tests/check/Makefile.am:
12439         * tests/check/gst/gstabi.c:
12440         * tests/check/gst/struct_x86_64.h:
12441         * tests/check/libs/libsabi.c:
12442         * tests/check/libs/struct_x86_64.h:
12443           generate and add structure size lists for x86_64
12444
12445 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12446
12447         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
12448         * libs/gst/check/gstcheck.h:
12449           factor out the method from tests that checks size of structures,
12450           and add code to generate the header containing these sizes
12451         * tests/check/gst/gstabi.c: (GST_START_TEST):
12452         * tests/check/gst/struct_i386.h:
12453         * tests/check/libs/libsabi.c: (GST_START_TEST):
12454         * tests/check/libs/struct_i386.h:
12455           use it
12456
12457 2006-06-06  Michael Smith  <msmith@fluendo.com>
12458
12459         * gst/gstsegment.h:
12460           Don't use c++-style comments, fixes #343929
12461
12462 2006-06-05  Edward Hervey  <edward@fluendo.com>
12463
12464         * gst/gst.c:
12465         plugin_paths is not used if we build without registry support.
12466
12467         * gst/gstsegment.c: (gst_segment_copy): 
12468         _copy() was always returning NULL...
12469
12470 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12471
12472         * libs/gst/dataprotocol/dataprotocol.c:
12473         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12474         (gst_dp_packet_from_event):
12475           factor out CRC code
12476
12477 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12478
12479         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
12480           make sure we unset caps
12481
12482 2006-06-02  Michael Smith  <msmith@fluendo.com>
12483
12484         * libs/gst/check/gstcheck.c: (gst_check_init),
12485         (gst_check_chain_func):
12486         * libs/gst/check/gstcheck.h:
12487           Add a cond/mutex to the check support lib, signal this whenever we
12488           add to the buffers list. This will allow tests to not busy-wait on
12489           the buffer-list.
12490
12491 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12492
12493         * libs/gst/dataprotocol/dataprotocol.c:
12494         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12495         (gst_dp_packet_from_event):
12496           factor out some common header init code
12497
12498 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12499
12500         * docs/libs/gstreamer-libs-sections.txt:
12501         * docs/libs/tmpl/gstdataprotocol.sgml:
12502         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
12503         * libs/gst/dataprotocol/dataprotocol.h:
12504           API: make gst_dp_crc() public
12505
12506 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12507
12508         * plugins/indexers/gstindexers.c: (plugin_init):
12509         conditionally register fileindexer (fixes #343598)
12510
12511 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12512
12513         * gst/gsttagsetter.h:
12514         Can't cast ifaces to a class
12515
12516         * libs/gst/net/gstnetclientclock.h:
12517         * libs/gst/net/gstnettimeprovider.h:
12518         * plugins/elements/gstfakesink.h:
12519         * plugins/elements/gstfakesrc.h:
12520         * plugins/elements/gstfdsink.h:
12521         * plugins/elements/gstfdsrc.h:
12522         * plugins/elements/gstfilesink.h:
12523         * plugins/elements/gstfilesrc.h:
12524         * plugins/elements/gstidentity.h:
12525         * plugins/elements/gstqueue.h:
12526         * plugins/elements/gsttee.h:
12527         * plugins/indexers/gstfileindex.c:
12528         * plugins/indexers/gstmemindex.c:
12529         * tests/old/examples/plugins/example.h:
12530         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
12531
12532 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12533
12534         * libs/gst/dataprotocol/dataprotocol.c:
12535         (gst_dp_header_from_buffer):
12536           make sure we zero the whole ABI-compatible area
12537
12538 2006-06-01  Wim Taymans  <wim@fluendo.com>
12539
12540         Patch by: Alessandro Decina <alessandro at nnva dot org>
12541
12542         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
12543         Make sure the EOS flag is cleared from pads after a flush
12544         or stop. Fixes #343538.
12545
12546         * tests/check/libs/collectpads.c: (GST_START_TEST),
12547         (gst_collect_pads_suite):
12548         Added test for collectpads reusage after EOS.
12549
12550 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
12551
12552         * gst/gst.c:
12553          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
12554         * win32/common/libgstbase.def:
12555          export gst_collect_pads_set_flushing
12556         * win32/common/libgstreamer.def:
12557          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
12558          gst_value_fraction_multiply
12559         * win32/vs6/gst_inspect.dsp:
12560          add a link to intl.lib
12561
12562 2006-05-30  Wim Taymans  <wim@fluendo.com>
12563
12564         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12565         (gst_collect_pads_chain):
12566         Handle the case where a pad is removed from the collection
12567         that could cause the other pads to become collectable.
12568
12569 2006-05-30  Wim Taymans  <wim@fluendo.com>
12570
12571         * gst/gstelement.c:
12572         Clarify the use of _release_request_pad() and
12573         _get_request_pad() a bit better.
12574
12575         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
12576         (gst_adapter_take_buffer):
12577         Fix some doc and comment typos.
12578
12579 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12580
12581         * docs/gst/gstreamer-sections.txt:
12582         * docs/libs/gstreamer-libs-sections.txt:
12583           add declared symbols
12584
12585 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
12586
12587         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12588         Add debug that can be enabled using a #define at the top of the file,
12589         for dumping stats about how late/early we were when waking up from
12590         waiting on the clock.
12591
12592 2006-05-30  Wim Taymans  <wim@fluendo.com>
12593
12594         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
12595         When rebuilding the pad list, don't leak the previous list.
12596
12597 2006-05-30  Wim Taymans  <wim@fluendo.com>
12598
12599         Patch by: Lutz Mueller <lutz at topfrose dot de>
12600
12601         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12602         (gst_base_src_get_query_types), (gst_base_src_update_length):
12603         Publish supported query types.
12604         Update last_stop field in get_range mode so the position
12605         query works. Fixes #342321.
12606
12607 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
12608
12609         * docs/gst/gstreamer-sections.txt:
12610         * gst/gsttaglist.c: (_gst_tag_initialize):
12611         * gst/gsttaglist.h:
12612           API: add GST_TAG_PREVIEW_IMAGE (#343341).
12613
12614 2006-05-30  Wim Taymans  <wim@fluendo.com>
12615
12616         Patch by: Alessandro Decina <alessandro at nnva dot org>
12617
12618         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
12619         Unlock mutex when removing an unknown pad.
12620         Fixes #343334.
12621
12622         * tests/check/Makefile.am:
12623         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
12624         (push_event), (setup), (teardown), (GST_START_TEST),
12625         (gst_collect_pads_suite), (main):
12626         Added collecpads check, disabled for now as check crashes for
12627         some reason.
12628
12629 2006-05-29  Wim Taymans  <wim@fluendo.com>
12630
12631         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
12632         Don't leak pads lists.
12633
12634 2006-05-29  Wim Taymans  <wim@fluendo.com>
12635
12636         * docs/libs/gstreamer-libs-sections.txt:
12637         * libs/gst/base/gstcollectpads.c:
12638         (gst_collect_pads_set_flushing_unlocked),
12639         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12640         (gst_collect_pads_stop):
12641         * libs/gst/base/gstcollectpads.h:
12642         API: gst_collect_pads_set_flushing()
12643         Added api to set the pads to flushing, useful for seeking
12644         code in elements using collectpads.
12645         Clear segment when receiving a flush.
12646
12647 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
12648
12649         * gst/gst.c: (add_path_func), (init_post):
12650           Don't scan registry paths passed via --gst-plugin-path immediately
12651           (will crash, because absolutely nothing is set up and no types are
12652           registered etc.); do this later in init_post(). Fixes #343057.
12653
12654 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12655
12656         * gst/gst.c: (init_post):
12657           if we have fork, fork while reading/rebuilding the registry
12658           so the parent doesn't take the hit of having all plugins loaded
12659           in memory.  Fixes #342777.
12660         * configure.ac:
12661           Check if we have fork()
12662         * win32/common/config.h.in:
12663           no fork() on win32
12664
12665 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
12666
12667         * plugins/elements/gstelements.c:
12668         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12669         (gst_file_src_init), (gst_file_src_set_property),
12670         (gst_file_src_get_property), (gst_file_src_start):
12671         * plugins/elements/gstfilesrc.h:
12672           API: GstFileSrc::use-mmap
12673
12674         Add a use-mmap property to enable easier testing of all code paths.
12675         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
12676         in the absence of gnomevfssrc. (Closes #340501)
12677
12678 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12679
12680         * tools/gst-inspect.c:
12681         Add missing include, removes warning of ngettext not being defined on
12682         some arches.
12683
12684 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
12685
12686         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12687         Handle NULL input and output pointers silently as a failed conversion,
12688         rather than g_warnings.
12689
12690 2006-05-25  Wim Taymans  <wim@fluendo.com>
12691
12692         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
12693         Initialize variable before using. Fixes #342820.
12694
12695 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
12696
12697         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
12698           Fix off-by-one bug that would only allow peeks of N-1 bytes
12699           from the start even if the buffer to typefind on contains
12700           in fact N bytes of data (makes vorbis typefinding from a
12701           vorbis identification header buffer work).
12702
12703         * tests/check/Makefile.am:
12704         * tests/check/libs/.cvsignore:
12705         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
12706         (gst_typefindhelper_suite), (main), (foobar_typefind),
12707         (plugin_init):
12708           Add very basic unit test for gst_type_find_helper_for_buffer()
12709           that checks for the problem fixed above.
12710
12711 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12712
12713         * tools/gst-inspect.c: (print_interfaces),
12714         (print_element_properties_info), (print_element_list), (main):
12715           add more translatable strings
12716
12717 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
12718
12719         Patch by: Julien Moutte  <julien at moutte net>
12720
12721         * docs/gst/gstreamer-sections.txt:
12722           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
12723           
12724         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
12725         (gst_fake_sink_preroll):
12726         * plugins/elements/gstfakesink.h:
12727           API: Add new GstFakeSink::preroll-handoff signal (#337100).
12728
12729 2006-05-23  Wim Taymans  <wim@fluendo.com>
12730
12731         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
12732         * gst/gstpad.h:
12733         Added _CUSTOM error and success GstFlowReturn that can be
12734         used be elements internally. 
12735         Added macro to check for SUCCESS flowreturns.
12736         API: GST_FLOW_CUSTOM_SUCCESS
12737         API: GST_FLOW_CUSTOM_ERROR
12738         API: GST_FLOW_IS_SUCCESS
12739
12740         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
12741         Added check for GstFlowReturn sanity.
12742
12743 2006-05-23  Wim Taymans  <wim@fluendo.com>
12744
12745         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
12746
12747         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12748         (gst_collect_pads_event):
12749         clear/reset segment info in FLUSH_STOP.
12750         Fixes #336929.
12751
12752 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
12753
12754         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
12755         (gst_collect_pads_check_collected):
12756         Flush queued buffer on _stop(), fixes playing again (#342454)
12757
12758 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12759
12760         * tests/check/gst/gststructure.c: (GST_START_TEST),
12761         (gst_structure_suite):
12762           add a test for a complete structure
12763
12764 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
12765
12766         * docs/faq/developing.xml:
12767         * docs/faq/faq.xml:
12768         * docs/faq/troubleshooting.xml:
12769         * docs/faq/using.xml:
12770           Some minor FAQ updates that won't change the fact that
12771           our FAQ is badly structured, full of information hardly
12772           anyone new to GStreamer needs to know and lacking lots
12773           of information people constantly ask for.
12774           
12775 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
12776
12777         * gst/gstpad.c: (gst_pad_set_caps):
12778           Short-circuit gst_pad_set_caps if setting the existing
12779           caps pointer again, and avoid printing debug and 
12780           reffing/unreffing the caps.
12781
12782         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12783           There's actually no need to set the caps before pushing -
12784           the acceptcaps method will handle it anyway.
12785
12786 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
12787
12788         * docs/gst/gstreamer-sections.txt:
12789         * win32/common/libgstreamer.def:
12790         * gst/gstutils.c: (gst_element_seek_simple):
12791         * gst/gstutils.h:
12792           API: add gst_element_seek_simple() (#342238).
12793
12794 2006-05-18  Edward Hervey  <edward@fluendo.com>
12795
12796         * gst/gsttypefind.c: (gst_type_find_get_type):
12797         * gst/gsttypefind.h:
12798         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
12799         registered for GstTypeFind pointers. This allows wrapping the structure
12800         in bindings (i.e. gst-python).
12801
12802 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
12803
12804         * gst/gsttagsetter.c:
12805           Docs additions and fixes (see #339918).
12806
12807 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12808
12809         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12810         The caps intersection algorithm can produce multiple copies of the
12811         caps. Until that is fixed, we need to simplify the result to be
12812         sure whether the allowed caps are fixed or not.
12813
12814         * plugins/elements/gstqueue.c: (gst_queue_init),
12815         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
12816         (gst_queue_push_one):
12817         Proxied buffer alloc should not set the caps on the source pad.
12818         When pushing buffers, we always accept the caps change that triggers.
12819         This prevents negotiation errors caused by caps changing mid-stream 
12820         and then being refused on our source pad (because upstream is now
12821         refusing those caps).
12822
12823 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
12824
12825         * tests/examples/helloworld/helloworld.c: (main):
12826           Must plug audioconvert and audioresample between decoder
12827           and audio sink.
12828
12829 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
12830
12831         * gst/gstregistryxml.c: (read_string), (load_pad_template),
12832         (load_feature), (load_plugin):
12833         Allow empty strings for some of the plugin fields so we don't 
12834         drop valid plugin entries that were written out correctly
12835         (Fixes #341479)
12836
12837 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
12838         
12839         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12840           Use g_remove and g_rename instead of remove and rename that don't 
12841           handle utf8 characters. rename was failing for users who had specific
12842           characters in their name then the registry was built at each 
12843           gstreamer init.
12844         * win32/vs6/gst_inspect.dsp:
12845         * win32/vs6/gst_launch.dsp:
12846         * win32/vs6/libgstbase.dsp:
12847         * win32/vs6/libgstcoreelements.dsp:
12848         * win32/vs6/libgstreamer.dsp:
12849           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
12850           build of libgstreamer and clean unused libraries in projects link 
12851           settings.
12852
12853 2006-05-17  Edward Hervey  <edward@fluendo.com>
12854
12855         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12856         The queue is not responsible for pushing an EOS when receiving a fatal
12857         flow error. It's up to the real element driving the pipeline to do that.
12858
12859 2006-05-16  Edward Hervey  <edward@fluendo.com>
12860
12861         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12862         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
12863         buffer returned a fatal error. It should just send an EOS and stop
12864         its task.
12865         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
12866         when pushing buffers on the queue and will be able to handle the event.
12867
12868 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
12869
12870         * docs/manual/basics-bins.xml:
12871         * docs/manual/basics-init.xml:
12872           Fix typos and minor errors in sample code (#341856).
12873
12874 2006-05-16  Wim Taymans  <wim@fluendo.com>
12875
12876         * docs/design/part-qos.txt:
12877         Fix indexes in formulas to make more sense.
12878
12879 2006-05-15  Wim Taymans  <wim@fluendo.com>
12880
12881         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12882         Don't report POSITION based on clock time if sync is
12883         disabled in a sink.
12884
12885 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
12886
12887         * gst/gstobject.h:
12888           Add cast to make compiler happy - refcount variable was a gint
12889           in GstObject but is a guint in GObject and g_atomic_int_get()
12890           wants a gint *.
12891
12892 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12893
12894         * gst/parse/Makefile.am:
12895           chain commands using &&, which also makes parallel make work
12896
12897 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
12898
12899         * docs/gst/gstreamer-sections.txt:
12900         * gst/gstevent.c:
12901         * gst/gstevent.h:
12902         * gst/gstmessage.h:
12903           Minor docs fixes.
12904
12905 === release 0.10.6 ===
12906
12907 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
12908
12909         * configure.ac:
12910           releasing 0.10.6, "Take the cannoli"
12911
12912 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12913
12914         * tools/gst-launch.c: (print_tag):
12915           Fix use of uninitialized variable in the hypothetical
12916           case that some broken plugin creates a GST_TAG_IMAGE
12917           tag containing a NULL buffer (#341667).
12918
12919 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12920
12921         * tools/gst-launch.c: (print_tag):
12922           Print something more intelligible for image tags when
12923           using the -t switch (#341556).
12924
12925 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12926
12927         * Makefile.am:
12928           updates for win32
12929         * configure.ac:
12930           define GST_MAJORMINOR so we have it available in win32/common/config.h
12931           Possibly remove it from our Makefile.am files later
12932         * win32/common/config.h:
12933         * win32/common/config.h.in:
12934           added GST_MAJORMINOR
12935         * win32/common/gstenumtypes.c: (register_gst_resource_error):
12936         * win32/common/gstversion.h:
12937           updated
12938
12939 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
12940
12941         * win32/MANIFEST:
12942           Update win32 files listing.
12943         * win32/common/gstversion.h:
12944           Add GST_MAJORMINOR definition.
12945         * win32/common/libgstreamer.def:
12946           Add new exported functions.
12947           
12948 2006-05-12  Michael Smith  <msmith@fluendo.com>
12949
12950         * gst/gstplugin.c: (gst_plugin_load_file):
12951           If an so file has no plugin entry point, unload the module.
12952
12953 2006-05-11  Wim Taymans  <wim@fluendo.com>
12954
12955         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
12956         (gst_queue_set_property):
12957         Don't forget to signal the _chain or _loop function 
12958         when the queue size or thresholds change since that might
12959         cause them to make progres again.
12960
12961 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
12962
12963         * gst/gstclock.c: (gst_clock_class_init):
12964         * gst/gstindex.c: (gst_index_class_init):
12965         * gst/gstobject.c: (gst_object_class_init):
12966         * gst/gstpad.c: (gst_pad_class_init):
12967         * gst/gstpipeline.c: (gst_pipeline_class_init):
12968         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12969         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
12970         * libs/gst/base/gstbasetransform.c:
12971         (gst_base_transform_class_init):
12972         * libs/gst/net/gstnetclientclock.c:
12973         (gst_net_client_clock_class_init):
12974         * libs/gst/net/gstnettimeprovider.c:
12975         (gst_net_time_provider_class_init):
12976         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
12977         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12978         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12979         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
12980         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12981         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
12982         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12983         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12984         * plugins/elements/gsttee.c: (gst_tee_class_init):
12985         * tests/old/examples/plugins/example.c: (gst_example_class_init):
12986         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12987           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
12988
12989 2006-05-11  Wim Taymans  <wim@fluendo.com>
12990
12991         * gst/gstbuffer.c: (_gst_buffer_initialize):
12992         Register subbufer along with the buffer type so that
12993         it does not accidentally gets registered from N
12994         different streaming threads in a non threadsafe way.
12995
12996 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
12997
12998         * gst/gstbuffer.h:
12999         * gst/gstevent.h:
13000         * gst/gstmessage.h:
13001           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
13002           gst_event_ref() and gst_message_ref() functions again
13003           (ugly hack, please do fix if there's a better way besides
13004           overrides.txt, which doesn't seem to work).
13005
13006 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13007
13008         * libs/gst/check/gstcheck.h:
13009           add an assert for setting state to avoid lots of repetitive code
13010           in the future
13011
13012 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13013
13014         * gst/gstvalue.c: (gst_value_serialize_flags):
13015           fix a leak if no flags are set
13016         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13017           fix leak in tests
13018
13019 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13020
13021         * docs/manual/basics-pads.xml:
13022           Expand a bit on caps and filtered links and update
13023           examples that were still using the no longer existing
13024           gst_pad_link_filtered() (#338206).
13025
13026 2006-05-10  Wim Taymans  <wim@fluendo.com>
13027
13028         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13029         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13030         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13031         (gst_collect_pads_stop):
13032         * libs/gst/base/gstcollectpads.h:
13033         No need to call _stop in _finalize.
13034         Iterate the main pad list in _finalize.
13035         Added some more debug.
13036         Free lists and data in the right order.
13037         Also free data whem doing _remove_pad when stopped for
13038         backward compatibility protect ::started with PAD_LOCK as
13039         well.
13040
13041 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13042
13043         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
13044         (gst_structure_parse_value):
13045           add some comments
13046           rename a method so that it actually says what it does better
13047
13048 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13049
13050         * gst/gstevent.c: (_gst_event_initialize):
13051         * gst/gstformat.c: (_gst_format_initialize):
13052           make sure some essential types used by events are registered
13053           as part of gst_init()
13054         * gst/gstvalue.c: (gst_value_serialize_flags):
13055           if no flags are set, serialize them to a value that represents NONE
13056           so that deserializing them works
13057         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13058           add tests for serialization and deserialization of flags
13059
13060 2006-05-10  Wim Taymans  <wim@fluendo.com>
13061
13062         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
13063         (gst_collect_pads_collect_range), (gst_collect_pads_available),
13064         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
13065         (gst_collect_pads_event), (gst_collect_pads_chain):
13066         Update docs.
13067         Better debug info.
13068         Catch and return errors from the collect function
13069         Refuse data on eos pads.
13070
13071 2006-05-10  Edward Hervey  <edward@fluendo.com>
13072
13073         * gst/gstinterface.h:
13074         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
13075         GInterface type checking.
13076         They were previously using non-defined macros.
13077
13078 2006-05-09  Wim Taymans  <wim@fluendo.com>
13079
13080         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
13081         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
13082         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
13083         (gst_collect_pads_start), (gst_collect_pads_stop),
13084         (gst_collect_pads_peek), (gst_collect_pads_pop),
13085         (gst_collect_pads_available), (gst_collect_pads_read),
13086         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
13087         (gst_collect_pads_is_collected), (gst_collect_pads_event),
13088         (gst_collect_pads_chain):
13089         * libs/gst/base/gstcollectpads.h:
13090         Clean up the mess that is collectpads, add comments and
13091         FIXMEs where needed.
13092         Maintain a separate pad list so we can add pads while
13093         collecting the other ones. For this we need a new separate 
13094         lock (see comics).
13095         Fix memory leak in finalize.
13096         Refactor some weird code to set/unset pad flushing flags, mark
13097         with comments.
13098         Don't crash in _available, _read, _flush when we're EOS.
13099
13100         * tests/check/libs/.cvsignore:
13101         Ignore adapter check binary.
13102
13103 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13104
13105         * gst/gstindex.c: (gst_index_resolver_get_type):
13106         * plugins/elements/gstfakesink.c:
13107         (gst_fake_sink_state_error_get_type):
13108         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13109         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
13110         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
13111           Const-ify GEnumValue arrays.
13112
13113 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13114
13115         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13116           Add test case for flags + gst_buffer_make_metadata_writable().
13117
13118 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13119
13120         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
13121           gst_buffer_make_metadata_writable() should maintain the
13122           buffer flags (those that make sense at least) (see #340859).
13123
13124 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13125
13126         * tools/gst-inspect.c:
13127         * tools/gst-launch.c:
13128         * tools/gst-typefind.c:
13129         * tools/gst-xmlinspect.c:
13130         * tools/tools.h:
13131           Fix up includes: need to include stdlib.h in tools.h for exit().
13132
13133 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13134
13135         * gst/gsttaglist.c: (_gst_tag_initialize):
13136         * gst/gsttaglist.h:
13137           API: add GST_TAG_IMAGE tag (#340721).
13138
13139 2006-05-08  Wim Taymans  <wim@fluendo.com>
13140
13141         * gst/gstquery.c:
13142         Added some docs for the segment query.
13143
13144 2006-05-08  Wim Taymans  <wim@fluendo.com>
13145
13146         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13147         (gst_base_src_loop), (gst_base_src_change_state):
13148         Always push non-flushing serialized events in the streaming 
13149         thread.
13150
13151 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13152
13153         * gst/gsterror.c: (_gst_stream_errors_init):
13154           Add a missing error string.
13155
13156 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
13157
13158         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
13159         Add applied_rate to the debug
13160
13161         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
13162         Copy applied_rate into the outgoing NEWSEGMENT event
13163
13164 2006-05-08  Wim Taymans  <wim@fluendo.com>
13165
13166         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
13167
13168         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
13169         (gst_base_sink_change_state):
13170         call ::unlock before taking the PREROLL_LOCK so we can safely
13171         handle elements that lock in ::render.
13172         Fixes #340174.
13173
13174 2006-05-08  Edward Hervey  <edward@fluendo.com>
13175
13176         * autogen.sh: (CONFIGURE_DEF_OPT): 
13177         Darwin's libtoolize is in fact called glibtoolize.
13178         Adding glibtoolize to the list of accepted names for libtoolize.
13179
13180 2006-05-08  Wim Taymans  <wim@fluendo.com>
13181
13182         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13183         Unify error handling, don't post an error message
13184         when a push() returns EOS but perform our normal EOS
13185         handling code. Fixes #340772.
13186
13187 2006-05-08  Wim Taymans  <wim@fluendo.com>
13188
13189         * docs/design/part-overview.txt:
13190         Make upsteam/downstream concepts more clear.
13191         Give an example of serialized/non-serialized events.
13192
13193         * docs/design/part-events.txt:
13194         * docs/design/part-streams.txt:
13195         Mention applied_rate.
13196
13197         * docs/design/part-trickmodes.txt:
13198         Mention applied rate, flesh out some more use cases.
13199
13200         * gst/gstevent.c: (gst_event_new_new_segment),
13201         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
13202         (gst_event_parse_new_segment_full), (gst_event_new_tag),
13203         (gst_event_parse_tag), (gst_event_new_buffer_size),
13204         (gst_event_parse_buffer_size), (gst_event_new_qos),
13205         (gst_event_parse_qos), (gst_event_parse_seek),
13206         (gst_event_new_navigation):
13207         * gst/gstevent.h:
13208         Add applied_rate field to NEWSEGMENT event.
13209         API: gst_event_new_new_segment_full()
13210         API: gst_event_parse_new_segment_full()
13211
13212         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
13213         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
13214         (gst_segment_to_stream_time), (gst_segment_to_running_time):
13215         * gst/gstsegment.h:
13216         Add applied_rate to GstSegment structure.
13217         Make calculation of stream_time and running_time more correct
13218         wrt rate/applied_rate.
13219         Add some more docs.
13220         API: GstSegment::applied_rate field
13221         API: gst_segment_set_newsegment_full();
13222
13223         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13224         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
13225         * libs/gst/base/gstbasetransform.c:
13226         (gst_base_transform_sink_eventfunc),
13227         (gst_base_transform_handle_buffer):
13228         Parse and use applied_rate in the GstSegment field.
13229
13230         * tests/check/gst/gstevent.c: (GST_START_TEST):
13231         Add check for applied_rate field.
13232
13233         * tests/check/gst/gstsegment.c: (GST_START_TEST),
13234         (gstsegments_suite):
13235         Add more checks for various GstSegment operations.
13236
13237 2006-05-08  Wim Taymans  <wim@fluendo.com>
13238
13239         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13240         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
13241         (gst_base_sink_get_position), (gst_base_sink_change_state):
13242         Store the sync time of the buffer end position separatly in a
13243         new variable eos_rtime so we can properly sync the EOS event.
13244         Fixes #340697.
13245         Fix the docs for gst_base_sink_set_qos_enabled().
13246         Don't set segment start to invalid value when we receive a 
13247         non TIME newsegment.
13248         get closer to handling position reporting for negative rates 
13249         correctly.
13250
13251 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13252
13253         * gst/gstcaps.c:
13254         Docs about how to print caps for debug purposes.
13255
13256         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
13257         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
13258
13259 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13260
13261         * gst/gstelement.c:
13262           use full enum names and preprend a '%' in docs strings to make recent 
13263           gtk-doc turn that into a link
13264
13265 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13266
13267         * docs/manual/basics-bins.xml:
13268         * docs/manual/basics-bus.xml:
13269         * docs/manual/basics-pads.xml:
13270           Some typo fixes, some additions, some clarifications. 
13271
13272 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13273
13274         * tools/gst-inspect.c: (main):
13275         * tools/gst-launch.c: (main):
13276         * tools/gst-run.c: (main):
13277         * tools/gst-typefind.c: (main):
13278         * tools/gst-xmlinspect.c: (main):
13279           Use the string passed to g_option_context_new() for
13280           what it's intended for - the program name is already
13281           printed elsewhere.
13282
13283 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13284
13285         * tools/Makefile.am:
13286         * tools/gst-inspect.c: (main):
13287         * tools/gst-launch.c: (main):
13288         * tools/gst-xmlinspect.c: (main):
13289         * tools/tools.h:
13290           Add back --version command line option (#340460).
13291
13292         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
13293           Add --version option and use GOption for argument parsing; refactor a
13294           bit; accept directories as arguments and recurse into them; lastly,
13295           print a decent error message when things go wrong.
13296
13297 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13298
13299         * docs/manual/basics-bins.xml:
13300         Don't mention GstThread (#340611)
13301         * docs/manual/basics-elements.xml:
13302         Update link to GObject tutorial (#340607)
13303         
13304 2006-05-05  Wim Taymans  <wim@fluendo.com>
13305
13306         * gst/gstbuffer.h:
13307         * gst/gstminiobject.c:
13308         Add note about refcounting and miniobject/buffer writeability
13309         to docs. Fixes #340604
13310
13311         * gst/gstelementfactory.h:
13312         Added some explanation about @klass.
13313
13314 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13315
13316         * docs/manual/intro-motivation.xml:
13317         * docs/manual/manual.xml:
13318         Avoid CORBA & Bonobo references (#340598)
13319
13320 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13321
13322         * docs/manual/basics-bus.xml:
13323         * docs/manual/basics-pads.xml:
13324         Fix up some inaccuracies and omissions (#340609)
13325         
13326 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13327
13328         * gst/gstghostpad.c:
13329           Small typo in docs (#340625)
13330
13331 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13332
13333         * gst/parse/Makefile.am:
13334           Make 'make -j' proof (see #340698).
13335
13336 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13337
13338         * configure.ac:
13339           Require GLib-2.8 here as well.
13340
13341 2006-05-05  Wim Taymans  <wim@fluendo.com>
13342
13343         * gst/glib-compat.c:
13344         * gst/gst.c: (init_pre):
13345         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13346         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
13347         (gst_object_dispatch_properties_changed):
13348         * gst/gstobject.h:
13349         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13350         * gst/gststructure.c: (gst_structure_set_valist):
13351         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13352         Remove pre glib2.8 compatibility, fixes #340508
13353
13354 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13355
13356         * gst/gsttaglist.h:
13357           Mention type of tags in doc blurbs.
13358
13359 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
13360
13361         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13362         (gst_pad_configure_src), (gst_pad_push):
13363         Restore acceptcaps checking behaviour now that good plugins have
13364         been released.
13365
13366 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13367
13368         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
13369
13370         * gst/gst.c:
13371         * gst/gstbus.c:
13372         * gst/gstclock.c:
13373         * gst/gstevent.c:
13374         * gst/gstformat.c:
13375         * gst/gstmessage.c:
13376         * gst/gstparse.c:
13377         * gst/gstquery.c:
13378         * gst/gstutils.c:
13379         * gst/parse/Makefile.am:
13380         * libs/gst/base/gstadapter.c:
13381         * libs/gst/base/gstbasesrc.c:
13382         * libs/gst/base/gstpushsrc.c:
13383         * libs/gst/base/gsttypefindhelper.c:
13384         * plugins/elements/gstfakesrc.c:
13385         * plugins/elements/gstidentity.c:
13386           Make sure gstprivate.h and/or config.h are
13387           always included first, otherwise some of our
13388           defines (like _FILE_OFFSET_BITS) might be
13389           redefined in the system headers. Fixes build
13390           on opensolaris (#340016).
13391
13392 2006-05-04  Wim Taymans  <wim@fluendo.com>
13393
13394         * docs/libs/gstreamer-libs-sections.txt:
13395         API: addition: gst_adapter_take_buffer()
13396         
13397         * libs/gst/base/gstadapter.c: (gst_adapter_push),
13398         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
13399         (gst_adapter_available_fast):
13400         * libs/gst/base/gstadapter.h:
13401         Prepare for optimizing the hell out of this hugely inefficient
13402         piece of code. 
13403         Added gst_adapter_take_buffer() so we can at least start thinking
13404         about subbuffering and merging.
13405         Added some comments.
13406
13407         * tests/check/Makefile.am:
13408         * tests/check/libs/adapter.c: (GST_START_TEST),
13409         (gst_adapter_suite), (main):
13410         Added GstAdapter check.
13411
13412 2006-05-04  Wim Taymans  <wim@fluendo.com>
13413
13414         * docs/design/part-overview.txt:
13415         Fix some typos, add blurb about buffer flags.
13416
13417 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13418
13419         * docs/libs/gstreamer-libs-sections.txt:
13420           make sure GstBaseTransformClass shows up in the docs
13421         * libs/gst/base/gstbasetransform.c:
13422         * libs/gst/base/gstbasetransform.h:
13423           move docs so gtk-doc picks it up now
13424
13425 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13426
13427         * docs/libs/gstreamer-libs-sections.txt:
13428           add missing symbols to docs
13429
13430 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13431
13432         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13433           back out the newsegment handling change, see #340060 for ongoing
13434           discussion
13435
13436 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
13437
13438         * tools/gst-run.c: (get_candidates), (main):
13439           Fix wrong g_file_test() usage (see glib docs for why it doesn't
13440           work); fix typo in error message. Fixes #340079.
13441
13442 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13443
13444         * common/Makefile.am:
13445         * docs/Makefile.am:
13446         * docs/faq/Makefile.am:
13447         * docs/gst/Makefile.am:
13448         * docs/libs/Makefile.am:
13449         * docs/manual/Makefile.am:
13450         * docs/plugins/Makefile.am:
13451         * docs/pwg/Makefile.am:
13452         * docs/slides/Makefile.am:
13453         * docs/upload.mak:
13454         * common/upload.mak:
13455           move upload.mak to common
13456
13457 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13458
13459         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13460           add more asserts on refcounts
13461           do more cleanup at end of tests
13462           fix test leaks showing in FC5
13463
13464 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
13465
13466         * plugins/elements/gsttypefindelement.c:
13467         (gst_type_find_element_handle_event):
13468         reverted wrong change and reflowed code to avoid others falling into
13469         this trap
13470
13471 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13472
13473         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13474           fix changelog entry about last collectpads change,
13475           add notes about proper fix
13476
13477 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13478
13479         * gst/gst.c:
13480         * gst/gstregistry.c: (gst_registry_scan_path_level),
13481         (gst_registry_scan_path):
13482         * gst/gstregistry.h:
13483           only write out registry if it has changed, fixes #338339
13484
13485 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13486
13487         * gst/gstbin.c:
13488         * gst/gstpipeline.c:
13489         * plugins/elements/gstcapsfilter.c:
13490         * plugins/elements/gstfakesink.c:
13491         * plugins/elements/gstfakesrc.c:
13492         * plugins/elements/gstfdsink.c:
13493         * plugins/elements/gstfdsrc.c:
13494         * plugins/elements/gstfilesink.c:
13495         * plugins/elements/gstfilesrc.c:
13496         * plugins/elements/gstidentity.c:
13497         * plugins/elements/gstqueue.c:
13498         * plugins/elements/gsttee.c:
13499         * plugins/elements/gsttypefindelement.c:
13500         (gst_type_find_element_handle_event):
13501           make GstElementDetails const
13502
13503 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13504
13505         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
13506         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13507         (gst_collect_pads_is_collected), (gst_collect_pads_event):
13508           more detailed debug and formatting cleanup,
13509           forward newsegments to src-pad (so that e.g. adder not eats them)
13510
13511 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13512
13513         * gst/gstutils.c: (gst_element_link_pads):
13514           cleanup double code
13515
13516 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13517
13518         * libs/gst/controller/gstcontroller.c:
13519         (gst_controller_sync_values):
13520           some little tuning
13521         * tests/check/libs/controller.c: (GST_START_TEST),
13522         (gst_controller_suite):
13523           a new test for live value handling
13524
13525 2006-04-28  Wim Taymans  <wim@fluendo.com>
13526
13527         * gst/gstutils.c: (push_and_ref):
13528         Added some more docs.
13529         Fix refcount issue whith gst_element_found_tags() helper 
13530         function. Fixes #338335
13531
13532         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13533         Added testsuite for gst_element_found_tags().
13534
13535 2006-04-28  Michael Smith  <msmith@fluendo.com>
13536
13537         * gst/gstvalue.c: (gst_value_serialize_flags):
13538           Avoid NULL dereference when trying to serialize flags containing
13539           invalid values.
13540
13541 2006-04-28  Michael Smith  <msmith@fluendo.com>
13542
13543         * plugins/elements/gsttypefindelement.c:
13544         (gst_type_find_element_handle_event):
13545           If we get EOS before any data is accumulated, don't use
13546           uninitialised local variables.
13547
13548 2006-04-28  Michael Smith  <msmith@fluendo.com>
13549
13550         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13551         (gst_dp_event_from_packet):
13552           Fixes in reading/writing events over GDP (not currently used?) - 
13553           dereferencing NULL events for unknown/invalid event types, memory
13554           leak, and change g_warning to GST_WARNING.
13555
13556 2006-04-28  Wim Taymans  <wim@fluendo.com>
13557
13558         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
13559         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13560         (gst_base_sink_get_position), (gst_base_sink_change_state):
13561         When frame dropping is enabled, we should not ignore frames
13562         without a duration.
13563         Update some documentation.
13564
13565 2006-04-28  Wim Taymans  <wim@fluendo.com>
13566
13567         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13568         (gst_base_src_send_event), (gst_base_src_change_state):
13569         Documentation updates.
13570
13571 2006-04-28  Wim Taymans  <wim@fluendo.com>
13572
13573         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
13574         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
13575         handle EAGAIN, EINTR and short writes correctly. Also clean
13576         up some error cases, avoid a deadlock on bad file descriptors and
13577         use GST_DEBUG_OBJECT.
13578         Fixes #339843
13579
13580 2006-04-28  Wim Taymans  <wim@fluendo.com>
13581
13582         * gst/gstvalue.c: (gst_value_serialize_buffer),
13583         (gst_value_deserialize_buffer):
13584         Don't try to serialize a GValue with a NULL buffer. 
13585         Fixes #339821.
13586
13587         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13588         Added check for serialisation of NULL buffers.
13589
13590 2006-04-28  Wim Taymans  <wim@fluendo.com>
13591
13592         * gst/gstminiobject.c: (gst_value_take_mini_object):
13593         Taking a NULL miniobject is valid, fix the case where
13594         we try to unref the NULL miniobject.
13595
13596 2006-04-28  Wim Taymans  <wim@fluendo.com>
13597
13598         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13599
13600         * gst/gstbin.c: (gst_bin_handle_message_func):
13601         Update docs.
13602         Don't leak bin refcount when a state recalc is
13603         in progress and we delay another one #339808.
13604
13605 2006-04-28  Wim Taymans  <wim@fluendo.com>
13606
13607         * docs/design/part-TODO.txt:
13608         Mention QoS as an ongoing work item.
13609
13610         * docs/design/part-buffering.txt:
13611         New doc about buffering that needs to be fleshed out
13612         at some point.
13613
13614         * docs/design/part-qos.txt:
13615         More QoS policy for decoders/demuxers/transforms
13616
13617         * docs/design/part-trickmodes.txt:
13618         Small update.
13619
13620 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13621
13622         * configure.ac:
13623           back to HEAD
13624
13625 === release 0.10.5 ===
13626
13627 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
13628
13629         * configure.ac:
13630           releasing 0.10.5, "Fogo"
13631
13632 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13633
13634         patch by: Wim Taymans
13635
13636         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13637         (gst_pad_configure_src), (gst_pad_push):
13638         * gst/gstpipeline.c: (gst_pipeline_init):
13639           Fix internal data flow errors.  Fixes #338711.
13640
13641 2006-04-12  Wim Taymans  <wim@fluendo.com>
13642
13643         * tests/check/gst/gstelement.c: (GST_START_TEST):
13644         Don't leak the factory.
13645
13646 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13647
13648         * configure.ac:
13649         * win32/common/config.h:
13650           prerelease
13651
13652 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
13653
13654         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13655         (gst_controller_unset_all):
13656           Free allocated GstTimedValues when freeing list nodes.
13657           Should fix leaks 'make check-valgrind' complains about.
13658
13659         * win32/common/libgstcontroller.def:
13660           Add gst_controller_unset_all.
13661
13662 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
13663
13664         * docs/libs/gstreamer-libs-sections.txt:
13665         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13666         (gst_controller_unset_all):
13667         * libs/gst/controller/gstcontroller.h:
13668         API: Added new method gst_controller_unset_all()
13669         fixed gst_controller_unset()
13670         * tests/check/libs/controller.c: (GST_START_TEST),
13671         (gst_controller_suite):
13672         Added two testcases for new and fixed method
13673
13674 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
13675
13676         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
13677           MSG_DONTWAIT is not defined on Cygwin, so work
13678           around that (fixes #317048).
13679           
13680 2006-04-11  Wim Taymans  <wim@fluendo.com>
13681
13682         * gst/gstelementfactory.c: (gst_element_register),
13683         (gst_element_factory_create), (gst_element_factory_make):
13684         Some cleanups.
13685         Fixed a FIXME.
13686         Updated docs (Fixes #131079)
13687
13688         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13689         Small cleanups.
13690
13691         * tests/check/gst/gstelement.c: (GST_START_TEST),
13692         (gst_element_suite):
13693         Added testcase for elementfactory class field.
13694
13695 2006-04-10  Wim Taymans  <wim@fluendo.com>
13696
13697         * gst/gstsegment.c:
13698         Added some more docs.
13699
13700         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
13701         (gst_base_sink_reset_qos):
13702         Calculate more accurate rate values.
13703
13704 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
13705
13706         * gst/gst_private.h:
13707           add a new #ifdef to use __declspec(dllimport) only for
13708           other modules and not for gstreamer core
13709         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
13710           use gst_guint64_to_gdouble for conversion
13711         * win32/common/libgstreamer.def:
13712           add new exported functions
13713         * win32/vs6/gst_inspect.dsp:
13714         * win32/vs6/gst_launch.dsp:
13715         * win32/vs6/libgstbase.dsp:
13716         * win32/vs6/libgstcontroller.dsp:
13717         * win32/vs6/libgstcoreelements.dsp:
13718         * win32/vs6/libgstdataprotocol.dsp:
13719         * win32/vs6/libgstnet.dsp:
13720           update project files
13721
13722 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
13723
13724         * gst/gstbuffer.c: (gst_subbuffer_class_init):
13725         * gst/gstclock.c: (gst_clock_class_init):
13726         * gst/gstelement.c: (gst_element_class_init):
13727         * gst/gstindex.c: (gst_index_class_init):
13728         * gst/gstindexfactory.c: (gst_index_factory_class_init):
13729         * gst/gstobject.c: (gst_object_class_init),
13730         (gst_signal_object_class_init):
13731         * gst/gstpad.c: (gst_pad_class_init):
13732         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
13733         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
13734         * gst/gstregistry.c: (gst_registry_class_init):
13735         * gst/gstsystemclock.c: (gst_system_clock_class_init):
13736         * gst/gsttask.c: (gst_task_class_init):
13737         * gst/gstxml.c: (gst_xml_class_init):
13738         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13739         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13740         (gst_base_src_loop):
13741         * libs/gst/controller/gstcontroller.c:/
13742         (_gst_controller_class_init):
13743         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13744         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
13745         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
13746         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13747         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13748         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
13749
13750 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
13751
13752         * gst/gstpad.c: (gst_pad_link):
13753           Must set peer pads before calling the link function, otherwise
13754           a task started from a link function might get a flow-not-linked
13755           result when trying to push because the other thread where the
13756           linking happens hasn't had a chance to set the peers yet. This
13757           might happen for example when a queue gets linked to a downstream
13758           element, as queue starts a streaming task when its source pad
13759           gets linked. Happens in real life when playing back flac/musepack
13760           files in playbin (#332390).
13761           
13762 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
13763
13764         * gst/gstindex.h:
13765         * gst/gstxml.h:
13766         * libs/gst/base/gstadapter.h:
13767         * libs/gst/base/gstbasesink.h:
13768         * libs/gst/base/gstbasesrc.h:
13769         * libs/gst/base/gstbasetransform.h:
13770         * libs/gst/base/gstcollectpads.h:
13771         * libs/gst/base/gstpushsrc.h:
13772         Fix broken GObject macros
13773
13774 2006-04-07  Wim Taymans  <wim@fluendo.com>
13775
13776         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13777         Initialize start and stop times, thanks valgrind.
13778
13779 2006-04-07  Wim Taymans  <wim@fluendo.com>
13780
13781         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13782         Be a bit nicer to badly behaving upstream elements that expect
13783         us to deal with non TIME segments and timestamps (such as fakesrc
13784         in the testsuite).
13785
13786 2006-04-07  Wim Taymans  <wim@fluendo.com>
13787
13788         * gst/gstbus.c:
13789         Small documentation clarification about the signal watch.
13790
13791         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13792         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
13793         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13794         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13795         (gst_base_sink_get_position_last),
13796         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
13797         Convert and store timestamps in stream time and running time, the
13798         raw timestamps are not useful, also document this better.
13799         Use different window sizes for good and bad QoS observations so
13800         we react to badness a little quicker.
13801         Keep track of the amount of rendered and dropped buffers.
13802         Send QoS timestamps in running time.
13803
13804         * libs/gst/base/gstbasetransform.c:
13805         (gst_base_transform_sink_eventfunc),
13806         (gst_base_transform_handle_buffer):
13807         Compare QoS timestamps against running time.
13808
13809 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
13810
13811         * gst/gstpad.c:
13812           Typo fixes in docs.
13813
13814 2006-04-06  Michael Smith  <msmith@fluendo.com>
13815
13816         * gst/gstpad.c: (gst_pad_set_property):
13817           Use g_value_get_object() instead of g_value_dup_gst_object(),
13818           to avoid double-reffing the pad template (which we then sink,
13819           so this worked previously if (and only if) the pad template
13820           was floating.
13821
13822         * gst/gstpadtemplate.c: (gst_pad_template_init),
13823         (gst_pad_template_pad_created):
13824           Never return floating references to pad templates, create
13825           them as initially-sunken.
13826
13827           Document an extra function (and make this stop sinking our
13828           pad template, since that is now guaranteed to do nothing,
13829           since we created it sunken).
13830
13831         * gst/gstghostpad.c:
13832           Fix docs typo.
13833
13834 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
13835
13836         * gst/gstinfo.c: (__gst_in_valgrind):
13837           Add some newlines.
13838
13839         * plugins/elements/gsttypefindelement.c:
13840         (gst_type_find_element_chain):
13841           Don't leak buffer caps.
13842
13843 2006-04-06  Michael Smith  <msmith@fluendo.com>
13844
13845         * gst/parse/grammar.y:
13846           Fix a leak in parse-launch for any source-or-sink named element 
13847           references used.
13848
13849         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13850           Unref the pipeline if it exists after we've failed parsing.
13851
13852 2006-04-05  Michael Smith  <msmith@fluendo.com>
13853
13854         * gst/gstpipeline.c: (gst_pipeline_init):
13855           When we create a pipeline bus, initially create it in flushing mode.
13856           Fixes leaks in at least one test, and makes a new pipeline work the
13857           same as one that has gone to READY and then back to NULL.
13858
13859         * gst/gstelement.c:
13860           Typo fix in docs.
13861
13862 2006-04-05  Michael Smith  <msmith@fluendo.com>
13863
13864         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13865           Unref a pad we reffed.
13866         * tests/check/gst/gstutils.c: (GST_START_TEST):
13867           Unref bins
13868
13869 2006-04-05  Michael Smith  <msmith@fluendo.com>
13870
13871         * gst/gstquery.c: (gst_query_set_formats),
13872         (gst_query_set_formatsv):
13873           Fix leaking GValues in queries, as shown by valgrind/testsuite.
13874
13875 2006-04-05  Michael Smith  <msmith@fluendo.com>
13876
13877         * tests/check/generic/sinks.c: (GST_START_TEST):
13878           Fix a variety of memleaks in sinks check, which are only sometimes 
13879           shown by running the tests under valgrind (weird?).
13880
13881 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
13882
13883         * docs/version.entities.in:
13884           Fix the substituted entity name after thomas' changes on the
13885           weekend.
13886
13887 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
13888
13889         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
13890         VALGRIND_PRINTF
13891         
13892 2006-04-05  Andy Wingo  <wingo@pobox.com>
13893
13894         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
13895
13896         * libs/gst/base/gstbasetransform.c
13897         (gst_base_transform_sink_eventfunc): When resetting our segment on
13898         FLUSH_STOP, also update the flag saying we haven't seen a
13899         newsegment.
13900
13901 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13902
13903         Patch by: Paolo Borelli  <pborelli at katamail dot com>
13904
13905         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13906         (gst_plugin_check_license):
13907           minor clean-ups: G_DEFINE_TYPE already takes care of the
13908           parent_class stuff, no need to do it twice. Mark array of
13909           license strings as constant. (#337103)
13910           
13911 2006-04-04  Michael Smith  <msmith@fluendo.com>
13912
13913         * tools/gst-inspect.c: (print_element_list):
13914           Free the right plugin list; fixes a memory leak.
13915
13916 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13917
13918         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
13919
13920         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13921           Don't error out on empty buffers (#336945).
13922           
13923 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
13924
13925         * docs/libs/gstreamer-libs-sections.txt:
13926         * gst/gsttaglist.c:
13927         * libs/gst/base/gstbasesink.c:
13928         * libs/gst/base/gstbasesink.h:
13929         * libs/gst/base/gstbasesrc.c:
13930         * libs/gst/base/gstbasesrc.h:
13931           Documentation updates. Make BaseSink and BaseSrc docs contain the
13932           class structure so that people can actually see the prototypes for
13933           virtual functions they're supposed to be overriding.
13934
13935 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13936
13937         * plugins/elements/gsttypefindelement.c:
13938         (gst_type_find_element_chain):
13939           More debug info; when skipping typefinding, send cached
13940           events in all cases.
13941
13942 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13943
13944         * configure.ac:
13945           use new AS_VERSION and AS_NANO macros
13946         * gst/gst-i18n-lib.h:
13947         * gst/gst.c:
13948         * gst/gsterror.c:
13949         * gst/gstversion.h.in:
13950         * win32/common/config.h:
13951         * win32/common/config.h.in:
13952           update accordingly
13953
13954 2006-03-31  Michael Smith  <msmith@fluendo.com>
13955
13956         * plugins/elements/gsttypefindelement.c:
13957         (gst_type_find_element_chain):
13958           Do not typefind content if the buffers already have caps.
13959           Neccesary for icydemux (#333657), and the right thing to do anyway.
13960
13961 2006-03-30  Wim Taymans  <wim@fluendo.com>
13962
13963         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13964         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
13965         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
13966         (gst_base_sink_record_qos_observation),
13967         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13968         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13969         (gst_base_sink_change_state):
13970         More QoS measurements as described in the design doc.
13971         Get rid of ringbuffer with observations, running average is
13972         more simple and equally good.
13973         Calculates valid proportion now.
13974         Added beginning of flood measurement.
13975
13976 2006-03-29  Wim Taymans  <wim@fluendo.com>
13977
13978         * docs/design/part-qos.txt:
13979         * gst/gstclock.c:
13980         Small documentation updates and additions.
13981
13982 2006-03-29  Wim Taymans  <wim@fluendo.com>
13983
13984         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13985         (gst_base_src_send_event), (gst_base_src_loop),
13986         (gst_base_src_change_state):
13987         Perform the EOS logic when we reach the segment stop position.
13988         Fix compilation on gcc4.1
13989
13990 2006-03-29  Wim Taymans  <wim@fluendo.com>
13991
13992         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
13993
13994         * plugins/elements/gstqueue.c: (gst_queue_init),
13995         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13996         (gst_queue_set_property):
13997         * plugins/elements/gstqueue.h:
13998         In queue, when EOS is received, if minimum threshold > max_size -
13999         current_level, there is chance that queue blocks forever in conditional
14000         item del wait. This is because the queue is not emptied completely due
14001         to minimum threshold.  Here is another approach. Instead of setting
14002         cur_levels to max in EOS, just zero all minimum threshold levels. This
14003         should make sure that queue gives out all data. When going to READY
14004         (stop) state, just reset the original minimum threshold levels.
14005         Fixes #336336.
14006
14007 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
14008
14009         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
14010         (gst_type_find_element_handle_event),
14011         (gst_type_find_element_send_cached_events),
14012         (gst_type_find_element_change_state):
14013         * plugins/elements/gsttypefindelement.h:
14014           When typefinding is done in push mode, we should cache
14015           events we receive during typefinding instead of just
14016           dropping them (e.g. newsegment, custom events from
14017           dvdreadsrc etc.) and then send them out once we've
14018           determined the type of the stream (and decodebin
14019           has had a chance to plug in a decoder/demuxer).
14020           
14021 2006-03-27  Wim Taymans  <wim@fluendo.com>
14022
14023         * docs/design/part-qos.txt:
14024         First QoS ideas.
14025
14026 2006-03-27  Wim Taymans  <wim@fluendo.com>
14027
14028         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
14029
14030         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14031         (gst_base_src_send_event), (gst_base_src_change_state):
14032         Handle element seek correctly when we are streaming.
14033         Fixes #326998.
14034
14035 2006-03-24  Michael Smith  <msmith@fluendo.com>
14036
14037         * docs/faq/gst-uninstalled:
14038           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
14039           allow you to correctly run intalled applications built against old 
14040           core, using plugins that require updated core (e.g. running
14041           installed totem against a full uninstalled gstreamer stack)
14042
14043 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14044
14045         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14046         more debug details
14047
14048 2006-03-24  Wim Taymans  <wim@fluendo.com>
14049
14050         * docs/gst/gstreamer-sections.txt:
14051         Rearrange the order of the methods so that related methods
14052         are grouped together in sections.
14053
14054 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14055
14056         * gst/gstelement.c:
14057           Little clarification in the docs
14058
14059 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14060
14061         * docs/README:
14062         formatting fix
14063         * plugins/elements/gstidentity.c:
14064         * plugins/elements/gstqueue.c:
14065         * plugins/elements/gsttee.c:
14066         * plugins/elements/gsttypefindelement.c:
14067         GST_ELEMENT_DETAILS formatting
14068
14069 2006-03-24  Wim Taymans  <wim@fluendo.com>
14070
14071         * libs/gst/base/gstbasesink.h:
14072         Only add fields, not insert or we break ABI.
14073
14074 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14075
14076         * win32/common/libgstbase.def:
14077         * win32/common/libgstreamer.def:
14078           Update, add recently added functions.
14079
14080 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14081
14082         * docs/gst/gstreamer-sections.txt:
14083         * gst/gstutils.c: (gst_pad_query_peer_position),
14084         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
14085         * gst/gstutils.h:
14086           API: add some new utility functions:
14087            - gst_pad_query_peer_position()
14088            - gst_pad_query_peer_duration()
14089            - gst_pad_query_peer_convert()
14090           
14091 2006-03-23  Wim Taymans  <wim@fluendo.com>
14092
14093         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14094         (gst_base_sink_init), (gst_base_sink_finalize),
14095         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
14096         (gst_base_sink_set_property), (gst_base_sink_get_property),
14097         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
14098         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14099         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
14100         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14101         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14102         (gst_base_sink_preroll_object), (gst_base_sink_event),
14103         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
14104         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
14105         (gst_base_sink_query), (gst_base_sink_change_state):
14106         Decouple max-lateness and the fact that QoS messages are generated
14107         with a new property (qos).
14108         added API: GstBaseSink::async_play()
14109         Add vmethod so subclasses can be notified of ASYNC playing
14110         state changes.
14111         Collect timestamp start and stop to report better current
14112         position in EOS/PLAYING/PAUSED/READY/NULL.
14113         Refactor QoS/frame dropping and other measurements.
14114         API: GstBaseSrc::qos
14115         Fixes #326311
14116
14117         * libs/gst/base/gstbasesink.h:
14118         Added Private struct.
14119         API: gst_base_sink_set_qos_enabled()
14120         API: gst_base_sink_is_qos_enabled()
14121
14122 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14123
14124         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14125           If compiling against GLib-2.8 or newer, try to read the
14126           registry file using GMappedFile first before falling back
14127           to fopen() + fread() (#332151).
14128
14129 2006-03-22  Wim Taymans  <wim@fluendo.com>
14130
14131         * gst/gstinfo.c: (gst_debug_set_active),
14132         (gst_debug_category_set_threshold):
14133         Disable debugging unless explicitly activated.
14134         Fixes #335480.
14135
14136 2006-03-22  Wim Taymans  <wim@fluendo.com>
14137
14138         * gst/gstelement.c: (gst_element_set_locked_state),
14139         (gst_element_dispose):
14140         Cleanup the error case.
14141
14142         * gst/gstobject.c: (gst_object_dispose):
14143         print a critical when some object was disposed with
14144         a parent, also revive the object since it might
14145         crash the parent.
14146
14147 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
14148
14149         * tools/gst-launch.1.in:
14150           Fix another typo.
14151
14152 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14153
14154         * configure.ac:
14155         * tests/check/Makefile.am:
14156           disable some tests when we don't have a registry
14157         * tests/check/gst/gstutils.c: (gst_utils_suite):
14158           don't build the part that needs parsing
14159
14160 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14161
14162         * gst/Makefile.am
14163         * tests/examples/Makefile.am:
14164           fix --disable-parse build
14165
14166 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14167
14168         * tools/gst-feedback.1.in:
14169           Fix typo: s/feeback/feedback/ (#133494).
14170
14171 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14172
14173         * tools/Makefile.am:
14174         * tools/gst-launch.1.in:
14175           Add FILES section and correct entry about GST_REGISTRY_PATH
14176           environment variable (#133495; #133494).
14177
14178 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14179
14180         * tools/Makefile.am:
14181         * tools/gst-md5sum.1.in:
14182         * tools/gst-md5sum.c:
14183           Remove gst-md5sum and man page (the md5sink element
14184           required was removed ages ago)
14185
14186 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14187
14188         * gst/gststructure.c: (gst_structure_id_set_value):
14189           Make sure that string fields in structures/taglists
14190           contain valid UTF-8 - we don't want to pass rubbish to
14191           applications because of a buggy plugin (cp. #334167).
14192
14193 2006-03-21  Edward Hervey  <edward@fluendo.com>
14194
14195         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14196         (gst_bin_handle_message_func):
14197         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
14198         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
14199         (gst_element_set_bus_func):
14200         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
14201         * gst/gstminiobject.c: (gst_value_set_mini_object),
14202         (gst_value_take_mini_object):
14203         * gst/gstpad.c: (gst_pad_set_pad_template):
14204         * gst/gstpipeline.c: (gst_pipeline_dispose),
14205         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14206         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
14207         (gst_collect_pads_chain):
14208         * libs/gst/net/gstnettimeprovider.c:
14209         (gst_net_time_provider_set_property):
14210         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
14211         It's in fact all issues with gst_*object_replace().
14212
14213 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14214
14215         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
14216         
14217         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14218         * pkgconfig/gstreamer-check.pc.in:
14219           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
14220
14221 2006-03-21  Edward Hervey  <edward@fluendo.com>
14222
14223         * gst/gstbuffer.h:
14224         * gst/gstevent.h:
14225         * gst/gstmessage.h:
14226         gst_[buffer|event|message]_ref() macros are replaced by a static
14227         inline functions because gcc-4.1 will about if the return value
14228         isn't used.
14229         * tests/check/gst/gstevent.c: (event_probe):
14230         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
14231
14232 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
14233
14234         * gst/gstutils.h:
14235         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
14236         the type' case. (Closes: #335195 for now). In the future, when we
14237         depend on GLib 2.10, we could also intern the type name using
14238         g_intern_static_string()
14239
14240 2006-03-20  Wim Taymans  <wim@fluendo.com>
14241
14242         * gst/gstbin.c: (gst_bin_handle_message_func),
14243         (bin_query_max_init), (bin_query_position_fold),
14244         (bin_query_position_done), (gst_bin_query):
14245         Position query should also take max of all streams.
14246
14247 2006-03-20  Wim Taymans  <wim@fluendo.com>
14248
14249         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14250         (gst_fake_src_finalize):
14251         Fix leaks in fakesrc.
14252
14253         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
14254         Fix leaks in the testcase.
14255
14256 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
14257
14258         * gst/gst_private.h:
14259           add win32 specific import decoration(__declspec(dllimport)) 
14260           for all extern GstDebugCategory * variables
14261         * win32/common/libgstbase.def:
14262         * win32/common/libgstcontroller.def:
14263         * win32/common/libgstreamer.def:
14264           Add some exports, remove empty lines
14265         * win32/common/libgstdataprotocol.def:
14266         * win32/common/libgstdataprotocol.dsp:
14267         * win32/common/libgstnet.def:
14268         * win32/common/libgstnet.dsp:
14269           new project files and exportation files added
14270         
14271 2006-03-19  Wim Taymans  <wim@fluendo.com>
14272
14273         * tests/check/libs/basesrc.c: (eos_event_counter):
14274         Use proper return value for probe.
14275
14276 2006-03-17  Wim Taymans  <wim@fluendo.com>
14277
14278         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14279         (gst_pad_push):
14280         Don't leak buffers, caps and pads on negotiation errors.
14281
14282 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
14283
14284         * docs/faq/cvs.xml:
14285         * docs/faq/dependencies.xml:
14286         * docs/faq/developing.xml:
14287         * docs/faq/faq.xml:
14288         * docs/faq/general.xml:
14289         * docs/faq/getting.xml:
14290         * docs/faq/legal.xml:
14291         * docs/faq/troubleshooting.xml:
14292         * docs/faq/using.xml:
14293         Faq review and update.
14294
14295 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
14296
14297         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14298         (gst_pad_push):
14299         Don't pound the cpu to pieces by checking get_caps when accept_caps
14300         is called with the same caps as the pad already has.
14301         Use GST_DEBUG_OBJECT when outputting caps change information.
14302
14303 2006-03-15  Wim Taymans  <wim@fluendo.com>
14304
14305         * gst/gstclock.c: (gst_clock_class_init):
14306         Fix docs.
14307
14308 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
14309
14310         * gst/gstbuffer.h:
14311         Documentation fix.
14312
14313         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
14314         (gst_pad_accept_caps), (gst_pad_configure_sink),
14315         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
14316         Make the default acceptcaps behaviour be to check the requested 
14317         caps against the gst_pad_get_caps output. 
14318
14319         Ensure that gst_pad_accept_caps is used to check caps when a pad
14320         doesn't have a setcaps function, so that pads automatically refuse 
14321         caps that they don't allow in their pad template. (Fixes #332986)
14322
14323         When a buffer with attached caps is pushed, ensure that the source 
14324         pad receives those caps even if the element didn't call
14325         gst_pad_set_caps first.
14326
14327 2006-03-15  Wim Taymans  <wim@fluendo.com>
14328
14329         * libs/gst/base/gstadapter.c:
14330         Add some docs.
14331
14332 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
14333
14334         * win32/common/libgstbase.def:
14335         * win32/common/libgstcontroller.def:
14336         * win32/common/libgstreamer.def:
14337           Add a whole bunch of missing functions (#334434).
14338
14339 2006-03-14  Wim Taymans  <wim@fluendo.com>
14340
14341         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14342         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
14343         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
14344         Better debug info when we receive a segment event.
14345         Reorganize a bit so we can pass the get_times() results around.
14346         Use the segment format when calculating the running time.
14347         Don't do QoS is sync is disabled or we have no clock or the
14348         element does not want us to sync to the clock.
14349         Don't drop buffers if QoS is disabled for now.
14350
14351 2006-03-14  Wim Taymans  <wim@fluendo.com>
14352
14353         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
14354         Marked the stats property as unimplemented so people don't get
14355         wild ideas.
14356         Add debug message when regression goes wrong.
14357         Added some more docs.
14358
14359 2006-03-14  Wim Taymans  <wim@fluendo.com>
14360
14361         * gst/gstsegment.c: (gst_segment_to_stream_time):
14362         Return correct return type in case of errors.
14363
14364 2006-03-14  Wim Taymans  <wim@fluendo.com>
14365
14366         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
14367           Don't segfault on invalid formats.
14368
14369 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14370
14371         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14372           Can't use gst_segment_to_running_time() when the segment
14373           is not in GST_TIME_FORMAT (like with filesink, for example).
14374           Stops flac encoding pipelines from spewing critical warnings
14375           at EOS (#331248).
14376           
14377 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14378
14379         * gst/gstpipeline.c: (gst_pipeline_class_init):
14380           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
14381
14382         * plugins/elements/gsttypefindelement.c:
14383         (gst_type_find_element_handle_event):
14384           Don't try to typefind empty streams.
14385
14386 2006-03-14  Wim Taymans  <wim@fluendo.com>
14387
14388         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
14389         (gst_base_sink_do_qos):
14390         Separate QoS calculation.
14391         Only drop buffers when lateness is bigger than the 
14392         duration of the buffer.
14393
14394 2006-03-13  Wim Taymans  <wim@fluendo.com>
14395
14396         * gst/gstpipeline.c: (gst_pipeline_set_property),
14397         (gst_pipeline_get_property), (do_pipeline_seek),
14398         (gst_pipeline_change_state), (gst_pipeline_set_delay),
14399         (gst_pipeline_get_delay):
14400         Don't deadlock when reading properties.
14401
14402 2006-03-13  Wim Taymans  <wim@fluendo.com>
14403
14404         * libs/gst/base/gstbasetransform.c:
14405         (gst_base_transform_class_init), (gst_base_transform_init),
14406         (gst_base_transform_sink_event),
14407         (gst_base_transform_sink_eventfunc),
14408         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
14409         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
14410         (gst_base_transform_set_property),
14411         (gst_base_transform_get_property),
14412         (gst_base_transform_change_state), (gst_base_transform_update_qos),
14413         (gst_base_transform_set_qos_enabled),
14414         (gst_base_transform_is_qos_enabled):
14415         * libs/gst/base/gstbasetransform.h:
14416         Make basetransform virtual method for src events too.
14417         Handle QOS in basetransform.
14418         API: gst_base_transform_update_qos()
14419         API: gst_base_transform_set_qos_enabled()
14420         API: gst_base_transform_is_qos_enabled()
14421
14422 2006-03-13  Wim Taymans  <wim@fluendo.com>
14423
14424         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14425         (gst_base_sink_do_sync):
14426         Small cleanups.
14427         Use QOS debug category.
14428
14429 2006-03-13  Wim Taymans  <wim@fluendo.com>
14430
14431         * plugins/elements/gstqueue.c:
14432         Very small doc update.
14433
14434 2006-03-13  Wim Taymans  <wim@fluendo.com>
14435
14436         * gst/gst_private.h:
14437         * gst/gstinfo.c: (_gst_debug_init):
14438         Added QOS debug category
14439
14440 2006-03-13  Wim Taymans  <wim@fluendo.com>
14441
14442         * docs/gst/gstreamer-sections.txt:
14443         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
14444         * gst/gstbin.h:
14445         * gst/gstbus.c: (gst_bus_class_init):
14446         * gst/gstbus.h:
14447         * gst/gstclock.c:
14448         * gst/gstelement.c: (gst_element_set_locked_state):
14449         * gst/gstsegment.c:
14450         Documentation updates.
14451
14452         * gst/gstpipeline.c: (gst_pipeline_get_type),
14453         (gst_pipeline_class_init), (gst_pipeline_init),
14454         (gst_pipeline_dispose), (gst_pipeline_set_property),
14455         (gst_pipeline_get_property), (do_pipeline_seek),
14456         (gst_pipeline_send_event), (gst_pipeline_change_state),
14457         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
14458         (gst_pipeline_get_delay):
14459         * gst/gstpipeline.h:
14460         Added methods for setting the delay.
14461         API: gst_pipeline_set_delay()
14462         API: gst_pipeline_get_delay()
14463         Add pipeline debug category
14464         Various cleanups.
14465         Updated docs.
14466         Don't reset stream time when seek failed.
14467
14468 2006-03-13  Wim Taymans  <wim@fluendo.com>
14469
14470         * docs/design/draft-klass.txt:
14471         * docs/design/part-clocks.txt:
14472         * docs/design/part-events.txt:
14473         * docs/design/part-gstbin.txt:
14474         * docs/design/part-gstpipeline.txt:
14475         * docs/design/part-messages.txt:
14476         * docs/design/part-negotiation.txt:
14477         * docs/design/part-overview.txt:
14478         * docs/design/part-preroll.txt:
14479         * docs/design/part-seeking.txt:
14480         * docs/design/part-states.txt:
14481         * docs/design/part-streams.txt:
14482         Documentation updates.
14483
14484 2006-03-12  Julien MOUTTE  <julien@moutte.net>
14485
14486         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
14487         us to leak strings...
14488
14489 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14490
14491         * libs/gst/net/gstnettimeprovider.c:
14492           fix docs
14493         * win32/common/config.h:
14494           update
14495
14496 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
14497
14498         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
14499
14500         * configure.ac:
14501           Don't check for libgnomeui (leftover from old examples
14502           that aren't built or disted any longer) (#334303).
14503           
14504 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
14505
14506         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
14507         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14508           Emit RESOURCE_NO_SPACE_LEFT error here as well when
14509           there's no space left on the device.
14510
14511 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
14512
14513         * gst/gstclock.h:
14514           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
14515           to cast the input to GstClockTime before comparing with
14516           another GstClockTime value.
14517
14518 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14519
14520         * configure.ac:
14521           back to trunk
14522
14523 === release 0.10.4 ===
14524
14525 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
14526
14527         * configure.ac:
14528           releasing 0.10.4, "Light"
14529
14530 2006-03-10  Michael Smith  <msmith@fluendo.com>
14531
14532         * libs/gst/dataprotocol/dataprotocol.c:
14533           Fix docs for dataprocotol to not get the return types completely
14534           wrong for a few functions.
14535
14536 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14537
14538         * docs/gst/gstreamer-sections.txt:
14539         * gst/gstpipeline.c: (gst_pipeline_class_init),
14540         (gst_pipeline_init), (gst_pipeline_set_property),
14541         (gst_pipeline_get_property), (gst_pipeline_change_state),
14542         (gst_pipeline_set_auto_flush_bus),
14543         (gst_pipeline_get_auto_flush_bus):
14544         * gst/gstpipeline.h:
14545           Add new API: gst_pipeline_set_auto_flush_bus() and
14546           gst_pipeline_get_auto_flush_bus() to disable automatic
14547           flushing of the pipeline's GstBus when going from READY
14548           to NULL state (#332045).
14549
14550 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14551
14552         * docs/gst/gstreamer-sections.txt:
14553         * gst/gsturi.c: (gst_uri_has_protocol):
14554         * gst/gsturi.h:
14555            Add new API: gst_uri_has_protocol() (#333779).
14556
14557 2006-03-09  Wim Taymans  <wim@fluendo.com>
14558
14559         * gst/gstclock.c: (gst_clock_entry_new),
14560         (gst_clock_id_compare_func), (gst_clock_id_wait),
14561         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
14562         (gst_clock_init), (gst_clock_get_internal_time),
14563         (gst_clock_set_master), (do_linear_regression),
14564         (gst_clock_add_observation), (gst_clock_set_property):
14565         * gst/gstclock.h:
14566         Review docs.
14567         Small cleanups.
14568         Fix a possible segfault when the window-size is made smaller.
14569         Calculate jitter before performing the clock wait. Ideally
14570         the clock implementation should calculate jitter but we need
14571         API breakage for that.
14572
14573         * gst/gstsystemclock.c: (gst_system_clock_init):
14574         Docs review.
14575         
14576         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14577         Remove leftover else
14578
14579         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
14580         (gst_systemclock_suite):
14581         Added check to test GST_CLOCK_DIFF.
14582
14583 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14584
14585         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
14586         (gst_type_find_helper_get_range):
14587           If we are provided with the size, we should implement
14588           GstTypeFind::get_length, so that typefind functions who
14589           want to can actually peek at the middle of a file.
14590
14591 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
14592
14593         * docs/manual/advanced-dataaccess.xml:
14594           Add some very very basic error checking.
14595
14596         * docs/pwg/appendix-checklist.xml:
14597           Some updates to the list of things to check when writing an element.
14598
14599 2006-03-08  Wim Taymans  <wim@fluendo.com>
14600
14601         * docs/design/part-element-transform.txt:
14602         Added some docs about the design of tranform elements.
14603
14604         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14605         (gst_base_src_loop), (gst_base_src_change_state):
14606         Mark buffers with the DISCONT flag.
14607
14608 2006-03-08  Michael Smith  <msmith@fluendo.com>
14609
14610         * gst/gstregistry.h:
14611         * gst/gstregistryxml.c: (gst_registry_save),
14612         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
14613         (gst_registry_xml_save_pad_template),
14614         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
14615         (gst_registry_xml_write_cache):
14616           Rewrite registry-saving to avoid race conditions and check for
14617           failed writes.
14618
14619 2006-03-08  Wim Taymans  <wim@fluendo.com>
14620
14621         * libs/gst/base/gstbasetransform.c:
14622         (gst_base_transform_transform_caps),
14623         (gst_base_transform_transform_size),
14624         (gst_base_transform_prepare_output_buffer),
14625         (gst_base_transform_get_unit_size),
14626         (gst_base_transform_buffer_alloc),
14627         (gst_base_transform_handle_buffer),
14628         (gst_base_transform_change_state):
14629         Cleanups, separate normal flow from errors, add sensible
14630         DEBUG lines.
14631         Don't try to renegotiate when allocating an output buffer.
14632         Also copy DISCONT buffer flag when copying a buffer.
14633         Reset the transform after we finish streaming, not during.
14634
14635 2006-03-08  Wim Taymans  <wim@fluendo.com>
14636
14637         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14638         Use last buffer timestamp in qos message.
14639
14640 2006-03-07  Wim Taymans  <wim@fluendo.com>
14641
14642         Patch by: Christophe Fergeau
14643
14644         * docs/pwg/advanced-tagging.xml:
14645         * docs/pwg/building-pads.xml:
14646           fixes #333416
14647
14648 2006-03-07  Wim Taymans  <wim@fluendo.com>
14649
14650         * docs/libs/gstreamer-libs-sections.txt:
14651         Added basesink new methods.
14652
14653         * gst/gstevent.c:
14654         * gst/gstevent.h:
14655         Docs updates. Flesh out the QoS docs.
14656
14657         * libs/gst/base/gstadapter.c:
14658         Small doc clarification about ownership and flushing.
14659
14660         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
14661         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
14662         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
14663         (gst_base_sink_get_property), (gst_base_sink_do_sync):
14664         * libs/gst/base/gstbasesink.h:
14665         API additions: 
14666         Added new methods to allow subclass to control max-lateness 
14667         and sync.
14668         Generate very basic QoS events based on last sync observation.
14669         Updated docs, fix typo, added some QoS blurb.
14670
14671         * libs/gst/base/gstbasesrc.c:
14672         Remove obsolete _get_state() calls from docs.
14673
14674 2006-03-07  Wim Taymans  <wim@fluendo.com>
14675
14676         * docs/libs/gstreamer-libs-sections.txt:
14677         * libs/gst/base/gstbasetransform.h:
14678         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
14679         Fix docs for GstBaseSrc.
14680
14681 2006-03-07  Wim Taymans  <wim@fluendo.com>
14682
14683         * docs/gst/gstreamer-sections.txt:
14684         * gst/gstbuffer.h:
14685         * gst/gstvalue.c:
14686         * libs/gst/base/gstbasetransform.h:
14687         Small documentation fixes.
14688
14689 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
14690
14691         * gst/gstvalue.c:
14692           Document thread-unsafety of gst_value_register_foo_func()
14693           when used at the same time as gst_value_foo() (#322628).
14694
14695 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
14696
14697         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
14698         (gst_push_src_check_get_range):
14699           Push sources don't support pull mode by default.
14700
14701 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
14702
14703         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14704         (gst_base_src_init), (gst_base_src_pad_check_get_range),
14705         (gst_base_src_default_check_get_range):
14706         * libs/gst/base/gstbasesrc.h:
14707           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
14708           provide default implementation, and rename
14709           gst_base_src_check_get_range() to
14710           gst_base_src_pad_check_get_range() for clarity.
14711
14712 2006-03-06  Wim Taymans  <wim@fluendo.com>
14713
14714         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14715         Make property overridable.
14716
14717 2006-03-06  Wim Taymans  <wim@fluendo.com>
14718
14719         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14720         (gst_base_sink_init), (gst_base_sink_set_property),
14721         (gst_base_sink_get_property), (gst_base_sink_do_sync):
14722         * libs/gst/base/gstbasesink.h:
14723         API addition: Make max-lateness a property.
14724
14725 2006-03-06  Wim Taymans  <wim@fluendo.com>
14726
14727         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
14728         (gst_base_sink_do_sync), (gst_base_sink_render_object):
14729         Don't ever draw a frame that is >10ms late.
14730
14731 2006-03-06  Michael Smith  <msmith@fluendo.com>
14732
14733         * gst/gstmessage.c: (_gst_message_copy):
14734           When copying a message, set the parent_refcount of the enclosed
14735           structure to point at the copy, not the original message.
14736
14737 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
14738
14739         Patch by: Christophe Fergeau
14740
14741         * gst/gstutils.h:
14742           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
14743           usable in c++ code (#333417)
14744
14745 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14746
14747         * gst/gstclock.h:
14748           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
14749
14750 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
14751
14752         * libs/gst/base/gstbasetransform.c:
14753         (gst_base_transform_transform_caps):
14754           Make sure caps are writable before passing them to
14755           gst_caps_append().
14756
14757 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
14758
14759         * gst/gsterror.h:
14760           Fix some minor docs errors.
14761
14762 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
14763
14764           Patch by: Ross Burton <ross at burtonini dot com>
14765
14766         * gst/gsterror.c: (_gst_resource_errors_init):
14767         * gst/gsterror.h:
14768           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
14769
14770 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
14771
14772         * gst/gst.c:
14773         Add a check and output a g_warning when GStreamer is built
14774         against GLib 2.6 but running against 2.8 or higher, and vice 
14775         versa. (Closes: #323542)
14776
14777 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
14778
14779         * gst/parse/parse.l:
14780           Commit patch for parse_launch syntax from #331255. Removes 
14781           support for quoted strings and mimetypes when writing filtered 
14782           caps. See the bug report for more details - I'm pretty sure this
14783           obscure feature is not in use by _anyone_ anywhere.
14784
14785           With this simple change, the size of the gstreamer.so here 
14786           drops from 2193KB to 1565KB.
14787
14788 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14789
14790         * plugins/elements/gsttypefindelement.h:
14791         * plugins/elements/gsttypefindelement.c:
14792         (gst_type_find_element_src_event), (start_typefinding),
14793         (stop_typefinding), (gst_type_find_element_handle_event),
14794         (gst_type_find_element_chain),
14795         (gst_type_find_element_chain_do_typefinding):
14796           Use gst_type_find_helper_for_buffer() for chain-based
14797           typefinding.
14798
14799 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14800
14801         * plugins/elements/gsttypefindelement.c:
14802         (gst_type_find_element_class_init),
14803         (gst_type_find_element_set_property),
14804         (gst_type_find_element_get_property):
14805           Deprecate "maximum" property (not only was it only taken into
14806           account for typefinding in push-mode anyway, it also was never
14807           actually possible to set it in the first place because the
14808           property was registered with the numeric property ID for the
14809           "minimum" property). Register "maximum" property correctly,
14810           for the sake of future copy'n'pasters. Remove some cruft
14811           from property get/set functions.
14812
14813 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14814
14815         * plugins/elements/gsttypefindelement.c:
14816         (gst_type_find_element_activate):
14817           Use gst_type_find_helper_get_range() here, so we
14818           can honour the "minimum" property and also emit
14819           the signal with the correct probability of the found caps.
14820
14821 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
14822
14823         * docs/libs/gstreamer-libs-sections.txt:
14824         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
14825         (helper_find_suggest), (gst_type_find_helper_get_range),
14826         (gst_type_find_helper):
14827         * libs/gst/base/gsttypefindhelper.h:
14828           New API: gst_type_find_helper_get_range() (#333042).
14829
14830 2006-03-02  Michael Smith  <msmith@fluendo.com>
14831
14832         * gst/gstregistryxml.c: (load_feature):
14833           Asserting on a failure to read part of the registry is Not Cool.
14834           Just log a warning and return NULL (which is already handled)
14835
14836 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
14837
14838         * win32/common/libgstbase.def:
14839           added export of gst_type_find_helper_for_buffer
14840         * win32/common/libgstbase.def:
14841           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
14842           gst_ghost_pad_get_target
14843
14844 2006-02-28  Wim Taymans  <wim@fluendo.com>
14845
14846         * docs/design/draft-klass.txt:
14847         We use Filter now.
14848         Added Connector to mark elements that are only used to
14849         allow pipeline connections.
14850         Moved Debug to extra feature since most of them are 
14851         functionally something else.
14852
14853 2006-02-28  Wim Taymans  <wim@fluendo.com>
14854
14855         * docs/design/draft-klass.txt:
14856         Some updates and clarifications.
14857
14858 2006-02-28  Wim Taymans  <wim@fluendo.com>
14859
14860         * docs/design/draft-klass.txt:
14861         Proposal for klass field values.
14862
14863         * docs/design/part-streams.txt:
14864         Start of a doc describing stream anatomy.
14865
14866 2006-02-28  Wim Taymans  <wim@fluendo.com>
14867
14868         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
14869         Help the compiler a bit with type registration.
14870         Use existing forward cod path instead of duplicating it when 
14871         handling a message.
14872         
14873         * gst/gstbus.c: (gst_bus_get_type):
14874         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
14875         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
14876         * gst/gstclock.c: (gst_clock_get_type):
14877         * gst/gstelement.c: (gst_element_get_type),
14878         * gst/gstelementfactory.c: (gst_element_factory_get_type):
14879         * gst/gstindexfactory.c: (gst_index_factory_get_type):
14880         * gst/gstminiobject.c: (gst_mini_object_get_type):
14881         * gst/gstpad.c: (gst_pad_get_type):
14882         * gst/gstsegment.c: (gst_segment_get_type):
14883         * gst/gststructure.c: (gst_structure_get_type):
14884         * gst/gstsystemclock.c: (gst_system_clock_get_type):
14885         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
14886         * gst/gstvalue.c:
14887         Help compiler with type registration.
14888
14889         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
14890         Small doc update.
14891
14892 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14893
14894         * plugins/elements/gsttypefindelement.c:
14895         (gst_type_find_element_handle_event):
14896           When we get an EOS event and have not found a type yet
14897           (most likely because we had not yet accumulated
14898           TYPE_FIND_MIN_SIZE of data yet), try to determine the
14899           type given the data we have so far. Fixes typefinding
14900           for very short streams again, most notably quicktime
14901           redirections as used on Apple's trailer site (#331701).
14902
14903 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14904
14905         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
14906         (gst_type_find_helper):
14907           Try typefinding factories with the highest rank first.
14908
14909 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14910
14911         * docs/libs/gstreamer-libs-docs.sgml:
14912         * docs/libs/gstreamer-libs-sections.txt:
14913         * libs/gst/base/gsttypefindhelper.c:
14914           Add section for typefind helper and add documentation
14915           for the old and the new function.
14916
14917 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14918
14919         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
14920         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
14921         (gst_type_find_helper_for_buffer):
14922         * libs/gst/base/gsttypefindhelper.h:
14923           New API: gst_type_find_helper_for_buffer() (#332723).
14924           
14925 2006-02-27  Michael Smith  <msmith@fluendo.com>
14926
14927         Patch by: Loïc Minier
14928
14929         * configure.ac:
14930         * docs/Makefile.am:
14931         * docs/slides/Makefile.am:
14932           prevent CVS directories getting disted.
14933
14934 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14935
14936         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
14937           Use the REFCOUNTING category for caps refcounting.
14938           
14939 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
14940
14941         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14942           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
14943
14944 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
14945
14946         * plugins/elements/gsttypefindelement.c:
14947         (gst_type_find_element_activate):
14948           Use gst_pad_check_pull_range() before _activate_pull()
14949           to avoid unnecessary open/close (see #331690).
14950
14951 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14952
14953         * gst/gstutils.c:
14954           Docs enhancement: make it crystal clear what the
14955           gst_pad_add_*_probe() callbacks should look like.
14956
14957 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14958
14959         * libs/gst/base/gstbasesrc.c:
14960           Document how applications can stop recording from
14961           live sources (see #330996).
14962
14963 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14964
14965         * tests/check/Makefile.am:
14966         * tests/check/libs/basesrc.c: (eos_event_counter),
14967         (basesrc_eos_events_pull), (basesrc_eos_events_push),
14968         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
14969         (gst_basesrc_suite), (main):
14970           ... and add some tests for the base source EOS stuff.
14971
14972 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14973
14974         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
14975           Test case originally showed the problem fixed below,
14976           but was then amended. Add checks back at the place
14977           where they used to be.
14978
14979 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14980
14981         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14982         (gst_base_src_init), (gst_base_src_loop),
14983         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14984         (gst_base_src_change_state):
14985         * libs/gst/base/gstbasesrc.h:
14986           Don't unconditionally send EOS when going from PAUSED to
14987           READY state, esp. make sure we don't send two EOS events
14988           in some cases (e.g. one when reaching EOS and one when
14989           going from PAUSED to READY). Also, we don't want to send
14990           EOS events when operating in pull mode. However, we do
14991           want to send an EOS event when shutting down a live
14992           source explicitly, for example (fixes #330996).
14993           
14994 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14995
14996         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
14997           Update src->read_position after a seek when not using mmap.
14998           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
14999
15000 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
15001
15002         * gst/Makefile.am:
15003         * gst/gstparse.h:
15004         * gst/gstutils.c:
15005         * gst/gstutils.h:
15006         Make things work with --disable-parse as they do with 
15007         --disable-load-save - the symbols involved disappear, but the
15008         header is still installed and GST_DISABLE_PARSE is included via
15009         gstconfig.h
15010
15011 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15012
15013         * libs/gst/base/gstbasetransform.c:
15014         (gst_base_transform_change_state): Fix a stupid bug. I was 
15015         sure I compiled that.
15016
15017 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15018
15019         * gst/gstpad.c: (gst_pad_set_blocked_async):
15020         * gst/gstutils.c: (gst_pad_add_data_probe),
15021         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15022         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15023         (gst_pad_remove_buffer_probe): Make those function act on the
15024         ghostpad target when it's a ghostpad. (Closes #331727)
15025
15026 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15027
15028         * libs/gst/base/gstbasetransform.c:
15029         (gst_base_transform_change_state): Make basetransform reusable.
15030         (Closes #331898)
15031
15032 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
15033
15034         * docs/random/release:
15035         Move the current documentation of how to do a release to the top
15036         of the file.
15037
15038         * gst/gstbin.c: (gst_bin_class_init),
15039         (gst_bin_handle_message_func):
15040         Allow multiple state-recalculation threads. (Closes #328873)
15041
15042 2006-02-19  Julien MOUTTE  <julien@moutte.net>
15043
15044         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
15045         * gst/gstpad.c: (gst_pad_set_event_function),
15046         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15047         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
15048         2 strings. You can't use the STR_NULL macro on that.
15049
15050 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
15051
15052         * gst/gstpad.c: (gst_pad_set_event_function),
15053         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15054         (gst_pad_set_getcaps_function)
15055         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
15056           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
15057           So now, we can use --gst-debug-level=5 on Windows
15058         * win32/common/libgstcontroller.def:
15059           Added export of gst_controller_init
15060         * win32/vs6/libgstcontroller.dsp:
15061           Fixed Release post build configuration
15062
15063 2006-02-17  Wim Taymans  <wim@fluendo.com>
15064
15065         * tests/check/gst/gstquery.c: (GST_START_TEST):
15066         Added another check.
15067
15068 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
15069
15070         * plugins/elements/gsttypefindelement.c: (find_peek):
15071           We can do peeks at non-zero offsets, as long as they
15072           fall within the buffer we have.
15073
15074 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
15075
15076         * tests/check/Makefile.am:
15077         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
15078         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
15079         (parse_suite), (main):
15080           Add testsuite for parse launch syntax
15081
15082 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
15083
15084         * plugins/elements/gsttypefindelement.c:
15085         (gst_type_find_element_chain):
15086           When typefinding is unsuccessful in the chain function, don't
15087           error out immediately. Only error out with NO_CAPS_FOUND if
15088           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
15089           otherwise simply wait for more data so we can try typefinding
15090           again with more data later. Also, don't attempt to typefind
15091           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
15092           this should improve typefinding from network sources where the
15093           size of the first buffer can be somewhat random.
15094
15095 2006-02-14  Wim Taymans  <wim@fluendo.com>
15096
15097         * docs/gst/gstreamer-sections.txt:
15098         * gst/gstpadtemplate.c:
15099         * gst/gstpadtemplate.h:
15100         Fix padtemplate docs, fixes #328805.
15101
15102 2006-02-14  Wim Taymans  <wim@fluendo.com>
15103
15104         * tools/gst-launch.c: (main):
15105         NO_PREROLL is not an ERROR so don't send confusing messages
15106         to the user.
15107
15108 2006-02-14  Wim Taymans  <wim@fluendo.com>
15109
15110         Patch by: Torsten Schoenfeld
15111
15112         * gst/gstregistry.c: (gst_registry_get_default),
15113         (_gst_registry_cleanup):
15114         Protect default registry with lock and ref/sink it.
15115         Fixes #324818
15116
15117 2006-02-14  Wim Taymans  <wim@fluendo.com>
15118
15119         * gst/gstbuffer.c:
15120         * gst/gstquery.c: (gst_query_list_add_format),
15121         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15122         (gst_query_parse_formats_nth):
15123         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15124         Docs fixes.
15125
15126 2006-02-14  Wim Taymans  <wim@fluendo.com>
15127
15128         * docs/gst/gstreamer-sections.txt:
15129         Reworked query docs.
15130
15131         * gst/gstquery.c: (gst_query_new_formats),
15132         (gst_query_list_add_format), (gst_query_set_formats),
15133         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15134         (gst_query_parse_formats_nth):
15135         * gst/gstquery.h:
15136         Flesh out formats query, added some new methods.
15137         Fix part of #324398.
15138
15139         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
15140         Added query creation tests.
15141
15142 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
15143
15144         * gst/gstpad.c: (fixate_value):
15145         Add a default fixation for fraction lists.
15146
15147 2006-02-13  Wim Taymans  <wim@fluendo.com>
15148
15149         * gst/gsttask.c: (gst_task_init), (gst_task_func),
15150         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
15151         (gst_task_join):
15152         * gst/gsttask.h:
15153         Detect and warn for obvious deadlocks. fixes #320340
15154         Fix error case where lock was not released.
15155
15156         * tests/check/Makefile.am:
15157         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
15158         (task_func), (gst_element_suite), (main):
15159         Add task check.
15160
15161 2006-02-13  Wim Taymans  <wim@fluendo.com>
15162
15163         * docs/gst/gstreamer-sections.txt:
15164         * gst/gstbus.c:
15165         Add new functions to docs.
15166
15167 2006-02-13  Wim Taymans  <wim@fluendo.com>
15168
15169         * docs/design/part-TODO.txt:
15170         Updated TODO list, basesrc supports seeking to non-bytes
15171         formats.
15172
15173         * docs/design/part-element-sink.txt:
15174         Update docs.
15175
15176         * gst/gstbin.c: (bin_replace_message),
15177         (gst_bin_handle_message_func):
15178         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
15179         * gst/gstevent.c: (gst_event_finalize):
15180         * gst/gstpad.c: (gst_pad_event_default_dispatch),
15181         (gst_pad_send_event):
15182         Use shiny new _TYPE_NAME macros.
15183
15184         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15185         Move debug statement up.
15186
15187         * gst/gstelement.c: (gst_element_set_locked_state):
15188         Add some debugging.
15189
15190 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
15191
15192         * docs/gst/gstreamer-sections.txt:
15193         * gst/gstmessage.h:
15194         * gst/gstquery.h:
15195           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
15196           macros (#330906). Also, document the already existing
15197           GST_QUERY_TYPE macro.
15198
15199 2006-02-13  Wim Taymans  <wim@fluendo.com>
15200
15201         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
15202         (event_probe), (GST_START_TEST):
15203         Only events up to the pipeline EOS are counted, there are
15204         some more when going to NULL currently which we don't care
15205         about for now.
15206
15207 2006-02-13  Wim Taymans  <wim@fluendo.com>
15208
15209         * gst/gstpad.c: (gst_pad_send_event):
15210         Correctly check flushing and emit probes. fixes #330125
15211
15212 2006-02-10  Andy Wingo  <wingo@pobox.com>
15213
15214         * gst/gstbus.c (gst_bus_class_init): Declare our private data
15215         structure.
15216         (gst_bus_init): Cache the location of the private data in the
15217         instance structure.
15218         (gst_bus_enable_sync_message_emission) 
15219         (gst_bus_disable_sync_message_emission): Implement new public
15220         functions.
15221         (gst_bus_post): Emit the sync-message signal if the user asked for
15222         it. Fixes #330684.
15223
15224         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
15225         location of the bus-private structure.
15226         (gst_bus_enable_sync_message_emission)
15227         (gst_bus_disable_sync_message_emission): API addition
15228
15229 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
15230
15231         Patch by: Vincent Torri
15232
15233         * docs/pwg/building-boiler.xml:
15234         PWG patch from #326800
15235
15236 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
15237
15238         * configure.ac:
15239         * docs/Makefile.am:
15240         * docs/design/Makefile.am:
15241           Dist design docs.
15242
15243 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15244
15245         * configure.ac:
15246           back to CVS
15247
15248 === release 0.10.3 ===
15249
15250 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
15251
15252         * configure.ac:
15253           releasing 0.10.3, "Like a virgin"
15254
15255 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15256
15257         * configure.ac:
15258           2nd prerelease of 0.10.3
15259           Bump libtool versioning.
15260
15261 2006-02-07  Andy Wingo  <wingo@pobox.com>
15262
15263         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
15264         update last_stop if we're in TIME format and the timestamp is
15265         valid.
15266
15267         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
15268         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
15269         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
15270         If we get a new newsegment with a different format, adapt
15271         accordingly.
15272
15273         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
15274         of 0. Not a problem, really.
15275
15276         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
15277         warn if sync=true.
15278
15279 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
15280
15281         * configure.ac:
15282           Prelease of 0.10.3
15283
15284 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
15285
15286         * win32/vs7:
15287           project files updated to the default vs7 configuration
15288         * win32/common/libgstbase.def:
15289         * win32/common/libgstreamer.def:
15290           added new symbols,
15291           removed empty lines,
15292           sorted all exported symbols alphabetically
15293         * win32/common/dirent.c:
15294         * win32/common/dirent.h:
15295         * win32/common/gchar.h:
15296           use windows line end.
15297           
15298 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15299
15300         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
15301           Send EOS event when stopping.
15302
15303 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15304
15305         * docs/README:
15306           Tell folks what to do if the plugin-foobar.xml file
15307           hasn't been generated for a newly-added plugin.
15308
15309 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15310
15311         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15312         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15313         (gst_collect_pads_start), (gst_collect_pads_stop),
15314         (gst_collect_pads_event): Collectpads now holds a reference
15315         to the GstPad that was added. Indeed we don't want to look
15316         at pads that might just go away with no warning...
15317
15318 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15319
15320         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
15321         (gst_collect_pads_start), (gst_collect_pads_stop),
15322         (gst_collect_pads_event), (gst_collect_pads_chain):
15323         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
15324         Mark Nauwelaerts's patch on bug #328491.
15325
15326 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15327
15328         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
15329         (gst_utils_suite):
15330           Add some simple tests for gst_parse_bin_from_description() and
15331           gst_bin_find_unconnected_pad() (#329069).
15332
15333 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15334
15335         * tools/gst-launch.c: (event_loop), (main):
15336           Catch errors during preroll (#320084).
15337
15338 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
15339
15340         * plugins/elements/gsttypefindelement.c:
15341         (gst_type_find_element_activate):
15342           Post TYPE_NOT_FOUND error message when typefinding
15343           is unsuccessful in the activate function as well.
15344
15345 2006-02-02  Wim Taymans  <wim@fluendo.com>
15346
15347         * docs/design/part-element-sink.txt:
15348         Updated doc.
15349
15350 2006-02-02  Wim Taymans  <wim@fluendo.com>
15351
15352         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15353         (gst_base_sink_render_object),
15354         (gst_base_sink_queue_object_unlocked):
15355         Only keep track of prerollable items when we are 
15356         prerolling.
15357         Before rendering after preroll, always check if we
15358         have queued items.
15359         Added some more debugging.
15360
15361 2006-02-02  Wim Taymans  <wim@fluendo.com>
15362
15363         * gst/gstelement.c: (gst_element_continue_state),
15364         (gst_element_set_state_func), (gst_element_change_state):
15365         Fixed #326576, been running this for quite some time with
15366         no regressions at all.
15367
15368 2006-02-02  Wim Taymans  <wim@fluendo.com>
15369
15370         * common/gst.supp:
15371         Added more suppressions
15372
15373 2006-02-02  Wim Taymans  <wim@fluendo.com>
15374
15375         * docs/design/part-element-sink.txt:
15376         Updated document.
15377
15378         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15379         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
15380         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
15381         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15382         (gst_base_sink_do_sync), (gst_base_sink_render_object),
15383         (gst_base_sink_preroll_object),
15384         (gst_base_sink_queue_object_unlocked),
15385         (gst_base_sink_queue_object), (gst_base_sink_event),
15386         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
15387         (gst_base_sink_loop), (gst_base_sink_activate_pull),
15388         (gst_base_sink_get_position), (gst_base_sink_change_state):
15389         * libs/gst/base/gstbasesink.h:
15390         Totally refactored matching the design doc.
15391         Use two segments, one to clip incomming buffers and another to
15392         perform sync.
15393         Handle queueing correctly, bypass the queue when playing.
15394         Make EOS cancelable.
15395         Handle errors correctly when operating in pull based mode.
15396
15397         * tests/check/elements/fakesink.c: (GST_START_TEST),
15398         (fakesink_suite):
15399         Added new check for sinks.
15400
15401 2006-02-02  Wim Taymans  <wim@fluendo.com>
15402
15403         * gst/gstsegment.c: (gst_segment_clip):
15404         No reason to refuse to clip when start == -1
15405
15406 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
15407
15408         * docs/README:
15409         * docs/manual/intro-basics.xml:
15410         * docs/manual/intro-preface.xml:
15411         * docs/manual/manual.xml:
15412         * docs/pwg/advanced-dparams.xml:
15413         * docs/pwg/intro-basics.xml:
15414         * docs/pwg/intro-preface.xml:
15415         * docs/pwg/pwg.xml:
15416           describe dparams (controller) for plugins
15417           unify docs a little more
15418
15419 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
15420
15421         * docs/gst/gstreamer-sections.txt:
15422         * gst/gstutils.c: (element_find_unconnected_pad),
15423         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
15424         * gst/gstutils.h:
15425           Add new API: gst_parse_bin_from_description() and
15426           gst_bin_find_unconnected_pad() (#329069).
15427
15428 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
15429
15430         * docs/manual/README:
15431           uncover a nasty detail of the docs build
15432
15433 2006-01-31  Wim Taymans  <wim@fluendo.com>
15434
15435         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
15436         Don't cache duration messages if we're not going to use or
15437         free them.
15438
15439 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
15440
15441         * docs/manual/advanced-dparams.xml:
15442         * docs/pwg/advanced-dparams.xml:
15443           more dparam docs
15444         * gst/gstindex.c:
15445           fix docs
15446         * libs/gst/controller/lib.c: (gst_controller_init):
15447           init just once
15448
15449 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
15450
15451         * gst/gstelement.c: (gst_element_message_full):
15452           also show file/line/func if no additional debug was given
15453
15454 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
15455         
15456         * win32/vs7/grammar.vcproj:
15457           activate copy of autogenerated files for Release mode
15458
15459 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15460         
15461         * win32/common/libgstreamer.def:
15462           export gst_value_compare
15463
15464 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
15465
15466         * plugins/elements/Makefile.am:
15467         * plugins/elements/gstelements.c:
15468         * plugins/elements/gstfdsink.c: (_do_init),
15469         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
15470         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
15471         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
15472         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
15473         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
15474         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
15475         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
15476         * plugins/elements/gstfdsink.h:
15477         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
15478
15479 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
15480
15481         * docs/manual/advanced-dparams.xml:
15482           describe controller
15483         * docs/manual/advanced-position.xml:
15484         * docs/manual/basics-init.xml:
15485         * docs/manual/manual.xml:
15486         * docs/manual/titlepage.xml:
15487         * docs/pwg/pwg.xml:
15488         * docs/pwg/titlepage.xml:
15489           cleanup xml (more to come)
15490         * libs/gst/controller/gstcontroller.c:
15491           fix typo
15492
15493 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15494         
15495         * win32/vs6/grammar.dsp:
15496           add autogen of gstmarshal.c,h for Release mode
15497                 
15498 2006-01-30  Wim Taymans  <wim@fluendo.com>
15499
15500         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15501         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
15502         (gst_base_sink_handle_object), (gst_base_sink_event),
15503         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
15504         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15505         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
15506         (gst_base_sink_deactivate), (gst_base_sink_activate),
15507         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15508         (gst_base_sink_query), (gst_base_sink_change_state):
15509         Basesink cleanups, remove some old code.
15510         Handle the case where a subclass can preroll in the render
15511         method (mostly audiosinks).
15512         Handle more events.
15513         Remove some locks around variables that are now protected
15514         with the PREROLL_LOCK (clock_id, flushing, ..).
15515         Optimize position query some more, do correct locking.
15516         Remove old code to push queue in state change, this is not
15517         needed anymore since preroll blocks on all prerollable items 
15518         now.
15519         Almost implemented as described in design doc.
15520
15521 2006-01-30  Wim Taymans  <wim@fluendo.com>
15522
15523         * tests/check/gst/gstbin.c: (GST_START_TEST):
15524         Wait for refcount to settle down before checking.
15525
15526 2006-01-30  Wim Taymans  <wim@fluendo.com>
15527
15528         * docs/design/part-element-sink.txt:
15529         Pseudo code overview of desired sink behaviour regarding
15530         preroll.
15531
15532 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15533         * win32/vs6/grammar.dsp:
15534           fix some bugs in Release mode for autogenerated files
15535                 
15536 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15537         * win32/common/libgstbase.def:
15538         * win32/common/libgstreamer.def:
15539           export some new symbols: gst_base_src_set_format,
15540           gst_iterator_next, gst_structure_set_valist
15541
15542 2006-01-29  Julien MOUTTE  <julien@moutte.net>
15543
15544         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
15545         Set pad functions unconditionally. Fixes #329105.
15546
15547 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15548         * win32/vs8:
15549           add vs8 project files created by Sergey Scobich
15550
15551 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
15552
15553         * gst/gstutils.c: (gst_element_unlink_pads):
15554         Don't leak pad references.
15555
15556         * tests/check/elements/fakesink.c: (GST_START_TEST):
15557         * tests/check/generic/sinks.c: (GST_START_TEST):
15558         * tests/check/generic/states.c: (GST_START_TEST):
15559         * tests/check/gst/gstbin.c: (GST_START_TEST):
15560         * tests/check/gst/gstcaps.c: (GST_START_TEST):
15561         * tests/check/gst/gstelement.c: (GST_START_TEST):
15562         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15563         * tests/check/gst/gstiterator.c: (GST_START_TEST):
15564         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15565         Fix a bunch of leaks. Make generic/sinks.c
15566         use a bit less cpu by slowing the buffer rate
15567         between fakesrc and fakesink.
15568         
15569 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
15570         * gst/gstcaps.c:
15571         * gst/gstelement.c: (gst_element_send_event):
15572         * gst/gstevent.c:
15573         * gst/gstinfo.c:
15574         * gst/gstiterator.c:
15575         * gst/gstiterator.h:
15576         * gst/gstpad.c: (gst_pad_send_event):
15577         * gst/gststructure.c:
15578         * gst/gsturi.c:
15579         * gst/gstutils.c:
15580         * gst/gstvalue.c:
15581         * libs/gst/base/gstadapter.c:
15582           doc fixes, to link to function, just write gst_cool_function(), don't
15583           prefix with '#'
15584
15585 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15586
15587         * plugins/elements/gsttee.c: (gst_tee_do_push),
15588         (gst_tee_handle_buffer):
15589         Always prefer an actual return value from a src
15590         pad in place of NOT_LINKED. This means we return
15591         WRONG_STATE when all src pads are WRONG_STATE
15592         instead of NOT_LINKED.
15593
15594         Lock when replacing the last message to prevent
15595         racing with the get_property method.
15596
15597         Add debug output
15598
15599 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15600
15601         * tests/check/Makefile.am:
15602         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
15603         (main):
15604         Add a very simple check that should have caught the memleak I fixed
15605         last night (if not for the slice allocator hiding it)
15606
15607 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15608
15609         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15610         (gst_bin_remove_func), (gst_bin_handle_message_func),
15611         (bin_query_duration_fold), (bin_query_generic_fold):
15612         Clean up references to the clock provider when disposed or when
15613         handling a clock-lost message from it.
15614
15615         Unref sinks when performing a query via gst_iterator_fold, as the
15616         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
15617
15618         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
15619         (gst_clock_set_master):
15620         Drop our reference to the master clock, if any, when we are disposed.
15621
15622         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
15623         Chain up in dispose. 
15624
15625 2006-01-26  Wim Taymans  <wim@fluendo.com>
15626
15627         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15628         Add some debugging.
15629
15630 2006-01-26  Julien MOUTTE  <julien@moutte.net>
15631
15632         * plugins/elements/gsttee.c: (gst_tee_do_push),
15633         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
15634         handles pad being NOT_LINKED or in WRONG_STATE.
15635
15636 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15637
15638         * win32/MANIFEST:
15639           more updating
15640
15641 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15642
15643         * win32/MANIFEST:
15644           remove obsolete entry
15645
15646 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15647
15648         * docs/gst/gstreamer-sections.txt:
15649         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
15650         (gst_bin_iterate_sources), (gst_bin_send_event):
15651         * gst/gstbin.h:
15652         * gst/gstelement.c: (gst_element_send_event):
15653         * gst/gstevent.c:
15654         * gst/gstpad.c: (gst_pad_send_event):
15655           added code for downstream events, reviewed docs in gstevent.c
15656
15657 2006-01-25  Julien MOUTTE  <julien@moutte.net>
15658
15659         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15660         We only query position using the clock in the playing state.
15661         Query peer in the other cases.
15662         * win32/common/config.h: Updates.
15663
15664 2006-01-24  Wim Taymans  <wim@fluendo.com>
15665
15666         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15667         A clock entry that is scheduled for the exact time of the
15668         clock is still in time.
15669
15670         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15671         (gst_base_sink_do_sync):
15672         Add some more debug info.
15673
15674 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
15675
15676         * win32/vs7:
15677           Add new vs7 project files and solution.
15678
15679 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
15680
15681         * win32/vs7:
15682           all files removed as they were out-dated.
15683
15684 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15685
15686         * docs/random/release:
15687           update notes
15688         * gst/gstbin.c: (gst_bin_init):
15689         * gst/gstbus.c: (gst_bus_new):
15690         * gst/gstbus.h:
15691         * gst/gstpipeline.c: (gst_pipeline_init):
15692           use gst_bus_new(), improve logging, fix docs
15693         * win32/common/config.h:
15694           update for cvs build
15695
15696 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15697
15698         * autogen.sh:
15699           up required version of automake to 1.7
15700
15701 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
15702
15703         * win32/common/libgstreamer.def:
15704           export gst_buffer_is_metadata_writable
15705
15706 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
15707
15708         * docs/gst/gstreamer-sections.txt:
15709         * gst/gstevent.h:
15710           Add gst_event_replace() (#327001)
15711
15712 2006-01-20  Wim Taymans  <wim@fluendo.com>
15713
15714         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15715         Make it actually compile too..
15716
15717 2006-01-20  Wim Taymans  <wim@fluendo.com>
15718
15719         * gst/gstcaps.c:
15720         Clarify behaviour of _is_equal() when passing NULL parameters.
15721
15722         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15723         (gst_pad_set_caps):
15724         Cleanups. Don't unref NULL caps.
15725         When setting the same caps, protect caps of the pad with
15726         proper lock.
15727         Use full functionality of _is_equal() when comparing caps.
15728
15729 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
15730
15731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15732         Don't loop infinitely if there are no buffers to present. Partially
15733         fixes #327197, but collectpads is just broken for reusing elements
15734         to do multiple encodes atm.
15735
15736 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
15737
15738         * tools/gst-inspect.c: (print_element_features):
15739         * tools/gst-xmlinspect.c: (main):
15740         URL_HANDLER is not a plugin feature we can search for in
15741         the registry.
15742
15743 2006-01-19  Edward Hervey  <edward@fluendo.com>
15744
15745         * gst/gstelement.c: (gst_element_pads_activate): 
15746         When activating, do src pads first, then sink pads.
15747         When de-activating, do sink pads first, then src pads.
15748
15749 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15750
15751         * docs/gst/gstreamer-sections.txt:
15752         Add gst_index_add_associationv to the docs
15753
15754 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15755
15756         * gst/gstevent.c:
15757           Fix docs typo
15758
15759         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
15760         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
15761           Do some refactoring. Doesn't actually change functionality,
15762           but makes landing the DRAIN event easier later.
15763
15764 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
15765
15766         * docs/pwg/advanced-scheduling.xml:
15767           Update from 0.9.x to 0.10 API and make example a bit
15768           clearer.
15769
15770 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15771
15772         * docs/gst/gstreamer-sections.txt:
15773         Add gst_buffer_(is|make)_metadata_writable methods.
15774
15775 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15776
15777         * docs/design/part-sparsestreams.txt:
15778         Update sparse streams doc, hopefully for greater clarity
15779
15780 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
15781
15782         * docs/design/part-events.txt:
15783         Remove mention of FILLER events.
15784         Add DRAIN event.
15785
15786         * docs/design/part-sparsestreams.txt:
15787         Write some things about using NEWSEGMENT to keep sparse streams
15788         flowing.
15789
15790 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
15791
15792         * gst/gstbin.c: (gst_bin_dispose):
15793           Guard gst_object_unref call against a NULL object (dispose
15794           can theoretically be called multiple times).
15795           
15796 2006-01-18  Wim Taymans  <wim@fluendo.com>
15797
15798         * gst/gstbin.c: (gst_bin_element_set_state):
15799         * gst/gstclock.c: (gst_clock_id_wait):
15800         Added some more debug info.
15801
15802         * libs/gst/base/gstadapter.c:
15803         Added more docs.
15804
15805         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15806         (gst_base_sink_do_sync), (gst_base_sink_chain):
15807         Added some comments.
15808
15809 2006-01-18  Wim Taymans  <wim@fluendo.com>
15810
15811         * tests/check/Makefile.am:
15812         * tests/check/elements/fakesink.c: (chain_async_buffer),
15813         (chain_async), (chain_async_return), (GST_START_TEST),
15814         (fakesink_suite), (main):
15815         Added fakesink test that checks prerolling and clipping
15816         behaviour.
15817
15818         * tests/check/gst/gstutils.c: (GST_START_TEST):
15819         Make check run faster so that buildbots don't timeout.
15820
15821 2006-01-18  Wim Taymans  <wim@fluendo.com>
15822
15823         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15824         (gst_base_sink_do_sync):
15825         Some cleanups.
15826         When the sink finishes blocking on the preroll buffer, it can
15827         immediatly render it instead of rendering when the next buffer
15828         arrives.
15829
15830 2006-01-18  Wim Taymans  <wim@fluendo.com>
15831
15832         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
15833         (gst_base_sink_get_property), (gst_base_sink_do_sync),
15834         (gst_base_sink_chain):
15835         Small cleanups.
15836         GST_ELEMENT_CLOCK and sync are protected with LOCK.
15837         Don't store _last_stop if the buffer is dropped.
15838
15839 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
15840
15841         * plugins/elements/gsttypefindelement.c:
15842         (gst_type_find_element_class_init):
15843           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
15844           object method handler that sets the caps on the pad and we want
15845           that to happen before we emit the signal (fixes e.g. feeding a
15846           plain text file to decodebin).
15847
15848 2006-01-18  Christian Schaller  <Christian@fluendo.com>
15849
15850         * gst/gstplugin.c: Add MPL and Proprietary as license options
15851
15852 2006-01-18  Andy Wingo  <wingo@pobox.com>
15853
15854         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
15855         symbol was exported before, it appears this was just an oversight.
15856         Fixes #168703.
15857         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
15858
15859         * gst/gstindex.c (gst_index_add_associationv): Changed int in
15860         prototype to gint. OK since this prototype was not in the header.
15861
15862 2006-01-17  Andy Wingo  <wingo@pobox.com>
15863
15864         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
15865         registry while we remove plugins.
15866
15867         * tools/gst-inspect.c (print_element_info): Don't unref the
15868         factory arg, that should be the responsibility of whatever code
15869         received the ref. Fixes a double-free when called from
15870         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
15871         (main): Unref the factory if we have one.
15872         (print_element_list): No change -- relies on the
15873         plugin_feature_list_free to free the list of features.
15874
15875 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
15876
15877         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15878         (gst_buffer_make_metadata_writable):
15879         * gst/gstbuffer.h:
15880         * libs/gst/base/gstbasetransform.c:
15881         (gst_base_transform_prepare_output_buf):
15882         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15883         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15884           Replace gst_buffer_(make|is)_metadata_writable patch now
15885           that the release is out.
15886
15887 2006-01-17  Andy Wingo  <wingo@pobox.com>
15888
15889         * gst/gstregistry.c: Reflow design comment. Update so as to speak
15890         in the present tense without reference to versions.
15891
15892         * gst/gstregistry.c (gst_registry_add_plugin)
15893         (gst_registry_remove_plugin, gst_registry_remove_feature)
15894         (gst_registry_find_feature, gst_registry_get_feature_list)
15895         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
15896         (gst_registry_lookup, gst_registry_scan_path)
15897         (_gst_registry_remove_cache_plugins)
15898         (gst_registry_get_feature_list_by_plugin): Add argument
15899         validation.
15900
15901 === release 0.10.2 ===
15902
15903 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
15904
15905         * configure.ac:
15906           releasing 0.10.2, "If man is five"
15907
15908 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15909
15910         * gst/gstbuffer.c:
15911         * gst/gstbuffer.h:
15912         * libs/gst/base/gstbasetransform.c:
15913         (gst_base_transform_prepare_output_buf):
15914         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15915         * tests/check/gst/gstbuffer.c: (gst_test_suite):
15916           Back out patch until after the release.
15917
15918 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15919
15920         * gst/gstminiobject.c:
15921           Spelling fix in docs.
15922         * ChangeLog - remove conflict indicator
15923
15924 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15925
15926         Reviewed By: Andy Wingo
15927
15928         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15929         (gst_buffer_make_metadata_writable):
15930         * gst/gstbuffer.h:
15931           Add gst_buffer_(is|make)_metadata_writable as analogues of
15932           gst_buffer_(is|make)_writable.
15933
15934         * libs/gst/base/gstbasetransform.c:
15935         (gst_base_transform_prepare_output_buf):
15936         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15937           Use name gst_buffer_(is|make)_metadata_writable functions.
15938
15939         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15940           Test gst_buffer_(is|make)_metadata_writable
15941         
15942           (Closes: #324162)
15943
15944 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15945
15946         * docs/manual/Makefile.am:
15947           don't do parallel make
15948         * configure.ac:
15949           AC_SUBST HOST_CPU
15950         * win32/common/config.h.in:
15951           add generations for HOST_CPU and GST_MAJORMINOR
15952         * win32/common/config.h:
15953           commit generated result
15954
15955 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
15956
15957         * docs/manual/appendix-integration.xml:
15958           Update GNOME integration section to use gst_init_get_option_group()
15959           instead of the old popt stuff (#322911). Also, GNOME applications
15960           should  now use gconf*sink and gconf*src instead of the old gconf
15961           helper lib we had.
15962
15963 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
15964
15965
15966         * docs/gst/gstreamer-docs.sgml:
15967         * docs/gst/gstreamer-sections.txt:
15968         * docs/libs/gstreamer-libs-sections.txt:
15969           add new API entries to the docs
15970         * libs/gst/controller/Makefile.am:
15971         * libs/gst/controller/gstcontroller.c:
15972         * libs/gst/controller/gstcontroller.h:
15973         * libs/gst/controller/gstcontrollerprivate.h:
15974         * libs/gst/controller/gsthelper.c:
15975         * libs/gst/controller/gstinterpolation.c:
15976           move private structs to private header
15977         * po/README:
15978           gstreamer-0.7 -> gstreamer-0.10
15979         * tests/check/libs/struct_i386.h:
15980           remove private structs
15981
15982 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15983
15984         * plugins/indexers/Makefile.am:
15985           Fixes as part of #317048
15986
15987 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15988
15989         * plugins/indexers/Makefile.am:
15990           fix #316086 - compilation when mmap is missing
15991
15992 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
15993
15994         * libs/gst/base/gstbasesink.c:
15995           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
15996           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
15997         * win32/common/config.h:
15998           added some defines GST_MAJORMINOR and HOST_CPU
15999         * win32/common/libgstbase.def:
16000         * win32/common/libgstreamer.def:
16001           added some exported functions.
16002
16003 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16004
16005         * libs/gst/controller/gstcontroller.c:
16006         (gst_controlled_property_set_interpolation_mode),
16007         (gst_controlled_property_new):
16008         * libs/gst/controller/gstcontroller.h:
16009         * libs/gst/controller/gstinterpolation.c:
16010         (interpolate_none_get_string_value_array):
16011           make G_TYPE_STRING controlable
16012
16013 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16014
16015         * tools/README:
16016         * tools/gst-feedback.1.in:
16017         * tools/gst-inspect.1.in:
16018         * tools/gst-launch.1.in:
16019         * tools/gst-md5sum.1.in:
16020         * tools/gst-typefind.1.in:
16021         * tools/gst-xmlinspect.1.in:
16022         * tools/gst-xmllaunch.1.in:
16023           cleanup man-pages, remove reference to gst-register, document env-vars
16024
16025 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
16026
16027         * gst/gstbuffer.c: (gst_buffer_span):
16028           gst_buffer_span should copy the timestamp of the first buffer
16029           if they were both originally overlapping subbuffers of the 
16030           same parent, using the same logic as the 'slow copy' case.
16031
16032 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
16033
16034         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
16035           Need to awaken ALL the pads when we pop a buffer, otherwise
16036           collectpads only works when there is 2 input streams.
16037
16038 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
16039
16040         * docs/random/ensonic/media-device-daemon.txt:
16041           more ideas (dbus)
16042         * gst/gstbuffer.c:
16043           fix doc example, add clarification
16044         * tools/gst-launch.1.in:
16045           add initial info about GST_PLUGIN_PATH, needs more work
16046
16047 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
16048
16049         * docs/manual/basics-bins.xml:
16050         * docs/manual/basics-elements.xml:
16051         * docs/manual/intro-basics.xml:
16052           Some more minor docs additions and updates.
16053
16054 2006-01-11  Wim Taymans  <wim@fluendo.com>
16055
16056         * docs/manual/basics-bins.xml:
16057         * docs/manual/basics-elements.xml:
16058         Some small fixes as pointed out by Ser-ver on IRC.
16059
16060 2006-01-10  Edward Hervey  <edward@fluendo.com>
16061
16062         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16063         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
16064         the single-segment mode.
16065
16066 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
16067
16068         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16069
16070         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
16071         (gst_base_src_perform_seek), (gst_base_src_send_event),
16072         (gst_base_src_set_property), (gst_base_src_get_property),
16073         (gst_base_src_loop), (gst_base_src_start),
16074         (gst_base_src_activate_push):
16075         * libs/gst/base/gstbasesrc.h:
16076           Name (private) union; makes Sun's Forte compiler happy (#324900).
16077
16078 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
16079
16080         * README:
16081           gst-register is gone.
16082
16083 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16084
16085         * gst/gstvalue.c: (_gst_value_initialize):
16086           make the G_TYPE_DATE instantiation work if debug is disabled
16087
16088 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
16089
16090         * gst/gstmessage.c: (gst_message_parse_tag),
16091         (gst_message_parse_error), (gst_message_parse_warning):
16092           Don't crash when return location for error/warning debug
16093           string is NULL; add fact that return locations can be
16094           NULL to docs where appropriate.
16095
16096 2006-01-05  Wim Taymans  <wim@fluendo.com>
16097
16098         * gst/gstplugin.c: (gst_plugin_load_file):
16099         Replace strdup by g_strdup.
16100
16101 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16102
16103         * docs/pwg/advanced-types.xml:
16104           fix doc borkage
16105
16106 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16107
16108         submitted by: Abel Cheung
16109
16110         * po/LINGUAS:
16111         * po/zh_TW.po:
16112           Added Chinese (traditional) translation
16113
16114 2006-01-04  Wim Taymans  <wim@fluendo.com>
16115
16116         * docs/manual/basics-pads.xml:
16117         * docs/plugins/Makefile.am:
16118         * docs/plugins/gstreamer-plugins-docs.sgml:
16119         * docs/plugins/gstreamer-plugins-sections.txt:
16120         * docs/pwg/advanced-clock.xml:
16121         * docs/pwg/advanced-scheduling.xml:
16122         * docs/pwg/advanced-types.xml:
16123         * plugins/elements/gstfdsink.c:
16124         * plugins/elements/gstfdsrc.c:
16125         * plugins/elements/gstfdsrc.h:
16126         * plugins/elements/gstidentity.c: (gst_identity_class_init):
16127         * plugins/elements/gstidentity.h:
16128         * plugins/elements/gstqueue.h:
16129         * plugins/elements/gsttee.c:
16130         * plugins/elements/gsttee.h:
16131         * plugins/elements/gsttypefindelement.c:
16132         (gst_type_find_element_class_init):
16133         * plugins/elements/gsttypefindelement.h:
16134         Small updates to various docs.
16135         Added core plugins to docs.
16136
16137 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16138
16139         * common/gst.supp:
16140           add a suppression for liboil's uninitialized variable
16141
16142 2006-01-02  James Livingston  <jrl at ids dot org dot au>
16143
16144         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16145
16146         * gst/gstutils.h:
16147           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
16148           macro, so that gcc doesn't complain if the -Wmissing-prototypes
16149           compiler switch is being used (#325429).
16150
16151 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
16152
16153         * gst/gstbin.c: (gst_bin_query):
16154           Disable duration query caching in bins until it gets
16155           fixed (see #324807).
16156
16157 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16158
16159         * tools/gst-inspect.c: (print_element_properties_info):
16160           Handle properties of POINTER and BOXED type.
16161
16162 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16163
16164         * gst/gst.c: (init_post):
16165           Init tags stuff and some other things before loading
16166           any static plugins (there may be other static plugins
16167           than just the GStreamer ones, and they may want to
16168           register their own tags or formats or whatever, and
16169           preferably without segfaulting).
16170
16171         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
16172           Print at least a warning in the debug logs if we drop a
16173           query just because we don't know how to adjust the value
16174           in the particular format.
16175
16176 2005-12-24  David Schleef  <ds@schleef.org>
16177
16178         * tools/gstreamer-completion:
16179           Replacement for gst-complete written in sh and sed.  Only
16180           completes names of features, but that's 90% of what I want
16181           it for.  Properties are not available in registry.xml.  (Maybe
16182           they should be...)
16183
16184 === release 0.10.1 ===
16185
16186 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
16187
16188         * configure.ac:
16189           releasing 0.10.1, "Nollaig chridheil"
16190
16191 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
16192
16193         * docs/faq/cvs.xml:
16194           Add missing quote, should be make ERROR_CFLAGS="".
16195
16196 2005-12-20  Wim Taymans  <wim@fluendo.com>
16197
16198         * docs/design/part-trickmodes.txt:
16199         More documentation on trickmodes.
16200
16201 2005-12-20  Edward Hervey  <edward@fluendo.com>
16202
16203         * gst/gstcaps.c: (gst_static_caps_get_type):
16204         * gst/gstcaps.h:
16205           API addition: GST_TYPE_STATIC_CAPS
16206         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
16207         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
16208         * gst/gstpadtemplate.h:
16209           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
16210         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
16211         bindings.
16212
16213 2005-12-18  Wim Taymans  <wim@fluendo.com>
16214
16215         * libs/gst/base/gstadapter.c:
16216         * libs/gst/base/gstadapter.h:
16217         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16218         (gst_base_sink_get_position):
16219         * libs/gst/base/gstbasesink.h:
16220         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16221         (gst_base_src_default_query), (gst_base_src_default_do_seek),
16222         (gst_base_src_do_seek), (gst_base_src_perform_seek),
16223         (gst_base_src_send_event), (gst_base_src_update_length),
16224         (gst_base_src_get_range), (gst_base_src_loop),
16225         (gst_base_src_start):
16226         * libs/gst/base/gstbasesrc.h:
16227         * libs/gst/base/gstbasetransform.h:
16228         * libs/gst/base/gstcollectpads.h:
16229         * libs/gst/base/gstpushsrc.c:
16230         * libs/gst/base/gstpushsrc.h:
16231         * libs/gst/dataprotocol/dataprotocol.c:
16232         * libs/gst/dataprotocol/dataprotocol.h:
16233         * libs/gst/net/gstnetclientclock.h:
16234         * libs/gst/net/gstnettimeprovider.h:
16235         Documentation updates.
16236
16237 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
16238
16239         * docs/manual/basics-helloworld.xml:
16240           Remove superfluous closing bracket in helloworld example.
16241
16242 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
16243
16244         * tools/gst-launch.1.in:
16245           Update gst-launch man page; add a section with useful
16246           environment variables. Fixes #323882.
16247
16248 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
16249
16250         * gst/gst.c:
16251         * gst/gst_private.h:
16252           change some char* into char[]
16253
16254 2005-12-16  Wim Taymans  <wim@fluendo.com>
16255
16256         * gst/gstregistryxml.c: (load_feature):
16257         Cleanups.
16258         Don't use g_object_unref on GstObjects so that we avoid
16259         leaks on unsafe glibs.
16260
16261 2005-12-16  Wim Taymans  <wim@fluendo.com>
16262
16263         * gst/gstbin.c: (gst_bin_recalc_state):
16264         Small doc updates.
16265
16266 2005-12-16  Wim Taymans  <wim@fluendo.com>
16267
16268         * common/check.mak:
16269         Added make forever target for check.
16270
16271 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16272
16273         * gst/gst.c: (init_post):
16274           make the registry cache file HOST_CPU-dependent
16275
16276 2005-12-16  Andy Wingo  <wingo@pobox.com>
16277
16278         * plugins/elements/gstbufferstore.c
16279         (gst_buffer_store_cleared_func): Pay attention to g_list_append
16280         return value.
16281
16282         * tests/check/gst/gstobject.c
16283         (test_fake_object_name_threaded_unique): Pay attention to
16284         g_list_sort return value.
16285
16286 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
16287
16288         * tools/gst-feedback-m.m:
16289           Update for 0.9/0.10 (fixes #323870).
16290
16291 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
16292
16293         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
16294           Fix lcopy for mini objects, the mini object needs to be ref'ed.
16295           
16296         * tests/check/gst/gstminiobject.c: (my_foo_init),
16297         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
16298         (test_value_collection), (gst_mini_object_suite):
16299           Add test to ensure refcounts end up as expected when passing
16300           GstMiniObjects through g_object_get() and g_object_set().
16301
16302 2005-12-14  Julien MOUTTE  <julien@moutte.net>
16303
16304         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16305         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
16306         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
16307         of collectpads. This version removes a lot of races without
16308         touching API/ABI. Yay !
16309
16310 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
16311
16312         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
16313           Don't allow activation of a srcpad in pull_range if it has no
16314           getrange function.
16315           Change some debug statements to be a little clearer
16316
16317         * plugins/elements/gsttypefindelement.c:
16318         (gst_type_find_handle_src_query):
16319           Check that we have a peer before executing queries thereupon.
16320
16321         * tests/examples/metadata/read-metadata.c: (message_loop):
16322           Use gst_bus_pop instead of gst_bus_poll when we just want it to
16323           immediately return us any available message with 0 timeout.
16324
16325 2005-12-12  Michael Smith  <msmith@fluendo.com>
16326
16327         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
16328           Don't unref factories after calling them.
16329         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
16330         * plugins/elements/gsttypefindelement.c:
16331         (gst_type_find_element_chain):
16332           Free lists of factories after using them. Fixing typefinding memory
16333           leaks.
16334
16335 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16336
16337         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
16338         (gst_plugin_feature_load):
16339           more meaningful debug output
16340         * configure.ac:
16341         * tests/Makefile.am:
16342         * tests/old/examples/Makefile.am:
16343           make make distcheck happy again
16344
16345 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16346
16347         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16348           Catch the special case where we are operating chain-based,
16349           but the downstream peer pad has no chain function. Emit a
16350           custom error message in this case instead of letting the
16351           core generate one implying that this is some sort of core
16352           bug. It's not, it just means that whatever got plugged
16353           into the pipeline downstream when we announced the type
16354           can only operate pull-based, while our source can only
16355           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
16356           Error string has not been marked for translation yet, as
16357           it probably needs some more work first.
16358
16359         (gst_type_find_element_get_best_possibility):
16360           Add helper function to find the best of all available
16361           found possibilities that qualify given the min. threshold.
16362
16363         (gst_type_find_element_handle_event):
16364           Fix the case where we get an EOS while still in TYPEFIND
16365           mode (we want to chose the best of all possible types,
16366           not just the first type that happens to be in our unsorted
16367           list of possible types).
16368
16369         (gst_type_find_element_chain):
16370           Make sure we return GST_FLOW_ERROR when we errored out
16371           in stop_typefinding(); also, don't just find the best of
16372           all found type entries and then use the last examined
16373           type entry, but actually use the best entry.
16374
16375 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16376
16377         * tests/examples/typefind/typefind.c: (type_found):
16378         * tests/examples/xml/runxml.c: (xml_loaded):
16379           More gcc4 fixes and a mem leak fix.
16380
16381 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16382
16383         * tests/examples/xml/createxml.c: (object_saved):
16384           gcc 4 fixes
16385
16386 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16387
16388         * tests/Makefile.am:
16389           enable the examples even more
16390
16391 2005-12-12  Andy Wingo  <wingo@pobox.com>
16392
16393         * libs/gst/net/gstnettimeprovider.c
16394         (gst_net_time_provider_class_init, gst_net_time_provider_init)
16395         (gst_net_time_provider_set_property)
16396         (gst_net_time_provider_get_property):
16397         API addition: Export "active" as a GObject property.
16398         (gst_net_time_provider_thread): Only respond to time queries if
16399         the time provider is active.
16400
16401         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
16402         NetTimeProvider, preserving binary compat.
16403
16404 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16405
16406         * tests/examples/controller/audio-example.c: (main):
16407         * tests/examples/launch/Makefile.am:
16408           convert comments again
16409
16410 2005-12-12  Wim Taymans  <wim@fluendo.com>
16411
16412         * libs/gst/base/gstpushsrc.c:
16413         Fix typo.
16414
16415 2005-12-12  Wim Taymans  <wim@fluendo.com>
16416
16417         * docs/libs/gstreamer-libs-sections.txt:
16418         Added new symbol to docs.
16419
16420         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16421         (gst_base_src_init), (gst_base_src_set_format),
16422         (gst_base_src_default_query), (gst_base_src_query),
16423         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
16424         (gst_base_src_perform_seek), (gst_base_src_send_event),
16425         (gst_base_src_default_event), (gst_base_src_event_handler),
16426         (gst_base_src_set_property), (gst_base_src_get_property),
16427         (gst_base_src_wait), (gst_base_src_do_sync),
16428         (gst_base_src_update_length), (gst_base_src_get_range),
16429         (gst_base_src_check_get_range), (gst_base_src_loop),
16430         (gst_base_src_default_negotiate), (gst_base_src_start),
16431         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16432         (gst_base_src_change_state):
16433         * libs/gst/base/gstbasesrc.h:
16434         Implement seeking to other formats than _BYTES.
16435         Implement more seeking methods correctly.
16436         Doc updates.
16437         Added query vmethod.
16438         Added do_seek vmethod to make life easier for subclasses
16439         when seeking.
16440         API addition: gst_base_src_set_format()
16441
16442 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16443
16444         * tests/examples/Makefile.am:
16445           added that too
16446
16447 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16448
16449         * configure.ac:
16450         * docs/random/ensonic/media-device-daemon.txt:
16451         * tests/examples/controller/.cvsignore:
16452         * tests/examples/controller/Makefile.am:
16453         * tests/examples/controller/audio-example.c: (main):
16454         * tests/examples/helloworld/.cvsignore:
16455         * tests/examples/helloworld/Makefile.am:
16456         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
16457         * tests/examples/launch/.cvsignore:
16458         * tests/examples/launch/Makefile.am:
16459         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
16460         * tests/examples/metadata/.cvsignore:
16461         * tests/examples/metadata/Makefile.am:
16462         * tests/examples/metadata/read-metadata.c: (message_loop),
16463         (make_pipeline), (print_tag), (main):
16464         * tests/examples/queue/.cvsignore:
16465         * tests/examples/queue/Makefile.am:
16466         * tests/examples/queue/queue.c: (event_loop), (main):
16467         * tests/examples/typefind/.cvsignore:
16468         * tests/examples/typefind/Makefile.am:
16469         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
16470         (main):
16471         * tests/examples/xml/.cvsignore:
16472         * tests/examples/xml/Makefile.am:
16473         * tests/examples/xml/createxml.c: (object_saved), (main):
16474         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
16475         * tests/old/examples/Makefile.am:
16476         * tests/old/examples/TODO:
16477         * tests/old/examples/controller/.cvsignore:
16478         * tests/old/examples/controller/Makefile.am:
16479         * tests/old/examples/controller/audio-example.c:
16480         * tests/old/examples/helloworld/.cvsignore:
16481         * tests/old/examples/helloworld/Makefile.am:
16482         * tests/old/examples/helloworld/helloworld.c:
16483         * tests/old/examples/launch/.cvsignore:
16484         * tests/old/examples/launch/Makefile.am:
16485         * tests/old/examples/launch/mp3parselaunch.c:
16486         * tests/old/examples/launch/mp3play:
16487         * tests/old/examples/manual/Makefile.am:
16488         * tests/old/examples/metadata/Makefile.am:
16489         * tests/old/examples/metadata/read-metadata.c:
16490         * tests/old/examples/queue/.cvsignore:
16491         * tests/old/examples/queue/Makefile.am:
16492         * tests/old/examples/queue/queue.c:
16493         * tests/old/examples/typefind/.cvsignore:
16494         * tests/old/examples/typefind/Makefile.am:
16495         * tests/old/examples/typefind/typefind.c:
16496         * tests/old/examples/xml/.cvsignore:
16497         * tests/old/examples/xml/Makefile.am:
16498         * tests/old/examples/xml/createxml.c:
16499         * tests/old/examples/xml/runxml.c:
16500           applied some simple fixing to some examples
16501           re-enabled the working examples
16502
16503 2005-12-12  Wim Taymans  <wim@fluendo.com>
16504
16505         * gst/gstsegment.c: (gst_segment_init),
16506         (gst_segment_set_last_stop), (gst_segment_set_seek),
16507         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16508         (gst_segment_to_running_time):
16509         Added more documentation.
16510         Make sure the last_pos value is updated properly.
16511         Make sure to_stream_time and to_running_time don't
16512         operate on wrong values.
16513
16514         * tests/check/gst/gstsegment.c: (GST_START_TEST):
16515         Update check.
16516
16517 2005-12-12  Michael Smith  <msmith@fluendo.com>
16518
16519         * plugins/elements/gsttypefindelement.c: (free_entry),
16520         (gst_type_find_element_chain):
16521           Now that we're not leaking factories, make sure we keep references
16522           to them while we need them.
16523
16524 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16525
16526         * tests/check/gst/struct_i386.h:
16527           ifdef out the XML structs
16528
16529 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16530
16531         * gst/gstvalue.c: (gst_value_transform_double_fraction):
16532           floor is not needed, F is always positive; this obviates the
16533           need for adding -lm when building without libxml
16534
16535 2005-12-12  Wim Taymans  <wim@fluendo.com>
16536
16537         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16538         Take current playback rate into account when reporting
16539         the position.
16540
16541 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16542
16543         * docs/manual/mime-world.fig:
16544           Let's try this again, this time with a file that is
16545           actually in XFig format.
16546
16547 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16548
16549         * docs/manual/mime-world.fig:
16550           Add audioconvert element to diagram so that it
16551           matches the text and the code (fixes #319526).
16552
16553 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16554
16555         * docs/pwg/building-chainfn.xml:
16556         * docs/pwg/building-pads.xml:
16557         * docs/pwg/building-state.xml:
16558         * docs/pwg/other-source.xml:
16559           Update state change stuff for 0.10 (fixes #322969).
16560
16561 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16562
16563         * docs/manual/advanced-dataaccess.xml:
16564         * docs/manual/appendix-checklist.xml:
16565         * docs/manual/appendix-programs.xml:
16566         * docs/manual/basics-pads.xml:
16567         * docs/manual/highlevel-components.xml:
16568         * docs/manual/manual.xml:
16569           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
16570           add converters in front of pipelines; remove curly
16571           brackets for threads stuff, they no longer exist; use
16572           GST_TYPE_FRACTION for framerates; update some pieces of
16573           code to 0.10, but there's plenty more to do.
16574
16575         * docs/manual/appendix-porting.xml:
16576           Expand on asynchroneous state changes; s/0.9/0.10/;
16577           mention disappearance of gst_init_get_popt_table()
16578           (fixes #322916).
16579
16580 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16581
16582         * docs/faq/using.xml:
16583           Spider no longer exists, and neither does gst-launch-ext.
16584           Update examples to use decodebin and playbin and put
16585           converters in front of sinks (fixes #323726).
16586
16587 2005-12-09  Michael Smith  <msmith@fluendo.com>
16588
16589         * plugins/elements/gsttypefindelement.c: (find_peek),
16590         (gst_type_find_element_chain):
16591           Fix leaking element factories in typefinding.
16592           Fix problem where we forgot about a probable type on non-seekable
16593           files, and thus later mis-typefound it.
16594
16595 2005-12-09  Michael Smith  <msmith@fluendo.com>
16596
16597         * common/m4/gst-makecontext.m4:
16598         * common/m4/gst-mcsc.m4:
16599         * configure.ac:
16600         * win32/common/config.h:
16601         * win32/common/config.h.in:
16602           Remove makecontext stuff; not used in 0.10 and causes problems on
16603           HPUX according to bug #322441
16604
16605 2005-12-07  Wim Taymans  <wim@fluendo.com>
16606
16607         * tests/check/Makefile.am:
16608         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
16609         (main):
16610         * tests/check/libs/struct_i386.h:
16611         Added ABI check for libs
16612
16613 2005-12-07  Wim Taymans  <wim@fluendo.com>
16614
16615         * tests/check/Makefile.am:
16616         And add the struct_i386.h to dist.
16617
16618 2005-12-07  Wim Taymans  <wim@fluendo.com>
16619
16620         * tests/check/Makefile.am:
16621         * tests/check/gst/.cvsignore:
16622         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
16623         (main):
16624         * tests/check/gst/struct_i386.h:
16625         Added check for ABI compatibility.
16626
16627 2005-12-07  Wim Taymans  <wim@fluendo.com>
16628
16629         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16630         (gst_fake_src_get_times), (gst_fake_src_create):
16631         Fix broken sync option, fixes #323259
16632
16633 2005-12-07  Wim Taymans  <wim@fluendo.com>
16634
16635         * gst/gstbuffer.c:
16636         Small docs update.
16637
16638         * gst/gstcaps.c: (gst_caps_is_equal):
16639         Don't assert on NULL <--> X. Fixes #323260
16640
16641         * gst/gstminiobject.c: (gst_mini_object_replace):
16642         If we're doing atomic operations, we might just as well use
16643         the proper way to get an atomic pointer.
16644
16645         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16646         Clean up debugging.
16647
16648 2005-12-07  Michael Smith  <msmith@fluendo.com>
16649
16650         * gst/parse/grammar.y:
16651           Remove handling of { } for threads.
16652
16653 2005-12-06  David Schleef  <ds@schleef.org>
16654
16655         * libs/gst/base/gstbasetransform.c: speling fix.
16656
16657 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16658
16659         * docs/libs/tmpl/gstdataprotocol.sgml:
16660         * docs/random/omega/testing/gstobject.c:
16661         * gst/gst.c:
16662         * gst/gstclock.c:
16663         * gst/gstelement.c:
16664         * gst/gstelementfactory.c:
16665         * gst/gsterror.c:
16666         * gst/gstevent.c:
16667         * gst/gstghostpad.c:
16668         * gst/gstinfo.c:
16669         * gst/gstpadtemplate.c:
16670         * gst/gstregistryxml.c:
16671         * gst/gsttaglist.c:
16672         * gst/gsttagsetter.c:
16673         * gst/gsttypefind.c:
16674         * gst/gstvalue.c:
16675         * libs/gst/base/gstbasesrc.c:
16676         * libs/gst/net/gstnetclientclock.c:
16677         * libs/gst/net/gstnettimeprovider.c:
16678         * plugins/elements/gstfakesrc.c:
16679         * plugins/elements/gstfdsrc.c:
16680         * plugins/elements/gstfilesrc.c:
16681         * plugins/elements/gstidentity.c:
16682         * plugins/elements/gstqueue.c:
16683         * plugins/elements/gsttypefindelement.c:
16684         * plugins/indexers/gstfileindex.c:
16685         * plugins/indexers/gstmemindex.c:
16686         * tests/check/gst/gsttag.c:
16687         * tests/old/examples/cutter/cutter.c:
16688         * tests/old/examples/mixer/mixer.c:
16689         * tests/old/examples/xml/runxml.c: (main):
16690         * tests/old/testsuite/caps/normalisation.c:
16691         * tests/old/testsuite/debug/global.c:
16692         * tests/old/testsuite/parse/parse1.c:
16693         * tools/gst-xmlinspect.c:
16694         * win32/common/dirent.c:
16695           expand tabs
16696
16697 === release 0.10.0 ===
16698
16699 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16700
16701         * configure.ac:
16702           releasing 0.10.0, "Maroilles"
16703
16704 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16705
16706         submitted by: Funda Wang <fundawang@linux.net.cn>
16707
16708         * po/LINGUAS:
16709         * po/zh_CN.po:
16710           added Chinese (Traditional) translation
16711
16712 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16713
16714         * docs/gst/gstreamer-sections.txt:
16715         * docs/libs/tmpl/gstdataprotocol.sgml:
16716         * docs/random/thomasvs/TODO:
16717         * gst/gstutils.c:
16718         * gst/gstutils.h:
16719           fix docs
16720
16721 2005-12-05  Andy Wingo  <wingo@pobox.com>
16722
16723         patch by: Wim Taymans <wim@fluendo.com>
16724
16725         * libs/gst/base/gstbasetransform.c
16726         (gst_base_transform_prepare_output_buf)
16727         (gst_base_transform_buffer_alloc):
16728         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
16729         alloc_buffer_and_set_caps.
16730
16731         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
16732         set_caps on the source pad.
16733         (gst_pad_alloc_buffer_and_set_caps): New function, does what
16734         alloc_buffer used to do. Fixes #322874.
16735
16736         * docs/gst/gstreamer-sections.txt: 
16737         * docs/design/part-negotiation.txt: 
16738         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
16739         changes.
16740
16741 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16742
16743         patch by: Sebastien Moutte
16744
16745         * win32/MANIFEST:
16746         * win32/common/config.h.in:
16747         * win32/vs6/libgstcontroller.dsp:
16748           win32 build fixes
16749
16750 2005-12-05  Wim Taymans  <wim@fluendo.com>
16751
16752         * gst/gstcaps.c: (gst_caps_is_equal):
16753         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16754         (gst_fake_src_create):
16755         Back out previous code changes, leave doc updates, file bugs 
16756         instead. 
16757
16758 2005-12-05  Wim Taymans  <wim@fluendo.com>
16759
16760         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16761         (gst_fake_src_get_times), (gst_fake_src_create):
16762         * plugins/elements/gstfakesrc.h:
16763         Fix broken sync code.
16764
16765 2005-12-05  Wim Taymans  <wim@fluendo.com>
16766
16767         * gst/gstcaps.c: (gst_caps_is_equal):
16768         Comparing NULL against !NULL yields different caps, not a
16769         failure.
16770
16771 2005-12-05  Wim Taymans  <wim@fluendo.com>
16772
16773         * gst/gstpipeline.c:
16774         Fix small typo in docs.
16775
16776 2005-12-05  Andy Wingo  <wingo@pobox.com>
16777
16778         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
16779
16780         * gst/gst.c (init_post): remove hard-coded 0.9 location for
16781         registries/plugins with a MAJORMINOR one.
16782         (plugin_desc): Rename library from gstcoreleements to
16783         staticelements. Fixes #323222.
16784
16785 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
16786
16787         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
16788           Change debug category to 'collectpads' from 'collect_pads'
16789           (fixes #323250).
16790
16791 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
16792
16793         patch by: Sebastien Moutte
16794
16795         * libs/gst/controller/gstinterpolation.c:
16796           use convert function for uint64/double
16797         * win32/vs6/libgstcontroller.dsp:
16798           link to GLib
16799
16800 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
16801
16802         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
16803         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
16804         * gst/gstutils.h:
16805         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16806           add tests that seem to show that the guint64/gdouble conversions
16807           are correct.
16808
16809 2005-12-02  Wim Taymans  <wim@fluendo.com>
16810
16811         * gst/gstregistry.c: (gst_registry_add_path):
16812         * gst/gstregistry.h:
16813         * gst/gstregistryxml.c:
16814         Fix docs again.
16815
16816 2005-12-02  Wim Taymans  <wim@fluendo.com>
16817
16818         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16819         (gst_util_uint64_scale_int):
16820         Small cleanup.
16821
16822         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16823         Add debug log line.
16824
16825         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
16826         Add FIXME.
16827
16828 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16829
16830         * win32/MANIFEST:
16831         * win32/common/config.h:
16832         * win32/vs6/gstreamer.dsw:
16833         * win32/vs6/libgstcoreelements.dsp:
16834         * win32/vs6/libgstelements.dsp:
16835           renamed core elements plugin
16836
16837 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16838
16839         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
16840         (get_candidates):
16841           do piece-wise major/minor comparison so 0.9 < 0.10
16842           also allow .exe extensions for tools
16843
16844 2005-12-02  Michael Smith  <msmith@fluendo.com>
16845
16846         * gst/gst.c:
16847           Escape a % to make gtkdoc happier; bug 322958.
16848
16849 === release 0.9.7 ===
16850
16851 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16852
16853         * configure.ac:
16854           releasing 0.9.7, "My Dog Has No Nose"
16855
16856 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16857
16858         * common/gst-xmlinspect.py:
16859         * configure.ac:
16860         * docs/libs/tmpl/gstdataprotocol.sgml:
16861         * docs/random/release:
16862         * po/af.po:
16863         * po/az.po:
16864         * po/bg.po:
16865         * po/ca.po:
16866         * po/cs.po:
16867         * po/de.po:
16868         * po/en_GB.po:
16869         * po/fr.po:
16870         * po/it.po:
16871         * po/nb.po:
16872         * po/nl.po:
16873         * po/ru.po:
16874         * po/sq.po:
16875         * po/sr.po:
16876         * po/sv.po:
16877         * po/tr.po:
16878         * po/uk.po:
16879         * po/vi.po:
16880         * win32/common/config.h:
16881         * win32/common/config.h.in:
16882         * win32/vs6/gst_inspect.dsp:
16883         * win32/vs6/gst_launch.dsp:
16884         * win32/vs6/libgstbase.dsp:
16885         * win32/vs6/libgstelements.dsp:
16886         * win32/vs6/libgstreamer.dsp:
16887         * win32/vs7/GStreamer.vcproj:
16888         * win32/vs7/gst-inspect.vcproj:
16889         * win32/vs7/gst-launch.vcproj:
16890         * win32/vs7/libgstbase.vcproj:
16891           bump GST_MAJORMINOR to 0.10
16892           reset libtool version
16893
16894 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16895
16896         * po/LINGUAS:
16897         * po/bg.po:
16898           Added Bulgarian translation by (Alexander Shopov)
16899
16900 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16901
16902         * tests/check/gst/gstplugin.c:
16903           fix test
16904
16905 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16906
16907         * common/gst-xmlinspect.py:
16908         * common/gtk-doc-plugins.mak:
16909         * configure.ac:
16910         * docs/Makefile.am:
16911         * docs/gst/Makefile.am:
16912         * docs/gst/gstreamer-docs.sgml:
16913         * docs/gst/gstreamer-sections.txt:
16914         * docs/gst/gstreamer.types:
16915         * docs/gst/gstreamer.types.in:
16916         * docs/plugins/Makefile.am:
16917         * docs/plugins/gstreamer-plugins-docs.sgml:
16918         * docs/plugins/gstreamer-plugins-sections.txt:
16919         * docs/plugins/gstreamer-plugins.types:
16920         * docs/plugins/inspect.stamp:
16921         * docs/plugins/inspect/plugin-coreelements.xml:
16922         * docs/plugins/inspect/plugin-coreindexers.xml:
16923         * docs/plugins/scanobj-build.stamp:
16924         * gstreamer.spec.in:
16925         * plugins/elements/Makefile.am:
16926         * plugins/elements/gstelements.c:
16927         * plugins/elements/gstfakesink.c:
16928         * plugins/elements/gstfakesrc.c:
16929         * plugins/elements/gstfilesink.c:
16930         * plugins/elements/gstfilesrc.c:
16931         * plugins/elements/gstqueue.c:
16932         * plugins/indexers/Makefile.am:
16933         * plugins/indexers/gstindexers.c:
16934           document core plugins in a separate document just like all the
16935           others
16936           rename these plugins to something starting with core
16937
16938 2005-12-01  Andy Wingo  <wingo@pobox.com>
16939
16940         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
16941         padding here before, but it missed the commit.
16942
16943 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16944
16945         * libs/gst/controller/gstinterpolation.c:
16946           whitespace prices have crashed, we should feel free to use some now
16947           use gst_guint64_to_gdouble
16948
16949 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16950
16951         * libs/gst/controller/gstcontroller.c:
16952         * libs/gst/controller/gsthelper.c:
16953         * libs/gst/controller/gstinterpolation.c:
16954         * libs/gst/controller/lib.c:
16955           wrap config.h include
16956
16957 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16958
16959         * docs/gst/gstreamer-sections.txt:
16960           update docs
16961
16962 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16963
16964         * plugins/elements/gstelements.c:
16965         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
16966         (gst_fd_sink__class_init), (gst_fd_sink__init),
16967         (gst_fd_sink__chain), (gst_fd_sink__set_property),
16968         (gst_fd_sink__get_property):
16969         * plugins/elements/gstfdsink.h:
16970         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
16971         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
16972         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
16973         (gst_fd_src_unlock), (gst_fd_src_set_property),
16974         (gst_fd_src_get_property), (gst_fd_src_create),
16975         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
16976         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
16977         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
16978         (gst_fd_src_uri_handler_init):
16979         * plugins/elements/gstfdsrc.h:
16980         * plugins/elements/gstqueue.c: (gst_queue_get_type):
16981           more anal cleanup
16982
16983 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16984
16985         * docs/gst/Makefile.am:
16986         * docs/gst/gstreamer.types.in:
16987         * gst/Makefile.am:
16988           fix the docs build
16989
16990 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16991
16992         * configure.ac:
16993         * gst/Makefile.am:
16994         * gst/gst.c:
16995         * gst/gstplugin.h:
16996         * gst/gstregistry.h:
16997         * tests/benchmarks/complexity.c:
16998         * tests/benchmarks/mass-elements.c:
16999         * tests/check/Makefile.am:
17000         * tools/Makefile.am:
17001         * tools/gst-inspect.c:
17002         * tools/gst-xmlinspect.c:
17003           various fixes to make
17004           --disable-nls --disable-registry --disable-loadsave
17005           --disable-parse --disable-gst-debug
17006           work and get the core .so down to 360444 bytes after stripping
17007
17008 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17009
17010         * Makefile.am:
17011         * configure.ac:
17012           descend into tests
17013         * docs/random/thomasvs/TODO:
17014         * tests/Makefile.am:
17015         * tests/README:
17016           add a README
17017
17018 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17019
17020         * win32/GStreamer.vcproj:
17021         * win32/MANIFEST:
17022         * win32/Makefile:
17023         * win32/Makefile.inspect:
17024         * win32/Makefile.launch:
17025         * win32/Makefile.register:
17026         * win32/README.txt:
17027         * win32/gst-inspect.vcproj:
17028         * win32/gst-launch.vcproj:
17029         * win32/gst-register.vcproj:
17030         * win32/gstelements.vcproj:
17031         * win32/gstgetbits.def:
17032         * win32/gstgetbits.vcproj:
17033         * win32/gstreamer-dbg.def:
17034         * win32/gstreamer.def:
17035         * win32/libgstbase.def:
17036         * win32/libgstbase.vcproj:
17037         * win32/link_oldruntime.c:
17038         * win32/mman.c:
17039         * win32/mman.h:
17040         * win32/mman.inl:
17041         * win32/msvc71.sln:
17042           move even more stuff, win32/ is nice and clean now
17043
17044 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17045
17046         * libs/gst/control/.cvsignore:
17047         * win32/MANIFEST:
17048         * win32/config.h:
17049         * win32/dirent.c:
17050         * win32/dirent.h:
17051         * win32/gstbytestream.def:
17052         * win32/gstbytestream.vcproj:
17053         * win32/gstconfig.h:
17054         * win32/gstenumtypes.c:
17055         * win32/gstenumtypes.h:
17056         * win32/gstoptimalscheduler.vcproj:
17057         * win32/gstversion.h:
17058         * win32/gtchar.h:
17059         * win32/testsuite/bins.vcproj:
17060         * win32/testsuite/bytestream.vcproj:
17061         * win32/testsuite/caps.vcproj:
17062         * win32/testsuite/cleanup.vcproj:
17063         * win32/testsuite/clock.vcproj:
17064         * win32/testsuite/debug.vcproj:
17065         * win32/testsuite/dlopen.vcproj:
17066         * win32/testsuite/dynparams.vcproj:
17067         * win32/testsuite/elements.vcproj:
17068         * win32/testsuite/ghostpads.vcproj:
17069         * win32/testsuite/indexers.vcproj:
17070         * win32/testsuite/negotiation.vcproj:
17071         * win32/testsuite/parse.vcproj:
17072         * win32/testsuite/plugin.vcproj:
17073         * win32/testsuite/refcounting.vcproj:
17074         * win32/testsuite/schedulers.vcproj:
17075         * win32/testsuite/states.vcproj:
17076         * win32/testsuite/tags.vcproj:
17077         * win32/testsuite/threads.vcproj:
17078           remove old win32 stuff that isn't maintained and should be
17079           reorganized
17080
17081 2005-11-30  Andy Wingo  <wingo@pobox.com>
17082
17083         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
17084         loading the gst.interfaces python module bork.
17085
17086         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
17087         available since GLib 2.2. Fixes #318031.
17088
17089 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17090
17091         * Makefile.am:
17092         * check/.cvsignore:
17093         * check/Makefile.am:
17094         * check/elements/.cvsignore:
17095         * check/elements/fakesrc.c:
17096         * check/elements/fdsrc.c:
17097         * check/elements/identity.c:
17098         * check/generic/.cvsignore:
17099         * check/generic/states.c:
17100         * check/gst-libs/.cvsignore:
17101         * check/gst-libs/controller.c:
17102         * check/gst-libs/gdp.c:
17103         * check/gst/.cvsignore:
17104         * check/gst/capslist.h:
17105         * check/gst/gst.c:
17106         * check/gst/gstbin.c:
17107         * check/gst/gstbuffer.c:
17108         * check/gst/gstbus.c:
17109         * check/gst/gstcaps.c:
17110         * check/gst/gstelement.c:
17111         * check/gst/gstevent.c:
17112         * check/gst/gstghostpad.c:
17113         * check/gst/gstiterator.c:
17114         * check/gst/gstmessage.c:
17115         * check/gst/gstminiobject.c:
17116         * check/gst/gstobject.c:
17117         * check/gst/gstpad.c:
17118         * check/gst/gstpipeline.c:
17119         * check/gst/gstplugin.c:
17120         * check/gst/gstsegment.c:
17121         * check/gst/gststructure.c:
17122         * check/gst/gstsystemclock.c:
17123         * check/gst/gsttag.c:
17124         * check/gst/gstutils.c:
17125         * check/gst/gstvalue.c:
17126         * check/net/.cvsignore:
17127         * check/net/gstnetclientclock.c:
17128         * check/net/gstnettimeprovider.c:
17129         * check/pipelines/.cvsignore:
17130         * check/pipelines/cleanup.c:
17131         * check/pipelines/simple_launch_lines.c:
17132         * check/pipelines/stress.c:
17133         * check/states/.cvsignore:
17134         * check/states/sinks.c:
17135         * configure.ac:
17136         * examples/Makefile.am:
17137         * examples/appreader/.cvsignore:
17138         * examples/appreader/Makefile.am:
17139         * examples/appreader/appreader.c:
17140         * examples/controller/.cvsignore:
17141         * examples/controller/Makefile.am:
17142         * examples/controller/audio-example.c:
17143         * examples/cutter/.cvsignore:
17144         * examples/cutter/Makefile.am:
17145         * examples/cutter/cutter.c:
17146         * examples/cutter/cutter.h:
17147         * examples/events/Makefile.am:
17148         * examples/events/seek.c:
17149         * examples/helloworld/.cvsignore:
17150         * examples/helloworld/Makefile.am:
17151         * examples/helloworld/helloworld.c:
17152         * examples/helloworld2/.cvsignore:
17153         * examples/helloworld2/Makefile.am:
17154         * examples/helloworld2/helloworld2.c:
17155         * examples/launch/.cvsignore:
17156         * examples/launch/Makefile.am:
17157         * examples/launch/mp3parselaunch.c:
17158         * examples/launch/mp3play:
17159         * examples/manual/.cvsignore:
17160         * examples/manual/Makefile.am:
17161         * examples/manual/extract.pl:
17162         * examples/metadata/Makefile.am:
17163         * examples/metadata/read-metadata.c:
17164         * examples/mixer/.cvsignore:
17165         * examples/mixer/Makefile.am:
17166         * examples/mixer/mixer.c:
17167         * examples/mixer/mixer.h:
17168         * examples/pingpong/.cvsignore:
17169         * examples/pingpong/Makefile.am:
17170         * examples/pingpong/pingpong.c:
17171         * examples/plugins/.cvsignore:
17172         * examples/plugins/Makefile.am:
17173         * examples/plugins/example.c:
17174         * examples/plugins/example.h:
17175         * examples/pwg/.cvsignore:
17176         * examples/pwg/Makefile.am:
17177         * examples/pwg/extract.pl:
17178         * examples/queue/.cvsignore:
17179         * examples/queue/Makefile.am:
17180         * examples/queue/queue.c:
17181         * examples/queue2/.cvsignore:
17182         * examples/queue2/Makefile.am:
17183         * examples/queue2/queue2.c:
17184         * examples/queue3/.cvsignore:
17185         * examples/queue3/Makefile.am:
17186         * examples/queue3/queue3.c:
17187         * examples/queue4/.cvsignore:
17188         * examples/queue4/Makefile.am:
17189         * examples/queue4/queue4.c:
17190         * examples/retag/.cvsignore:
17191         * examples/retag/Makefile.am:
17192         * examples/retag/retag.c:
17193         * examples/retag/transcode.c:
17194         * examples/thread/.cvsignore:
17195         * examples/thread/Makefile.am:
17196         * examples/thread/thread.c:
17197         * examples/typefind/.cvsignore:
17198         * examples/typefind/Makefile.am:
17199         * examples/typefind/typefind.c:
17200         * examples/xml/.cvsignore:
17201         * examples/xml/Makefile.am:
17202         * examples/xml/createxml.c:
17203         * examples/xml/runxml.c:
17204         * tests/Makefile.am:
17205         * tests/check/Makefile.am:
17206         * testsuite/.cvsignore:
17207         * testsuite/Makefile.am:
17208         * testsuite/Rules:
17209         * testsuite/caps/.cvsignore:
17210         * testsuite/caps/Makefile.am:
17211         * testsuite/caps/app_fixate.c:
17212         * testsuite/caps/audioscale.c:
17213         * testsuite/caps/caps.c:
17214         * testsuite/caps/caps.h:
17215         * testsuite/caps/caps_strings:
17216         * testsuite/caps/compatibility.c:
17217         * testsuite/caps/deserialize.c:
17218         * testsuite/caps/enumcaps.c:
17219         * testsuite/caps/eratosthenes.c:
17220         * testsuite/caps/filtercaps.c:
17221         * testsuite/caps/fixed.c:
17222         * testsuite/caps/fraction-convert.c:
17223         * testsuite/caps/fraction-multiply-and-zero.c:
17224         * testsuite/caps/intersect2.c:
17225         * testsuite/caps/intersection.c:
17226         * testsuite/caps/normalisation.c:
17227         * testsuite/caps/random.c:
17228         * testsuite/caps/renegotiate.c:
17229         * testsuite/caps/sets.c:
17230         * testsuite/caps/simplify.c:
17231         * testsuite/caps/string-conversions.c:
17232         * testsuite/caps/structure.c:
17233         * testsuite/caps/subtract.c:
17234         * testsuite/caps/union.c:
17235         * testsuite/debug/.cvsignore:
17236         * testsuite/debug/Makefile.am:
17237         * testsuite/debug/category.c:
17238         * testsuite/debug/commandline.c:
17239         * testsuite/debug/global.c:
17240         * testsuite/debug/output.c:
17241         * testsuite/debug/printf_extension.c:
17242         * testsuite/dlopen/.cvsignore:
17243         * testsuite/dlopen/Makefile.am:
17244         * testsuite/dlopen/dlopen_gst.c:
17245         * testsuite/dlopen/loadgst.c:
17246         * testsuite/elements/.cvsignore:
17247         * testsuite/elements/Makefile.am:
17248         * testsuite/elements/gst-inspect-check.in:
17249         * testsuite/elements/struct_i386.h:
17250         * testsuite/elements/struct_size.c:
17251         * testsuite/indexers/.cvsignore:
17252         * testsuite/indexers/Makefile.am:
17253         * testsuite/indexers/cache1.c:
17254         * testsuite/indexers/indexdump.c:
17255         * testsuite/parse/.cvsignore:
17256         * testsuite/parse/Makefile.am:
17257         * testsuite/parse/parse1.c:
17258         * testsuite/parse/parse2.c:
17259         * testsuite/plugin/.cvsignore:
17260         * testsuite/plugin/Makefile.am:
17261         * testsuite/plugin/README:
17262         * testsuite/plugin/dynamic.c:
17263         * testsuite/plugin/linked.c:
17264         * testsuite/plugin/loading.c:
17265         * testsuite/plugin/registry.c:
17266         * testsuite/plugin/static.c:
17267         * testsuite/plugin/static2.c:
17268         * testsuite/plugin/testplugin.c:
17269         * testsuite/plugin/testplugin2.c:
17270         * testsuite/plugin/testplugin2_s.c:
17271         * testsuite/plugin/testplugin_s.c:
17272         * testsuite/refcounting/.cvsignore:
17273         * testsuite/refcounting/Makefile.am:
17274         * testsuite/refcounting/bin.c:
17275         * testsuite/refcounting/element.c:
17276         * testsuite/refcounting/element_pad.c:
17277         * testsuite/refcounting/mainloop.c:
17278         * testsuite/refcounting/mem.c:
17279         * testsuite/refcounting/mem.h:
17280         * testsuite/refcounting/object.c:
17281         * testsuite/refcounting/pad.c:
17282         * testsuite/refcounting/sched.c:
17283         * testsuite/refcounting/thread.c:
17284         * testsuite/states/.cvsignore:
17285         * testsuite/states/Makefile.am:
17286         * testsuite/states/bin.c:
17287         * testsuite/states/locked.c:
17288         * testsuite/states/parent.c:
17289         * testsuite/threads/.cvsignore:
17290         * testsuite/threads/159566.c:
17291         * testsuite/threads/159852.c:
17292         * testsuite/threads/Makefile.am:
17293         * testsuite/threads/queue.c:
17294         * testsuite/threads/signals.c:
17295         * testsuite/threads/staticrec.c:
17296         * testsuite/threads/thread.c:
17297         * testsuite/threads/threadb.c:
17298         * testsuite/threads/threadc.c:
17299         * testsuite/threads/threadd.c:
17300         * testsuite/threads/threade.c:
17301         * testsuite/threads/threadf.c:
17302         * testsuite/threads/threadg.c:
17303         * testsuite/threads/threadh.c:
17304         * testsuite/threads/threadi.c:
17305           move all of these under tests
17306
17307 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17308
17309         * configure.ac:
17310         * tests/Makefile.am:
17311           fix distcheck
17312
17313 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17314
17315         * docs/gst/gstreamer-sections.txt:
17316         * tests/sched/.cvsignore:
17317         * tests/sched/Makefile.am:
17318         * tests/sched/cases/(fs-fs).xml:
17319         * tests/sched/cases/(fs-i-fs).xml:
17320         * tests/sched/cases/(fs-i-i-fs).xml:
17321         * tests/sched/cases/(fs-i-q[i-fs]).xml:
17322         * tests/sched/dynamic-pipeline.c:
17323         * tests/sched/interrupt1.c:
17324         * tests/sched/interrupt2.c:
17325         * tests/sched/interrupt3.c:
17326         * tests/sched/runtestcases:
17327         * tests/sched/runxml.c:
17328         * tests/sched/sched-stress.c:
17329         * tests/sched/sort.c:
17330         * tests/sched/testcases:
17331         * tests/sched/testcases1.tc:
17332         * tests/seeking/.cvsignore:
17333         * tests/seeking/Makefile.am:
17334         * tests/seeking/seeking1.c:
17335         * tests/threadstate/.cvsignore:
17336         * tests/threadstate/Makefile.am:
17337         * tests/threadstate/test1.c:
17338         * tests/threadstate/test2.c:
17339         * tests/threadstate/threadstate1.c:
17340         * tests/threadstate/threadstate2.c:
17341         * tests/threadstate/threadstate3.c:
17342         * tests/threadstate/threadstate4.c:
17343         * tests/threadstate/threadstate5.c:
17344           remove obsolete tests
17345         * configure.ac:
17346         * tests/bench-complexity.scm:
17347         * tests/bench-mass_elements.scm:
17348         * tests/complexity.c:
17349         * tests/complexity.gnuplot:
17350         * tests/instantiate/.cvsignore:
17351         * tests/instantiate/Makefile.am:
17352         * tests/instantiate/caps.c:
17353         * tests/mass_elements.c:
17354         * tests/network-clock-utils.scm:
17355         * tests/network-clock.scm:
17356         * tests/plot-data:
17357         First pass at cleaning up tests/ dir before moving the rest
17358         Combined with CVS surgery
17359
17360 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17361
17362         * po/POTFILES.in:
17363           queue has moved, update
17364
17365 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17366
17367         * docs/gst/gstreamer-sections.txt:
17368           remove double entries from the docs
17369         * gst/gst_private.h:
17370         * gst/gstinfo.c: (_gst_debug_init):
17371           remove the THREAD debug category
17372         * gst/Makefile.am:
17373         * gst/gstqueue.c:
17374         * gst/gstqueue.h:
17375         * docs/gst/gstreamer.types:
17376         * plugins/elements/gstqueue.c: (gst_queue_get_type),
17377         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
17378           completely move queue and fix up debugging categories
17379
17380 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17381
17382         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17383           make initialization portable, using LL is not
17384
17385 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17386
17387         * win32/common/gstconfig.h:
17388           add large padding
17389
17390 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17391
17392         * win32/common/libgstreamer.def:
17393           rename symbols; sort base section
17394
17395 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17396
17397         * gst/gstclock.c: (do_linear_regression):
17398           remove crack non-portable handrolled DEBUG macro
17399
17400 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17401
17402         * docs/random/release:
17403           update notes
17404         * win32/common/gstenumtypes.c: (register_gst_object_flags),
17405         (gst_object_flags_get_type), (register_gst_bin_flags),
17406         (gst_bin_flags_get_type), (register_gst_buffer_flag),
17407         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17408         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
17409         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
17410         (gst_caps_flags_get_type), (register_gst_clock_return),
17411         (gst_clock_return_get_type), (register_gst_clock_entry_type),
17412         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
17413         (gst_clock_flags_get_type), (register_gst_state),
17414         (gst_state_get_type), (register_gst_state_change_return),
17415         (gst_state_change_return_get_type), (register_gst_state_change),
17416         (gst_state_change_get_type), (register_gst_element_flags),
17417         (gst_element_flags_get_type), (register_gst_core_error),
17418         (gst_core_error_get_type), (register_gst_library_error),
17419         (gst_library_error_get_type), (register_gst_resource_error),
17420         (gst_resource_error_get_type), (register_gst_stream_error),
17421         (gst_stream_error_get_type), (register_gst_event_type_flags),
17422         (gst_event_type_flags_get_type), (register_gst_event_type),
17423         (gst_event_type_get_type), (register_gst_seek_type),
17424         (gst_seek_type_get_type), (register_gst_seek_flags),
17425         (gst_seek_flags_get_type), (register_gst_format),
17426         (gst_format_get_type), (register_gst_index_certainty),
17427         (gst_index_certainty_get_type), (register_gst_index_entry_type),
17428         (gst_index_entry_type_get_type),
17429         (register_gst_index_lookup_method),
17430         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
17431         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
17432         (gst_index_resolver_method_get_type), (register_gst_index_flags),
17433         (gst_index_flags_get_type), (register_gst_debug_level),
17434         (gst_debug_level_get_type), (register_gst_debug_color_flags),
17435         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
17436         (gst_iterator_result_get_type), (register_gst_iterator_item),
17437         (gst_iterator_item_get_type), (register_gst_message_type),
17438         (gst_message_type_get_type), (register_gst_mini_object_flags),
17439         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
17440         (gst_pad_link_return_get_type), (register_gst_flow_return),
17441         (gst_flow_return_get_type), (register_gst_activate_mode),
17442         (gst_activate_mode_get_type), (register_gst_pad_direction),
17443         (gst_pad_direction_get_type), (register_gst_pad_flags),
17444         (gst_pad_flags_get_type), (register_gst_pad_presence),
17445         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
17446         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
17447         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
17448         (gst_plugin_error_get_type), (register_gst_plugin_flags),
17449         (gst_plugin_flags_get_type), (register_gst_rank),
17450         (gst_rank_get_type), (register_gst_query_type),
17451         (gst_query_type_get_type), (register_gst_tag_merge_mode),
17452         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
17453         (gst_tag_flag_get_type), (register_gst_task_state),
17454         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
17455         (gst_alloc_trace_flags_get_type),
17456         (register_gst_type_find_probability),
17457         (gst_type_find_probability_get_type), (register_gst_uri_type),
17458         (gst_uri_type_get_type), (register_gst_parse_error),
17459         (gst_parse_error_get_type):
17460         * win32/common/gstenumtypes.h:
17461         * win32/common/gstversion.h:
17462           update visual studio generated files
17463
17464 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17465
17466         * win32/vs6/libgstbase.dsp:
17467         * win32/vs6/libgstelements.dsp:
17468           update project files for new locations
17469
17470 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17471
17472         * Makefile.am:
17473           remove some files
17474         * README:
17475           reinstate and update
17476         * DEVEL:
17477         * REQUIREMENTS:
17478           removed
17479         * LICENSE:
17480         * docs/random/LICENSE:
17481           moved to random
17482
17483 2005-11-30  Edward Hervey  <edward@fluendo.com>
17484
17485         * gst/gsttypefind.c: (gst_type_find_register):
17486         * gst/gsttypefind.h:
17487         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
17488         (gst_type_find_factory_dispose):
17489         * gst/gsttypefindfactory.h:
17490         Fix memory leak in GstTypeFindFactory.
17491
17492 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17493
17494         * gst/gst.c:
17495         * plugins/elements/Makefile.am:
17496         * plugins/elements/gstelements.c:
17497         * plugins/elements/gstqueue.c:
17498           move queue from core to the elements plugin
17499
17500 2005-11-29  Andy Wingo  <wingo@pobox.com>
17501
17502         * libs/gst/base/gstbasetransform.h: 
17503         * libs/gst/base/gstbasesrc.h: 
17504         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
17505
17506         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
17507         of pointers by which to pad very extensible base classes (like the
17508         ones in libs/gst/base).
17509
17510 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17511
17512         * docs/gst/gstreamer-docs.sgml:
17513         * docs/gst/gstreamer-sections.txt:
17514         * docs/libs/gstreamer-libs-docs.sgml:
17515         * docs/libs/gstreamer-libs-sections.txt:
17516           moving documentation from core to lib
17517
17518 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17519
17520         * check/Makefile.am:
17521         * configure.ac:
17522         * docs/gst/Makefile.am:
17523         * gst/Makefile.am:
17524         * gst/base/.cvsignore:
17525         * gst/base/Makefile.am:
17526         * gst/base/README:
17527         * gst/base/gstadapter.c:
17528         * gst/base/gstadapter.h:
17529         * gst/base/gstbasesink.c:
17530         * gst/base/gstbasesink.h:
17531         * gst/base/gstbasesrc.c:
17532         * gst/base/gstbasesrc.h:
17533         * gst/base/gstbasetransform.c:
17534         * gst/base/gstbasetransform.h:
17535         * gst/base/gstcollectpads.c:
17536         * gst/base/gstcollectpads.h:
17537         * gst/base/gstpushsrc.c:
17538         * gst/base/gstpushsrc.h:
17539         * gst/base/gsttypefindhelper.c:
17540         * gst/base/gsttypefindhelper.h:
17541         * gst/check/Makefile.am:
17542         * gst/check/gstcheck.c:
17543         * gst/check/gstcheck.h:
17544         * gst/net/Makefile.am:
17545         * gst/net/gstnet.h:
17546         * gst/net/gstnetclientclock.c:
17547         * gst/net/gstnetclientclock.h:
17548         * gst/net/gstnettimepacket.c:
17549         * gst/net/gstnettimepacket.h:
17550         * gst/net/gstnettimeprovider.c:
17551         * gst/net/gstnettimeprovider.h:
17552         * libs/gst/Makefile.am:
17553         * libs/gst/base/Makefile.am:
17554         * libs/gst/base/gstbasetransform.c:
17555         * libs/gst/check/Makefile.am:
17556         * plugins/elements/Makefile.am:
17557         * po/POTFILES.in:
17558           CVS surgery + support to move base, check, and net out of gst
17559           and into libs/gst
17560
17561 2005-11-29  Andy Wingo  <wingo@pobox.com>
17562
17563         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
17564
17565         * gst/gststructure.h (struct _GstStructure): Only one pointer of
17566         padding.
17567
17568         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
17569
17570         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
17571
17572         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
17573
17574         * gst/gstobject.h: (struct _GstObject): Only one pointer of
17575         padding; reduces object size by about 30%. We don't expect
17576         anything else to go into gstobject.
17577
17578         * gst/gstminiobject.h (struct _GstMiniObject)
17579         (struct _GstMiniObjectClass): Only one pointer of padding; the
17580         payload is only a pointer and two ints anyway. For the class there
17581         are only two methods as well.
17582         
17583         * gst/gstelement.h (struct _GstElementClass): Removed
17584         the state_changed signal callback, it is not used.
17585
17586 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17587
17588         * docs/gst/gstreamer.types:
17589           fix includes, though they are a little dinky
17590
17591 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17592
17593         * check/Makefile.am:
17594           look in the right place for elements, a lot more chance of
17595           success
17596         * gst/Makefile.am:
17597           remove indexers and elements subdirs
17598         * plugins/Makefile.am:
17599           make indexers conditional
17600
17601 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17602
17603         * Makefile.am:
17604         * configure.ac:
17605         * plugins/elements/Makefile.am:
17606         * plugins/elements/gstcapsfilter.c:
17607         * plugins/elements/gstfilesink.c:
17608         * plugins/elements/gstfilesrc.c:
17609         * plugins/elements/gstidentity.c:
17610         * plugins/indexers/Makefile.am:
17611           do CVS surgery and related build fixery to move elements
17612           and indexers in a new gstreamer/plugins directory, out of the
17613           gst/ directory
17614
17615 2005-11-29  Andy Wingo  <wingo@pobox.com>
17616
17617         * check/Makefile.am:
17618         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17619         * pkgconfig/gstreamer-net.pc.in:
17620         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
17621         #322257.
17622
17623 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17624
17625         * tools/Makefile.am:
17626         * tools/gst-complete.1.in:
17627         * tools/gst-complete.c:
17628         * tools/gst-compprep.1.in:
17629         * tools/gst-compprep.c:
17630           removing -compprep and -complete
17631
17632 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17633
17634         * gst/gstevent.c: (gst_event_new_new_segment),
17635         (gst_event_parse_new_segment):
17636         * gst/gstevent.h:
17637           fix #320529 - clean up new_segment API and structure.
17638           Let's hope everyone was using the methods, and not the structure.
17639
17640 2005-11-29  Edward Hervey  <edward@fluendo.com>
17641
17642         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17643         (gst_base_sink_event), (gst_base_sink_do_sync),
17644         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
17645         Properly handle non GST_FORMAT_TIME segment
17646         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17647         Properly handle non GST_FORMAT_TIME segment
17648         * gst/gstsegment.c:
17649         This function is valid if the accumulator is 0 and the format
17650         is different from the requested format.
17651         
17652 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
17653
17654         * docs/gst/gstreamer-sections.txt:
17655         Add gst_query_new_seeking and gst_query_parse_seeking to the
17656         docs.
17657
17658 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
17659
17660         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17661           Treat a pad alloc with new caps the same as if we were not
17662           negotiated, in order to allow a changing upstream output
17663           to produce a new format of data.
17664
17665 2005-11-29  Edward Hervey  <edward@fluendo.com>
17666
17667         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17668         (gst_base_transform_event), (gst_base_transform_eventfunc):
17669         The event virtual method is now properly implemented, with a default
17670         handler
17671         Sub classes should call the parent_class event method. They should
17672         return FALSE if they had a problem handling the given event, or don't
17673         want GstBaseTransform to send that even downstream
17674         * gst/elements/gstidentity.c: (gst_identity_class_init),
17675         (gst_identity_init), (gst_identity_event),
17676         (gst_identity_transform_ip), (gst_identity_set_property),
17677         (gst_identity_get_property):
17678         * gst/elements/gstidentity.h:
17679         Added the single-segment boolean property.
17680         If set to TRUE, it will output a single segment of data, starting from
17681         0, will eat up all incoming newsegment, and modify the timestamp of the
17682         buffers accordingly
17683
17684 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
17685
17686         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
17687           Don't ref NULL target pad (#322751). Improve docs.
17688
17689 2005-11-29  Michael Smith  <msmith@fluendo.com>
17690
17691         * gst/gstregistryxml.c: (load_plugin):
17692           Don't crash if we failed to load a feature from a plugin. 
17693
17694 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17695
17696         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17697         (GST_START_TEST):
17698           use more check API and less GLib API
17699
17700 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17701
17702         * Makefile.am:
17703           don't run checks if we don't have check
17704         * common/check.mak:
17705           remove the registry when running make torture
17706         * docs/gst/gstreamer-sections.txt:
17707           remove second multiply
17708         * gst/gstqueue.c: (gst_queue_loop):
17709           fix a compile warning when disabling debug
17710
17711 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17712
17713         * gst/gstinfo.h:
17714         Hey! Let's print the pad name if the pointer != NULL instead
17715         of when it == NULL :-)
17716
17717 2005-11-28  Wim Taymans  <wim@fluendo.com>
17718
17719         * check/gst/gstutils.c: (GST_START_TEST):
17720         Updated check, add some scaling accuracy checking code.
17721
17722         * gst/gstutils.c: (gst_util_div128_64),
17723         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
17724         (gst_util_uint64_scale_int):
17725         Fix 6 times faster division code. Optimize for common 
17726         1/1 and less common X/1 cases.
17727
17728 2005-11-28  Wim Taymans  <wim@fluendo.com>
17729
17730         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17731         More checks.
17732
17733         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
17734         (do_linear_regression), (gst_clock_add_observation):
17735         Cleanups.
17736         Release lock when the clock cannot be slaved.
17737         Catch the case where the regression returned an invalid denominator.
17738
17739         * gst/gstutils.c: (gst_util_div128_64_iterate),
17740         (gst_util_div128_64), (gst_util_uint64_scale_int64),
17741         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17742         Add protentially more performant non-iterative 128/64 divide function
17743         that unfortunatly does not work yet.
17744         Shortcut the trivial 0/X = 0 case.
17745         Remove the warnings on overflow.
17746
17747 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17748
17749         * gst/gstplugin.c: (gst_plugin_register_func):
17750           everything causing a plugin not to load should be at least a WARNING
17751
17752 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
17753
17754         * docs/random/ensonic/dparams.txt:
17755           some TODOs for the next dev cycle
17756         * libs/gst/controller/gstcontroller.c:
17757         (gst_controlled_property_set_interpolation_mode),
17758         (gst_controlled_property_new):
17759         * libs/gst/controller/gstcontroller.h:
17760           use base type to assign acccessor functions
17761
17762 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17763
17764         * check/Makefile.am:
17765         Oops, that should have been top_srcdir
17766
17767 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17768
17769         * check/Makefile.am:
17770         * check/elements/fdsrc.c: (GST_START_TEST):
17771         Use a cmdline define to specify the location of a file to use for
17772         testing, to avoid breaking distcheck.
17773
17774 2005-11-28  Andy Wingo  <wingo@pobox.com>
17775
17776         * gst/gstpad.c (fixate_value): Use array functions for arrays.
17777
17778 2005-11-28  Edward Hervey  <edward@fluendo.com>
17779
17780         * tools/gst-launch.c: (main):
17781         Clarify the output strings, makes it easier to translate.
17782         Fixes #322626
17783
17784 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17785
17786         * gst/Makefile.am:
17787           don't try and build net if we don't even have <sys/socket.h>
17788
17789 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
17790
17791         * check/Makefile.am:
17792         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
17793         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
17794           Add tests for fdsrc seekability
17795
17796         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
17797         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
17798         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
17799         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
17800         * gst/elements/gstfdsrc.h:
17801           fdsrc should not be a 'live' source.
17802           Implement seeking on seekable fd's.
17803
17804         * gst/gstquery.c: (gst_query_new_seeking),
17805         (gst_query_parse_seeking):
17806         * gst/gstquery.h:
17807           Implement SEEKING query functions: 
17808             *_new_seeking and *_parse_seeking
17809
17810 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
17811
17812         * gst/gstelement.c: (gst_element_dispose):
17813           don't loop forever
17814
17815         * gst/gstiterator.c:
17816         * gst/gststructure.c:
17817           doc fixes
17818
17819         * libs/gst/controller/gstcontroller.c:
17820         (gst_controlled_property_set_interpolation_mode):
17821         * libs/gst/controller/gstcontroller.h:
17822         * libs/gst/controller/gstinterpolation.c:
17823         (interpolate_none_get_enum_value_array):
17824           support controlling enums
17825
17826 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
17827
17828         * gst/gstvalue.c:
17829           Improve documentation for gst_value_union().
17830
17831         * gst/gstvalue.h:
17832           Change return value for union, intersect and subtract functions
17833           from gint to gboolean.
17834
17835 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
17836
17837         * gst/gstvalue.c: (gst_value_serialize_any_list),
17838         (gst_value_transform_any_list_string),
17839         (gst_value_deserialize_list), (gst_value_deserialize_array),
17840         (gst_value_set_int_range), (gst_value_deserialize_int_range),
17841         (gst_value_set_double_range), (gst_value_deserialize_double_range),
17842         (gst_value_set_fraction_range_full),
17843         (gst_value_deserialize_fraction_range),
17844         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
17845         (gst_value_deserialize_boolean),
17846         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
17847         (gst_value_serialize_float), (gst_value_deserialize_float),
17848         (gst_string_wrap), (gst_value_deserialize_string),
17849         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
17850         (gst_value_union_int_range_int_range),
17851         (gst_value_intersect_int_range_int_range),
17852         (gst_value_intersect_double_range_double_range),
17853         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
17854         (gst_value_subtract_int_range_int_range),
17855         (gst_value_subtract_double_double_range),
17856         (gst_value_subtract_double_range_double_range),
17857         (gst_value_deserialize_fraction):
17858         * gst/gstvalue.h:
17859           Use gint, gdouble and gchar in our API instead of int, double and
17860           char (and make usage in gstvalue.c more consistent).
17861
17862 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17863
17864         * check/Makefile.am:
17865         * libs/gst/controller/Makefile.am:
17866         * libs/gst/dataprotocol/Makefile.am:
17867           fix up Makefile.am and remove GST_ENABLE_NEW
17868
17869 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17870
17871         * configure.ac:
17872         * gst/Makefile.am:
17873         * gst/base/Makefile.am:
17874         * gst/check/Makefile.am:
17875         * gst/elements/Makefile.am:
17876         * gst/net/Makefile.am:
17877           update LDFLAGS use some more
17878
17879 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17880
17881         * common/m4/gst-doc.m4:
17882           Fixes #312589
17883
17884 2005-11-26  Edward Hervey  <edward@fluendo.com>
17885
17886         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17887         This shouldn't issue a g_warning since it returns NULL if it
17888         couldn't find the plugin, and all functions using this behave
17889         properly on a NULL return. Switching to a GST_WARNING.
17890
17891 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
17892
17893         * gst/gstbin.c: (gst_bin_handle_message_func):
17894         Don't leak clock messages.
17895
17896 2005-11-25  Wim Taymans  <wim@fluendo.com>
17897
17898         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17899         (gst_util_uint64_scale_int):
17900         Optimisations, remove unneeded vars.
17901
17902 2005-11-25  Wim Taymans  <wim@fluendo.com>
17903
17904         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17905         Added more checks for the high precision uint64 cases.
17906
17907         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17908         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17909         Implement high precision (guint64 * guint64) / guint64.
17910
17911 2005-11-24  Wim Taymans  <wim@fluendo.com>
17912
17913         * gst/base/gstbasesrc.c: (gst_base_src_query):
17914         Fix wrong percentage query.
17915
17916         * gst/gstutils.c: (gst_util_uint64_scale),
17917         (gst_util_uint64_scale_int):
17918         Add some more common cases that can be handled 
17919         efficiently to _scale.
17920
17921 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17922
17923         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
17924         (gst_mini_object_suite):
17925           don't use check calls from threads; check probably isn't
17926           threadsafe and using a lock to make it threadsafe would
17927           defeat the purpose of this check
17928         * gst/check/gstcheck.c:
17929         * gst/check/gstcheck.h:
17930           use GST_DEBUG some more
17931
17932 2005-11-24  Wim Taymans  <wim@fluendo.com>
17933
17934         * gst/gstutils.c: (gst_util_uint64_scale),
17935         (gst_util_uint64_scale_int):
17936         Chain trivial case to _scale_int.
17937
17938 2005-11-24  Wim Taymans  <wim@fluendo.com>
17939
17940         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17941         Added test for scaling.
17942
17943         * gst/gstclock.h:
17944         Small doc fix.
17945
17946         * gst/gstutils.c: (gst_util_uint64_scale_int):
17947         Implemented high precision scaling code.
17948
17949 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
17950
17951         * gst/gstinfo.h:
17952           do not crash on pad==NULL
17953
17954 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17955
17956         Patch by: Stefan Kost
17957
17958         * common/gtk-doc.mak:
17959         * docs/gst/Makefile.am:
17960         * docs/libs/Makefile.am:
17961           Fix distcheck issues for the libraries docs build
17962           Closes #319599.
17963
17964 2005-11-24  Michael Smith <msmith@fluendo.com>
17965
17966         * docs/manual/basics-helloworld.xml:
17967           Fix bug #315027: memory leak in example code in docs.
17968
17969 2005-11-24  Michael Smith <msmith@fluendo.com>
17970
17971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17972           Unlock the PREROLL_LOCK in a failure case.
17973
17974 2005-11-24  Wim Taymans  <wim@fluendo.com>
17975
17976         * docs/gst/gstreamer-sections.txt:
17977         * gst/base/gstadapter.h:
17978         * gst/base/gstbasesink.h:
17979         * gst/base/gstbasesrc.h:
17980         * gst/base/gstbasetransform.h:
17981         * gst/base/gstpushsrc.h:
17982         * gst/elements/gstfakesink.h:
17983         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
17984         * gst/elements/gstfakesrc.h:
17985         * gst/elements/gstfilesink.h:
17986         * gst/elements/gstfilesrc.h:
17987         * gst/gst.c:
17988         * gst/gstbin.c:
17989         * gst/gstbuffer.c: (_gst_buffer_copy):
17990         * gst/gstbus.h:
17991         * gst/gstcaps.c:
17992         * gst/gstchildproxy.c:
17993         * gst/gstclock.c:
17994         * gst/gstelement.c:
17995         * gst/gstelementfactory.c:
17996         * gst/gstelementfactory.h:
17997         * gst/gstevent.c:
17998         * gst/gstghostpad.h:
17999         * gst/gstindex.h:
18000         * gst/gstinterface.h:
18001         * gst/gstminiobject.c:
18002         * gst/gstminiobject.h:
18003         * gst/gstpad.c:
18004         * gst/gstpad.h:
18005         * gst/gstpadtemplate.h:
18006         * gst/gstpipeline.h:
18007         * gst/gstpluginfeature.h:
18008         * gst/gstquery.h:
18009         * gst/gstqueue.h:
18010         * gst/gsttaglist.c:
18011         * gst/gsttaglist.h:
18012         * gst/gsttagsetter.c:
18013         * gst/gsttagsetter.h:
18014         * gst/gsttrace.c:
18015         * gst/gsttrace.h:
18016         * gst/gsttypefind.h:
18017         * gst/gsturi.h:
18018         * gst/gstvalue.c:
18019         * gst/net/gstnetclientclock.c:
18020         * gst/net/gstnetclientclock.h:
18021         * gst/net/gstnettimepacket.c:
18022         * gst/net/gstnettimeprovider.c:
18023         * gst/net/gstnettimeprovider.h:
18024         Doc fixes.
18025
18026 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18027
18028         * configure.ac: back to HEAD
18029
18030 === release 0.9.6 ===
18031
18032 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
18033
18034         * configure.ac:
18035           releasing 0.9.6, "Always On Time"
18036
18037 2005-11-23  Wim Taymans  <wim@fluendo.com>
18038
18039         * docs/gst/gstreamer-sections.txt:
18040         * gst/glib-compat.c:
18041         * gst/gsttagsetter.c:
18042         * gst/gstvalue.c:
18043         * gst/net/gstnetclientclock.c:
18044         * gst/net/gstnettimepacket.h:
18045         Doc updates.
18046
18047 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18048
18049         * docs/faq/using.xml:
18050         * docs/libs/tmpl/gstcontrol.sgml:
18051         * docs/manual/advanced-dparams.xml:
18052         * docs/manual/appendix-checklist.xml:
18053         * docs/manual/basics-elements.xml:
18054         * docs/pwg/other-source.xml:
18055         * docs/random/moving-plugins:
18056         * gst/gstpad.c:
18057         * tools/gst-launch.1.in:
18058           remove mentions of sinesrc
18059
18060 2005-11-23  Michael Smith <msmith@fluendo.com>
18061
18062         * docs/gst/gstreamer-sections.txt:
18063           Update for new API and API changes.
18064         * gst/gstobject.h:
18065           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
18066         * gst/gstvalue.c:
18067           Documentation typo fix.
18068         * gst/net/gstnettimepacket.c:
18069           Documentation fixes for arguments.
18070
18071 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
18072
18073         * gst/gststructure.c: (gst_structure_get_fraction),
18074         (gst_structure_parse_value),
18075         (gst_structure_fixate_field_nearest_fraction):
18076         * gst/gststructure.h:
18077         * gst/gstutils.c: (gst_util_uint64_scale_int):
18078         * gst/gstutils.h:
18079         * scripts/update-funcnames:
18080         API Changes. 
18081         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
18082         Make gst_structure_fixate_field_nearest_fraction take a numerator
18083         and denominator argument instead of a GValue
18084         add gst_structure_get_fraction helper function.
18085
18086 2005-11-23  Wim Taymans  <wim@fluendo.com>
18087
18088         * docs/design/part-TODO.txt:
18089         Update TODO.
18090
18091         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
18092         * gst/net/gstnetclientclock.h:
18093         Use parent fields for timeout and window_size.
18094
18095 2005-11-23  Andy Wingo  <wingo@pobox.com>
18096
18097         * check/net/gstnetclientclock.c (test_functioning): Adjust to
18098         rate_num/rate_denom change.
18099
18100         * gst/net/gstnetclientclock.c
18101         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
18102         OBJECT_LOCK. Don't call add_observation with the lock.
18103
18104         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
18105         fraction.
18106         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
18107         rate fraction.
18108         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
18109         deal with rate as a fraction whose numerator and denominator are
18110         GstClockTime values.
18111         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
18112         master; the other fields are protected by the SLAVE_LOCK.
18113         (do_linear_regression): Note that this must be called with the
18114         SLAVE_LOCK.
18115         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
18116         OBJECT_LOCK. Call set_calibration instead of touching the
18117         variables directly.
18118         (gst_clock_set_property, gst_clock_get_property): Protect
18119         master/slave parameters with the SLAVE_LOCK.
18120
18121         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
18122         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
18123         note that all of the instance variables that add_observation and
18124         the set_master functions use are protected by that lock and not
18125         the OBJECT_LOCK.
18126         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
18127
18128         * gst/gstclock.c (gst_clock_add_observation): No longer requires
18129         the caller to take the object lock.
18130
18131 2005-11-23  Wim Taymans  <wim@fluendo.com>
18132
18133         * gst/gsterror.c: (_gst_core_errors_init):
18134         * gst/gsterror.h:
18135         Add error for clock stuff.
18136
18137         * gst/gstpipeline.c: (gst_pipeline_change_state),
18138         (gst_pipeline_set_clock):
18139         Post clock error when clock cannot be used in a pipeline.
18140
18141 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
18142
18143         * docs/gst/gstreamer-sections.txt:
18144           make two symbols from gstinfo private for the docs
18145         * gst/base/gstcollectpads.h:
18146         * gst/gstutils.c:
18147           fix doc typos, update docs
18148
18149 2005-11-22  Wim Taymans  <wim@fluendo.com>
18150
18151         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18152         (gst_base_sink_wait), (gst_base_sink_do_sync),
18153         (gst_base_sink_handle_event):
18154         * gst/base/gstbasesink.h:
18155         No need to store the clock, the parent element class already
18156         has it.
18157
18158         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
18159         Updates for clock_set returning a gboolean
18160
18161         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
18162         (gst_clock_id_wait_async), (gst_clock_class_init),
18163         (gst_clock_init), (gst_clock_finalize),
18164         (gst_clock_get_internal_time), (gst_clock_get_time),
18165         (gst_clock_slave_callback), (gst_clock_set_master),
18166         (gst_clock_get_master), (do_linear_regression),
18167         (gst_clock_add_observation), (gst_clock_set_property),
18168         (gst_clock_get_property):
18169         * gst/gstclock.h:
18170         Implement master/slave. When setting a clock as a slave, a
18171         periodic timeout is scheduled to sample master and slave times.
18172         Then the slave clock is recalibrated to match offset and rate
18173         of the master clock.
18174         Update logging a bit.
18175         Add flag so that a clock can state that is cannot be slaved to
18176         another clock.
18177
18178         * gst/gstelement.c: (gst_element_set_clock):
18179         * gst/gstelement.h:
18180         The set clock returns a gboolean for when an element cannot
18181         deal with the selected clock in the pipeline. 
18182
18183         * gst/gstpipeline.c: (gst_pipeline_change_state),
18184         (gst_pipeline_set_clock):
18185         * gst/gstpipeline.h:
18186         Handle the case where the selected clock cannot be set on
18187         the pipeline.
18188
18189         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
18190         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
18191         (gst_net_client_clock_set_property),
18192         (gst_net_client_clock_get_property),
18193         (gst_net_client_clock_observe_times):
18194         * gst/net/gstnetclientclock.h:
18195         Use regression code in GstClock parent, remove duplicated
18196         functionality.
18197
18198 2005-11-22  Michael Smith <msmith@fluendo.com>
18199
18200         * gst/gstutils.c: (gst_util_clock_time_scale):
18201         * gst/gstutils.h:
18202         * docs/gst/gstreamer-sections.txt:
18203           Rename method to have extra underscore.
18204
18205 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18206
18207         * gst/elements/Makefile.am:
18208         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
18209         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18210         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18211         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
18212         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
18213         * gst/elements/gstfakesrc.h:
18214         * gst/gstqueue.c: (queue_leaky_get_type):
18215           correctly fix GEnumValues so that nick is the short lowercase
18216           dashed tag
18217         * tools/gst-inspect.c: (print_element_properties_info):
18218           also show the nick, since it's useful to use from parse_launch
18219           syntax
18220           Fixes #322139
18221
18222 2005-11-22  Michael Smith <msmith@fluendo.com>
18223
18224         * gst/gstutils.c: (gst_util_clocktime_scale):
18225         * gst/gstutils.h:
18226         * docs/gst/gstreamer-sections.txt:
18227           Add util method for scaling a clocktime by a fraction. Useful 
18228           implementation is left as an exercise for the reader.
18229
18230 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18231
18232         * gst/gstvalue.c: (gst_value_collect_fraction_range):
18233         If needed, allocate storage in the destination value during
18234         collection.
18235
18236 2005-11-22  Edward Hervey  <edward@fluendo.com>
18237
18238         * docs/gst/gstreamer-sections.txt:
18239         * gst/Makefile.am:
18240         * gst/gst.h:
18241         * gst/gsturitype.c:
18242         * gst/gsturitype.h:
18243         * gst/gstutils.c: (gst_util_set_object_arg):
18244         * tools/gst-compprep.c: (main):
18245         * tools/gst-inspect.c: (print_element_properties_info):
18246         Removed GstURI, closes bug #321061
18247
18248 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18249
18250         * check/gst/gststructure.c: (GST_START_TEST):
18251         * gst/gststructure.c: (gst_structure_parse_value):
18252           Oops, broke automatic string type parsing.
18253           Add a test to catch it in future.
18254
18255 2005-11-22  Andy Wingo  <wingo@pobox.com>
18256
18257         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
18258         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
18259         Actually rename the function implementations. Grr.
18260
18261 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18262
18263         * check/gst/capslist.h:
18264           Comment test cases
18265         * check/gst/gststructure.c: (GST_START_TEST),
18266         (gst_structure_suite):
18267           Test automatic value type detection in gst_structure_from_string.
18268         * gst/gststructure.c: (gst_structure_parse_value):
18269           Add fraction as a type we try and guess automatically in
18270           caps/structure strings.
18271
18272 2005-11-22  Andy Wingo  <wingo@pobox.com>
18273
18274         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
18275
18276         * gst/gsttagsetter.h:
18277         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
18278         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
18279         (gst_tag_setter_add_tag_valist)
18280         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
18281         _add_values, _add_valist, and _add_valist_values. Since this is an
18282         interface the function suffixes should be more explicit so
18283         language binding don't end up with element.add_valist ->
18284         gst_tag_setter_add_valist, for example. Fixes #322069.
18285
18286 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18287
18288         * check/gst/gstcaps.c: (GST_START_TEST):
18289           Extend caps string tests to check that a caps to string
18290           conversion is reversible and produces the same caps.
18291
18292         * gst/gststructure.c: (gst_structure_value_get_generic_type):
18293           Output "fraction" as the generic type fraction range, so caps
18294           serialisation and deserialisation works.
18295         * check/gst/capslist.h:
18296         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18297           Support 'MIN' and 'MAX' for deserialising fractions.
18298
18299 2005-11-22  Andy Wingo  <wingo@pobox.com>
18300
18301         * gst/gstevent.h (gst_event_new_new_segment)
18302         (gst_event_parse_new_segment, gst_event_new_buffer_size)
18303         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
18304         Renamed from *_newsegment, *_buffersize, *_notarget.
18305
18306         * scripts/update-funcnames: New script, performs the changes
18307         listed above.
18308
18309 2005-11-22  Wim Taymans  <wim@fluendo.com>
18310
18311         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18312         Make sure the GstFlowReturn is returned.
18313
18314         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
18315         (gst_bus_add_signal_watch):
18316         * gst/gstbus.h:
18317         add gst_bus_add_signal_watch_full.
18318
18319         * gst/gstplugin.c: (gst_plugin_load_file):
18320         Small style cleanup.
18321
18322 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18323
18324         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
18325           Block the fakesrc srcpad when we send an event, to avoid
18326           contention on the stream_lock causing random test failures.
18327
18328 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18329
18330         * check/gst/gstvalue.c: (GST_START_TEST):
18331         * gst/gstvalue.c: (gst_value_fraction_subtract):
18332           Fix subtraction.
18333
18334 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
18335
18336         * gst/gst.h:
18337           include "gstchildproxy.h"
18338         * gst/gstchildproxy.h:
18339         * libs/gst/controller/gstcontroller.h:
18340           use G_GNUC_NULL_TERMINATED
18341
18342 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18343
18344         * check/gst/capslist.h:
18345         * check/gst/gstcaps.c: (GST_START_TEST):
18346         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18347         * gst/gststructure.c: (gst_structure_parse_range),
18348         (gst_structure_fixate_field_nearest_fraction):
18349         * gst/gststructure.h:
18350         * gst/gstvalue.c: (gst_value_init_fraction_range),
18351         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
18352         (gst_value_collect_fraction_range),
18353         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
18354         (gst_value_set_fraction_range_full),
18355         (gst_value_get_fraction_range_min),
18356         (gst_value_get_fraction_range_max),
18357         (gst_value_serialize_fraction_range),
18358         (gst_value_transform_fraction_range_string),
18359         (gst_value_compare_fraction_range),
18360         (gst_value_deserialize_fraction_range),
18361         (gst_value_intersect_fraction_fraction_range),
18362         (gst_value_intersect_fraction_range_fraction_range),
18363         (gst_value_subtract_fraction_fraction_range),
18364         (gst_value_subtract_fraction_range_fraction),
18365         (gst_value_subtract_fraction_range_fraction_range),
18366         (gst_value_collect_fraction), (gst_value_fraction_multiply),
18367         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
18368         (gst_value_transform_string_fraction), (_gst_value_initialize):
18369         * gst/gstvalue.h:
18370           Implement fraction ranges and extend GstFraction to support
18371           arithmetic subtraction, as well as deserialization from integer
18372           strings such as "100"
18373           Add a testsuite as for int and double range set operations
18374
18375 2005-11-21  Andy Wingo  <wingo@pobox.com>
18376
18377         * gst/gsttaglist.h: 
18378         * gst/gstcaps.h: 
18379         * gst/gststructure.h: Add glib-compat.h.
18380
18381 2005-11-21  Wim Taymans  <wim@fluendo.com>
18382
18383         * gst/gstbin.c: (gst_bin_change_state_func):
18384         Fix for #321595
18385
18386 2005-11-21  Wim Taymans  <wim@fluendo.com>
18387
18388         * gst/gstsegment.h:
18389         And add a nice define too.
18390
18391 2005-11-21  Wim Taymans  <wim@fluendo.com>
18392
18393         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
18394         (gst_segment_new), (gst_segment_free), (gst_segment_init),
18395         (gst_segment_set_duration), (gst_segment_set_last_stop),
18396         (gst_segment_set_seek), (gst_segment_set_newsegment),
18397         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18398         (gst_segment_clip):
18399         * gst/gstsegment.h:
18400         Make binding friendly.
18401
18402 2005-11-21  Andy Wingo  <wingo@pobox.com>
18403
18404         * gst/gsttagsetter.h: 
18405         * gst/gsttaglist.h: 
18406         * gst/gststructure.h: 
18407         * gst/gstcaps.h: 
18408         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
18409         #319940.
18410
18411         * gst/gsterror.c (_gst_core_errors_init):
18412         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
18413         category.
18414
18415         * gst/Makefile.am (gst_headers): Add glib-compat.h.
18416         (noinst_HEADERS): noinst the -private.
18417
18418 2005-11-21  Michael Smith <msmith@fluendo.com>
18419
18420         * gst/gstplugin.h:
18421         * gst/gstregistry.h:
18422           Remove unimplemented declarations for which we can see no sensible
18423           use.
18424
18425 2005-11-21  Andy Wingo  <wingo@pobox.com>
18426
18427         * gst/gst.h: Include glib-compat.h.
18428
18429         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
18430
18431         * gst/glib-compat.c: Include the public and the private header.
18432
18433         * gst/glib-compat-private.h: Copied here from glib-compat.h.
18434
18435         * gst/gstvalue.c: 
18436         * gst/gstpad.c: 
18437         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
18438
18439         * check/gst/gstevent.c (create_custom_events): Check that
18440         FLUSH_STOP is serialized.
18441
18442         * check/elements/identity.c (event_func): 
18443         * check/elements/fakesrc.c (event_func): No stream lock, the core
18444         takes it.
18445
18446         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
18447         stream lock taking, yay.
18448
18449         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
18450         ensure that core takes the stream lock.
18451
18452         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
18453         lock name change.
18454
18455         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
18456         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
18457         it already. For the flush start we do take it though so we get the
18458         right preroll state change messages.
18459
18460         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
18461         the stream lock here, the core does it for us.
18462
18463         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
18464         GST_STREAM_GET_LOCK.
18465         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
18466         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
18467         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
18468         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
18469         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
18470         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
18471
18472         * gst/gstpad.c: Update for stream lock name change.
18473
18474         * gst/base/gstbasesink.c: Update for preroll lock name change.
18475
18476 2005-11-21  Wim Taymans  <wim@fluendo.com>
18477
18478         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
18479         (gst_clock_get_master):
18480         * gst/gstclock.h:
18481         * gst/gstsystemclock.c: (gst_system_clock_init):
18482         Convert Clock flags to object flags.
18483         Added methods to manage master/slave clocks.
18484
18485 2005-11-21  Wim Taymans  <wim@fluendo.com>
18486
18487         * check/gst/gstsegment.c: (GST_START_TEST):
18488         * docs/design/part-TODO.txt:
18489         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18490         (gst_base_sink_event), (gst_base_sink_do_sync),
18491         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
18492         (gst_base_sink_query), (gst_base_sink_change_state):
18493         * gst/base/gstbasesink.h:
18494         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18495         (gst_base_src_default_newsegment),
18496         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18497         (gst_base_src_get_range), (gst_base_src_loop),
18498         (gst_base_src_change_state):
18499         * gst/base/gstbasesrc.h:
18500         * gst/base/gstbasetransform.c:
18501         (gst_base_transform_prepare_output_buf),
18502         (gst_base_transform_event), (gst_base_transform_change_state):
18503         * gst/base/gstbasetransform.h:
18504         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
18505         (gst_collect_pads_event):
18506         * gst/base/gstcollectpads.h:
18507         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
18508         (gst_fake_src_create):
18509         * gst/elements/gstfakesrc.h:
18510         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18511         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18512         (gst_segment_set_last_stop), (gst_segment_set_seek),
18513         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18514         (gst_segment_to_running_time), (gst_segment_clip):
18515         * gst/gstsegment.h:
18516         More segment updates, replace code in plugins with segment
18517         helper functions.
18518
18519 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18520
18521         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
18522         Don't ignore sscanf results
18523
18524 2005-11-21  Andy Wingo  <wingo@pobox.com>
18525
18526         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
18527
18528         * *.h:
18529         * *.c: Ran scripts/update-macros. Oh yes.
18530
18531         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
18532         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
18533         GST_GET_LOCK, etc.
18534
18535         * scripts/update-macros: New script. Run it on your files to
18536         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
18537         well.
18538
18539 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18540
18541         * docs/gst/Makefile.am:
18542         * docs/gst/gstreamer-docs.sgml:
18543         * docs/gst/gstreamer-sections.txt:
18544         * docs/gst/gstreamer.types:
18545         * gst/gstinfo.h:
18546           more docs fixes, add new api to the docs
18547
18548 2005-11-21  Andy Wingo  <wingo@pobox.com>
18549
18550         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
18551         state_broadcast call.
18552
18553         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
18554
18555 2005-11-21  Julien MOUTTE  <julien@moutte.net>
18556
18557         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
18558         function calls for arrays.
18559
18560 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18561
18562         * docs/random/ensonic/media-device-daemon.txt:
18563           wild idea, can this be done?
18564         * docs/gst/gstreamer-sections.txt:
18565         * gst/gsterror.h:
18566         * gst/gstfilter.c:
18567         * gst/gstfilter.h:
18568         * gst/gstplugin.h:
18569         * gst/gstpluginfeature.c:
18570         * gst/gsttrace.c:
18571         * gst/gstvalue.c:
18572         * gst/gstvalue.h:
18573           doc fixes and additions
18574
18575 2005-11-21  Andy Wingo  <wingo@pobox.com>
18576
18577         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
18578         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
18579         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
18580         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
18581         private to the basesrc implementation.
18582
18583         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
18584         behalf of event function if necessary. It should no longer be
18585         necessary to take the stream lock in pad's event functions. Fixes
18586         #320299.
18587
18588 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18589         * docs/gst/gstreamer-sections.txt:
18590         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
18591         (gst_structure_fixate_field_nearest_double),
18592         (gst_structure_fixate_field_boolean):
18593         * gst/gststructure.h:
18594         * win32/common/libgstreamer.def:
18595         * win32/gstreamer.def:
18596
18597         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
18598         (#322027)
18599
18600 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18601
18602         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
18603         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
18604         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
18605         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
18606         (gst_fdsrc_uri_handler_init):
18607         * gst/elements/gstfdsrc.h:
18608           Port fd:// URI handler from 0.8 to fdsrc
18609
18610 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18611
18612         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
18613         (gst_value_serialize_fourcc):
18614         * gst/gstvalue.h:
18615           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
18616           consistent with our other format defines (#320324).
18617
18618 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18619
18620         * gst/gstvalue.c: (gst_value_is_fixed):
18621           Revert previous commit. Value lists are by definition
18622           not fixed, as they are a list of possible values.
18623
18624 2005-11-21  Andy Wingo  <wingo@pobox.com>
18625
18626         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
18627         during the stable series if we need it. Fixes #319178.
18628
18629         * gst/gstevent.c (gst_event_new_filler): Removed.
18630
18631         * check/gst/gstevent.c: Update comment about filler events.
18632
18633 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18634
18635         * gst/gstvalue.c: (gst_value_is_fixed):
18636           Should handle both value arrays and value lists.
18637
18638 2005-11-21  Andy Wingo  <wingo@pobox.com>
18639
18640         patch by: Alessandro Dessina <alessandro nnva org>
18641
18642         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
18643         functions to access arrays. Fixes #321962.
18644
18645 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18646
18647         * docs/gst/gstreamer.types:
18648           gst_collectpads_get_type => gst_collect_pads_get_type.
18649           
18650         * gst/base/gstbasetransform.c:
18651           Remove unused SIGNAL_HANDOFF enum.
18652
18653 2005-11-21  Andy Wingo  <wingo@pobox.com>
18654
18655         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
18656         the event type (upstream, downstream, serialized). Renamed
18657         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
18658         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
18659         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
18660
18661         * gst/gstevent.c: Update for new CUSTOM event names.
18662
18663         * check/gst/gstevent.c: Update check for new CUSTOM event names.
18664
18665         * gst/gstevent.h:
18666         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
18667         bug #319392.
18668
18669 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18670
18671         * docs/gst/gstreamer-sections.txt:
18672         * win32/common/libgstbase.def:
18673         * win32/libgstbase.def:
18674         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18675         (gst_collect_pads_class_init), (gst_collect_pads_init),
18676         (gst_collect_pads_finalize), (gst_collect_pads_new),
18677         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
18678         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
18679         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
18680         (gst_collect_pads_start), (gst_collect_pads_stop),
18681         (gst_collect_pads_peek), (gst_collect_pads_pop),
18682         (gst_collect_pads_available), (gst_collect_pads_read),
18683         (gst_collect_pads_flush), (gst_collect_pads_event),
18684         (gst_collect_pads_chain):
18685         * gst/base/gstcollectpads.h:
18686           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
18687           unimplemented functions as unimplemented. Add padding to
18688           GstCollectData. (#320766, #320423)
18689
18690 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18691
18692         * gst/gstmessage.c:
18693           Improve docs for DURATION message (usage of duration parameter)
18694           (#320113)
18695
18696 2005-11-20  Wim Taymans  <wim@fluendo.com>
18697
18698         * check/Makefile.am:
18699         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
18700         (main):
18701         * gst/Makefile.am:
18702         * gst/gst.h:
18703         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18704         (gst_segment_set_seek), (gst_segment_set_newsegment),
18705         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18706         (gst_segment_clip):
18707         * gst/gstsegment.h:
18708         Added segment helper structure and methods. Not fully implemented
18709         yet.
18710         Added segment check.
18711
18712 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
18713
18714         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18715           Add a deserialisation test for fractions
18716         * examples/metadata/read-metadata.c: (message_loop),
18717         (make_pipeline), (main):
18718           Fix up metadata reading sample.
18719         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18720           Debug format fix
18721         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18722           Don't try and fixate empty caps
18723         * gst/gst_private.h:
18724           Wrap in G_BEGIN_DECLS/G_END_DECLS
18725         * gst/gstvalue.c: (gst_value_collect_fraction),
18726         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
18727         (gst_value_transform_string_fraction),
18728         (gst_value_compare_fraction):
18729           Add some extra guards to ensure that we don't end up 
18730           with an invalid denominator of 0 in a gstfraction and
18731           that fractions always get reduced.
18732
18733 2005-11-20  Wim Taymans  <wim@fluendo.com>
18734
18735         * docs/gst/gstreamer-sections.txt:
18736         * gst/gstbuffer.h:
18737         * gst/gstelement.c:
18738         * gst/gstformat.c:
18739         * gst/gstformat.h:
18740         * gst/gstindex.h:
18741         * gst/gstquery.c:
18742         * gst/gstquery.h:
18743         * gst/gstvalue.c:
18744         Doc fixes.
18745
18746 2005-11-20  Wim Taymans  <wim@fluendo.com>
18747
18748         * docs/design/part-TODO.txt:
18749         * gst/gstcaps.h:
18750         Make a proper enum of the flag.
18751
18752 2005-11-19  Wim Taymans  <wim@fluendo.com>
18753
18754         * docs/design/part-TODO.txt:
18755         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
18756         (gst_format_to_quark), (gst_format_register):
18757         * gst/gstformat.h:
18758         * gst/gstquery.c: (_gst_query_initialize),
18759         (gst_query_type_get_name), (gst_query_type_to_quark),
18760         (gst_query_type_register):
18761         * gst/gstquery.h:
18762         Add type to quark and type to string conversions.
18763
18764 2005-11-19  Andy Wingo  <wingo@pobox.com>
18765
18766         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
18767         #320097.
18768
18769 2005-11-19  Wim Taymans  <wim@fluendo.com>
18770
18771         * docs/design/part-TODO.txt:
18772         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18773         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
18774         (gst_bin_handle_message_func):
18775         * gst/gstbin.h:
18776         Make message handling overridable.
18777
18778 2005-11-19  Andy Wingo  <wingo@pobox.com>
18779
18780         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
18781
18782         * gst/gstclock.h:
18783         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
18784         be a GstClockTime.
18785         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
18786         is a GstClockTime. Fixes #321710.
18787
18788         * gst/gstclock.h (GstClock): Remove offset property. Add
18789         internal_calibration and external_calibration. Fix padding. Pad
18790         also by GstClockTime so we don't run into problems.
18791
18792         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
18793         (gst_clock_get_rate_offset): Remove.
18794         (gst_clock_set_time_adjust): Remove. Fixes #321712.
18795
18796         * gst/gstutils.h:
18797         * gst/gstutils.c (g_static_rec_cond_wait)
18798         (g_static_rec_cond_timed_wait): Removed, no longer needed.
18799
18800         * gst/gstbin.c: Remove terrible continue_state prototype.
18801
18802         * gst/gstelement.h (gst_element_continue_state): Make public.
18803
18804         * gst/gstelement.h:
18805         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
18806         by continue_state. Fixes #319389.
18807
18808         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
18809         Really fixes #168438. However I don't see anywhere where the
18810         filter function is called... stupid GStreamer...
18811         
18812         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
18813         don't have a dispose function, so it won't get called when the
18814         object is unreffed, but oh well!
18815
18816         * gst/gstindex.c (gst_index_set_filter_full): New API function,
18817         allows a destroy function to be set so user_data can be freed.
18818         Fixes #168438.
18819         (gst_index_set_filter): Call gst_index_set_filter_full.
18820
18821         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
18822
18823         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
18824         string should produce an error, given the lack of a way to
18825         represent NULL strings. Fixes #165650.
18826         
18827         * gst/gstvalue.h: 
18828         * gst/gstvalue.c (gst_value_array_append_value) 
18829         (gst_value_array_prepend_value, gst_value_array_get_size) 
18830         (gst_value_array_get_value): New API, copied from
18831         gst_value_list_*, only operates on arrays.
18832         (gst_value_list_append_value, gst_value_list_prepend_value) 
18833         (gst_value_list_concat, gst_value_list_get_size) 
18834         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
18835
18836         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
18837         init_list, because it works on both.
18838         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
18839         (gst_value_copy_list_or_array): Renamed from copy_list.
18840         (gst_value_free_list_or_array): Renamed from free_list.
18841         (gst_value_collect_list_or_array): Renamed from collect_list.
18842         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
18843         (gst_value_list_or_array_peek_pointer): Renamed from
18844         list_peek_pointer.
18845         (_gst_value_array_value_table, _gst_value_list_value_table):
18846         Update value table functions.
18847         (gst_value_compare_list_or_array): Renamed from compare_list.
18848
18849         * gsttaglist.h: Whoops, foreach function returns void. Also fix
18850         some constness.
18851
18852         * gst/gsttaglist.c:
18853         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
18854         GstTagList*. Fixes #143472.
18855
18856         * gst/gststructure.h: Clarify what the foreach/map functions can
18857         or can't do to their arguments.
18858
18859 2005-11-18  Wim Taymans  <wim@fluendo.com>
18860
18861         * gst/gstclock.c: (gst_clock_set_calibration),
18862         (gst_clock_get_calibration):
18863         Doc and API fixes.
18864         Calibration can be set with internal time equal to current
18865         internal time too.
18866
18867 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18868
18869         * gst/gsterror.c:
18870         * gst/gsterror.h:
18871           document
18872
18873 2005-11-18  Andy Wingo  <wingo@pobox.com>
18874
18875         * configure.ac: 
18876         * pkgconfig/gstreamer-net.pc.in:
18877         * pkgconfig/gstreamer-net-uninstalled.pc.in:
18878         * pkgconfig/Makefile.am: Add net pkgconfig files.
18879
18880 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
18881
18882         * gst/gstcaps.c:
18883         * gst/gstghostpad.c:
18884         * gst/gsttrace.c:
18885         * gst/gstvalue.c:
18886         * gst/gstvalue.h:
18887           docs fixes
18888
18889 2005-11-18  Andy Wingo  <wingo@pobox.com>
18890
18891         * gst/net/gstnetclientclock.c: Turn off debugging.
18892
18893         * check/net/gstnetclientclock.c (test_functioning): Assert that the
18894         times connverge somewhat. Can't make a real test.
18895
18896         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
18897         integer arithmetic. Return the minimum of the domain, which can be
18898         set as "internal" for gst_clock_set_calibration.
18899         (gst_net_client_clock_observe_times): Call _set_calibration.
18900         (gst_net_client_clock_new): Call _set_calibration instead of
18901         rate_offset.
18902
18903         * check/net/gstnetclientclock.c (test_functioning): Use the right
18904         adjustment api.
18905
18906         * gst/gstclock.h:
18907         * gst/gstclock.c (gst_clock_get_calibration) 
18908         (gst_clock_set_calibration): New functions, obsolete the ones I
18909         added yesterday. Doh. Precision issues mean we have to extrapolate
18910         from a point in the more recent past than 1970.
18911         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
18912         obsolete.
18913         (gst_clock_adjust_unlocked): Use the right calibration data.
18914
18915 2005-11-18  Edward Hervey  <edward@fluendo.com>
18916
18917         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
18918         Also reset the ->current_* values in READY->PAUSED
18919
18920 2005-11-18  Andy Wingo  <wingo@pobox.com>
18921
18922         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
18923         Whoops, check the right fd. Also add some debugging.
18924         (gst_net_client_clock_observe_times): Adjust for int64 offset.
18925         (do_linear_regression): Add a crapload of debugging. Subtract off
18926         the minimum values from the input series to discard unneeded bits.
18927         Use only int arithmetic. There is still double arithmetic when
18928         calculating the intercept that needs fixing. Return boolean to
18929         indicate success; FALSE would mean the domain or range is too
18930         great. Still needs fixes.
18931
18932 2005-11-18  Wim Taymans  <wim@fluendo.com>
18933
18934         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18935         For the current position in stream time, we need to subtract
18936         accumulated time.
18937         
18938         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18939         Release lock before calling the callback function of async
18940         entries.
18941
18942 2005-11-18  Andy Wingo  <wingo@pobox.com>
18943
18944         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
18945         Port goes all the way to MAXUINT16.
18946
18947         * gst/net/gstnettimeprovider.c: Make the port range the same as
18948         for the kernel: 0 assigns, otherwise ports are less than
18949         MAXUINT16.
18950
18951         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
18952         port change.
18953
18954         * check/net/gstnetclientclock.c (test_functioning): Add the start
18955         of another test. 
18956
18957 2005-11-18  Wim Taymans  <wim@fluendo.com>
18958
18959         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18960         (gst_bin_remove_func), (bin_bus_handler):
18961         * gst/gstbin.h:
18962         Removing a clock provider from a bin, triggers a clock lost message
18963         so that a new clock will be selected.
18964         Adding a clock to a bin triggers a clock provider message.
18965         Make sure we reselect a clock when we received a clock lost message.
18966         Keep a reference to the element that provided the clock.
18967
18968 2005-11-18  Andy Wingo  <wingo@pobox.com>
18969
18970         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
18971         the clock initially so it produces values around the base time.
18972         (gst_net_client_clock_class_init): Typo fix.
18973         (gst_net_client_clock_thread): Add note on when the socket gets
18974         closed.
18975
18976 2005-11-17  Wim Taymans  <wim@fluendo.com>
18977
18978         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
18979         Free remote and local time arrays.
18980
18981 2005-11-17  Wim Taymans  <wim@fluendo.com>
18982
18983         * gst/net/gstnetclientclock.c: (do_linear_regression),
18984         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
18985         Fix compilation, uninitialized vars and a forgotten continue.
18986
18987 2005-11-17  Andy Wingo  <wingo@pobox.com>
18988
18989         * check/Makefile.am (check_PROGRAMS): 
18990         * check/net/gstnetclientclock.c: Add a most minimal test for the
18991         net client clock. More to come later.
18992
18993         * gst/net/gstnet.h: 
18994         * gst/net/Makefile.am: Add netclientclock.
18995
18996         * gst/net/gstnetclientclock.h:
18997         * gst/net/gstnetclientclock.c: New files, implement an untested
18998         GstClock that takes its time from a network time provider.
18999         Implements the algorithm in network-clock.scm.
19000
19001         * tests/network-clock.scm (*window-size*): Rename from
19002         *queue-length*.
19003         * tests/network-clock.scm (network-time): 
19004         * tests/network-clock-utils.scm (q-push): Update callers.
19005
19006 2005-11-17  Wim Taymans  <wim@fluendo.com>
19007
19008         * gst/gstbin.c: (gst_bin_provide_clock_func),
19009         (gst_bin_sort_iterator_new):
19010         And unref the child too..
19011
19012 2005-11-17  Wim Taymans  <wim@fluendo.com>
19013
19014         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
19015         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
19016         Refactor the sort iterator so it can be used while holding the
19017         LOCK too.
19018         Make clock selection select a clock closest to the source.
19019
19020 2005-11-17  Michael Smith <msmith@fluendo.com>
19021
19022         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
19023         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
19024         * gst/gstclock.h:
19025           Anonymous structs are a gcc (and some other compilers) extension, so
19026           don't use them. Since this is only for ABI-compatibility, and our
19027           API/ABI freeze is over in a few days, this whole thing will only
19028           last a few days, so don't bother trying to think up a meaningful
19029           name for the struct.
19030
19031 2005-11-17  Andy Wingo  <wingo@pobox.com>
19032
19033         * gst/gstclock.h (GstClock): Add rate and offset properties,
19034         preserving ABI stability. Add rate/offset accessors. Will file bug
19035         for the freeze break.
19036
19037         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
19038         and offset, trying to keep precision and avoiding
19039         underflow/overflow.
19040         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
19041         functions. Make gst_clock_set_time_adjust obsolete.
19042         (gst_clock_set_time_adjust): Note that this function is obsolete.
19043         Will file bug soon.
19044
19045         * gst/base/gstbasetransform.h: Make the ABI-stability hack
19046         greppable by using GST_PADDING-1+1.
19047
19048 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
19049
19050         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19051
19052         * gst/gstmessage.c: (gst_message_parse_clock_lost):
19053           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
19054
19055         * gst/gstpadtemplate.h:
19056         * gst/gstpluginfeature.h:
19057           Don't use c++ style comments in headers (#321638).
19058
19059 2005-11-16  Andy Wingo  <wingo@pobox.com>
19060
19061         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
19062         buffer.
19063
19064         * check/net/gstnettimeprovider.c: Check to see that the time
19065         provider actually provides times. Works, yo!
19066
19067 2005-11-16  Wim Taymans  <wim@fluendo.com>
19068
19069         * check/Makefile.am:
19070         Enable more tests.
19071
19072         * check/elements/fakesrc.c: (GST_START_TEST):
19073         Set element to NULL before disposing it.
19074
19075 2005-11-16  Andy Wingo  <wingo@pobox.com>
19076
19077         * gst/net/Makefile.am:
19078         * gst/net/gstnet.h:
19079         * gst/net/gstnettimeprovider.c: 
19080         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
19081         provider, include it from gstnet.h, and add it to the build.
19082
19083         * gst/net/gstnettimepacket.h: 
19084         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
19085         sending and receiving.
19086
19087 2005-11-16  Wim Taymans  <wim@fluendo.com>
19088
19089         * check/Makefile.am:
19090         Enable valgrind check.
19091
19092         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
19093         (gst_fake_src_alloc_buffer):
19094         Fix memleak.
19095
19096 2005-11-16  Wim Taymans  <wim@fluendo.com>
19097
19098         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
19099         Call parent finalize too.
19100
19101 2005-11-16  Wim Taymans  <wim@fluendo.com>
19102
19103         * check/Makefile.am:
19104         Enable valgrind check that should work fine now.
19105
19106         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19107         * gst/gstqueue.c: (gst_queue_init):
19108         Fix memleaks in pad allocation.
19109
19110 2005-11-16  Andy Wingo  <wingo@pobox.com>
19111
19112         * gst/net/Makefile.am:
19113         * gst/net/gstnet.h: New part of core to hold network elements and
19114         objects. Put in core because it exposes API that applications want
19115         to use. The library is named libgstnet-tempname right now because
19116         of the existing libgstnet in gst-plugins-base. Solution is
19117         probably to rename the one in plugins-base; will file a bug for
19118         the freeze break.
19119
19120         * gst/net/gstnettimeprovider.c: 
19121         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
19122         get_time call over the network.
19123
19124         * configure.ac: 
19125         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
19126
19127         * check/Makefile.am:
19128         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
19129         get additions shortly.
19130
19131 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19132
19133         * gst/gstpad.c: (gst_pad_new_from_static_template):
19134         * gst/gstpad.h:
19135           add gst_pad_new_from_static_template functions
19136         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
19137         (gst_check_setup_sink_pad):
19138         * gst/elements/gsttee.c: (gst_tee_init):
19139           and use them
19140
19141 2005-11-16  Wim Taymans  <wim@fluendo.com>
19142
19143         * gst/gstpad.c: (gst_pad_pause_task):
19144         Removed warning, it's not really an error either.
19145
19146 2005-11-16  Wim Taymans  <wim@fluendo.com>
19147
19148         * gst/base/gstbasetransform.c:
19149         (gst_base_transform_prepare_output_buf),
19150         (gst_base_transform_event):
19151         Check if the caps are NULL, this can happen if the element
19152         is shutting down and the pad caps are set to NULL.
19153
19154 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19155
19156         * gst/elements/gsttee.c: (gst_tee_init):
19157           fix pad template leak in tee
19158
19159 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19160
19161         * gst/glib-compat.c: (g_value_dup_gst_object):
19162         * gst/glib-compat.h:
19163         * gst/gstpad.c: (gst_pad_set_property):
19164           use gst_object_ref when setting the pad template; this will
19165           trigger the pad template leaks on GLib 2.6 and the slaves
19166
19167 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19168
19169         * gst/glib-compat.c: (gst_flags_get_first_value):
19170         * gst/glib-compat.h:
19171         * gst/gstregistryxml.c:
19172           remove functions copied from GLib 2.6
19173
19174 2005-11-16  Michael Smith <msmith@fluendo.com>
19175
19176         * gst/Makefile.am:
19177           Don't link against VALGRIND_LIBS. That was always the wrong thing to
19178           do, but only breaks with newer valgrind versions. We're not a
19179           valgrind tool, we have no link-time dependencies on libcoregrind.
19180
19181 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19182
19183         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19184           some debug changes
19185         * gst/gstmessage.h:
19186           typo fixes
19187
19188 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19189
19190         * gst/base/gstbasesrc.c: (gst_base_src_init):
19191         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19192         * gst/gstqueue.c: (gst_queue_init):
19193         * gst/gstregistryxml.c: (load_feature):
19194           Revert all these unrefs, they don't even pass make check !
19195
19196 2005-11-15  Johan Dahlin  <johan@gnome.org>
19197
19198         * gst/base/gstbasesrc.c: (gst_base_src_init):
19199         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19200         * gst/gstqueue.c: (gst_queue_init): 
19201         Free pad templates, fixes a couple of leaks.
19202
19203 2005-11-15  Daniel Fischer  <dan at f3c dot com>
19204
19205         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19206
19207         * gst/gstpad.c: (gst_pad_get_property):
19208           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
19209           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
19210           (#321452)
19211
19212 2005-11-15  Wim Taymans  <wim@fluendo.com>
19213
19214         * gst/gstevent.c:
19215         Small doc update.
19216
19217 2005-11-15  Andy Wingo  <wingo@pobox.com>
19218
19219         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
19220
19221         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
19222         using GST_CLOCK_TIME_NONE to disable base time management.
19223         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
19224         time if it was NONE before.
19225         (gst_pipeline_change_state): Only munge the base time if
19226         stream_time != GST_CLOCK_TIME_NONE.
19227
19228         * check/gst/gstpipeline.c (test_base_time): Punt around the
19229         problem of the probe not being called, because that's not the
19230         issue I'm looking at. Add a check that setting stream_time to NONE
19231         disables base time management.
19232         
19233 2005-11-15  Wim Taymans  <wim@fluendo.com>
19234
19235         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
19236         segment_stop == -1 at startup.
19237
19238         * gst/base/gstbasetransform.c: (gst_base_transform_event),
19239         (gst_base_transform_change_state):
19240         Init segment values at start.
19241
19242 2005-11-15  Wim Taymans  <wim@fluendo.com>
19243
19244         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19245         0 segment values are 0 in any format.
19246
19247         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19248         * gst/base/gstbasetransform.h:
19249         Parse newsegment correctly in basetransform
19250
19251         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19252         Sync to clock using updated segment values.
19253
19254 2005-11-15  Andy Wingo  <wingo@pobox.com>
19255
19256         * check/gst/gstpipeline.c (test_base_time): Add check that the
19257         base time and stream time are reset correctly.
19258
19259 2005-11-15  Wim Taymans  <wim@fluendo.com>
19260
19261         * docs/design/part-TODO.txt:
19262         Some more TODO items.
19263
19264 2005-11-15  Andy Wingo  <wingo@pobox.com>
19265
19266         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
19267         error if the user selected "no clock" as the clocking method.
19268
19269         * check/gst/gstpipeline.c (test_base_time): New test for buffer
19270         timestamps with live capture.
19271
19272         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
19273         is 0 but we are a live source, timestamp the buffers using the
19274         element's clock.
19275
19276 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
19277
19278         * docs/gst/gstreamer-sections.txt:
19279         * gst/gsterror.c:
19280         * gst/gstghostpad.c:
19281         * gst/gstobject.h:
19282         * gst/gstxml.c:
19283           more section docs
19284
19285 2005-11-14  Wim Taymans  <wim@fluendo.com>
19286
19287         * common/gst.supp:
19288           add suppressions from Wim's Debian machine
19289
19290 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19291
19292         * common/gst.supp:
19293           add suppressions from Andy's AMD64 Ubuntu machine
19294
19295 2005-11-14  Andy Wingo  <wingo@pobox.com>
19296
19297         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
19298         STATE_LOCK not necessary. Fixes #311489.
19299
19300         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
19301         #305291.
19302
19303         * gst/gstindex.c (gst_index_add_object): Note in the docs that
19304         this function is not implemented.
19305
19306 2005-11-14  Julien MOUTTE  <julien@moutte.net>
19307
19308         * gst/base/gstbasetransform.c:
19309         (gst_base_transform_prepare_output_buf):
19310         Ref the source pad caps while we need them.
19311         Fixes (#321386)
19312
19313 2005-11-11  Wim Taymans  <wim@fluendo.com>
19314
19315         * docs/gst/gstreamer-sections.txt:
19316         Added some docs for GstCollectData.
19317
19318         * gst/base/gstadapter.c:
19319         Some small code example fix.
19320
19321         * gst/base/gstcollectpads.c:
19322         * gst/base/gstcollectpads.h:
19323         Document some more.
19324
19325 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19326
19327         * configure.ac: back to HEAD
19328
19329 === release 0.9.5 ===
19330
19331 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
19332
19333         * configure.ac:
19334           releasing 0.9.5, "Bike Lunch Day"
19335
19336 2005-11-11  Wim Taymans  <wim@fluendo.com>
19337
19338         * gst/gstbuffer.c: (_gst_buffer_copy):
19339         Copy more flags.
19340
19341         * gst/gstcaps.c: (gst_caps_is_equal):
19342         Fix some docs.
19343         Make _is_equal fast in the trivial cases.
19344
19345         * gst/gstminiobject.c:
19346         * gst/gstminiobject.h:
19347         More docs. Spifify .h file.
19348
19349         * gst/gstutils.c:
19350         Small doc update.
19351
19352 2005-11-11  Wim Taymans  <wim@fluendo.com>
19353
19354         * gst/base/gstbasetransform.c:
19355         (gst_base_transform_prepare_output_buf),
19356         (gst_base_transform_handle_buffer):
19357         Small cleanups.
19358         If we're processing a buffer and need to allocate an output
19359         buffer, we cannot accept a format change. If we did get a 
19360         format change, we have to alloc a buffer ourselves of the 
19361         right size.
19362
19363 2005-11-11  Wim Taymans  <wim@fluendo.com>
19364
19365         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
19366         While checking the flag for reentrancy in the gstcaps function
19367         is nice to detect recursive invocations, it also makes it 
19368         impossible to call getcaps from multiple threads, which must be
19369         possible. So, checking for recursive calls has to go.
19370
19371 2005-11-11  Michael Smith <msmith@fluendo.com>
19372
19373         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19374           Don't sync on buffers that fall partially outside our current
19375           segment. Prevents an assertion failure/abort playing some files.
19376
19377 2005-11-10  Andy Wingo  <wingo@pobox.com>
19378
19379         * check/gst/gstbin.c (test_message_state_changed_children): Style
19380         fix..
19381
19382         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
19383         gst_bus_poll with the signal watch. Ensures that poll and a signal
19384         watch see the same messages.
19385
19386         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
19387         a poll and a watch at the same time get the same messages.
19388
19389 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19390
19391         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
19392         * gst/gstcaps.c: (gst_caps_intersect):
19393           Don't call gst_caps_do_simplify - it doesn't respect order of caps
19394           and it's not needed.
19395
19396 2005-11-10  Wim Taymans  <wim@fluendo.com>
19397
19398         * docs/design/part-TODO.txt:
19399         Updated todo.
19400
19401 2005-11-10  Wim Taymans  <wim@fluendo.com>
19402
19403         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19404         * gst/base/gstbasesrc.c: (gst_base_src_wait),
19405         (gst_base_src_do_sync), (gst_base_src_get_range):
19406         Implement clock sync in base class.
19407
19408 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19409
19410         patch by: Tim-Philipp Müller <tim at centricular dot net>
19411
19412         * gst/gststructure.c: (gst_structure_parse_field),
19413         (gst_structure_from_string):
19414           Forward-port a 0.8 patch to handle escaped spaces in structure string,
19415           so that gst_parse_launch() can deal with spaces in filtered link
19416           caps (fixes #164479)
19417         * check/gst/capslist.h:
19418         * check/gst/gststructure.c: (GST_START_TEST):
19419           add unit tests for this change
19420
19421 2005-11-10  Wim Taymans  <wim@fluendo.com>
19422
19423         * docs/gst/gstreamer-sections.txt:
19424         * gst/gstelement.c:
19425         * gst/gstelement.h:
19426         Fix docs, move some STATE macros to private.
19427
19428 2005-11-10  Wim Taymans  <wim@fluendo.com>
19429
19430         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19431         Added check for bug #317341
19432
19433         * gst/gstbuffer.c:
19434         * gst/gstbuffer.h:
19435         Some more spiffifying.
19436
19437         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
19438         Call peer linkfunction if we are a source pad. Totally fixes
19439         #317341
19440
19441         * gst/gstpad.c:
19442         Update docs, source pads should call the peer linkfunction
19443         so they can atomically perform the pad link.
19444
19445 2005-11-09  Wim Taymans  <wim@fluendo.com>
19446
19447         * gst/gstbuffer.c:
19448         * gst/gstbuffer.h:
19449         Uber-spiffy-spiffify some more.
19450
19451 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
19452
19453         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
19454         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19455         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19456         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
19457         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
19458         * gst/gstpad.c: (gst_pad_init):
19459           Use GST_DEBUG_FUNCPTR() more extensively.
19460
19461 2005-11-09  Wim Taymans  <wim@fluendo.com>
19462
19463         * gst/gstobject.c: (gst_object_class_init):
19464         * gst/gstobject.h:
19465         Documentation fixes.
19466
19467 2005-11-09  Edward Hervey  <edward@fluendo.com>
19468
19469         * gst/gsttypefindfactory.c:
19470         Fix docs.
19471         
19472 2005-11-09  Edward Hervey  <edward@fluendo.com>
19473
19474         * gst/base/gsttypefindhelper.c:
19475         * gst/gsttypefind.c:
19476         * gst/gsttypefind.h:
19477         Fix docs.
19478
19479 2005-11-09  Wim Taymans  <wim@fluendo.com>
19480
19481         * gst/gstiterator.c:
19482         Fix revision data.
19483
19484         * gst/gsttask.c:
19485         * gst/gsttask.h:
19486         Fix docs.
19487
19488 2005-11-09  Wim Taymans  <wim@fluendo.com>
19489
19490         * gst/gstevent.h:
19491         * gst/gsturi.h:
19492         Fix docs.
19493
19494 2005-11-09  Wim Taymans  <wim@fluendo.com>
19495
19496         * docs/gst/gstreamer-sections.txt:
19497         Moved the message async delivery private lock and cond
19498         to the private section.
19499
19500         * gst/gstmessage.c:
19501         * gst/gstmessage.h:
19502         Fixed docs.
19503
19504 2005-11-09  Edward Hervey  <edward@fluendo.com>
19505
19506         * docs/gst/gstreamer-sections.txt:
19507         * gst/gsturi.c:
19508         * gst/gsturi.h:
19509         Document GstURIHandler
19510
19511 2005-11-09  Wim Taymans  <wim@fluendo.com>
19512
19513         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
19514         (gst_iterator_find_custom):
19515         * gst/gstiterator.h:
19516         Fix iterator docs.
19517
19518 2005-11-09  Wim Taymans  <wim@fluendo.com>
19519
19520         * gst/gstbin.h:
19521         Document another field.
19522
19523         * gst/gststructure.c:
19524         * gst/gststructure.h:
19525         Document.
19526
19527 2005-11-09  Wim Taymans  <wim@fluendo.com>
19528
19529         * gst/gstbin.h:
19530         Documented structs.
19531
19532 2005-11-09  Wim Taymans  <wim@fluendo.com>
19533
19534         * docs/gst/gstreamer-sections.txt:
19535         Added some new macros.
19536
19537         * gst/gstclock.c:
19538         * gst/gstclock.h:
19539         * gst/gstobject.h:
19540         Docs updates.
19541
19542 2005-11-09  Wim Taymans  <wim@fluendo.com>
19543
19544         * docs/design/part-TODO.txt:
19545         Some more items for the TODO
19546
19547         * gst/gstcaps.c:
19548         * gst/gstcaps.h:
19549         Document GstCaps.
19550
19551 2005-11-09  Andy Wingo  <wingo@pobox.com>
19552
19553         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
19554         to work on something else now tho...
19555
19556         * gst/base/gstadapter.c: More adapter docs.
19557
19558         * gst/elements/gstfilesink.c (gst_file_sink_start) 
19559         (gst_file_sink_stop): New functions, replace the state change
19560         handler.
19561         (gst_file_sink_class_init): Hook up the start and stop functions.
19562         (gst_file_sink_base_init): Don't set the state change handler any
19563         more. It was a bit ugly too, being set from here...
19564         (gst_file_sink_get_property, gst_file_sink_set_property):
19565         Cleanups...
19566         (gst_file_sink_set_location): More robust check that doesn't call
19567         GST_STATE. Ugggggg.
19568
19569 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
19570
19571         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19572           Hold STREAM_LOCK while pushing newsegment or tag events as well.
19573
19574 2005-11-08  Wim Taymans  <wim@fluendo.com>
19575
19576         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19577         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19578         (gst_base_sink_chain), (gst_base_sink_change_state):
19579         * gst/base/gstbasesink.h:
19580         * gst/base/gstbasesrc.h:
19581         * gst/gstelement.h:
19582         * gst/gstevent.h:
19583         Avoid excessive typechecking in macros.
19584
19585         * gst/gstminiobject.c: (gst_mini_object_get_type),
19586         (gst_mini_object_init), (gst_mini_object_new),
19587         (gst_mini_object_free):
19588         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19589         (gst_object_finalize):
19590         Remove cruft code, optimize alloc_trace.
19591
19592 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19593
19594         * docs/faq/gst-uninstalled:
19595           fix up PS1 for systems that try to reset it
19596
19597 2005-11-07  Wim Taymans  <wim@fluendo.com>
19598
19599         * gst/base/gstbasesrc.c: (gst_base_src_init),
19600         (gst_base_src_get_range):
19601         Set the segment_end to -1 initially. Fixed typefind.
19602
19603 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
19604
19605         * gst/base/gstadapter.c:
19606           Debug category should be 'adapter', not 'GstAdapter'.
19607           
19608         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
19609         (gst_collectpads_class_init), (gst_collectpads_init),
19610         (gst_collectpads_peek), (gst_collectpads_pop),
19611         (gst_collectpads_event), (gst_collectpads_chain):
19612           Add debug category and some debugging output. Use boilerplate
19613           macros. Remove some extraneous words from docs.
19614
19615 2005-11-05  Andy Wingo  <wingo@pobox.com>
19616
19617         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
19618         macro.
19619
19620 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19621
19622         * docs/gst/gstreamer-sections.txt:
19623         * gst/gstcaps.h:
19624         * gst/gstinfo.c:
19625         * gst/gstminiobject.h:
19626         * gst/gstobject.h:
19627         * gst/gstutils.h:
19628           more docs added
19629
19630 2005-11-04  Wim Taymans  <wim@fluendo.com>
19631
19632         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19633         Small update to stop at the configured segment_end
19634         position.
19635
19636 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19637
19638         * gst/gstregistry.c:
19639         * gst/gstregistry.h:
19640           added missing docs
19641
19642 2005-11-04  Edward Hervey  <edward@fluendo.com>
19643
19644         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19645         Check if we are doing a segment seek and have arrived at the
19646         end of that segment.
19647
19648 2005-11-04  Wim Taymans  <wim@fluendo.com>
19649
19650         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
19651         Don't leak a mutex unlock in case of an error.
19652
19653         * gst/gstbus.h:
19654         Doc fixes.
19655
19656 2005-11-04  Wim Taymans  <wim@fluendo.com>
19657
19658         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
19659         (gst_bus_post):
19660         Get the context to wake up only once.
19661
19662 2005-11-03  Wim Taymans  <wim@fluendo.com>
19663
19664         * check/states/sinks.c: (GST_START_TEST):
19665         Uncomment fixed check.
19666
19667         * docs/design/part-TODO.txt:
19668         Updated TODO.
19669
19670         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19671         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19672         (gst_base_sink_get_position):
19673         If we are going to PLAYING, post the right pending state
19674         when we post the intermediate paused message.
19675
19676         * gst/gstelement.c: (gst_element_continue_state),
19677         (gst_element_set_state_func), (gst_element_change_state):
19678         Don't post state changes that were between the same state
19679         and were not ASYNC.
19680
19681 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
19682
19683         * docs/gst/gstreamer-sections.txt:
19684         * gst/gstcaps.h:
19685         * gst/gstinfo.c:
19686         * gst/gstminiobject.h:
19687         * gst/gstobject.h:
19688         * gst/gstutils.h:
19689           more docs and doc style fixes
19690
19691 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
19692
19693         * docs/gst/gstreamer-sections.txt:
19694         * gst/gstelement.c:
19695         * gst/gstminiobject.c:
19696         doc fixes
19697
19698 2005-11-03  Andy Wingo  <wingo@pobox.com>
19699
19700         * check/states/sinks.c (test_livesrc_sink): Add checks that the
19701         state-changed messages actually have the right order and the right
19702         values.
19703
19704 2005-11-03  Wim Taymans  <wim@fluendo.com>
19705
19706         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19707         Added some more checks. Specifically the case where NO_PREROLL
19708         elements are in the pipeline.
19709
19710         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19711         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19712         (gst_base_sink_get_position):
19713         Post READY->PAUSED state change messages too.
19714         Fix bug where VOID was posted as pending state...
19715
19716         * gst/gstbin.c: (gst_bin_recalc_state):
19717         use _element_continue_state() to continue the state change.
19718
19719         * gst/gstelement.c: (gst_element_continue_state),
19720         (gst_element_commit_state), (gst_element_set_state_func),
19721         (gst_element_change_state), (gst_element_change_state_func):
19722         Lots of state change cleanups, assign the STATE_RETURN in
19723         a new continue_state() function that also propagates the
19724         last return value from a state change to the app.
19725         Update some debug statements with proper category.
19726
19727 2005-11-03  Wim Taymans  <wim@fluendo.com>
19728
19729         * docs/design/part-events.txt:
19730         * docs/design/part-gstpipeline.txt:
19731         * docs/design/part-messages.txt:
19732         * docs/design/part-overview.txt:
19733         * docs/design/part-seeking.txt:
19734         * docs/design/part-states.txt:
19735         * docs/design/part-trickmodes.txt:
19736         * docs/manual/advanced-position.xml:
19737         Small docs updates.
19738
19739         * gst/gstobject.h:
19740         People think !! is ugly, this looks better.
19741
19742         * gst/gstpad.c: (gst_pad_set_blocked_async):
19743         Remove !! since it's fixed elsewhere now.
19744
19745 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19746
19747         * gst/gstminiobject.h:
19748         * gst/gstobject.h:
19749           Add !! to _FLAG_IS_SET macros to make the result boolean.
19750
19751 2005-11-03  Edward Hervey  <edward@fluendo.com>
19752
19753         * gst/gstpad.c: (gst_pad_set_blocked_async):
19754         comparing a flag and a gboolean rarely returns coherent results...
19755         Added two characters (!!) to make that work correctly.
19756         
19757 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19758
19759         * gst/gstbus.c: (gst_bus_class_init):
19760           Fix some typos.
19761           
19762         * gst/gstqueue.c: (gst_queue_loop):
19763           Don't assume a miniobject that isn't a buffer is an
19764           event (it could be that there is a refcounting
19765           problem somewhere and the pointer is stale and
19766           refers to an already destroyed miniobject).
19767
19768 2005-11-03  Julien MOUTTE  <julien@moutte.net>
19769
19770         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
19771
19772 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19773
19774         * docs/manual/advanced-position.xml:
19775           Update seek example and explanations to current 0.9 API.
19776
19777         * gst/elements/gsttypefindelement.c:
19778         (gst_type_find_element_activate):
19779           Remove FIXME comment now that the found caps
19780           are unreffed.
19781
19782 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19783
19784         * gst/gstregistryxml.c: (load_feature):
19785           Add another GST_STR_NULL instance
19786
19787 2005-11-02  Edward Hervey  <edward@fluendo.com>
19788
19789         * gst/gstpad.c: (handle_pad_block):
19790         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
19791         
19792 2005-11-02  Wim Taymans  <wim@fluendo.com>
19793
19794         * gst/gstbin.c:
19795         Fix typo in docs.
19796
19797         * gst/gstelement.c: (gst_element_commit_state):
19798         Remove unused value.
19799
19800         * gst/gstiterator.c:
19801         Mention that the returned element is reffed in the docs.
19802
19803 2005-11-02  Wim Taymans  <wim@fluendo.com>
19804
19805         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
19806         (gst_pad_push), (gst_pad_push_event):
19807         Unlock blocked pads when they are flushed.
19808
19809 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19810
19811         * docs/README:
19812         * docs/gst/gstreamer-sections.txt:
19813         * gst/gstbin.c:
19814           doc updates
19815         * gst/gstregistry.c: (gst_registry_scan_path_level):
19816           fix for a nasty little missed situation where an installed plug-in
19817           which was in the cache did not get overridden by an uninstalled one
19818           which was earlier in the plugin path because the newly created plugin
19819           for the uninstalled one (not in the registry) didn't get its
19820           ->registered set to TRUE
19821
19822 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
19823
19824         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
19825         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
19826         (gst_collectpads_is_active), (gst_collectpads_collect),
19827         (gst_collectpads_collect_range), (gst_collectpads_start),
19828         (gst_collectpads_stop), (gst_collectpads_peek),
19829         (gst_collectpads_pop), (gst_collectpads_available),
19830         (gst_collectpads_read), (gst_collectpads_flush):
19831           Guard public API with assertions.
19832         
19833         * gst/gstpad.c:
19834           Fix docs for gst_pad_set_link_function().
19835
19836 2005-11-02  Johan Dahlin  <johan@gnome.org>
19837
19838         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
19839         Unref found_caps after we used it.
19840
19841 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
19842
19843         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
19844           Don't try to ref NULL.
19845
19846 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19847
19848         * win32/common/config.h.in:
19849           provide a GST_FUNCTION that just gives a string for now
19850
19851 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19852
19853         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19854         (gst_object_flags_get_type), (register_gst_bin_flags),
19855         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19856         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19857         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19858         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
19859         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19860         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19861         (gst_clock_flags_get_type), (register_gst_state),
19862         (gst_state_get_type), (register_gst_state_change_return),
19863         (gst_state_change_return_get_type), (register_gst_state_change),
19864         (gst_state_change_get_type), (register_gst_element_flags),
19865         (gst_element_flags_get_type), (register_gst_core_error),
19866         (gst_core_error_get_type), (register_gst_library_error),
19867         (gst_library_error_get_type), (register_gst_resource_error),
19868         (gst_resource_error_get_type), (register_gst_stream_error),
19869         (gst_stream_error_get_type), (register_gst_event_type),
19870         (gst_event_type_get_type), (register_gst_seek_type),
19871         (gst_seek_type_get_type), (register_gst_seek_flags),
19872         (gst_seek_flags_get_type), (register_gst_format),
19873         (gst_format_get_type), (register_gst_index_certainty),
19874         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19875         (gst_index_entry_type_get_type),
19876         (register_gst_index_lookup_method),
19877         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19878         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19879         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19880         (gst_index_flags_get_type), (register_gst_debug_level),
19881         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19882         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19883         (gst_iterator_result_get_type), (register_gst_iterator_item),
19884         (gst_iterator_item_get_type), (register_gst_message_type),
19885         (gst_message_type_get_type), (register_gst_mini_object_flags),
19886         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19887         (gst_pad_link_return_get_type), (register_gst_flow_return),
19888         (gst_flow_return_get_type), (register_gst_activate_mode),
19889         (gst_activate_mode_get_type), (register_gst_pad_direction),
19890         (gst_pad_direction_get_type), (register_gst_pad_flags),
19891         (gst_pad_flags_get_type), (register_gst_pad_presence),
19892         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19893         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19894         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19895         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19896         (gst_plugin_flags_get_type), (register_gst_rank),
19897         (gst_rank_get_type), (register_gst_query_type),
19898         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19899         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19900         (gst_tag_flag_get_type), (register_gst_task_state),
19901         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19902         (gst_alloc_trace_flags_get_type),
19903         (register_gst_type_find_probability),
19904         (gst_type_find_probability_get_type), (register_gst_uri_type),
19905         (gst_uri_type_get_type), (register_gst_parse_error),
19906         (gst_parse_error_get_type):
19907         * win32/common/gstversion.h:
19908           update win32 copies
19909
19910 2005-11-01  Luca Ognibene  <luogni@tin.it>
19911
19912         * gst/gst.c:
19913           fix docs. popt is dead, long live GOption.
19914
19915 2005-10-31  Wim Taymans  <wim@fluendo.com>
19916
19917         * gst/gstbuffer.h:
19918         Small doc fix.
19919
19920 2005-10-31  Andy Wingo  <wingo@pobox.com>
19921
19922         * Boo!
19923
19924         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
19925
19926         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
19927         need to serialize property notifications on GLib 2.8. GLib 2.6 has
19928         the possibility of deadlocks here if code calling notify() or
19929         set() has a lock that can be taken in another notify handler (ABBA
19930         with class lock and e.g. python GIL state lock).
19931
19932 2005-10-28  Julien MOUTTE  <julien@moutte.net>
19933
19934         * gst/gstbus.c: Doc updates.
19935
19936 2005-10-28  Wim Taymans  <wim@fluendo.com>
19937
19938         * docs/design/part-TODO.txt:
19939         * gst/gstiterator.c:
19940         * gst/gstsystemclock.c:
19941         * gst/gstsystemclock.h:
19942         Doc updates.
19943
19944 2005-10-28  Edward Hervey  <edward@fluendo.com>
19945
19946         * docs/gst/gstreamer-docs.sgml:
19947         * docs/gst/gstreamer-sections.txt:
19948         the GstURIType documentation page is private, it only defines GstURIType
19949         which should be defined in the GstURIHandler page
19950         
19951 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19952
19953         * gst/gstbin.c: (gst_bin_class_init):
19954         * gst/gstbin.h:
19955         * gst/gstutils.c:
19956         Documentation updates.
19957
19958 2005-10-28  Wim Taymans  <wim@fluendo.com>
19959
19960         * docs/gst/gstreamer-sections.txt:
19961         * gst/gstclock.c:
19962         * gst/gstclock.h:
19963         Documented the clocks.
19964
19965 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
19966
19967         * docs/gst/gstreamer-sections.txt:
19968           move some macros to private sections
19969         * gst/gstminiobject.c:
19970         * gst/gstminiobject.h:
19971           add descriptions provided by ds and some more
19972         * gst/gstpad.h:
19973           mark macro as to be removed
19974
19975 2005-10-28  Wim Taymans  <wim@fluendo.com>
19976
19977         * docs/design/part-TODO.txt:
19978         Add an item to TODO.
19979
19980         * gst/gstiterator.c: (gst_iterator_fold),
19981         (gst_iterator_find_custom):
19982         * gst/gstiterator.h:
19983         Add iterator docs.
19984
19985 2005-10-28  Wim Taymans  <wim@fluendo.com>
19986
19987         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19988         (gst_base_transform_init):
19989         Don't leak class.
19990
19991         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
19992         An EOS event marks the queue as completely filled.
19993
19994 2005-10-27  Wim Taymans  <wim@fluendo.com>
19995
19996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19997         (gst_base_sink_do_sync), (gst_base_sink_get_position):
19998         Some more debugging.
19999
20000         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
20001         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
20002         (gst_base_transform_event), (gst_base_transform_getrange),
20003         (gst_base_transform_chain):
20004         * gst/base/gstbasetransform.h:
20005         Fix debugging,
20006         Protect transform and concurrent buffer alloc with a new lock.
20007         Try not to break ABI/API.
20008
20009 2005-10-27  Wim Taymans  <wim@fluendo.com>
20010
20011         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20012         (gst_base_src_init), (gst_base_src_query),
20013         (gst_base_src_default_newsegment),
20014         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20015         (gst_base_src_send_event), (gst_base_src_event_handler),
20016         (gst_base_src_pad_get_range), (gst_base_src_loop),
20017         (gst_base_src_unlock), (gst_base_src_default_negotiate),
20018         (gst_base_src_start), (gst_base_src_deactivate),
20019         (gst_base_src_activate_push), (gst_base_src_change_state):
20020         Move some stuff around and cleanup things.
20021
20022 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
20023
20024         * gst/base/gstbasesrc.c: (gst_base_src_query):
20025           Add missing break statements.
20026
20027 2005-10-27  Wim Taymans  <wim@fluendo.com>
20028
20029         * check/gst/gstbin.c: (GST_START_TEST):
20030         An extra refcount is taken in basesrc.
20031
20032         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20033         (gst_base_src_get_range), (gst_base_src_pad_get_range),
20034         (gst_base_src_loop):
20035         Small cleanups, check for flushing after being unlocked from the 
20036         LIVE_LOCK. take refcounts correctly (not yet everywhere).
20037         Don't send out EOS when going to READY.
20038
20039 2005-10-27  Wim Taymans  <wim@fluendo.com>
20040
20041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20042         (gst_base_sink_get_position):
20043         Some more debug.
20044
20045         * gst/gstbin.c: (message_check), (bin_replace_message),
20046         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20047         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20048         (bin_query_duration_init), (bin_query_duration_fold),
20049         (bin_query_duration_done), (bin_query_generic_fold),
20050         (gst_bin_query):
20051         * tools/gst-launch.c: (main):
20052         Remove old option.
20053
20054 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
20055
20056         * examples/controller/audio-example.c: (main):
20057         * examples/queue/queue.c: (event_loop):
20058         * gst/base/gstbasetransform.h:
20059         * gst/gstelement.c: (gst_element_send_event):
20060         * gst/gstevent.h:
20061         * gst/gstpad.c: (gst_pad_send_event):
20062           fixing examples
20063           fixing docs typos
20064           changing log priority in error situations
20065
20066 2005-10-25  Wim Taymans  <wim@fluendo.com>
20067
20068         * gst/gstbin.c: (message_check), (bin_replace_message),
20069         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20070         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20071         (bin_query_duration_init), (bin_query_duration_fold),
20072         (bin_query_duration_done), (bin_query_generic_fold),
20073         (gst_bin_query):
20074         Some doc and debug updates.
20075         Cache previously requested query DURATION for speed. invalidate
20076         cached duration if element posts a DURATION message.
20077
20078 2005-10-25  Wim Taymans  <wim@fluendo.com>
20079
20080         * docs/design/part-TODO.txt:
20081         Update TODO.
20082
20083         * gst/gstbin.c: (message_check), (bin_replace_message),
20084         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20085         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20086         (bin_query_duration_init), (bin_query_duration_fold),
20087         (bin_query_duration_done), (bin_query_generic_fold),
20088         (gst_bin_query):
20089         Handle SEGMENT_START/DONE messages correctly.
20090         More evolved query algorithm that handles duration queries
20091         correctly.
20092
20093         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
20094         (gst_element_get_state_func), (gst_element_abort_state),
20095         (gst_element_commit_state), (gst_element_lost_state):
20096         Some more debugging.
20097
20098         * gst/gstmessage.h:
20099         Added doc.
20100
20101 2005-10-25  Wim Taymans  <wim@fluendo.com>
20102
20103         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20104         Don't use invalid stream_time.
20105
20106         * gst/gstevent.c: (gst_event_new_newsegment):
20107         stream_time in newsegment cannot be undefined.
20108
20109 2005-10-24  Wim Taymans  <wim@fluendo.com>
20110
20111         * gst/gstbus.c:
20112         Doc fix.
20113
20114         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20115         (gst_queue_loop):
20116         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
20117
20118 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
20119
20120         * docs/libs/tmpl/gstdparam.sgml:
20121         * docs/libs/tmpl/gstdplinint.sgml:
20122         * docs/libs/tmpl/gstdpman.sgml:
20123         * docs/libs/tmpl/gstdpsmooth.sgml:
20124         * docs/libs/tmpl/gstunitconvert.sgml:
20125           these are obsolete
20126
20127 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20128
20129         * configure.ac:
20130           back to HEAD
20131
20132 === release 0.9.4 ===
20133
20134 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20135
20136         * configure.ac:
20137           releasing 0.9.4, "Tyrannosaurus Rex"
20138
20139 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
20140
20141         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20142         (gst_file_sink_get_current_offset):
20143           Use fseeko() and ftello() if available. When falling back on
20144           lseek() to get the current offset, fflush() first to make sure
20145           everything is up-to-date and we get the right offset.
20146
20147 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20148
20149         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20150         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20151         * gst/gsterror.c: (_gst_stream_errors_init):
20152         * gst/gsterror.h:
20153         * gst/gstqueue.c: (gst_queue_loop):
20154         * po/POTFILES.in:
20155           remove prematurely added error category and clean up the instances
20156
20157 2005-10-21  Wim Taymans  <wim@fluendo.com>
20158
20159         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20160         (gst_base_sink_get_position), (gst_base_sink_query),
20161         (gst_base_sink_change_state):
20162         Simply set the right flag when going to playing, that's all
20163         we need to do instead of calling a function inside the object
20164         lock (that could take the lock as well and deadlock)
20165
20166 2005-10-21  Wim Taymans  <wim@fluendo.com>
20167
20168         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
20169         (gst_base_src_loop):
20170         Don't warn, the peer element knows what to do best when
20171         the seek failed, it might try something else.
20172
20173 2005-10-21  Wim Taymans  <wim@fluendo.com>
20174
20175         * gst/base/gstbasesrc.c: (gst_base_src_init),
20176         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
20177         Fix seeking.
20178
20179 2005-10-21  Wim Taymans  <wim@fluendo.com>
20180
20181         * docs/design/part-segments.txt:
20182         More docs.
20183
20184         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
20185         Correctly set caps, even on the subbufer.
20186
20187 2005-10-21  Wim Taymans  <wim@fluendo.com>
20188
20189         * docs/gst/gstreamer-docs.sgml:
20190         * docs/gst/gstreamer-sections.txt:
20191         * gst/gstelement.h:
20192         * gst/gstevent.c:
20193         * gst/gstevent.h:
20194         * gst/gstmessage.h:
20195         * gst/gstpad.h:
20196         * gst/gstparse.h:
20197         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
20198         * gst/gsttask.h:
20199         * gst/gstutils.c:
20200         * gst/gstutils.h:
20201         And 2% more doc coverage.
20202
20203 2005-10-21  Andy Wingo  <wingo@pobox.com>
20204
20205         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
20206         position reporting.
20207
20208 2005-10-20  Wim Taymans  <wim@fluendo.com>
20209
20210         * gst/gsterror.c: (gst_error_get_message):
20211         * gst/gstparse.h:
20212         * gst/gstquery.h:
20213         * gst/gststructure.c:
20214         * gst/gsttrace.c:
20215         * gst/gstutils.c:
20216         More docs.
20217
20218 2005-10-20  Wim Taymans  <wim@fluendo.com>
20219
20220         * gst/gstbuffer.h:
20221         * gst/gstpad.c:
20222         * gst/gstparse.c:
20223         Another 1% more coverage.
20224
20225 2005-10-20  Wim Taymans  <wim@fluendo.com>
20226
20227         * docs/gst/gstreamer-sections.txt:
20228         * gst/gstelement.c: (gst_element_get_state_func),
20229         (gst_element_abort_state), (gst_element_commit_state),
20230         (gst_element_lost_state):
20231         * gst/gstevent.h:
20232         * gst/gstquery.c: (gst_query_set_position),
20233         (gst_query_parse_position), (gst_query_set_duration),
20234         (gst_query_parse_duration), (gst_query_new_convert):
20235         * gst/gstutils.c:
20236         Yay! 1% more docs coverage.
20237
20238 2005-10-20  Wim Taymans  <wim@fluendo.com>
20239
20240         * gst/gstpad.h:
20241         * gst/gstquery.c: (gst_query_set_position),
20242         (gst_query_parse_position), (gst_query_set_duration),
20243         (gst_query_parse_duration), (gst_query_new_convert):
20244         * gst/gstquery.h:
20245         * gst/gstutils.c: (gst_element_query_convert):
20246         * gst/gstutils.h:
20247         Docs and consistency fixes.
20248
20249 2005-10-20  Wim Taymans  <wim@fluendo.com>
20250
20251         * gst/gsttask.c:
20252         * gst/gsttask.h:
20253         More docs.
20254
20255 2005-10-20  Wim Taymans  <wim@fluendo.com>
20256
20257         * gst/gstbin.c: (message_check), (bin_replace_message),
20258         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20259         (update_degree), (gst_bin_sort_iterator_next),
20260         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
20261         Reworked the message handling a bit, cache the messages instead of
20262         only the senders. alows us to do more in the future.
20263
20264 2005-10-20  Wim Taymans  <wim@fluendo.com>
20265
20266         * docs/design/part-TODO.txt:
20267         Update TODO
20268
20269         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20270         (gst_base_sink_query):
20271         Don't use clock time to report position when in EOS.
20272
20273 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
20274
20275         * tools/gst-inspect.c: (print_interfaces),
20276         (print_element_properties_info), (print_element_info):
20277           Fix interface output with gst-inspect -a; don't print
20278           newlines after double/float properties.
20279
20280 2005-10-20  Wim Taymans  <wim@fluendo.com>
20281
20282         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20283         (gst_base_sink_query):
20284         Speed up current position calculation.
20285
20286         * gst/base/gstbasesrc.c: (gst_base_src_query),
20287         (gst_base_src_default_newsegment):
20288         Correctly set stream position in newsegment.
20289
20290         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
20291         (update_degree), (gst_bin_sort_iterator_next),
20292         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
20293         * gst/gstmessage.c: (gst_message_new_custom):
20294         Clean up debugging info
20295
20296         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
20297         (gst_queue_loop), (gst_queue_handle_src_query):
20298         Pause task faster.
20299
20300 2005-10-19  Wim Taymans  <wim@fluendo.com>
20301
20302         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20303         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20304         Fix query handling again.
20305
20306 2005-10-19  Wim Taymans  <wim@fluendo.com>
20307
20308         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20309         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20310         * gst/base/gstbasesrc.c: (gst_base_src_query):
20311         * gst/elements/gstfilesink.c: (gst_file_sink_query):
20312         * gst/elements/gsttypefindelement.c:
20313         (gst_type_find_handle_src_query), (find_element_get_length),
20314         (gst_type_find_element_activate):
20315         API change fix.
20316
20317         * gst/gstquery.c: (gst_query_new_position),
20318         (gst_query_set_position), (gst_query_parse_position),
20319         (gst_query_new_duration), (gst_query_set_duration),
20320         (gst_query_parse_duration), (gst_query_set_segment),
20321         (gst_query_parse_segment):
20322         * gst/gstquery.h:
20323         Bundling query position/duration is not a good idea since duration
20324         does not change much and we don't want to recalculate it for every
20325         position query, so they are separated again..
20326         Base value in segment query is not needed.
20327
20328         * gst/gstqueue.c: (gst_queue_handle_src_query):
20329         * gst/gstutils.c: (gst_element_query_position),
20330         (gst_element_query_duration), (gst_pad_query_position),
20331         (gst_pad_query_duration):
20332         * gst/gstutils.h:
20333         Updates for query API change.
20334         Added some docs here and there.
20335
20336 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20337
20338         * check/gst/gstbin.c: (GST_START_TEST):
20339         * check/gst/gstghostpad.c: (GST_START_TEST):
20340         * check/pipelines/cleanup.c: (GST_START_TEST):
20341           wait on thread to die so we can check refcount correctly
20342
20343 2005-10-18  Wim Taymans  <wim@fluendo.com>
20344
20345         * check/pipelines/stress.c: (GST_START_TEST):
20346         Make check a little more time consuming.
20347
20348 2005-10-18  Wim Taymans  <wim@fluendo.com>
20349
20350         * check/Makefile.am:
20351         * check/pipelines/stress.c: (GST_START_TEST),
20352         (simple_launch_lines_suite), (main):
20353         Small state change torture test.
20354
20355         * docs/design/part-states.txt:
20356         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20357         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
20358         (gst_base_sink_change_state):
20359         Never take state lock from streaming thread, clean up ugly
20360         hacks. Unfortunatly core does not yet support nice ways to
20361         async commit state.
20362         
20363         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
20364         (bin_bus_handler):
20365         Start state recalc if a STATE_DIRTY message is posted, but only
20366         on the toplevel bin.
20367
20368         * gst/gstelement.c: (gst_element_sync_state_with_parent),
20369         (gst_element_get_state_func), (gst_element_abort_state),
20370         (gst_element_commit_state), (gst_element_lost_state),
20371         (gst_element_set_state_func), (gst_element_change_state):
20372         * gst/gstelement.h:
20373         State variables are now protected with the LOCK, the state
20374         lock is only used to serialize _set_state().
20375
20376 2005-10-18  Wim Taymans  <wim@fluendo.com>
20377
20378         * check/gst/gstbin.c: (GST_START_TEST):
20379         * check/gst/gstmessage.c: (GST_START_TEST):
20380         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20381         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
20382         (bin_bus_handler):
20383         * gst/gstelement.c: (gst_element_abort_state),
20384         (gst_element_commit_state), (gst_element_lost_state):
20385         * gst/gstmessage.c: (gst_message_new_state_changed),
20386         (gst_message_new_state_dirty), (gst_message_new_segment_start),
20387         (gst_message_new_segment_done), (gst_message_new_duration),
20388         (gst_message_parse_state_changed),
20389         (gst_message_parse_segment_start),
20390         (gst_message_parse_segment_done), (gst_message_parse_duration):
20391         * gst/gstmessage.h:
20392         * tools/gst-launch.c: (event_loop):
20393         Seriously, this is better than a previous commit as we only need
20394         to notify the fact that an element changed state in a streaming
20395         thread, marking the state of the parents dirty, hence the 
20396         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
20397         message.
20398
20399 2005-10-18  Wim Taymans  <wim@fluendo.com>
20400
20401         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
20402         (gst_bin_recalc_func):
20403         * gst/gstelement.c: (gst_element_set_clock),
20404         (gst_element_abort_state), (gst_element_lost_state):
20405         Cleanups, prepare for state change fixes.
20406
20407 2005-10-18  Wim Taymans  <wim@fluendo.com>
20408
20409         * gst/gstbin.h:
20410         * gst/gstelement.c: (gst_element_class_init),
20411         (gst_element_set_state), (gst_element_set_state_func):
20412         * gst/gstelement.h:
20413         Pending ABI changes.
20414         GThreadPool in GstBinClass to monitor async state changes.
20415         state_cookie in GstElement to detect concurrent gst/set state.
20416         set_state is now virtual too in case a very complicated element
20417         has to be constructed.
20418
20419 2005-10-18  Wim Taymans  <wim@fluendo.com>
20420
20421         * check/gst/gstbin.c: (GST_START_TEST):
20422         * check/gst/gstmessage.c: (GST_START_TEST):
20423         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20424         * gst/gstbin.c: (bin_bus_handler):
20425         * gst/gstelement.c: (gst_element_commit_state),
20426         (gst_element_lost_state):
20427         * gst/gstmessage.c: (gst_message_new_state_changed),
20428         (gst_message_new_segment_start), (gst_message_new_segment_done),
20429         (gst_message_new_duration), (gst_message_parse_state_changed),
20430         (gst_message_parse_segment_start),
20431         (gst_message_parse_segment_done), (gst_message_parse_duration):
20432         * gst/gstmessage.h:
20433         * tools/gst-launch.c: (event_loop):
20434         Make messages future proof.
20435         state-change gets a flag if it was a message comming from the
20436         streaming thread.
20437         segment-start/stop can also be specified in other formats.
20438         A message to notify an app that a pipeline changed playback 
20439         duration.
20440         Also fix a GstMessage leak in -launch
20441
20442 2005-10-18  Andy Wingo  <wingo@pobox.com>
20443
20444         * gst/gstelement.c (gst_element_dispose): More helpful message.
20445
20446 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20447
20448         reviewed by: <delete if not using a buddy>
20449
20450         * common/gtk-doc.mak:
20451
20452 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20453
20454         * gst/gstregistry.c: (gst_registry_scan_path_level):
20455           unref a plug-in we get that was already initialized
20456
20457 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
20458
20459         * docs/gst/gstreamer-sections.txt:
20460         * docs/libs/gstreamer-libs-sections.txt:
20461         * gst/gstelement.h:
20462           add new api entries
20463           hide internal macro
20464
20465 2005-10-17  Andy Wingo  <wingo@pobox.com>
20466
20467         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
20468         cleanup.
20469
20470         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
20471
20472         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
20473
20474         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
20475         (gst_element_get_state_func): Better debug message.
20476         (gst_element_commit_state): s/INFO/DEBUG/.
20477         (gst_element_lost_state, gst_element_change_state): 
20478
20479         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
20480         (gst_message_new_custom): s/INFO/LOG/.
20481
20482 2005-10-17  Michael Smith <msmith@fluendo.com>
20483
20484         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20485           Check if end time is valid using end time, not start time.
20486
20487 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
20488
20489         * check/gst-libs/controller.c: (GST_START_TEST),
20490         (gst_controller_suite):
20491         * libs/gst/controller/gstcontroller.c:
20492         (gst_controlled_property_set_interpolation_mode):
20493         * libs/gst/controller/gstcontroller.h:
20494         * libs/gst/controller/gstinterpolation.c:
20495         * testsuite/controller/.cvsignore:
20496         * testsuite/controller/Makefile.am:
20497         * testsuite/controller/interpolator.c:
20498           merge controller testsuites
20499           fix broken tests
20500           remove mem-chunk from docs
20501
20502 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20503
20504         * gst/gstmemchunk.c:
20505         * gst/gstmemchunk.h:
20506         * gst/gsttrashstack.c:
20507         * gst/gsttrashstack.h:
20508           out.  get out.  you're fired.  to the Attic !
20509
20510 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20511
20512         * gst/gstcaps.c: (gst_caps_intersect):
20513           fix signedness issues in a (hopefully) correct way
20514         * gst/gstelement.c: (gst_element_pads_activate):
20515           some debugging
20516         * gst/gstobject.c: (gst_object_set_parent):
20517           some debugging
20518
20519 2005-10-17  Julien MOUTTE  <julien@moutte.net>
20520
20521         * gst/gstvalue.h: Fix prototypes.
20522
20523 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20524
20525         * docs/gst/gstreamer-sections.txt:
20526         * gst/gst.c: (gst_version_string):
20527         * gst/gst.h:
20528         * gst/gstversion.h.in:
20529         * win32/common/libgstreamer.def:
20530           add gst_version_string ()
20531
20532 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20533
20534         * configure.ac:
20535           clean up further
20536         * gst/gst.c: (init_post):
20537         * win32/common/config.h.in:
20538           it's PLUGINDIR now
20539         * gst/gstcaps.c: (gst_caps_intersect):
20540           use gint64, the range could be bigger than a guint
20541
20542 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20543
20544         * gst/gstclock.h:
20545           document potential problem in 2038
20546
20547 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20548
20549         * gst/gstcaps.c: (gst_caps_intersect):
20550           Fix guint j diving under 0
20551
20552 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20553
20554         * configure.ac:
20555         * win32/common/config.h:
20556         * win32/common/config.h.in:
20557           check for process.h, declares getpid() on Windows
20558         * gst/gstinfo.c:
20559           include process.h if we have it
20560         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
20561         * gst/gstmemchunk.h:
20562           fix signedness issues
20563         * win32/common/libgstreamer.def:
20564           fix get_type's
20565
20566 2005-10-16  Julien MOUTTE  <julien@moutte.net>
20567
20568         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
20569         fix. Because of unsigned ints, caps intersection was going nuts and
20570         trying to access structures with G_MAXUINT index. That fixes
20571         videotestsrc ! ffmpegcolorspace ! fakesink
20572         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
20573         consistency.
20574
20575 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20576
20577         * configure.ac:
20578           use the gettext macro
20579         * gst/elements/gstelements.c:
20580         * gst/gst.c:
20581         * gst/indexers/gstindexers.c:
20582           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
20583         * win32/common/config.h:
20584           updated config.h
20585         * win32/common/config.h.in:
20586           add the template to generate config.h
20587         * win32/common/gstenumtypes.c:
20588         * win32/common/gstversion.h:
20589           updated copies
20590
20591 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20592
20593         * gst/gst.c: (gst_version):
20594         * gst/gstversion.h.in:
20595           add the nano
20596
20597 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20598
20599         * gst/gstevent.h:
20600           Oops, add missing closing bracket.
20601
20602 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20603
20604         * configure.ac:
20605           use common m4's for argument checking
20606
20607 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20608
20609         * docs/gst/gstreamer-sections.txt:
20610         * gst/gstevent.h:
20611           Add GST_EVENT_TYPE_NAME() macro.
20612
20613 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20614
20615         * gst/gstinfo.c:
20616         * gst/gstpluginfeature.c:
20617         * gst/gsttask.c:
20618           privatize more symbols
20619
20620 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20621
20622         * configure.ac:
20623           add srcdir, builddir includes to GST_ALL_CFLAGS, since
20624           everything that uses GStreamer API should have the includes
20625
20626 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20627
20628         * docs/gst/gstreamer-sections.txt:
20629         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
20630         * gst/gstvalue.h:
20631           give each value a _get_type, removes the DATA exports
20632
20633 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20634
20635         * gst/gst.c:
20636         * gst/gst.h:
20637           remove _gst_registry_auto_load, not used anymore
20638         * gst/gstbin.c: (gst_bin_get_type):
20639         * gst/gstbin.h:
20640         * gst/gstelement.c: (gst_element_get_type):
20641         * gst/gstelement.h:
20642         * gst/gstobject.c: (gst_object_get_type):
20643         * gst/gstobject.h:
20644         * gst/gstpad.c: (gst_pad_get_type):
20645         * gst/gstpad.h:
20646           make _get_type functions similar, fixes data export from library
20647
20648 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20649
20650         * configure.ac:
20651           correctly make conditionals
20652         * gst/elements/Makefile.am:
20653         * gst/elements/gstelements.c:
20654           fix typo causing fdsrc not to build
20655
20656 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20657
20658         * testsuite/Makefile.am:
20659         * testsuite/bytestream/.cvsignore:
20660         * testsuite/bytestream/Makefile.am:
20661         * testsuite/bytestream/filepadsink.c:
20662         * testsuite/bytestream/gstbstest.c:
20663         * testsuite/bytestream/test1.c:
20664         * testsuite/bytestream/testfile1:
20665         * testsuite/caps/normalisation.c:
20666         * testsuite/caps/random.c: (main):
20667         * testsuite/cleanup/.cvsignore:
20668         * testsuite/cleanup/Makefile.am:
20669         * testsuite/cleanup/cleanup1.c:
20670         * testsuite/cleanup/cleanup2.c:
20671         * testsuite/cleanup/cleanup3.c:
20672         * testsuite/cleanup/cleanup4.c:
20673         * testsuite/cleanup/cleanup5.c:
20674         * testsuite/controller/interpolator.c:
20675         * testsuite/debug/printf_extension.c: (main):
20676         * testsuite/elements/tee.c:
20677         * testsuite/negotiation/.cvsignore:
20678         * testsuite/negotiation/Makefile.am:
20679         * testsuite/negotiation/pad_link.c:
20680         * testsuite/pad/Makefile.am:
20681         * testsuite/pad/chainnopull.c:
20682         * testsuite/pad/getnopush.c:
20683         * testsuite/pad/link.c:
20684         * testsuite/refcounting/sched.c: (create_pipeline):
20685         * testsuite/registry/Makefile.am:
20686         * testsuite/registry/gst-print-formats.c:
20687         * testsuite/schedulers/.cvsignore:
20688         * testsuite/schedulers/142183-2.c:
20689         * testsuite/schedulers/142183.c:
20690         * testsuite/schedulers/143777-2.c:
20691         * testsuite/schedulers/143777.c:
20692         * testsuite/schedulers/147713.c:
20693         * testsuite/schedulers/147819.c:
20694         * testsuite/schedulers/147894-2.c:
20695         * testsuite/schedulers/147894.c:
20696         * testsuite/schedulers/Makefile.am:
20697         * testsuite/schedulers/group_link.c:
20698         * testsuite/schedulers/queue_link.c:
20699         * testsuite/schedulers/relink.c:
20700         * testsuite/schedulers/unlink.c:
20701         * testsuite/schedulers/unref.c:
20702         * testsuite/schedulers/useless_iteration.c:
20703         * testsuite/states/bin.c:
20704           clean out/remove some stuff from the testsuite directories
20705
20706 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20707
20708         * configure.ac:
20709           check for some headers
20710         * gst/elements/Makefile.am:
20711         * gst/elements/gstelements.c:
20712           don't compile fdsrc without sys/socket.h
20713         * gst/indexers/Makefile.am:
20714         * gst/indexers/gstindexers.c: (plugin_init):
20715           don't compile fileindex without mmap
20716
20717 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20718
20719         * configure.ac:
20720           reorganize
20721           clean up
20722           document more
20723           remove cruft
20724         * check/Makefile.am:
20725         * docs/gst/Makefile.am:
20726         * examples/helloworld/Makefile.am:
20727         * gst/Makefile.am:
20728         * gst/base/Makefile.am:
20729         * gst/check/Makefile.am:
20730         * gst/elements/Makefile.am:
20731         * gst/indexers/Makefile.am:
20732         * gst/parse/Makefile.am:
20733         * libs/gst/controller/Makefile.am:
20734         * libs/gst/dataprotocol/Makefile.am:
20735         * examples/helloworld/helloworld.c: (event_loop):
20736           compile fixes, though it's not being compiled currently
20737
20738 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20739
20740         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
20741           Add some simple tests for the new taglist date API.
20742
20743 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20744
20745         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
20746         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
20747           Beautify 'last-message' output: print 'none' for buffer timestamps
20748           and durations if none is set; improve alignment with next messages.
20749
20750 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20751
20752         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
20753         * gst/gstpluginfeature.h:
20754         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
20755         * gst/gstregistry.h:
20756         * docs/gst/gstreamer-sections.txt:
20757           Add new API to check plugin feature version requirements.
20758
20759         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
20760           Some basic tests for the above.         
20761
20762 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20763
20764         * gst/gststructure.c: (gst_structure_to_string):
20765           guard against NULL printf - happens when for example
20766           a message structure with GstClock gets serialized
20767
20768 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
20769
20770         * gst/base/gstcollectpads.c: (gst_collectpads_event):
20771           Fix presumable copy'n'pasto.
20772
20773 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20774
20775         * gst/elements/gstfakesrc.h:
20776         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
20777         * gst/elements/gsttypefindelement.c:
20778           fix some signedness
20779         * gst/elements/gstfilesink.c: (gst_file_sink_render):
20780           I wonder if this could actually write +2GB files before
20781
20782 2005-10-13  Andy Wingo  <wingo@pobox.com>
20783
20784         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
20785         Fix Timmeke Waymans bug.
20786         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
20787         string of the proper length to gst_caps_from_string. There's a
20788         potential for, before this fix, that this could cause someone
20789         connecting over the network to cause a segfault if the payload is
20790         not NUL-terminated.
20791
20792 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
20793
20794         * docs/design/draft-push-pull.txt:
20795         * docs/design/part-overview.txt:
20796         * docs/random/TODO-pre-0.9:
20797         * docs/random/old/ChangeLog.gstreamer:
20798         * gst/base/gstpushsrc.c:
20799         * gst/gstclock.c:
20800           fixed typos
20801
20802 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20803
20804         * gst/glib-compat.c: (gst_flags_get_first_value):
20805         * gst/glib-compat.h:
20806         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
20807         (gst_value_compare_double), (gst_value_serialize_flags):
20808           GLib 2.6 g_flags_get_first_value has a bug that triggers an
20809           infinite loop
20810
20811 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20812
20813         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20814         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20815           fix up debugging
20816         * tools/gst-launch.c: (event_loop):
20817           print out clock nicely
20818
20819 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
20820
20821         * docs/gst/gstreamer-sections.txt:
20822         * gst/gsttaglist.h:
20823         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
20824         (gst_tag_list_get_date_index):
20825           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
20826           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
20827
20828 2005-10-13  Julien MOUTTE  <julien@moutte.net>
20829
20830         * gst/base/gstcollectpads.c: (gst_collectpads_event),
20831         (gst_collectpads_chain):
20832         * gst/base/gstcollectpads.h: Handle newsegment and store informations
20833         in CollectData.
20834
20835 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
20836
20837         * docs/gst/gstreamer-sections.txt:
20838         * gst/gst.c:
20839         * gst/gsterror.h:
20840         * tools/gst-inspect.c: (main):
20841         * tools/gst-launch.c: (main):
20842         * tools/gst-run.c: (main):
20843         * tools/gst-xmlinspect.c: (main):
20844           fix GOption context leaks
20845           doc fixes
20846
20847 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20848
20849         * gst/gstbus.c:
20850           use HAVE_UNISTD_H
20851         * win32/common/config.h:
20852           update config
20853         * win32/vs6/grammar.dsp:
20854         * win32/vs6/libgstelements.dsp:
20855         * win32/vs6/libgstreamer.dsp:
20856           update vs6 files
20857
20858 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20859
20860         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20861         * gst/base/gstbasesrc.c: (gst_base_src_query):
20862           fix more guint64<->gdouble conversions
20863
20864 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20865
20866         * Makefile.am:
20867           add win32-update target
20868         * win32/common/gstconfig.h:
20869         * win32/common/gstenumtypes.c:
20870         * win32/common/gstenumtypes.h:
20871         * win32/common/gstversion.h:
20872           add files that visual studio can't generate
20873
20874 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20875
20876         * Makefile.am:
20877           add a win32-update target
20878         * configure.ac:
20879
20880 2005-10-12  Wim Taymans  <wim@fluendo.com>
20881
20882         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20883         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
20884         * gst/gstelement.c: (gst_element_commit_state),
20885         (gst_element_set_state):
20886         Protect flags with proper lock.
20887         unref provided cached clock in dispose.
20888
20889 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
20890
20891         * gst/gst.c:
20892         * gst/gstminiobject.h:
20893         * gst/gstpad.h:
20894         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
20895           removed unused flags from miniobject
20896           doc fixes
20897
20898 2005-10-12  Wim Taymans  <wim@fluendo.com>
20899
20900         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20901         (gst_file_sink_event), (gst_file_sink_render):
20902         Flush before seeking.
20903
20904 2005-10-12  Andy Wingo  <wingo@pobox.com>
20905
20906         * gst/gst.c (gst_init_check): Ignore unknown options, as has
20907         always been the case.
20908
20909 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
20910
20911         * check/gst/gstbin.c: (GST_START_TEST):
20912         * docs/gst/gstreamer-sections.txt:
20913         * gst/base/gstbasesink.c: (gst_base_sink_init):
20914         * gst/base/gstbasesrc.c: (gst_base_src_init),
20915         (gst_base_src_get_range), (gst_base_src_check_get_range),
20916         (gst_base_src_start), (gst_base_src_stop):
20917         * gst/base/gstbasesrc.h:
20918         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
20919         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20920         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
20921         (bin_bus_handler):
20922         * gst/gstbin.h:
20923         * gst/gstbuffer.h:
20924         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
20925         * gst/gstbus.h:
20926         * gst/gstelement.c: (gst_element_is_locked_state),
20927         (gst_element_set_locked_state), (gst_element_commit_state),
20928         (gst_element_set_state):
20929         * gst/gstelement.h:
20930         * gst/gstindex.c: (gst_index_init):
20931         * gst/gstindex.h:
20932         * gst/gstminiobject.h:
20933         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
20934         (gst_object_set_parent):
20935         * gst/gstobject.h:
20936         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
20937         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
20938         * gst/gstpad.h:
20939         * gst/gstpadtemplate.h:
20940         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
20941         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
20942         * gst/gstpipeline.h:
20943         * gst/indexers/gstfileindex.c: (gst_file_index_load),
20944         (gst_file_index_commit):
20945         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
20946         * testsuite/pad/link.c: (gst_test_src_init),
20947         (gst_test_filter_init), (gst_test_sink_init):
20948         * testsuite/states/locked.c: (main):
20949           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
20950           moved bitshift from macro to enum definition
20951
20952 2005-10-12  Wim Taymans  <wim@fluendo.com>
20953
20954         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
20955         * gst/elements/gstfilesink.c: (gst_file_sink_event),
20956         (gst_file_sink_render):
20957         Some more debugging info.
20958
20959 2005-10-12  Wim Taymans  <wim@fluendo.com>
20960
20961         * docs/design/part-states.txt:
20962         * tools/gst-launch.c: (main):
20963         Some doc updates.
20964         Revert non-intentional change.
20965
20966 2005-10-12  Wim Taymans  <wim@fluendo.com>
20967
20968         * check/gst/gstbin.c: (GST_START_TEST):
20969         * check/gst/gstelement.c: (GST_START_TEST):
20970         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
20971         * check/gst/gstghostpad.c: (GST_START_TEST):
20972         * check/gst/gstpipeline.c: (GST_START_TEST):
20973         * check/pipelines/simple_launch_lines.c: (run_pipeline):
20974         * check/states/sinks.c: (GST_START_TEST):
20975         * gst/elements/gsttypefindelement.c: (stop_typefinding):
20976         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20977         (gst_bin_remove_func), (gst_bin_get_state_func),
20978         (gst_bin_recalc_state), (gst_bin_change_state_func),
20979         (bin_bus_handler):
20980         * gst/gstelement.c: (gst_element_get_state_func),
20981         (gst_element_get_state), (gst_element_abort_state),
20982         (gst_element_commit_state), (gst_element_set_state),
20983         (gst_element_change_state), (gst_element_change_state_func):
20984         * gst/gstelement.h:
20985         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
20986         (gst_pipeline_provide_clock_func):
20987         * gst/gstutils.c: (gst_element_link_pads_filtered):
20988         * tools/gst-launch.c: (main):
20989         * tools/gst-typefind.c: (main):
20990         Use GstClockTime in _get_state() instead of GTimeVal.
20991         Remove old code in gstutils.c
20992
20993 2005-10-12  Andy Wingo  <wingo@pobox.com>
20994
20995         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
20996         removed.
20997
20998         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
20999         there is no task. Shouldn't affect any code, as nothing in our
21000         plugins checks this return value.
21001         (gst_pad_stop_task): Also take the stream lock if the pad has no
21002         task. Docs updated.
21003
21004 2005-10-12  Wim Taymans  <wim@fluendo.com>
21005
21006         * gst/gstpad.c: (pre_activate), (post_activate),
21007         (gst_pad_activate_pull), (gst_pad_activate_push):
21008         Cleanup activation code. Reset old state if
21009         activation failed.
21010
21011 2005-10-12  Wim Taymans  <wim@fluendo.com>
21012
21013         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21014         (gst_base_sink_change_state):
21015         No need to prerol after receiving EOS.
21016
21017         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21018         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
21019         * gst/elements/gstidentity.c: (gst_identity_event):
21020         Print events more verbosely.
21021
21022 2005-10-12  Wim Taymans  <wim@fluendo.com>
21023
21024         * check/Makefile.am:
21025         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21026         * check/states/sinks2.c:
21027         Moved sinks2 testcode in sinks check.
21028
21029         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21030         (gst_bin_remove_func), (gst_bin_recalc_state),
21031         (gst_bin_change_state_func), (bin_bus_handler):
21032         Fix potential race condition when _get_state() iterated over an
21033         ASYNC element right before it posted a state completion.
21034
21035         * gst/gstclock.h:
21036         Do proper cast here.
21037
21038         * gst/gstevent.c: (gst_event_new_newsegment),
21039         (gst_event_parse_newsegment):
21040         A playback rate of 0.0 is not allowed.
21041
21042 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21043
21044         * win32/common/config.h:
21045         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
21046         (_trewinddir), (_ttelldir), (_tseekdir):
21047         * win32/common/dirent.h:
21048         * win32/common/gtchar.h:
21049         * win32/common/libgstbase.def:
21050         * win32/common/libgstreamer.def:
21051         * win32/vs6/grammar.dsp:
21052         * win32/vs6/gst_inspect.dsp:
21053         * win32/vs6/gst_launch.dsp:
21054         * win32/vs6/gstreamer.dsw:
21055         * win32/vs6/libgstbase.dsp:
21056         * win32/vs6/libgstelements.dsp:
21057         * win32/vs6/libgstreamer.dsp:
21058           Visual Studio 6 project files, and a new common directory.
21059           Phear.
21060
21061 2005-10-11  Wim Taymans  <wim@fluendo.com>
21062
21063         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21064         (gst_base_sink_do_sync), (gst_base_sink_query),
21065         (gst_base_sink_change_state):
21066         * gst/base/gstbasesink.h:
21067         Correctly parse newsegment info.
21068
21069 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21070
21071         * gst/gst.c: (init_post):
21072           split plugin paths correctly
21073
21074 2005-10-11  Wim Taymans  <wim@fluendo.com>
21075
21076         * check/gst/gstevent.c: (GST_START_TEST):
21077         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21078         (gst_base_sink_change_state):
21079         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
21080         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21081         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21082         * gst/gstevent.c: (gst_event_new_newsegment),
21083         (gst_event_parse_newsegment):
21084         * gst/gstevent.h:
21085         Added extra flag to newsegment for future API freeze.
21086         Updated check and base elements.
21087
21088 2005-10-11  Julien MOUTTE  <julien@moutte.net>
21089
21090         * gst/base/gstcollectpads.c: (gst_collectpads_init),
21091         (gst_collectpads_add_pad), (gst_collectpads_pop),
21092         (gst_collectpads_event), (gst_collectpads_chain):
21093         * gst/base/gstcollectpads.h: Handle EOS correctly.
21094
21095 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21096
21097         * tools/gst-launch.c: (main):
21098           more null protecting
21099
21100 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21101
21102         * gst/gst-i18n-lib.h:
21103           check for ENABLE_NLS, not GETTEXT_PACKAGE
21104         * gst/gstregistry.c: (gst_registry_add_plugin),
21105         (gst_registry_scan_path_level),
21106         (_gst_registry_remove_cache_plugins):
21107           protect possibly NULL strings
21108         * gst/parse/types.h:
21109           config.h already included before
21110         * tools/gst-inspect.c: (main):
21111           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
21112           check for ENABLE_NLS, not GETTEXT_PACKAGE
21113         * tools/gst-launch.c: (main):
21114           check for ENABLE_NLS, not GETTEXT_PACKAGE
21115
21116 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21117
21118         * configure.ac:
21119           if we don't have glib, fail before testing 2.8
21120         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
21121           fix a leak, should fix plugins-base testsuite
21122
21123 2005-10-11  Andy Wingo  <wingo@pobox.com>
21124
21125         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
21126         take the mode we're going to as an arg. Go head and set the mode
21127         and flushing flags now, so that if the activate function starts a
21128         thread all the flags will be in the right state.
21129         (post_activate): Renamed also. Just handle making sure streaming
21130         finishes for the deactivation case, and setting the deactivated
21131         mode.
21132         (gst_pad_set_active): Complain loudly if deactivation fails.
21133         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
21134         (gst_pad_activate_push): Adapt to pre/post_activate changes,
21135         remove the terrible hack.
21136
21137 2005-10-11  Wim Taymans  <wim@fluendo.com>
21138
21139         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21140         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
21141         (gst_bin_recalc_state), (gst_bin_change_state_func),
21142         (gst_bin_dispose), (bin_bus_handler):
21143         * gst/gstbin.h:
21144         Prepare to make current EOS message queue more generic.
21145         Fix some typos.
21146
21147         * gst/gstevent.c: (gst_event_new_newsegment),
21148         (gst_event_parse_newsegment):
21149         * gst/gstevent.h:
21150         Rename base to stream_time.
21151
21152         * gst/gstmessage.h:
21153         Fix typo in docs.
21154
21155 2005-10-11  Wim Taymans  <wim@fluendo.com>
21156
21157         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21158         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
21159         (gst_bin_change_state_func), (bin_bus_handler):
21160         * gst/gstbin.h:
21161         Work on proper clock selection.
21162
21163 2005-10-11  Edward Hervey  <edward@fluendo.com>
21164
21165         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
21166         * libs/gst/controller/gstcontroller.h:
21167         Added GList* version of _remove_properties() in order to be able to wrap
21168         it in bindings.
21169
21170 2005-10-11  Wim Taymans  <wim@fluendo.com>
21171
21172         * docs/design/part-states.txt:
21173         Some more docs.
21174
21175         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
21176         (gst_bin_change_state_func), (bin_bus_handler):
21177         Doc updates. Don't distribute the same clock over and over again.
21178
21179         * gst/gstclock.c:
21180         * gst/gstclock.h:
21181         Doc updates.
21182
21183         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
21184         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
21185         (gst_pad_send_event):
21186         * gst/gstpad.h:
21187         Make probe emission threadsafe again.
21188         Register quarks and move _get_name() from utils.
21189         Doc updates.
21190
21191         * gst/gstpipeline.c: (gst_pipeline_class_init),
21192         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21193         Only redistribute the clock of it changed.
21194
21195         * gst/gstsystemclock.h:
21196         Doc updates. 
21197
21198         * gst/gstutils.c:
21199         * gst/gstutils.h:
21200         Moved the _flow_get_name() to GstPad.
21201
21202 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21203
21204         * check/gst-libs/gdp.c: (GST_START_TEST):
21205         * check/gst/gstcaps.c: (GST_START_TEST):
21206         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
21207         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
21208         (gst_dp_packet_from_caps):
21209           fix more valgrind warnings before turning up the heat
21210
21211 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21212
21213         * gst/parse/grammar.y:
21214           some cleanup before the hacking
21215
21216 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21217
21218         * gst/base/gstbasesrc.c: (gst_base_src_query):
21219           use conversions
21220         * gst/gstutils.c: (gst_guint64_to_gdouble),
21221         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
21222         * gst/gstutils.h:
21223           externalize, basesrc uses it
21224           obviously the implementation needs testing
21225
21226 2005-10-10  Wim Taymans  <wim@fluendo.com>
21227
21228         * tests/sched/Makefile.am:
21229         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
21230         (make_pipeline3), (make_pipeline4), (print_elem), (main):
21231
21232 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21233
21234         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
21235           apparently converting from guint64 to double is not implemented
21236           on MSVC
21237
21238 2005-10-10  Wim Taymans  <wim@fluendo.com>
21239
21240         * check/Makefile.am:
21241         * check/generic/states.c: (GST_START_TEST):
21242         * check/gst/gstbin.c: (GST_START_TEST):
21243         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21244         * check/states/sinks.c: (GST_START_TEST):
21245         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
21246         (main):
21247         Check fixes, use API as stated in design docs, remove hacks.
21248
21249         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21250         (gst_base_sink_change_state):
21251         Catch stopping our task while we're shutting down.
21252
21253         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
21254         (gst_bin_remove_func), (gst_bin_get_state_func),
21255         (gst_bin_recalc_state), (gst_bin_change_state_func),
21256         (bin_bus_handler):
21257         * gst/gstbin.h:
21258         * gst/gstelement.c: (gst_element_init),
21259         (gst_element_get_state_func), (gst_element_abort_state),
21260         (gst_element_commit_state), (gst_element_lost_state),
21261         (gst_element_set_state), (gst_element_change_state),
21262         (gst_element_change_state_func):
21263         * gst/gstelement.h:
21264         New state change algorithm (see #318116)
21265
21266         * gst/gstpipeline.c: (gst_pipeline_class_init),
21267         (gst_pipeline_init), (gst_pipeline_set_property),
21268         (gst_pipeline_get_property), (do_pipeline_seek),
21269         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21270         * gst/gstpipeline.h:
21271         Remove crude state change hacks.
21272
21273         * gst/gstutils.h:
21274         Remove crude hacks.
21275
21276         * tools/gst-launch.c: (main):
21277         Fixes for state change. Needs some more work to fully use the
21278         new stuff.
21279
21280 2005-10-10  Andy Wingo  <wingo@pobox.com>
21281
21282         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
21283
21284         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
21285         this flag, but it's not even in GLib 2.6. Odd. Hack around the
21286         issue.
21287
21288 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21289
21290         * gst/gstiterator.c: (gst_iterator_new):
21291           Fix my previous commit: GTypes passed to gst_iterator_new()
21292           can be fundamental types.
21293
21294 2005-10-10  Wim Taymans  <wim@fluendo.com>
21295
21296         * gst/gstelement.c: (gst_element_iterate_pad_list),
21297         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
21298         (gst_element_iterate_sink_pads):
21299         Use src/sink pads lists for the respective iterators instead
21300         of filtering.
21301
21302 2005-10-10  Andy Wingo  <wingo@pobox.com>
21303
21304         Merged in popt removal + GOption addition patch from Ronald, bug
21305         #169772.
21306
21307         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
21308         GstElement macros around, remove popt-related symbols, add goption
21309         stuff.
21310
21311         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
21312         
21313         * docs/gst/Makefile.am:
21314         * docs/libs/Makefile.am: No POPT_CFLAGS.
21315         
21316         * examples/manual/Makefile.am:
21317         * docs/manual/basics-init.xml: Doc updates with an example.
21318         
21319         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
21320         (gst_init), (parse_one_option), (parse_goption_arg):
21321         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
21322         bit of hand merging and debugging to get the GOption stuff working
21323         tho.
21324         
21325         * tests/Makefile.am:
21326         * tools/Makefile.am:
21327         * tools/gst-inspect.c: (main):
21328         * tools/gst-launch.c: (main):
21329         * tools/gst-run.c: (main):
21330         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
21331
21332 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21333
21334         * gst/gstiterator.c: (gst_iterator_new):
21335           Add assertions to make sure passed GType is likely to really
21336           be a GType (as the compiler won't catch it if the size and
21337           GType arguments get mixed up, see #318447).
21338
21339 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
21340
21341         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21342
21343         * gst/gstbin.c: (gst_bin_iterate_sorted):
21344           Pass GType and size arguments to gst_iterator_new() in the right
21345           order (maybe we should make _new() take the GType as first argument
21346           just like _new_list()?) (#318447).
21347           
21348
21349 2005-10-10  Wim Taymans  <wim@fluendo.com>
21350
21351         * gst/gstelement.c: (gst_element_finalize):
21352         And free the GStaticRecMutex too
21353
21354 2005-10-10  Andy Wingo  <wingo@pobox.com>
21355
21356         * gst/gstelement.c (gst_element_init, gst_element_finalize):
21357         Allocate and free the mutex properly.
21358
21359         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
21360         New macros.
21361         (GstElement): The state_lock is now recursive. Rebuild your
21362         plugins, suckers. Old macros adapted.
21363
21364         * docs/gst/gstreamer-sections.txt: Doc updates.
21365
21366         * gst/gstutils.h:
21367         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
21368         (g_static_rec_cond_wait): Ported from state changes patch, while
21369         we wait on bug #317802 to be solved in a well-distributed GLib.
21370
21371         * gst/gstelement.c (gst_element_change_state_func): Renamed from
21372         gst_element_change_state, variable name changes.
21373         (gst_element_change_state): Split out of gst_element_set_state in
21374         preparation for the state change merge. Doesn't pay attention to
21375         the 'transition' argument.
21376         (gst_element_set_state): Updates, hopefully purely cosmetic.
21377         (gst_element_sync_state_with_parent): MT-safety. Ported from the
21378         state change patch.
21379         (gst_element_get_state_func): Renamed from get_state, cosmetic
21380         changes.
21381
21382 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21383
21384         * gst/elements/gstelements.c:
21385         * win32/GStreamer.vcproj:
21386         * win32/config.h:
21387         * win32/dirent.c: (_tseekdir):
21388         * win32/gst-inspect.vcproj:
21389         * win32/gst-launch.vcproj:
21390         * win32/gstconfig.h:
21391         * win32/gstelements.vcproj:
21392         * win32/gstenumtypes.c: (gst_object_flags_get_type):
21393         * win32/gstreamer.def:
21394         * win32/msvc71.sln:
21395           updates for the win32 build (patch from Sebastien Moutte)
21396
21397 2005-10-10  Andy Wingo  <wingo@pobox.com>
21398
21399         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
21400         gst_bin_get_state, cleaned up (but no logic changes).
21401         (bin_element_is_sink): Comment updates.
21402         (sink_iterator_filter): Remove needless cast.
21403         (gst_bin_iterate_sinks): Doc update.
21404         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
21405         cleaned up (but no logic changes).
21406
21407         * check/states/sinks.c (test_src_sink): Cleanups from the state
21408         change patch.
21409         (test_livesrc_sink): Sync on the state.
21410
21411         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
21412         the state change patch.
21413
21414         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
21415         change patch.
21416
21417         * check/gst/gstbin.c: Merge in some style fixes and additional
21418         checks from Wim's state change patch.
21419
21420 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21421
21422         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21423         (gst_type_find_helper):
21424           Check whether we have the requested data already in our list of
21425           cached buffers before pulling a new buffer; also make the buffer
21426           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
21427
21428 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21429
21430         * gst/gstcaps.c:
21431         * gst/gstevent.c:
21432           doc updates
21433         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21434           don't use long long, it's not portable.  Replacing with
21435           gint64 seems to work; let's hope no skeletons fall out of the closet.
21436
21437 2005-10-10  Andy Wingo  <wingo@pobox.com>
21438
21439         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
21440
21441 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
21442
21443         * docs/gst/gstreamer-sections.txt:
21444         * gst/gstevent.c:
21445         * gst/gstevent.h:
21446         * gst/gstinfo.c:
21447         * gst/gstinfo.h:
21448         * gst/gstmessage.c: (gst_message_parse_state_changed):
21449         * gst/gstpad.c:
21450         * gst/gstpad.h:
21451           more docs, fix compilation
21452
21453 2005-10-09  Philippe Khalaf <burger@speedy.org>
21454         * gst/gstmessage.c:
21455           Fixed a few forgotten variables on previous commit
21456
21457 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
21458
21459         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21460           Fix evil typefind crasher: getrange() might return a short
21461           buffer at the end of a file, but gst_type_find_peek() must
21462           either return the full data as requested or NULL, but
21463           never a short buffer.
21464
21465 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21466
21467         * gst/gstmessage.c: (gst_message_new_state_changed),
21468         (gst_message_parse_state_changed):
21469         * gst/gstmessage.h:
21470           don't use "new", it's a C++ keyword
21471
21472 2005-10-08  Wim Taymans  <wim@fluendo.com>
21473
21474         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
21475         * gst/gstelement.c: (gst_element_post_message):
21476         * gst/gstpipeline.c: (gst_pipeline_change_state):
21477         Small docs and debug updates.
21478
21479 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21480
21481         * docs/gst/gstreamer-sections.txt:
21482         * gst/gstelementfactory.c:
21483         * gst/gstevent.c:
21484         * gst/gsttaglist.c:
21485           more docs
21486
21487 2005-10-08  Wim Taymans  <wim@fluendo.com>
21488
21489         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
21490         (gst_bin_dispose), (bin_bus_handler):
21491         Fix typos, add comments.
21492         Clear EOS list when going to PAUSED from any direction and do it
21493         in a threadsafe way.
21494         Get base time in a threadsafe way too.
21495         Fix confusing debug in the change_state function.
21496         Various other small cleanups.
21497         
21498         * gst/gstelement.c: (gst_element_post_message):
21499         Fix very verbose bus posting code.
21500
21501         * gst/gstpipeline.c: (gst_pipeline_class_init),
21502         (gst_pipeline_set_property), (gst_pipeline_get_property),
21503         (gst_pipeline_change_state):
21504         Small ARG_ -> PROP_ cleanup
21505
21506 2005-10-08  Wim Taymans  <wim@fluendo.com>
21507
21508         * gst/gstbin.c: (is_eos), (bin_bus_handler):
21509         Do a less CPU demanding EOS check because we can.
21510
21511 2005-10-08  Wim Taymans  <wim@fluendo.com>
21512
21513         * libs/gst/dataprotocol/dataprotocol.c:
21514         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
21515         (gst_dp_packet_from_event):
21516         * libs/gst/dataprotocol/dataprotocol.h:
21517         * libs/gst/dataprotocol/dp-private.h:
21518         It's about time we bump the version number.
21519         Since event types don't fit in the guint8 anymore describing
21520         the payload type, make payload type 16 bits wide.
21521
21522 2005-10-08  Wim Taymans  <wim@fluendo.com>
21523
21524         * docs/design/part-TODO.txt:
21525         * docs/design/part-clocks.txt:
21526         * docs/design/part-events.txt:
21527         * docs/design/part-gstbin.txt:
21528         * docs/design/part-gstelement.txt:
21529         * docs/design/part-gstpipeline.txt:
21530         * docs/design/part-live-source.txt:
21531         * docs/design/part-messages.txt:
21532         * docs/design/part-overview.txt:
21533         * docs/design/part-states.txt:
21534         Many doc updates.
21535
21536 2005-10-08  Wim Taymans  <wim@fluendo.com>
21537
21538         * gst/gstevent.c:
21539         * gst/gstevent.h:
21540         Fix event quark registration.
21541         Add some space between events so we can insert them in the
21542         right groups.
21543
21544 2005-10-08  Wim Taymans  <wim@fluendo.com>
21545
21546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21547         (gst_base_sink_handle_buffer):
21548         Better log message.
21549
21550         * gst/gstbus.h:
21551         * gst/gstelement.h:
21552         More docs.
21553
21554         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
21555         (gst_queue_set_property), (gst_queue_get_property):
21556         * gst/gstqueue.h:
21557         Remove old unused properties.
21558
21559 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21560         * docs/gst/gstreamer-sections.txt:
21561         * gst/gstmessage.c:
21562         * gst/gstmessage.h:
21563         * gst/gstminiobject.c:
21564         * gst/gstminiobject.h:
21565         * gst/gstobject.h:
21566         * gst/gstpad.h:
21567         * gst/gstutils.h:
21568           lots of new docs and doc fixes
21569
21570 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21571
21572         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
21573         * gst/gstplugin.h:
21574         * gst/gstregistry.c: (gst_registry_lookup_locked),
21575         (gst_registry_scan_path_level):
21576         * gst/gstregistryxml.c: (load_plugin):
21577           Only ever load one plugin for a given plugin basename.
21578           This ensures correct overriding of GST_PLUGIN_PATH over
21579           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
21580           system installed plugins.
21581
21582 2005-10-08  Wim Taymans  <wim@fluendo.com>
21583
21584         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21585         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
21586         Prepare for doing QOS.
21587
21588 2005-10-08  Wim Taymans  <wim@fluendo.com>
21589
21590         * check/gst/gstbin.c: (GST_START_TEST):
21591         * check/pipelines/cleanup.c: (GST_START_TEST):
21592         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21593         Allow new clock message too.
21594
21595 2005-10-08  Wim Taymans  <wim@fluendo.com>
21596
21597         * gst/gstmessage.c: (gst_message_new_error),
21598         (gst_message_new_warning), (gst_message_new_tag),
21599         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21600         (gst_message_new_clock_lost), (gst_message_new_new_clock),
21601         (gst_message_new_segment_start), (gst_message_new_segment_done),
21602         (gst_message_parse_state_changed),
21603         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
21604         (gst_message_parse_new_clock):
21605         * gst/gstmessage.h:
21606         Also carry the clock in question.
21607
21608 2005-10-08  Wim Taymans  <wim@fluendo.com>
21609
21610         * gst/gstmessage.c: (gst_message_new_custom),
21611         (gst_message_new_eos), (gst_message_new_error),
21612         (gst_message_new_warning), (gst_message_new_tag),
21613         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21614         (gst_message_new_new_clock), (gst_message_new_segment_start),
21615         (gst_message_new_segment_done), (gst_message_parse_state_changed),
21616         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
21617         * gst/gstmessage.h:
21618         Clean up.
21619         Added clock related messages.
21620
21621         * gst/gstpipeline.c: (gst_pipeline_change_state):
21622         Post message when the clock changed.
21623
21624         * tools/gst-launch.c: (event_loop):
21625         Print new clock.
21626
21627 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
21628
21629         * tools/gst-inspect.c: (print_element_properties_info):
21630           Can't pass NULL strings to g_print() on windows.
21631
21632 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21633
21634         * docs/Makefile.am:
21635         * docs/gst/Makefile.am:
21636         * docs/gst/gstreamer-docs.sgml:
21637         * docs/gst/running.xml:
21638         * docs/version.entities.in:
21639           add a chapter on running GStreamer.
21640           document GST_DEBUG and GST_PLUGIN* env vars
21641
21642 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21643
21644         * Makefile.am:
21645           remove include dir
21646         * configure.ac:
21647           remove PLUGINS_BUILDDIR stuff
21648         * gst/gst.c: (init_post):
21649           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
21650         * idiottest.mak:
21651           remove, it was condescending and not needed
21652
21653 2005-10-08  Wim Taymans  <wim@fluendo.com>
21654
21655         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
21656         (gst_base_sink_handle_object), (gst_base_sink_event),
21657         (gst_base_sink_wait), (gst_base_sink_handle_event),
21658         (gst_base_sink_change_state):
21659         * gst/base/gstbasesink.h:
21660         Repost EOS message while going to PLAYING if still EOS.
21661         Make sure that when receiving a FLUSH_START we don't attempt
21662         to sync on the clock anymore.
21663
21664 2005-10-08  Wim Taymans  <wim@fluendo.com>
21665
21666         * tools/gst-launch.c: (event_loop):
21667         Better message printout.
21668
21669 2005-10-08  Wim Taymans  <wim@fluendo.com>
21670
21671         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
21672         (gst_bin_child_proxy_get_children_count):
21673         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
21674         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
21675         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
21676         (gst_child_proxy_set_valist):
21677         * gst/parse/grammar.y:
21678         Make ChildProxy threadsafe and fix mem leaks.
21679
21680 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21681
21682         * gst/gst.c: (init_post):
21683           debug the GST_PLUGIN_ env vars
21684
21685 2005-10-08  Wim Taymans  <wim@fluendo.com>
21686
21687         * check/gst/gstbin.c: (GST_START_TEST):
21688         * check/gst/gstmessage.c: (GST_START_TEST):
21689         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21690         * gst/gstelement.c: (gst_element_commit_state),
21691         (gst_element_lost_state):
21692         * gst/gstmessage.c: (gst_message_new_state_changed),
21693         (gst_message_parse_state_changed):
21694         * gst/gstmessage.h:
21695         * tools/gst-launch.c: (event_loop):
21696         Added extra field to STATE_CHANGE message with the pending
21697         state, which will be different from the new state soon.
21698
21699 2005-10-08  Wim Taymans  <wim@fluendo.com>
21700
21701         * gst/gstbus.c: (gst_bus_pop):
21702         * gst/gstclock.c:
21703         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21704         Small cleanups and doc updates.
21705
21706 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21707
21708         * gst/gst.c: (init_pre):
21709         * gst/gstbin.c: (gst_bin_add_func):
21710           log distributing clocks and base time
21711         * gst/gstregistry.c: (gst_registry_add_plugin),
21712         (gst_registry_scan_path_level), (gst_registry_scan_path):
21713           clean up the debugging output a little
21714         * gst/gstutils.c: (gst_element_state_get_name):
21715           warn about a memleak (I've actually seen this be used, though
21716           it was probably a bug)
21717
21718 2005-10-07  Wim Taymans  <wim@fluendo.com>
21719
21720         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21721         (gst_base_src_init), (gst_base_src_default_newsegment),
21722         (gst_base_src_newsegment), (gst_base_src_do_seek),
21723         (gst_base_src_loop), (gst_base_src_start):
21724         * gst/base/gstbasesrc.h:
21725         Make the newsegment event customizable by subclasses.
21726
21727 2005-10-07  Wim Taymans  <wim@fluendo.com>
21728
21729         * gst/gstevent.c: (gst_event_new_buffersize),
21730         (gst_event_parse_buffersize):
21731         * gst/gstevent.h:
21732         New event for future idea.
21733
21734 2005-10-07  Andy Wingo  <wingo@pobox.com>
21735
21736         * gst/gstelement.c (gst_element_post_message): Doc update.
21737
21738         * docs/gst/gstreamer-sections.txt: Update.
21739
21740         * gst/gstmessage.c (gst_message_new_application): Made into a
21741         function like honest API calls.
21742         (gst_message_new_element): New message type.
21743
21744         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
21745
21746         * check/elements/fakesrc.c (test_no_preroll): New check, checks
21747         that setting a live fakesrc to PAUSED returns NO_PREROLL both
21748         times.
21749
21750         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
21751         NO_PREROLL from gst_element_change_state to fall through.
21752
21753 2005-10-07  Wim Taymans  <wim@fluendo.com>
21754
21755         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
21756         (gst_ghost_pad_do_activate_push):
21757         Activating a ghostpad with no internal pad in push mode
21758         is ok.
21759
21760 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21761
21762         * gst/gstobject.h:
21763           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
21764           Fixes compilation on Windows.
21765
21766 2005-10-07  Michael Smith <msmith@fluendo.com>
21767
21768         * tools/gst-inspect.c:
21769           Print out feature and plugin count at the end when printing out
21770           all features.
21771
21772 2005-10-04  Michael Smith <msmith@fluendo.com>
21773
21774         * gst/gsterror.c: (_gst_stream_errors_init):
21775           Add another error string used in a few existing plugins.
21776
21777         * gst/gstplugin.c:
21778         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
21779         * tools/gst-inspect.c: (print_element_info):
21780           When a feature disappears from a plugin (and the feature exists in
21781           the cached registry file), things went horribly wrong. This isn't a
21782           complete fix, we should actually be removing the 'missing' features
21783           from the features list when we load the actual plugin. That's not
21784           yet implemented. 
21785
21786 2005-10-04  Johan Dahlin  <johan@gnome.org>
21787
21788         * check/gst/gstiterator.c: (GST_START_TEST):
21789         * gst/gstbin.c: (gst_bin_iterate_elements),
21790         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
21791         * gst/gstelement.c: (gst_element_iterate_pads):
21792         * gst/gstformat.c: (gst_format_iterate_definitions):
21793         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
21794         (gst_iterator_new_list), (gst_iterator_filter):
21795         * gst/gstiterator.h:
21796         * gst/gstquery.c: (gst_query_type_iterate_definitions):
21797         Add a GType to GstIterator, update callsites and tests.
21798
21799 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21800
21801         * gst/gstpad.c: (gst_pad_event_default_dispatch):
21802           give events a chance to be handled by event probes when the pad
21803           is not linked
21804
21805 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21806
21807         * gst/gstevent.c: (gst_event_type_get_name),
21808         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
21809         * gst/gstevent.h:
21810           add string representations for event types
21811
21812 2005-10-06  Wim Taymans  <wim@fluendo.com>
21813
21814         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
21815         Don't use NULL pointers.
21816
21817 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21818
21819         * gst/gst_private.h:
21820         * gst/gstbus.c:
21821         * gst/gstelement.c:
21822         * gst/gstinfo.c:
21823         * gst/gstpluginfeature.c:
21824           widen the debug category in output to fit the biggest one we have
21825           add a bus category and use it
21826           play with the colors
21827           fix up some categories
21828
21829 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21830
21831         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
21832           add push activation of sink ghost pads.
21833           Andye, please verify
21834
21835 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21836
21837         * gst/gstutils.c: (gst_element_link_pads):
21838           fix a bug in the case where neither element has a pad
21839         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21840           add a test for that case
21841
21842 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21843
21844         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
21845           emit have-data before checking for peers.  This allows
21846           for probe handlers to connect elements.  This helps autopluggers.
21847         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
21848         (gst_pad_suite):
21849           add six checks, linked/unlinked with no/true/false probe
21850
21851 2005-10-04  Wim Taymans  <wim@fluendo.com>
21852
21853         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
21854         (gst_fake_sink_event), (gst_fake_sink_preroll),
21855         (gst_fake_sink_render), (gst_fake_sink_change_state):
21856         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
21857         (gst_fake_src_get_property), (gst_fake_src_create),
21858         (gst_fake_src_stop):
21859         * gst/elements/gstidentity.c: (gst_identity_stop):
21860         Protect last_message with lock.
21861
21862 2005-10-04  Edward Hervey  <edward@fluendo.com>
21863
21864         * gst/gstformat.h: 
21865         Added precision in the comments for GST_FORMAT_DEFAULT
21866
21867 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
21868
21869         * tools/gst-launch.c: (main):
21870           Don't try to run erroneous pipelines.
21871
21872 2005-10-04  Julien MOUTTE  <julien@moutte.net>
21873
21874         * gst/gstbus.c: We don't need this header.
21875
21876 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21877
21878         * configure.ac:
21879           back to development
21880
21881 === release 0.9.3 ===
21882
21883 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21884
21885         * README:
21886         * configure.ac:
21887           Releasing 0.9.3, "Unregistered"
21888
21889 2005-10-03  Andy Wingo  <wingo@pobox.com>
21890
21891         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
21892         whereby calling a pad's activatepush() function can start a thread
21893         that starts to push or pull before the pad gets the FLUSHING flag
21894         unset. Hack around it by holding the stream lock until the flag is
21895         set. Need to replace this with a proper solution. Together with
21896         the ghost pad fixes, this fixes mp3 playing/tagreading.
21897
21898         * docs/design/part-gstghostpad.txt: Add a note about activation of
21899         proxy pads outside of ghost pads.
21900
21901         * gst/gstghostpad.c: Implement the ghost pad activation design.
21902
21903 2005-10-02  Andy Wingo  <wingo@pobox.com>
21904
21905         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
21906         It is volatile, after all.
21907
21908         * docs/design/part-gstghostpad.txt: Flesh out activation with
21909         ghost pads.
21910
21911         * gst/base/gstbasesrc.c (gst_base_src_init): Use
21912         GST_DEBUG_FUNCPTR.
21913
21914 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
21915
21916         * configure.ac:
21917           Fix (unused) AM_CONDITIONAL tests.
21918
21919 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
21920
21921         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21922
21923         * gst/gstutils.c: (gst_pad_query_convert):
21924           Add assertion that makes sure src_val is >=0, just like
21925           gst_query_new_convert() has. (#315895)
21926
21927 2005-09-30  Edward Hervey  <edward@fluendo.com>
21928
21929         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
21930         Let's not iterate pads we're not interested in, it avoids getting 
21931         sky-high refcounts on sinkpad.
21932
21933 2005-09-30  Wim Taymans  <wim@fluendo.com>
21934
21935         * gst/gstelement.c: (gst_element_set_state),
21936         (gst_element_change_state):
21937         Small tweak, element in ASYNC remains ASYNC.
21938
21939 2005-09-30  Wim Taymans  <wim@fluendo.com>
21940
21941         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21942         Only error is an error.
21943
21944         * gst/gstbin.c: (gst_bin_change_state):
21945         Better debugging.
21946
21947         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
21948         Also call pad_block in pad alloc.
21949
21950         * gst/gstutils.c: (gst_flow_get_name):
21951         Better debugging.
21952
21953 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21954
21955         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21956         (gst_base_src_get_range):
21957           Fix documentation typos. Add some more debug info.
21958
21959 2005-09-29  David Schleef  <ds@schleef.org>
21960
21961         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
21962           more end-user friendly.
21963         * tools/gst-inspect.c: (main): Check if command-line argument is
21964           a file and attempt to load that file as a plugin.
21965
21966 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21967
21968         * check/gst/gstbin.c:
21969         * check/states/sinks.c:
21970           fix tests for the new warning
21971         * check/gst/gstpipeline.c:
21972           add a test for pipeline and bus interaction
21973         * gst/gstelement.c:
21974           elements should be NULL if they get disposed; add a warning if not
21975
21976 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21977
21978         * gst/gstobject.c:
21979           for 2.6 refcounting, make debug log more correct by printing
21980           the actual refcounts at the time of swap (Wim)
21981
21982 2005-09-29  Andy Wingo  <wingo@pobox.com>
21983
21984         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
21985         removes signal watches previously added via
21986         gst_bus_add_signal_watch.
21987         (gst_bus_add_signal_watch): Don't return the source id, just store
21988         it on the bus if there wasn't an id already.
21989
21990         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
21991         add_signal_watch and remove_signal_watch.
21992
21993 2005-09-29  Edward Hervey  <edward@fluendo.com>
21994
21995         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
21996         Better if we actually iterate the list :)
21997
21998 2005-09-29  Wim Taymans  <wim@fluendo.com>
21999
22000         * check/gst/gstbin.c: (GST_START_TEST):
22001         Change for new bus API.
22002
22003         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22004         (send_messages), (GST_START_TEST), (gstbus_suite):
22005         Change for new bus signal API.
22006
22007         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
22008         (gst_bus_source_prepare), (gst_bus_source_check),
22009         (gst_bus_create_watch), (gst_bus_add_watch_full),
22010         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
22011         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
22012         * gst/gstbus.h:
22013         Remove support for multiple GSources operating on different
22014         message types as it is too complex and unneeded when using
22015         signals.
22016         Added support for receiving signals from the bus.
22017
22018 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22019
22020         * docs/libs/tmpl/gstdataprotocol.sgml:
22021         * docs/manual/advanced-dataaccess.xml:
22022         * gst/elements/gstcapsfilter.c:
22023         * gst/gstutils.c:
22024           rename filter-caps to caps property
22025
22026 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22027
22028         * gst/gstvalue.c: (gst_value_deserialize_fraction):
22029           More robust fraction string parsing.
22030
22031         * docs/pwg/appendix-porting.xml:
22032           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
22033
22034 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22035
22036         * gst/gstcaps.c: (gst_caps_do_simplify):
22037           Thou shalt not free a structure and then continue using it
22038           in the next loop iteration.
22039
22040         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
22041         (gst_caps_suite):
22042           Add test case for caps simplification.
22043
22044 2005-09-29  Wim Taymans  <wim@fluendo.com>
22045
22046         * check/gst/gstbin.c: (GST_START_TEST):
22047         Oops.
22048
22049 2005-09-29  Wim Taymans  <wim@fluendo.com>
22050
22051         * check/gst/gstbin.c: (GST_START_TEST):
22052         Add bus to bin.
22053
22054         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
22055         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22056         (find_element), (gst_bin_sort_iterator_next),
22057         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22058         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22059         (gst_bin_change_state), (gst_bin_dispose):
22060         A bin does not have a bus, it gets the bus from the parent.
22061
22062         * gst/gstelement.c: (gst_element_requires_clock),
22063         (gst_element_provides_clock), (gst_element_is_indexable),
22064         (gst_element_is_locked_state), (gst_element_change_state),
22065         (gst_element_set_bus_func):
22066         Small cleanups.
22067
22068         * gst/gstpipeline.c: (gst_pipeline_class_init),
22069         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
22070         The pipeline provides a bus.
22071
22072 2005-09-28  Johan Dahlin  <johan@gnome.org>
22073
22074         * gst/gstmessage.c (gst_message_parse_state_changed): Use
22075         gst_structure_get_enum instead of gst_structure_get_int
22076
22077         * gst/gststructure.c (gst_structure_get_enum): Impl.
22078
22079         * gst/gststructure.h (gst_structure_get_enum): Add
22080
22081         * docs/gst/gstreamer-sections.txt: Ditto
22082
22083         * gst/gstmessage.c (gst_message_new_state_changed): Use
22084         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
22085         which does introspection.
22086         Reviewed by Christian Schaller
22087
22088 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22089
22090         * gst/gstinfo.c: (gst_debug_log_default):
22091           don't do dummy g_strdup()s
22092         * libs/gst/controller/gstcontroller.c:
22093         (on_object_controlled_property_changed),
22094         (gst_controlled_property_new), (gst_controller_new_valist),
22095         (gst_controller_new_list),
22096         (gst_controller_remove_properties_valist), (gst_controller_set),
22097         (gst_controller_get), (gst_controller_sync_values),
22098         (gst_controller_get_value_array), (_gst_controller_class_init),
22099         (gst_controller_get_type):
22100         * libs/gst/controller/gstcontroller.h:
22101         * libs/gst/controller/gstinterpolation.c:
22102         (gst_controlled_property_find_timed_value_node):
22103           convert // to /**/ comments
22104
22105 2005-09-28  Wim Taymans  <wim@fluendo.com>
22106
22107         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
22108         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
22109         (gst_bus_sync_signal_handler):
22110         * gst/gstbus.h:
22111         Added async-message and sync-message signals to the bus.
22112         Added helper BusFunc to emit signals for all posted messages.
22113
22114         * gst/gstmessage.c: (gst_message_type_get_name),
22115         (gst_message_type_to_quark), (gst_message_get_type):
22116         * gst/gstmessage.h:
22117         Register quarks for message names.
22118
22119 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22120
22121         * docs/libs/gstreamer-libs-sections.txt:
22122         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
22123         (gst_controller_new_list):
22124         * libs/gst/controller/gstcontroller.h:
22125           added another constructor for language bindings
22126
22127 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22128
22129         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22130           add another check
22131         * gst/gstbus.c:
22132           add some doc
22133         * gst/gstinfo.c: (_gst_debug_init):
22134           slightly more readable color for refcount debugging
22135
22136 2005-09-28  Wim Taymans  <wim@fluendo.com>
22137
22138         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
22139         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22140         (find_element), (gst_bin_sort_iterator_next),
22141         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22142         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22143         (gst_bin_change_state), (gst_bin_dispose):
22144         Small doc fixes. get_clock -> provide_clock.
22145
22146         * gst/gstelement.c: (gst_element_class_init),
22147         (gst_element_provides_clock), (gst_element_provide_clock),
22148         (gst_element_get_clock), (gst_element_commit_state),
22149         (gst_element_lost_state):
22150         * gst/gstelement.h:
22151         Make get/set_clock() symetric. Add provide_clock vmethod since
22152         that is actually what this function does.
22153
22154         * gst/gstpipeline.c: (gst_pipeline_class_init),
22155         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
22156         (gst_pipeline_get_clock):
22157         get_clock -> provide_clock.
22158
22159 2005-09-28  Andy Wingo  <wingo@pobox.com>
22160
22161         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
22162         lieu of real docs...
22163
22164         * gst/elements/gstfdsrc.c: Cleaned up a bit.
22165
22166 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
22167
22168         * gst/elements/gstcapsfilter.c:
22169         * gst/elements/gstfakesink.c:
22170         * gst/elements/gstfakesrc.c:
22171         * gst/elements/gstfdsink.c:
22172         * gst/elements/gstfdsrc.c:
22173         * gst/elements/gstfilesink.c:
22174         * gst/elements/gstfilesrc.c:
22175         * gst/elements/gstidentity.c:
22176         * gst/elements/gsttee.c:
22177         * gst/elements/gsttypefindelement.c:
22178           Make element details static.
22179
22180 2005-09-28  Wim Taymans  <wim@fluendo.com>
22181
22182         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22183         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22184         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22185         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22186         (gst_bin_change_state), (gst_bin_dispose):
22187         Some documentation updates.
22188         Clean up dispose handlers.
22189
22190         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
22191         * gst/gstpad.c: (gst_pad_dispose):
22192         Clean up dispose handler.
22193
22194         * gst/gstpipeline.c: (gst_pipeline_change_state):
22195         Removed spurious UNLOCK.
22196
22197 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
22198
22199         * docs/gst/gstreamer-sections.txt:
22200         * gst/base/gstbasesrc.h:
22201         * gst/gstelement.h:
22202         * gst/gstevent.h:
22203         * gst/gstobject.h:
22204         * gst/gstpad.h:
22205         * gst/gstpipeline.c:
22206         * gst/gstpipeline.h:
22207         * gst/gstutils.h:
22208         * gst/gstxml.h:
22209           added two new functions to the docs
22210                 documents all undocumented GstXXXFlags
22211                 completed some incomplete docs 
22212
22213 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
22214
22215         * gst/gstbin.c: (gst_bin_dispose):
22216         * gst/gstelement.c: (gst_element_dispose):
22217           remove now useless and leaky resurrection code in dispose
22218         * gst/base/gstbasesrc.c: (gst_base_src_init):
22219         * gst/gstelementfactory.c: (gst_element_factory_create):
22220         * gst/gstobject.c: (gst_object_set_parent):
22221           add some debugging
22222
22223 2005-09-27  Wim Taymans  <wim@fluendo.com>
22224
22225         * docs/design/part-TODO.txt:
22226         Update TODO.
22227
22228         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22229         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22230         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22231         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22232         (gst_bin_change_state):
22233         * gst/gstelement.h:
22234         Remove element variable, we keep element info in the iterator now.
22235
22236 2005-09-27  Andy Wingo  <wingo@pobox.com>
22237
22238         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
22239         values.
22240
22241 2005-09-27  Wim Taymans  <wim@fluendo.com>
22242
22243         * check/gst/gstbin.c: (GST_START_TEST):
22244         Enable check that works now.
22245
22246         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22247         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22248         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22249         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22250         (gst_bin_change_state):
22251         * gst/gstbin.h:
22252         Redid the state change algorithm using a topological sort algo.
22253         Handles all cases correctly.
22254         Exposed iterator for state change order.
22255
22256         * gst/gstelement.h:
22257         Temp storage for state changes. Need to get rid of this soon.
22258
22259 2005-09-27  Wim Taymans  <wim@fluendo.com>
22260
22261         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
22262         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
22263         (link_fold_func), (gst_pad_proxy_setcaps):
22264         Leak fixes, the fold functions need to unref the passed object and
22265         _get_parent_*() returns ref to parent.
22266
22267 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22268
22269         * check/gst/gstbuffer.c: (test_make_writable):
22270           Plug leak in test case and fix 'make check-valgrind'
22271
22272 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22273
22274         * gst/gstbuffer.c: (gst_subbuffer_init):
22275           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
22276           works correctly in all circumstances (we could have just copied
22277           the parent buffer's readonly flag, but conceptually it seems
22278           cleaner to mark all subbuffers as read-only). (based on patch
22279           by Alessandro Decina, #314710).
22280         
22281         * check/gst/gstbuffer.c: (create_read_only_buffer),
22282         (test_make_writable), (test_subbuffer_make_writable),
22283         (gst_test_suite):
22284           Add some tests for gst_buffer_make_writable().
22285
22286 2005-09-27  Wim Taymans  <wim@fluendo.com>
22287
22288         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
22289         use gst_object_has_ancestor().
22290
22291         * gst/gstobject.c: (gst_object_has_ancestor):
22292         * gst/gstobject.h:
22293         gst_object_has_ancestor() copied from gstbin.c as it is a
22294         useful function.
22295
22296         * tests/instantiate/create.c: (create_all_elements):
22297         * tests/lat.c: (handoff_src), (handoff_sink):
22298         * tests/sched/runxml.c: (main):
22299         * tests/seeking/seeking1.c: (main):
22300         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
22301         (main):
22302         Fix compilation of some tests.
22303
22304 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22305
22306         * gst/gsterror.h:
22307           Remove comment. GST_TYPE_G_ERROR is here to stay,
22308           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
22309           (#316961, #300610).
22310
22311 2005-09-26  Wim Taymans  <wim@fluendo.com>
22312
22313         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22314         Added check that shows error in state change order.
22315
22316 2005-09-26  Wim Taymans  <wim@fluendo.com>
22317
22318         * gst/gstbin.c: (gst_bin_change_state):
22319         Make state change function use 3 queues again, we were
22320         adding elements in the wrong order.
22321
22322         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
22323         Some debug info,
22324
22325         * gst/gstpad.c: (gst_pad_dispose):
22326         Added some debug info first.
22327
22328 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
22329
22330         * docs/design/draft-push-pull.txt:
22331         * docs/design/part-events.txt:
22332         * docs/design/part-overview.txt:
22333         * docs/design/part-scheduling.txt:
22334           Replace all _pull_region() with _pull_range()
22335           
22336 2005-09-26  Andy Wingo  <wingo@pobox.com>
22337
22338         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
22339
22340         * check/gst-libs/controller.c: Update for controller api change.
22341
22342         * configure.ac: 
22343         * tests/Makefile.am:
22344         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
22345         over by GLib bug 118439.
22346         
22347         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
22348         routines to a function.
22349
22350         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
22351
22352         * libs/gst/controller/gsthelper.c:
22353         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
22354         (gst_object_sync_values): Renamed from sink_values. Ugh.
22355
22356         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
22357
22358         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
22359         Renamed from controller_key, as it is exported.
22360
22361         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
22362
22363 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22364
22365         * gst/Makefile.am:
22366         * gst/gst.h:
22367         * gst/gstpad.h:
22368         * gst/gstpadtemplate.h:
22369         * gst/gstquery.c:
22370         * gst/gstquery.h:
22371         * gst/gstqueryutils.c:
22372         * gst/gstqueryutils.h:
22373           remove queryutils headers after moving the two used functions
22374           to gstquery.  also fixes build problem for gstsiddec
22375
22376 2005-09-26  Michael Smith <msmith@fluendo.com>
22377
22378         * tools/gst-launch.1.in:
22379         Correct documentation in manpage of debug syntax
22380
22381 2005-09-26  Wim Taymans  <wim@fluendo.com>
22382
22383         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22384         (gst_base_src_is_seekable), (gst_base_src_change_state):
22385         Some more debugging info.
22386
22387 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22388
22389         * docs/gst/gstreamer-sections.txt:
22390         * gst/base/gstbasetransform.h:
22391         * gst/gstindex.h:
22392           added more docs
22393
22394 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22395
22396         * docs/gst/.cvsignore:
22397         * docs/gst/tmpl/.cvsignore:
22398         * docs/gst/tmpl/gstpipeline.sgml:
22399         * docs/gst/tmpl/gstplugin.sgml:
22400         * gst/gstpipeline.c:
22401         * gst/gstplugin.c:
22402         * gst/gstplugin.h:
22403           inlined the last two docs files
22404           removed the tmpl directory from cvs (no more conflicts here!)
22405
22406 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22407
22408         * docs/gst/gstreamer-sections.txt:
22409         * docs/gst/tmpl/.cvsignore:
22410         * docs/gst/tmpl/gstpad.sgml:
22411         * docs/gst/tmpl/gstpadtemplate.sgml:
22412         * gst/Makefile.am:
22413         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
22414         (gst_pad_finalize), (gst_pad_set_pad_template):
22415         * gst/gstpad.h:
22416         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
22417         (gst_pad_template_class_init), (gst_pad_template_init),
22418         (gst_pad_template_dispose), (name_is_valid),
22419         (gst_static_pad_template_get), (gst_pad_template_new),
22420         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
22421         (gst_pad_template_pad_created):
22422         * gst/gstpadtemplate.h:
22423           inlined two more docs
22424           factored gstpadtemplate out of gstpad
22425
22426 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
22427
22428         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22429         (test_children_state_change_order_semi_sink):
22430           Fix test case: we can't rely on a fixed state change order when
22431           going from READY => PAUSED because the sink might commit its 
22432           new state first when the first buffer created by the source 
22433           reaches the sink before the source has finished its change state.
22434           (Test case still fails at times, see #316856, comment 5 onwards)
22435
22436 2005-09-24  Wim Taymans  <wim@fluendo.com>
22437
22438         * docs/design/part-events.txt:
22439         * docs/design/part-gstbus.txt:
22440         * docs/design/part-gstpipeline.txt:
22441         * docs/design/part-messages.txt:
22442         * docs/design/part-overview.txt:
22443         * docs/design/part-segments.txt:
22444         * gst/gstbin.c:
22445         * gst/gstbuffer.c:
22446         * gst/gstclock.c:
22447         * gst/gstelement.c:
22448         * gst/gstevent.c:
22449         * gst/gstfilter.c:
22450         * gst/gstiterator.c:
22451         Various documentation updates.
22452
22453 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22454
22455         * gst/gstclock.h:
22456           Well, that's embarassing.  Luckily we weren't using
22457           GST_CLOCK_DIFF anywhere.
22458
22459 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22460
22461         * common/gtk-doc.mak:
22462           don't fail on building XML, FC4 slave shows a bunch of doc
22463           missing bits that I don't get
22464         * gst/gstpad.c:
22465         * gst/gstpipeline.c:
22466         * gst/gststructure.c:
22467           some doc updates
22468
22469 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22470
22471         * docs/design/part-gstbin.txt:
22472         * docs/design/part-gstbus.txt:
22473         * gst/gstbus.c:
22474           Add blurb about how the bus goes into flushing mode and
22475           drops all messages when its bin goes from READY into NULL 
22476           state.
22477
22478 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22479
22480         * docs/gst/gstreamer-sections.txt:
22481         * gst/gststructure.c: (gst_structure_get_clock_time):
22482         * gst/gststructure.h:
22483           add a method to get a GstClockTime out of a structure
22484
22485 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22486
22487         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22488         (test_children_state_change_order_semi_sink), (gst_bin_suite):
22489           Added test to check state change order in bins (can still be made
22490           to fail here under heavy disk load; bails out with 'Push on pad
22491           fakesink:sink0, but it was not activated in push mode').
22492
22493         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
22494           Fix state change order when there is only a semi sink (#316856)
22495
22496         * gst/gstbus.c: (gst_bus_class_init):
22497           Use _class_peek_parent(), not _class_ref(); fix docs to say
22498           'default main context' instead of 'mainloop' where that is
22499           what's meant.
22500
22501         * gst/gstelement.c: (gst_element_commit_state),
22502         (gst_element_set_state):
22503           Fix typos in debug messages
22504
22505 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22506
22507         * docs/README:
22508         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
22509         * gst/gstpluginfeature.c:
22510         * gst/gstutils.c:
22511           various doc updates
22512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22513           change an assert into an error until it gets fixed properly
22514
22515 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
22516
22517         * docs/gst/gstreamer-sections.txt:
22518         * docs/gst/tmpl/.cvsignore:
22519         * docs/gst/tmpl/gstelement.sgml:
22520         * docs/gst/tmpl/gstinfo.sgml:
22521         * docs/gst/tmpl/gstobject.sgml:
22522         * gst/gstelement.c:
22523         * gst/gstelement.h:
22524         * gst/gstinfo.c:
22525         * gst/gstinfo.h:
22526         * gst/gstobject.c: (gst_object_class_init):
22527         * gst/gstobject.h:
22528           inlined 3 more biiiig doc files and added some missing docs on the fly
22529
22530 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22531
22532         * check/gst/.cvsignore:
22533         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
22534         * gst/gstregistryxml.c: (load_plugin),
22535         (gst_registry_xml_save_plugin):
22536           put back source in registry.  add checks for find_plugin.
22537         * testsuite/states/bin.c: (assert_state), (empty_bin),
22538         (test_adding_one_element), (main):
22539         * testsuite/states/locked.c: (main):
22540           some compile/run fixes
22541
22542 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22543
22544         * check/gst/gstvalue.c: (GST_START_TEST):
22545           fix leaks in the test itself
22546
22547 2005-09-22  Wim Taymans  <wim@fluendo.com>
22548
22549         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22550         (gst_base_sink_send_event), (gst_base_sink_peer_query),
22551         (gst_base_sink_query):
22552         Prepare for more accurate position reporting and query
22553         handling.
22554
22555         * gst/gstelement.c: (gst_element_send_event),
22556         (gst_element_set_state):
22557         Add some comment.
22558
22559 2005-09-22  Wim Taymans  <wim@fluendo.com>
22560
22561         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
22562         (gst_query_parse_segment):
22563         * gst/gstquery.h:
22564         More documentation.
22565         Add segment query for future use.
22566
22567 2005-09-22  Wim Taymans  <wim@fluendo.com>
22568
22569         * gst/gstbin.c: (gst_bin_add_func):
22570         Some more debug info.
22571
22572         * gst/gstelement.c: (gst_element_send_event):
22573         Simplify send_event
22574
22575         * gst/gstelement.h:
22576         Don't know how flags got broken.
22577
22578         * gst/gstquery.h:
22579         Added new query.
22580
22581 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22582
22583         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
22584           Add simplistic test suite for GST_TYPE_DATE serialisation and
22585           deserialisation.
22586
22587 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22588
22589         * docs/gst/gstreamer-sections.txt:
22590         * gst/gststructure.c: (gst_structure_set_valist),
22591         (gst_structure_get_date):
22592         * gst/gststructure.h:
22593         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
22594         (gst_date_copy), (gst_value_compare_date),
22595         (gst_value_serialize_date), (gst_value_deserialize_date),
22596         (gst_value_transform_date_string),
22597         (gst_value_transform_string_date), (_gst_value_initialize):
22598         * gst/gstvalue.h:
22599           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
22600           bunch of utility functions along with a hack that checks that
22601           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
22602           is required. Part of the grand scheme in #170777.
22603
22604 2005-09-22  Andy Wingo  <wingo@pobox.com>
22605
22606         * gst/gstconfig.h.in: Psych out gtk-doc.
22607
22608         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
22609
22610         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
22611
22612         * tools/gst-inspect.c (print_element_list): Plug some
22613         inconsequential leaks.
22614
22615         * gst/gstregistry.c (gst_registry_get_default): Doc.
22616
22617         * check/gst/gstplugin.c: 
22618         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
22619         * gst/gstelementfactory.c (gst_element_factory_create): 
22620         * gst/gstindexfactory.c (gst_index_factory_create): Update for
22621         refcount changes.
22622
22623         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
22624         (gst_plugin_feature_load): Doc, don't eat refs.
22625
22626         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
22627         (gst_plugin_list_free): Doc.
22628         (gst_plugin_load_file): Doc updates.
22629
22630         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
22631         accessors returning refcounted objects, return a ref.
22632
22633         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
22634         accessor for caps. IDEMPOTENCE. Oh yes.
22635
22636 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
22637
22638         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22639
22640         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
22641         (_gst_debug_register_funcptr):
22642           Add mutex to serialise access to the hash table with
22643           the function pointer => function name string mapping;
22644           make that hash table static scope (#316809).
22645
22646         * gst/registries/.cvsignore:
22647           Remove left-over file.
22648
22649 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
22650
22651         * docs/pwg/appendix-porting.xml:
22652           And something about newsegment events and caps-on-buffers to
22653           the porting guide (feel free to improve).
22654
22655 2005-09-21  Andy Wingo  <wingo@pobox.com>
22656
22657         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
22658         data and event probes on the same pad.
22659         (test_buffer_probe_once): Test that removing probes from within
22660         the probe functions works.
22661
22662 2005-09-21  Andy Wingo  <wingo@pobox.com>
22663
22664         * check/gst/gstutils.c: New file.
22665         (test_buffer_probe_n_times): A simple buffer probe test. More to
22666         come, foolios.
22667
22668         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
22669         have-data::buffer, not have-data.
22670         (gst_pad_add_event_probe): Likewise for have-data::event.
22671         (gst_pad_add_data_probe): More docs. The part about 'resolving the
22672         peer' isn't quite right yet though.
22673         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
22674         (gst_pad_remove_data_probe): Change to take the guint handler_id
22675         as their arg, not the function+data, which is more glib-like.
22676
22677         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
22678         the signal emission to indicate if the data is a buffer or an
22679         event.
22680         (gst_pad_get_type): Initialize buffer and event quarks.
22681         (gst_pad_class_init): have-data is now a detailed signal, yes it
22682         is.
22683
22684 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
22685
22686         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22687         * gst/gstutils.c: (gst_util_set_value_from_string),
22688         (gst_util_set_object_arg):
22689           Don't put functional code in g_return_if_fail() or
22690           g_return_val_if_fail() statements, otherwise things will 
22691           break when G_DISABLE_CHECKS is defined during compilation.
22692
22693 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22694
22695         * docs/gst/tmpl/.cvsignore:
22696         * docs/gst/tmpl/gstvalue.sgml:
22697         * gst/gstvalue.c:
22698         * gst/gstvalue.h:
22699           inlied another one and added  some obvious docs
22700
22701 2005-09-21  Wim Taymans  <wim@fluendo.com>
22702
22703         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
22704         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
22705         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
22706         (gst_fdsrc_get_property), (gst_fdsrc_create):
22707         * gst/elements/gstfdsrc.h:
22708         Properly implement fdsrc. Removed signal and timeout,
22709         better implemented somewhere else.
22710
22711 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22712
22713         * docs/gst/tmpl/.cvsignore:
22714         * docs/gst/tmpl/gstimplementsinterface.sgml:
22715         * gst/gstinterface.c:
22716           inlined more docs
22717
22718 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22719
22720         * docs/gst/gstreamer-sections.txt:
22721         * docs/gst/tmpl/.cvsignore:
22722         * docs/gst/tmpl/gstenumtypes.sgml:
22723           remove obsolete doc file
22724
22725 2005-09-21  David Schleef  <ds@schleef.org>
22726
22727         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
22728         little beer, fix a little leak.
22729
22730 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22731
22732         * docs/gst/gstreamer-docs.sgml:
22733         * docs/gst/gstreamer-sections.txt:
22734         * docs/gst/tmpl/.cvsignore:
22735         * gst/Makefile.am:
22736         * gst/gst.h:
22737         * gst/gstbin.c:
22738         * gst/gstelement.h:
22739         * gst/gstindex.c: (gst_index_class_init):
22740         * gst/gstindex.h:
22741         * gst/gstindexfactory.c: (gst_index_factory_get_type),
22742         (gst_index_factory_class_init), (gst_index_factory_init),
22743         (gst_index_factory_finalize), (gst_index_factory_new),
22744         (gst_index_factory_destroy), (gst_index_factory_find),
22745         (gst_index_factory_create), (gst_index_factory_make):
22746         * gst/gstindexfactory.h:
22747         * gst/gstpluginfeature.c:
22748         * gst/gstpluginfeature.h:
22749         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22750           more docs inlined, splitted gstindex.{c,h}
22751
22752 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22753
22754         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22755           fix a leak
22756
22757 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
22758
22759         * gst/elements/gstfilesink.c: (gst_file_sink_init):
22760           Set sync to FALSE by default.
22761
22762 2005-09-20  Wim Taymans  <wim@fluendo.com>
22763
22764         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22765         (gst_base_sink_init):
22766         Make sync property settable from subclass.
22767
22768         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22769         (gst_fake_sink_change_state):
22770         Set sync to FALSE by default.
22771
22772 2005-09-20  Wim Taymans  <wim@fluendo.com>
22773
22774         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
22775         * tools/gst-launch.c: (main):
22776         The timeout handler should have lower priority than the source
22777         so we don't timeout before popping a message with 0 timeout.
22778         Dump error messages after failed state change.
22779
22780 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
22781
22782         * tools/gst-inspect.c: (print_element_properties_info):
22783           Fix two typos.
22784
22785 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22786
22787         * check/gst/gstevent.c:
22788         * gst/elements/gstfakesink.c:
22789         * gst/elements/gstfakesink.h:
22790           remove the sync property from fakesink.
22791           has the side effect of setting sync TRUE
22792           for fakesink, which is a change.  Anyone who knows how
22793           to fix this nicely in a GObject-y way, feel free.
22794
22795 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22796
22797         * docs/gst/gstreamer-docs.sgml:
22798           remove probe refsection
22799
22800 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22801
22802         * check/Makefile.am:
22803           disable valgrinding the controller test again
22804         * docs/gst/gstreamer-sections.txt:
22805           update for api-changes
22806
22807 2005-09-20  Wim Taymans  <wim@fluendo.com>
22808
22809         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22810         (gst_base_sink_set_property), (gst_base_sink_get_property),
22811         (gst_base_sink_do_sync):
22812         * gst/base/gstbasesink.h:
22813         Added sync property to basesink to disable clock sync.
22814
22815 2005-09-20  Andy Wingo  <wingo@pobox.com>
22816
22817         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
22818         eating the caller's refcount.
22819
22820         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
22821         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
22822         refcount.
22823
22824         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
22825         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
22826         of GLib 2.8 public, so we can know which refcount to check in
22827         tests.
22828
22829         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
22830         (gst_object_init): Only set the gst refcount if we're going ahead
22831         with the refcount hack.
22832
22833 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22834
22835         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22836         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22837           more leaks plumbed, added more debug-logging
22838         * gst/gstmacros.h:
22839           whitespace fix
22840
22841 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22842
22843         * gst/gstmessage.c:
22844           remove include of gstmemchunk.h
22845
22846 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22847
22848         * gst/gstclock.c: (_gst_clock_id_free):
22849           Commit from the Political Party For More Atomic CVS Commits,
22850           so that people don't waste too much of their day fishing
22851           out obvious leaks out of massive commits.
22852           Oh, and fix a pretty damn obvious leak in the memchunk
22853           removal code.
22854
22855 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22856
22857         * check/Makefile.am:
22858         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22859           plug mem-leak, re-add to valgrindable tests
22860
22861 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22862
22863         * gst/gstplugin.h:
22864           unbreak the build for those who have chronic arthritis
22865           and typing "make check" is just too taxing on the hands
22866
22867 2005-09-20  Andy Wingo  <wingo@pobox.com>
22868
22869         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
22870         really want it out, you should fix plugins at the same time.
22871
22872 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
22873
22874         * configure.ac:
22875         * docs/gst/gstreamer-sections.txt:
22876         * gst/gstobject.c:
22877           added missing symbols to api docs
22878           disable ref-count hack if we have glib >= 2.8
22879
22880 2005-09-19  David Schleef  <ds@schleef.org>
22881
22882         * docs/gst/Makefile.am: Ignore a few more internal headers
22883         * docs/gst/gstreamer-docs.sgml: Remove old sections
22884         * docs/gst/gstreamer-sections.txt: Remove old sections
22885         * docs/gst/tmpl/gstobject.sgml: update
22886         * docs/gst/tmpl/gstplugin.sgml: update
22887         * docs/gst/tmpl/gstpluginfeature.sgml: update
22888         * docs/random/ds/0.9-suggested-changes: update.
22889         * gst/Makefile.am: remove memchunk and trashstack, since they're
22890           not used.
22891         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
22892         * gst/gst.h: don't include some headers
22893         * gst/gstchildproxy.c: add gstmarshal.h
22894         * gst/gstclock.c: Don't use memchunks
22895         * gst/gstminiobject.c: Add some docs
22896         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
22897         * gst/gstobject.h: same
22898         * gst/gstplugin.c: include gstmacros.h
22899         * gst/gstplugin.h: don't include gstmacros.h, since it's private
22900         * gst/gstquery.c: don't use memchunks
22901         * gst/gstregistry.c: rename gst_registry_deinit()
22902         * gst/gstregistry.h: same
22903
22904 2005-09-19  David Schleef  <ds@schleef.org>
22905
22906         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
22907         * docs/libs/gstreamer-libs-sections.txt:
22908         * docs/libs/tmpl/gstgetbits.sgml:
22909         * docs/libs/tmpl/gstputbits.sgml:
22910
22911 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
22912
22913         * win32/gstenumtypes.c:
22914         * win32/gstenumtypes.h:
22915           Update.
22916
22917 2005-09-19  Wim Taymans  <wim@fluendo.com>
22918
22919         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
22920         Automatically PAUSE and RESUME a pipeline when a flushing seek
22921         is performed.
22922
22923 2005-09-19  Andy Wingo  <wingo@pobox.com>
22924
22925         * gst/gstregistry.h: Spacing fixen.
22926
22927 2005-09-19  Wim Taymans  <wim@fluendo.com>
22928
22929         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
22930         Handle state change failure more correctly.
22931
22932 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22933
22934         * check/Makefile.am:
22935         * check/pipelines/cleanup.c: (run_pipeline):
22936         * check/pipelines/simple_launch_lines.c: (run_pipeline),
22937         (GST_START_TEST):
22938           enable cleanup again after fixing the leak
22939         * docs/README:
22940           some more info on docs
22941
22942 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22943
22944         * check/Makefile.am:
22945           re-enable tests now that leaks are plugged
22946         * check/gst/gst.c:
22947         * check/gst/gstbin.c:
22948         * check/gst/gstpipeline.c:
22949           add some more tests while fixing leaks
22950         * common/check.mak:
22951           make sure binaries are uptodate when valgrinding/gdbing
22952         * gst/gst.c:
22953         * gst/gstelementfactory.c:
22954           remove a ref too many, and add a FIXME for when we get
22955           round to disposing of classes
22956         * gst/gstplugin.c:
22957           fix the refcounting when loading a plugin from a file and
22958           the code pretends that the pointer is the same even though
22959           of course it can change
22960         * gst/gstpluginfeature.c:
22961           unref plugins marked cached (a bit confusing as a name)
22962           as the docs state should be done
22963           various doc additions to explain refcounting
22964         * gst/gstregistry.c:
22965         * gst/gstregistryxml.c:
22966           debugging
22967
22968 2005-09-19  Wim Taymans  <wim@fluendo.com>
22969
22970         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22971         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22972         (send_messages), (GST_START_TEST), (gstbus_suite):
22973         * check/gst/gstpipeline.c: (GST_START_TEST):
22974         * check/pipelines/cleanup.c: (run_pipeline):
22975         * check/pipelines/simple_launch_lines.c: (run_pipeline),
22976         (GST_START_TEST):
22977         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
22978         (gst_bus_source_check), (gst_bus_source_dispatch),
22979         (gst_bus_create_watch), (gst_bus_add_watch_full),
22980         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
22981         * gst/gstbus.h:
22982         * tools/gst-launch.c: (event_loop):
22983         * tools/gst-md5sum.c: (event_loop):
22984         GstBusHandler -> GstBusFunc, return value has the same meaning as
22985         any other GSource (FALSE == remove source).
22986         _add_watch() and _add_watch_full() now take a MessageType mask to
22987         only handle specific types of messages.
22988         _poll() returns the GstMessage instead of the message type to avoid
22989         race conditions.
22990         _have_pending() takes a MessageType mask now too.
22991         Added testsuite for multiple bus watches.
22992         Fix testsuites and applications for new bus API.
22993
22994 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22995
22996         * check/Makefile.am:
22997           mark a bunch of the tests as to fix until we fix them
22998
22999 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23000
23001         * common/check.mak:
23002           use GST_PLUGIN settings for valgrind tests as well, so we're
23003           valgrinding the correct thing
23004         * gst/gst.c: (init_post):
23005           plug another leak
23006
23007 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23008
23009         * gst/gst.c: (init_post), (gst_deinit):
23010         * gst/gstelementfactory.c: (gst_element_factory_class_init),
23011         (gst_element_factory_finalize), (gst_element_factory_cleanup):
23012         * gst/gstindex.c: (gst_index_factory_class_init),
23013         (gst_index_factory_finalize):
23014         * gst/gstobject.c: (gst_object_dispose):
23015         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
23016         (gst_plugin_load_file), (gst_plugin_desc_free):
23017         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
23018         (gst_plugin_feature_finalize):
23019         * gst/gstregistry.c: (gst_registry_class_init),
23020         (gst_registry_init), (gst_registry_finalize),
23021         (gst_registry_get_default), (gst_registry_deinit):
23022         * gst/gstregistry.h:
23023         * gst/gstregistryxml.c: (load_feature), (load_plugin):
23024           various cleanups and memleak plugging.  make valgrind is happy now.
23025
23026 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23027
23028         * common/check.mak:
23029           add a check-valgrind target
23030
23031 2005-09-18  David Schleef  <ds@schleef.org>
23032
23033         * tools/gst-inspect.c: Revert the GOption code.
23034
23035 2005-09-17  David Schleef  <ds@schleef.org>
23036
23037         * check/Makefile.am: Fix environment variables.
23038         * check/gst/gstplugin.c: Fix for API changes.
23039         * tools/gst-inspect.c: Fix for API changes.
23040         * tools/gst-xmlinspect.c: Fix for API changes.
23041         * gst/gstelementfactory.c:
23042         * gst/gstplugin.c:
23043         * gst/gstplugin.h:
23044         * gst/gstpluginfeature.c:
23045         * gst/gstpluginfeature.h:
23046         * gst/gstregistry.c:
23047         * gst/gstregistry.h:
23048         * gst/gstregistryxml.c:
23049         * gst/gsttypefind.c:
23050         * gst/gsttypefindfactory.c:
23051         * gst/indexers/gstfileindex.c:
23052         * gst/indexers/gstmemindex.c:
23053         * gst/schedulers/Makefile.am:
23054           Change registry to keep track of both plugins and features,
23055           removing the feature tracking from plugins themselves.
23056
23057 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23058
23059         * check/Makefile.am:
23060         * tools/gst-register.1.in:
23061           remove gst-register
23062
23063 2005-09-15  David Schleef  <ds@schleef.org>
23064
23065         * check/gst/gstplugin.c:
23066         * gst/gstelementfactory.c:
23067         * gst/gstplugin.c:
23068         * gst/gstpluginfeature.c:
23069         * gst/gstregistry.c:
23070           Getting tired of debugging.  Disabled all the unreffing of
23071           plugins and features, which fixes the segfaults, but of
23072           course leaks like crazy.  At least playbin works.
23073
23074 2005-09-15  David Schleef  <ds@schleef.org>
23075
23076         * check/gst/gstplugin.c: (register_check_elements),
23077         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
23078         More testing
23079         * gst/elements/gsttypefindelement.c: Fix refcounting.
23080         * gst/gsttypefind.c:
23081         * gst/gsttypefindfactory.c:
23082         * gst/gsttypefindfactory.h:
23083
23084 2005-09-15  David Schleef  <ds@schleef.org>
23085
23086         * gst/gstindex.c: get refcounting correct.
23087         * gst/gstregistry.c: Handle the case where a feature/plugin is
23088           not found.
23089
23090 2005-09-15  David Schleef  <ds@schleef.org>
23091
23092         * check/Makefile.am:
23093         * check/gst/gstplugin.c: Add test
23094         * gst/gstplugin.c: Fix problems noticed by testsuite
23095         * gst/gstplugin.h:
23096         * gst/gstregistry.c: 
23097         * gst/gstregistry.h:
23098
23099 2005-09-15  David Schleef  <ds@schleef.org>
23100
23101         * gst/gstplugin.c: Implement semi-decent recounting and locking
23102           in plugins and plugin features.
23103         * gst/gstplugin.h:
23104         * gst/gstpluginfeature.c:
23105         * gst/gstpluginfeature.h:
23106         * gst/gstregistry.c:
23107
23108 2005-09-15  Michael Smith <msmith@fluendo.com>
23109
23110         * gst/gstregistry.c: (gst_registry_get_feature_list):
23111           Implement this. Makes oggdemux work; decodebin still broken.
23112
23113 2005-09-14  David Schleef  <ds@schleef.org>
23114
23115         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
23116           #316076)
23117         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
23118         * gst/check/Makefile.am:
23119         * libs/gst/controller/Makefile.am:
23120         * libs/gst/dataprotocol/Makefile.am:
23121
23122 2005-09-14  David Schleef  <ds@schleef.org>
23123
23124         * configure.ac: Remove getbits library.  Nothing uses it, and
23125           it should be in something like liboil if someone did want
23126           to use it.
23127         * libs/gst/Makefile.am:
23128         * libs/gst/getbits/Makefile.am:
23129         * libs/gst/getbits/gbtest.c:
23130         * libs/gst/getbits/getbits.c:
23131         * libs/gst/getbits/getbits.h:
23132         * libs/gst/getbits/gstgetbits_generic.c:
23133         * libs/gst/getbits/gstgetbits_i386.s:
23134         * libs/gst/getbits/gstgetbits_inl.h:
23135
23136 2005-09-14  David Schleef  <ds@schleef.org>
23137
23138         * gst/Makefile.am: Dist glib-compat.h
23139
23140 2005-09-14  David Schleef  <ds@schleef.org>
23141
23142         * configure.ac: Remove gst/registries, since it's no longer used.
23143         * gst/registries/Makefile.am:
23144         * gst/registries/gstlibxmlregistry.c:
23145         * gst/registries/gstlibxmlregistry.h:
23146         * gst/registries/gstxmlregistry.c:
23147         * gst/registries/gstxmlregistry.h:
23148         * gst/registries/registrytest.c:
23149
23150 2005-09-14  David Schleef  <ds@schleef.org>
23151
23152         * gst/glib-compat.h:
23153         * gst/gstregistryxml.c:
23154           Convergence is near.  Seriously.
23155
23156 2005-09-14  David Schleef  <ds@schleef.org>
23157
23158         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23159         * gst/glib-compat.h:
23160           Attempt #4 to appease the buildbots.
23161
23162 2005-09-14  David Schleef  <ds@schleef.org>
23163
23164         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23165           Attempt #3.
23166
23167 2005-09-14  David Schleef  <ds@schleef.org>
23168
23169         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23170         Attempt #2.
23171
23172 2005-09-14  David Schleef  <ds@schleef.org>
23173
23174         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
23175           the new functions.
23176
23177 2005-09-14  David Schleef  <ds@schleef.org>
23178
23179         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23180         * gst/glib-compat.h: Add some functions that are in newer versions
23181           of glib than we care to require.
23182         * gst/gstregistryxml.c: Use them.
23183
23184 2005-09-14  David Schleef  <ds@schleef.org>
23185
23186         * po/POTFILES.in: remove gst-register.c
23187
23188 2005-09-14  David Schleef  <ds@schleef.org>
23189
23190         * docs/gst/gstreamer-docs.sgml:
23191         * docs/gst/gstreamer-sections.txt:
23192         * docs/gst/gstreamer.types:
23193         * docs/gst/tmpl/gstelement.sgml:
23194         * docs/gst/tmpl/gstplugin.sgml:
23195         * docs/gst/tmpl/gstpluginfeature.sgml:
23196           Documentation updates for registry changes.
23197
23198 2005-09-14  David Schleef  <ds@schleef.org>
23199
23200         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
23201           because we don't require glib-2.8.
23202
23203 2005-09-14  David Schleef  <ds@schleef.org>
23204
23205         * gst/gstregistryxml.c: Added.  Essentially moved out of the
23206           registries directory.
23207
23208 2005-09-14  David Schleef  <ds@schleef.org>
23209
23210         * check/Makefile.am:
23211         * check/generic/states.c:
23212         * gst/Makefile.am:
23213         * gst/gst.c:
23214         * gst/gst.h:
23215         * gst/gst_private.h:
23216         * gst/gstelementfactory.c:
23217         * gst/gstindex.c:
23218         * gst/gstinfo.c:
23219         * gst/gstplugin.c:
23220         * gst/gstplugin.h:
23221         * gst/gstpluginfeature.c:
23222         * gst/gstpluginfeature.h:
23223         * gst/gstregistry.c:
23224         * gst/gstregistry.h:
23225         * gst/gstregistrypool.c: remove
23226         * gst/gstregistrypool.h: remove
23227         * gst/gsttypefind.c:
23228         * gst/gsttypefindfactory.c:
23229         * gst/gsturi.c:
23230         * tools/Makefile.am:
23231         * tools/gst-compprep.c:
23232         * tools/gst-inspect.c:
23233         * tools/gst-register.c: remove
23234         * tools/gst-xmlinspect.c:
23235           Registry rewrite.  Changes registry from being a file created
23236           by a tool into a simple cache file created automatically by 
23237           libgstreamer.  Removed gst-register (because it's no longer
23238           needed).  Remove registry pools, because we only have one
23239           registry implementation (XML).  Fix up other subsystems as
23240           necessary.
23241
23242 2005-09-13  Michael Smith <msmith@fluendo.com>
23243
23244         * gst/gstconfig.h.in:
23245           Don't Use windows linking attributes for MinGW. Fixes #316157
23246
23247 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23248
23249         * gst/gstutils.c: (set_state_async_thread_func),
23250         (gst_element_set_state_async):
23251           Apparently people think it's better if this function doesn't
23252           try to set the state to whatever state was asked for on the first
23253           call to this function for any object.  Seriously.
23254
23255 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23256
23257         * check/gst/gstpipeline.c: (GST_START_TEST):
23258         * docs/gst/gstreamer-sections.txt:
23259         * gst/gstutils.c: (set_state_async_thread_func),
23260         (gst_element_set_state_async):
23261         * gst/gstutils.h:
23262           add a "gst_element_set_state_async" method that
23263           sets the state and starts a thread to make sure the state
23264           change completes as best as it can
23265
23266 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23267
23268         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23269           codify design+behaviour in testsuite after discussion
23270
23271 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23272
23273         * docs/gst/tmpl/gstelement.sgml:
23274         * docs/manual/appendix-quotes.xml:
23275           add a quote
23276         * gst/gstelement.c: (gst_element_set_state):
23277           add some debug
23278
23279 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
23280
23281         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23282         (gst_base_transform_prepare_output_buf),
23283         (gst_base_transform_handle_buffer):
23284         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
23285         (gst_capsfilter_prepare_buf):
23286           Remove the requirement for sub-classes to call the parent
23287           implementation of prepare_output_buffer with a wrapper function.
23288           
23289         * gst/gsttaglist.h:
23290         * gst/gsttagsetter.h:
23291           Fix #define wrapper
23292
23293 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
23294
23295         * docs/gst/gstreamer-sections.txt:
23296           more doc cleanups
23297
23298 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23299
23300         * docs/gst/gstreamer-sections.txt:
23301         * docs/gst/tmpl/gstelement.sgml:
23302         * docs/gst/tmpl/gstplugin.sgml:
23303         * gst/gstminiobject.c:
23304         * gst/gstvalue.h:
23305           docs now stop throwing warnings
23306
23307 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23308
23309         * docs/gst/gstreamer-sections.txt:
23310         * docs/gst/gstreamer.types:
23311         * docs/gst/tmpl/gstpad.sgml:
23312         * docs/gst/tmpl/gsttypes.sgml:
23313         * gst/base/gstadapter.h:
23314         * gst/base/gstbasesink.h:
23315         * gst/base/gstbasesrc.h:
23316         * gst/gstbin.h:
23317         * gst/gstbuffer.h:
23318         * gst/gstbus.h:
23319         * gst/gstcaps.h:
23320         * gst/gstclock.h:
23321         * gst/gstelement.h:
23322         * gst/gstevent.h:
23323         * gst/gstmessage.h:
23324         * gst/gstpad.h:
23325         * gst/gststructure.c:
23326         * gst/registries/gstlibxmlregistry.h:
23327           various documentation fixes
23328
23329 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23330
23331         * docs/gst/gstreamer-sections.txt:
23332         * docs/gst/tmpl/gstvalue.sgml:
23333           rearrange gstvalue section
23334         * gst/gstutils.c: (gst_element_state_get_name):
23335           NONE -> VOID
23336         * gst/gstvalue.c: (_gst_value_initialize):
23337         * gst/gstvalue.h:
23338           doc updates
23339
23340 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
23341
23342         * check/gst-libs/controller.c:
23343           Header include fix.
23344         * gst/base/gstbasetransform.c:
23345         (gst_base_transform_default_prepare_buf),
23346         (gst_base_transform_handle_buffer):
23347         * gst/base/gstbasetransform.h:
23348           Some more basetransform changes and fixes to enable sub-classes
23349           that modify buffer metadata only.
23350         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23351         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
23352         (gst_capsfilter_prepare_buf):
23353           If the output pad has fixed allowed caps and input buffers 
23354           don't have any, set the fixed caps on outgoing buffers.
23355
23356 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
23357         * check/elements/identity.c: (GST_START_TEST):
23358           Make the error a little clearer when the test fails because
23359           identity made a copy of the buffer.
23360         * docs/gst/gstreamer-sections.txt:
23361           New symbols in gstbasetransform.h
23362         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23363         (gst_base_transform_init), (gst_base_transform_transform_size),
23364         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23365         (gst_base_transform_default_prepare_buf),
23366         (gst_base_transform_get_unit_size),
23367         (gst_base_transform_buffer_alloc),
23368         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
23369         (gst_base_transform_change_state),
23370         (gst_base_transform_set_passthrough),
23371         (gst_base_transform_set_in_place),
23372         (gst_base_transform_is_in_place):
23373         * gst/base/gstbasetransform.h:
23374           Change BaseTransform to separate in_place operate from same_caps
23375           output. in_place implies that the element can perform the transform
23376           on incoming buffers in-place, even if the caps on the output are
23377           different.
23378           Sub-class elements can now implement special buffer allocation
23379           methods for outgoing buffers if they wish to.
23380           Big documentation addition.
23381         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
23382         * gst/elements/gstelements.c:
23383           Changes for basetransform modifications.
23384         * gst/elements/Makefile.am:
23385         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
23386           Compile fix. Extra debug output.
23387
23388 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23389
23390         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
23391         (gst_pad_suite):
23392           add tests for valid pad naming
23393         * gst/check/gstcheck.c: (gst_check_log_message_func),
23394         (gst_check_log_critical_func):
23395           add ASSERT_WARNING
23396           remove printing of code, it is fragile when the code contains
23397           % and the line number is enough info
23398         * gst/check/gstcheck.h:
23399         * gst/gstpad.c: (gst_pad_template_new):
23400           fix memleaks
23401
23402 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23403
23404         * configure.ac:
23405           say what CHECK flags we use
23406         * docs/libs/gstreamer-libs.types:
23407         * libs/gst/controller/Makefile.am:
23408         * libs/gst/controller/gst-controller.c:
23409         * libs/gst/controller/gst-controller.h:
23410         * libs/gst/controller/gst-helper.c:
23411         * libs/gst/controller/gst-interpolation.c:
23412         * libs/gst/controller/gstcontroller.c:
23413         * libs/gst/controller/gsthelper.c:
23414         * libs/gst/controller/gstinterpolation.c:
23415         * tools/gst-inspect.c: (print_plugin_info):
23416           we don't use dashes in header names
23417
23418 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23419
23420         * check/Makefile.am:
23421         * check/gst/.cvsignore:
23422         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
23423         (gst_pipeline_suite), (main):
23424           adding a test for pipelines and state changes
23425         * gst/gstutils.c: (get_state_func):
23426           add some debugging
23427         * gstreamer.spec.in:
23428           fix up spec file
23429
23430 2005-09-08  Michael Smith <msmith@fluendo.com>
23431
23432         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
23433         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
23434         (gst_file_src_is_seekable), (gst_file_src_get_size),
23435         (gst_file_src_start):
23436         * gst/elements/gstfilesrc.h:
23437           Various fixes for unseekable, unmmapable, and non-normal files, so
23438           that fallback to read() rather than mmap() works.
23439         * gst/gstevent.c: (gst_event_new_newsegment):
23440           Allow newsegment events with segment_start == segment_end, as will
23441           correctly happen if you use filesrc on a zero-size file, for
23442           example.
23443
23444 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23445
23446         * gst/gstplugin.c: (gst_plugin_load_file):
23447           Call g_module_close when we don't load the module
23448
23449         * gst/registries/gstlibxmlregistry.c:
23450         (gst_xml_registry_get_property):
23451           Port leak fix from 0.8
23452
23453 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23454
23455         * docs/gst/gstreamer-docs.sgml:
23456         * docs/gst/tmpl/.cvsignore:
23457         * docs/gst/tmpl/gsttrace.sgml:
23458         * docs/gst/tmpl/gsttrashstack.sgml:
23459         * gst/Makefile.am:
23460         * gst/gst.h:
23461         * gst/gstelement.h:
23462         * gst/gstevent.h:
23463         * gst/gstmessage.c:
23464         * gst/gstmessage.h:
23465         * gst/gsttag.c:
23466         * gst/gsttag.h:
23467         * gst/gsttaginterface.c:
23468         * gst/gsttaginterface.h:
23469         * gst/gsttaglist.c:
23470         * gst/gsttaglist.h:
23471         * gst/gsttagsetter.c:
23472         * gst/gsttagsetter.h:
23473         * gst/gsttrace.c:
23474         * gst/gsttrace.h:
23475         * gst/gsttrashstack.c:
23476           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
23477           inlined docs for gsttrace, gsttrashstack
23478
23479 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23480
23481         * gst/Makefile.am:
23482         * gst/elements/gstbufferstore.h:
23483         * gst/elements/gsttypefindelement.c:
23484         * gst/elements/gsttypefindelement.h:
23485         * gst/gst.h:
23486         * gst/gsttypefind.c:
23487         * gst/gsttypefind.h:
23488         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
23489         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
23490         (gst_type_find_factory_dispose),
23491         (gst_type_find_factory_unload_thyself),
23492         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
23493         (gst_type_find_factory_get_caps),
23494         (gst_type_find_factory_get_extensions),
23495         (gst_type_find_factory_call_function):
23496         * gst/gsttypefindfactory.h:
23497         * gst/registries/gstlibxmlregistry.c:
23498         * gst/registries/gstxmlregistry.c:
23499           splitted gsttypefind into gsttypefind, gsttypefindfactory
23500
23501 2005-09-07  Andy Wingo  <wingo@pobox.com>
23502
23503         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
23504         condition whereby the pad's task function is entered before the
23505         pad_mode variable was set.
23506
23507 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23508
23509         * gst/gstpad.c: (gst_pad_alloc_buffer):
23510           Catch misbehaving pad_alloc functions that don't
23511           set up caps and do it for them.
23512
23513 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23514
23515         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23516           test for pipe!=NULL
23517         * docs/gst/tmpl/.cvsignore:
23518         * docs/gst/tmpl/gstmemchunk.sgml:
23519         * docs/gst/tmpl/gstparse.sgml:
23520         * docs/gst/tmpl/gsttaglist.sgml:
23521         * docs/gst/tmpl/gsttagsetter.sgml:
23522         * docs/gst/tmpl/gsttypefind.sgml:
23523         * docs/gst/tmpl/gsttypefindfactory.sgml:
23524         * gst/gstmemchunk.c:
23525         * gst/gstparse.c:
23526         * gst/gsttag.c:
23527         * gst/gsttaginterface.c:
23528         * gst/gsttypefind.c:
23529         * gst/gsttypefind.h:
23530           inlined more docs
23531
23532 === release 0.9.2 ===
23533
23534 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23535
23536         * NEWS:
23537         * RELEASE:
23538         * configure.ac:
23539           releasing 0.9.2, "South"
23540
23541 2005-09-05  Andy Wingo  <wingo@pobox.com>
23542
23543         * gst/registries/gstxmlregistry.h:
23544         * gst/registries/gstxmlregistry.c: Um... resurrect...
23545         
23546         * gst/registries/gstxmlregistry.h:
23547         * gst/registries/gstxmlregistry.c: and update to newer API.
23548         Incidentally they should be a bit faster now that they don't have
23549         to parse the caps.
23550         
23551 2005-09-05  Andy Wingo  <wingo@pobox.com>
23552
23553         * gst/registries/gstxmlregistry.h:
23554         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
23555         replaced by the libxml registry a while back
23556
23557 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23558
23559         * docs/gst/tmpl/gstplugin.sgml:
23560         * gst/elements/gstelements.c:
23561         * gst/gst.c:
23562         * gst/gstplugin.c: (gst_plugin_register_func),
23563         (gst_plugin_desc_copy), (gst_plugin_desc_free),
23564         (gst_plugin_get_source):
23565         * gst/gstplugin.h:
23566         * gst/registries/gstlibxmlregistry.c: (load_plugin),
23567         (gst_xml_registry_save_plugin):
23568         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
23569         (gst_xml_registry_save_plugin):
23570         * tools/gst-inspect.c: (print_plugin_info):
23571           add a "source" plugin description field, to represent the source
23572           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
23573           will set it to PACKAGE, which is automake's idea of the name of
23574           the source project.
23575
23576 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23577
23578         * Makefile.am:
23579         * autogen.sh:
23580         * configure.ac:
23581         * docs/Makefile.am:
23582         * docs/faq/Makefile.am:
23583         * docs/gst/tmpl/gstelement.sgml:
23584         * docs/gst/tmpl/gsttypes.sgml:
23585         * docs/htmlinstall.mak:
23586         * docs/manual/Makefile.am:
23587         * docs/pwg/Makefile.am:
23588           reorganize doc build a little
23589           split out docbook and gtk-doc stuff
23590           have two separate --enable's and enable them through autogen
23591           but disable by default in configure (to be similar to other
23592           projects)
23593         * gstreamer.spec.in:
23594           clean up docs install
23595         * po/af.po:
23596         * po/az.po:
23597         * po/ca.po:
23598         * po/cs.po:
23599         * po/de.po:
23600         * po/en_GB.po:
23601         * po/fr.po:
23602         * po/it.po:
23603         * po/nb.po:
23604         * po/nl.po:
23605         * po/ru.po:
23606         * po/sq.po:
23607         * po/sr.po:
23608         * po/sv.po:
23609         * po/tr.po:
23610         * po/uk.po:
23611         * po/vi.po:
23612           translation updates
23613
23614 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
23615
23616         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
23617           Add comment.
23618           
23619         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23620         (gst_fake_sink_change_state):
23621           Make state change function thread-safe.
23622           
23623         * gst/gstpad.c: (gst_pad_alloc_buffer):
23624           Set offset on generic buffer allocated by fallback.
23625
23626 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
23627
23628         * docs/gst/gstreamer-sections.txt:
23629         * docs/gst/tmpl/gstelement.sgml:
23630         * gst/gstpad.c:
23631         * libs/gst/controller/gst-controller.c:
23632         (gst_controlled_property_set_interpolation_mode),
23633         (gst_controlled_property_new),
23634         (gst_controller_find_controlled_property):
23635          run the wingo-magic script against the docs
23636
23637 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
23638
23639         * docs/gst/gstreamer-docs.sgml:
23640         * docs/gst/gstreamer-sections.txt:
23641         * docs/gst/tmpl/.cvsignore:
23642         * docs/gst/tmpl/gstelementdetails.sgml:
23643         * docs/gst/tmpl/gstelementfactory.sgml:
23644         * gst/gst.c:
23645         * gst/gstbus.c:
23646         * gst/gstelementfactory.c:
23647         * gst/gstelementfactory.h:
23648           merged elementdetails docs into elementfactory docs
23649           inlined both
23650
23651 2005-09-02  Andy Wingo  <wingo@pobox.com>
23652
23653         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
23654         consider this enum an enum and not a flags.
23655
23656 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
23657
23658         * docs/gst/gstreamer-docs.sgml:
23659         * docs/gst/tmpl/.cvsignore:
23660         * docs/gst/tmpl/gstghostpad.sgml:
23661         * docs/gst/tmpl/gstiterator.sgml:
23662         * docs/gst/tmpl/gstmacros.sgml:
23663         * docs/gst/tmpl/gstrealpad.sgml:
23664         * docs/gst/tmpl/gstregistry.sgml:
23665         * docs/gst/tmpl/gstregistrypool.sgml:
23666         * docs/gst/tmpl/gststructure.sgml:
23667         * docs/gst/tmpl/gstsystemclock.sgml:
23668         * docs/gst/tmpl/gsttrace.sgml:
23669         * gst/gstghostpad.c:
23670         * gst/gstmacros.h:
23671         * gst/gstmemchunk.c:
23672         * gst/gstmemchunk.h:
23673         * gst/gstqueue.c:
23674         * gst/gstregistry.c:
23675         * gst/gstregistrypool.c:
23676         * gst/gststructure.c:
23677         * gst/gstsystemclock.c:
23678           more docs inlined
23679
23680 2005-09-02  Andy Wingo  <wingo@pobox.com>
23681
23682         * gst/gstelement.h (GstState): Renamed from GstElementState,
23683         changed to be a normal enum instead of flags.
23684         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
23685         munged to be GST_STATE_CHANGE_*.
23686         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
23687         work with the new state representation.
23688         (GstStateChange): New enumeration of possible state transitions.
23689         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
23690         (GstElementClass::change_state): Pass the GstStateChange along as
23691         an argument. Helps language bindings, so they don't have to use
23692         tricky lock-needing macros like GST_STATE_CHANGE ().
23693
23694         * scripts/update-states (file): New script. Run it on a file to
23695         update it for state naming and API changes. Updates files in
23696         place.
23697
23698         * All files updated for the new API.
23699
23700 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23701
23702         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
23703         * gst/gstutils.c: (gst_util_set_value_from_string),
23704         (gst_util_set_object_arg):
23705           fix a bunch of unchecked return values
23706         * tools/gst-complete.c: (main):
23707         * gstreamer.spec.in:
23708           clean up a little
23709
23710 2005-09-01  Wim Taymans  <wim@fluendo.com>
23711
23712         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23713         (gst_base_sink_event), (gst_base_sink_do_sync),
23714         (gst_base_sink_handle_event):
23715         * gst/base/gstbasesink.h:
23716         Handle newsegments more correctly.
23717
23718         * gst/gstbus.c:
23719         Fix docs.
23720
23721         * gst/gstevent.c: (gst_event_new_newsegment):
23722         A newsegment cannot have a start_time of -1
23723
23724 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
23725
23726         * win32/gstenumtypes.c:
23727         * win32/gstenumtypes.h:
23728           Update
23729
23730 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23731
23732         * libs/gst/controller/gst-controller.c:
23733         (gst_controlled_property_set_interpolation_mode),
23734         (gst_controlled_property_new):
23735          fixed boolean again
23736
23737 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
23738
23739         * docs/faq/gst-uninstalled:
23740           add -good
23741         * gst/gstevent.c:
23742         * gst/gstevent.h:
23743           remove wrong docs
23744         * gst/gstutils.c: (gst_element_link_filtered):
23745         * gst/gstutils.h:
23746           add gst_element_link_filtered
23747
23748 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23749
23750         * docs/gst/gstreamer-docs.sgml:
23751         * docs/gst/gstreamer-sections.txt:
23752         * docs/gst/tmpl/.cvsignore:
23753         * docs/gst/tmpl/gsterror.sgml:
23754         * docs/gst/tmpl/gstfilter.sgml:
23755         * docs/gst/tmpl/gsturihandler.sgml:
23756         * docs/gst/tmpl/gsturitype.sgml:
23757         * docs/gst/tmpl/gstutils.sgml:
23758         * docs/gst/tmpl/gstxml.sgml:
23759         * gst/gsterror.c:
23760         * gst/gsterror.h:
23761         * gst/gstfilter.c:
23762         * gst/gsturi.c:
23763         * gst/gsturitype.c:
23764         * gst/gstutils.c:
23765         * gst/gstxml.c:
23766           inlined more docs, fixed double id-ref
23767
23768 2005-08-31  Wim Taymans  <wim@fluendo.com>
23769
23770         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23771         (gst_base_transform_handle_buffer):
23772         Passthrough elements don't need the caps as they don't care.
23773
23774 2005-08-31  Wim Taymans  <wim@fluendo.com>
23775
23776         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23777         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
23778         Don't leak refcounts on buffers.
23779
23780 2005-08-31  Wim Taymans  <wim@fluendo.com>
23781
23782         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
23783         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23784         (gst_base_transform_chain), (gst_base_transform_change_state):
23785         * gst/base/gstbasetransform.h:
23786         Handle the case where we are not negotiated more gracefully.
23787
23788 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
23789
23790         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
23791         (gst_file_src_map_region):
23792           Set READONLY flag on mmap'ed buffers, otherwise
23793           gst_buffer_make_writable() won't work properly (#314708).
23794
23795 2005-08-31  Wim Taymans  <wim@fluendo.com>
23796
23797         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
23798         passthrough elements can even do inplace on non writable
23799         buffers (as they don't touch them).
23800
23801 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23802
23803         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23804         (gst_test_mono_source_set_property),
23805         (gst_test_mono_source_class_init), (GST_START_TEST),
23806         (gst_controller_suite):
23807           more tests (hehe I have the most)
23808         * gst/gstbus.c:
23809           describe popping messages whenusing mulltiple sources
23810         * libs/gst/controller/gst-controller.c:
23811         (gst_controlled_property_set_interpolation_mode),
23812         (gst_controlled_property_new):
23813         * libs/gst/controller/gst-controller.h:
23814         * libs/gst/controller/gst-interpolation.c:
23815           implement boolean properties
23816
23817 2005-08-31  Wim Taymans  <wim@fluendo.com>
23818
23819         * gst/gstminiobject.c: (gst_mini_object_ref):
23820         Cannot assert that the refcount has to be positive
23821         since a disposed object can be resurrected.
23822
23823 2005-08-31  Wim Taymans  <wim@fluendo.com>
23824
23825         * gst/gstpad.c: (gst_pad_init):
23826         Revert change, need to first fix badly behaving 
23827         apps.
23828
23829 2005-08-30  Wim Taymans  <wim@fluendo.com>
23830
23831         * check/elements/fakesrc.c: (setup_fakesrc):
23832         * check/elements/identity.c: (setup_identity):
23833         Activate pads before using them.
23834
23835 2005-08-30  Wim Taymans  <wim@fluendo.com>
23836
23837         * gst/base/gstadapter.c: (gst_adapter_flush):
23838         Flushing out 0 bytes is ok for this function.
23839
23840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23841         no newsegment gives a warning and sets the start/stop to 
23842         invalid.
23843
23844         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
23845         (gst_base_transform_set_passthrough):
23846         Some debug info.
23847
23848         * gst/gstminiobject.c: (gst_mini_object_ref):
23849         Check refcount here too.
23850
23851         * gst/gstpad.c: (gst_pad_init):
23852         Pads are initially flushing and refusing data.
23853
23854         * gst/gstutils.c: (gst_element_link_pads_filtered):
23855         When adding a capsfilter element make sure it has the
23856         same state as the parent bin.
23857
23858 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23859
23860         * docs/gst/tmpl/.cvsignore:
23861         * docs/gst/tmpl/gstformat.sgml:
23862         * docs/gst/tmpl/gstversion.sgml:
23863         * gst/gstbus.h:
23864         * gst/gstformat.c:
23865         * gst/gstformat.h:
23866         * gst/gstversion.h.in:
23867           more docs and two more inlined
23868
23869 2005-08-30  Wim Taymans  <wim@fluendo.com>
23870
23871         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
23872         Don't sync to clock.
23873
23874 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23875
23876         * docs/gst/gstreamer-sections.txt:
23877           ultral33t func10ns deserve to appear in the docs actually
23878         * docs/gst/tmpl/.cvsignore:
23879         * docs/gst/tmpl/gstcompat.sgml:
23880         * docs/gst/tmpl/gstconfig.sgml:
23881         * gst/check/gstcheck.c:
23882         * gst/gstcompat.h:
23883         * gst/gstconfig.h.in:
23884           inlined more docs
23885
23886 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23887
23888         * docs/gst/tmpl/.cvsignore:
23889         * docs/gst/tmpl/gstquery.sgml:
23890         * docs/gst/tmpl/gstutils.sgml:
23891         * gst/gstquery.c:
23892         * gst/gstquery.h:
23893           inlined and extended docs
23894
23895 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23896
23897         * check/gst-libs/controller.c: (GST_START_TEST),
23898         (gst_controller_suite):
23899           more tests
23900         * docs/gst/tmpl/gstutils.sgml:
23901         * docs/libs/gstreamer-libs-sections.txt:
23902         * docs/libs/tmpl/gstdataprotocol.sgml:
23903           include path fixes
23904         * examples/controller/audio-example.c: (main):
23905           controller example works now
23906         * gst/gstclock.h:
23907           doc fixes
23908         * tools/gst-inspect.c: (print_element_properties_info):
23909           show param spec flags
23910
23911 2005-08-29  Andy Wingo  <wingo@pobox.com>
23912
23913         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
23914
23915 2005-08-28  Andy Wingo  <wingo@pobox.com>
23916
23917         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
23918         as having two arguments instead of just one. Allows superclasses
23919         to access information on subclasses -- see the terrible for() loop
23920         in gtype.c:g_type_create_instance for the reason why. All callers
23921         changed.
23922
23923 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23924
23925         * docs/design/part-messages.txt:
23926           update info
23927         * docs/gst/tmpl/.cvsignore:
23928         * docs/gst/tmpl/gstcaps.sgml:
23929         * docs/gst/tmpl/gstclock.sgml:
23930         * gst/gstbus.c:
23931         * gst/gstcaps.c:
23932         * gst/gstcaps.h:
23933         * gst/gstclock.c:
23934         * gst/gstclock.h:
23935         * gst/gstmessage.c:
23936           added descriptions for bus and message
23937           inline caps and clock docs
23938
23939 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23940
23941         * gst/gstmessage.c:
23942         * gst/gstmessage.h:
23943           doc fixes
23944
23945 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23946
23947         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23948           fix div-by-zero
23949
23950 2005-08-26  Andy Wingo  <wingo@pobox.com>
23951
23952         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
23953         element_set_state's return val.
23954         (test_2_elements): Add test that's been disabled for months.
23955
23956         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
23957         can-activate-pull properties.
23958
23959         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
23960         can-activate-pull properties. Implement is_seekable so fakesrc can
23961         operate in pull mode.
23962
23963         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
23964         properties.
23965         (gst_base_sink_activate, gst_base_sink_activate_pull)
23966         (gst_base_sink_activate_push): Make activation mode choosing work.
23967         Cleanups.
23968         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
23969         is right. Make pull mode work. Post an eos before pausing in pull
23970         mode.
23971         (gst_base_sink_change_state): Pay attention to the core's
23972         change_state() return val.
23973         
23974         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
23975         has-getrange properties. Cleanups.
23976         
23977         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
23978         has_getrange and replace with can_activate_pull and
23979         can_activate_push.
23980
23981         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
23982         locking comments. Remove has_loop, has_chain and replace with
23983         can_activate_pull and can_activate_push.
23984
23985 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
23986
23987         * configure.ac:
23988         * examples/Makefile.am:
23989         * examples/metadata/Makefile.am:
23990         * examples/metadata/read-metadata.c: (message_loop),
23991         (have_pad_handler), (make_pipeline), (print_tag), (main):
23992           Add metadata reading example that loops over a list of filenames,
23993           dumping any tags found.
23994
23995         * gst/gstbus.c: (gst_bus_dispose):
23996         * gst/gstelement.c: (gst_element_dispose):
23997           Release a few potentially-held references in dispose.
23998
23999 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24000
24001         * docs/gst/tmpl/gstminiobject.sgml:
24002           do *not* add tmpl/*.sgml files to CVS!
24003
24004 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24005
24006         * libs/gst/bytestream/.cvsignore:
24007         * libs/gst/bytestream/Makefile.am:
24008         * libs/gst/bytestream/adapter.c:
24009         * libs/gst/bytestream/adapter.h:
24010         * libs/gst/bytestream/bytestream.c:
24011         * libs/gst/bytestream/bytestream.h:
24012         * libs/gst/bytestream/filepad.c:
24013         * libs/gst/bytestream/filepad.h:
24014           removing obsolete files
24015
24016 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24017
24018         * docs/gst/gstreamer-docs.sgml:
24019         * docs/libs/gstreamer-libs-docs.sgml:
24020           disabed additional index entries again, as this makes docs-gen just
24021           slow and they aren't useful yet
24022         * docs/libs/gstreamer-libs-sections.txt:
24023           little -section.txt cleanup for libs
24024
24025 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24026
24027         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24028         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
24029           fix up some debugging
24030         (gst_base_transform_get_unit_size),
24031         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24032         (gst_base_transform_handle_buffer):
24033         * gst/base/gstbasetransform.h:
24034           handle and store timed NEWSEGMENT events so that subclasses that
24035           calculate time by counting samples have a segment_start time they
24036           need to add to their timestamps - see audioresample
24037
24038 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24039
24040         * gst/gstbin.h:
24041           removed ';' from the end of macro defs
24042         * docs/gst/gstreamer-docs.sgml:
24043         * docs/gst/gstreamer-sections.txt:
24044         * docs/gst/tmpl/.cvsignore:
24045         * gst/gstbus.h:
24046         * gst/gstelement.c: (gst_element_class_init),
24047         (gst_element_set_state), (activate_pads),
24048         (gst_element_save_thyself):
24049         * gst/gstevent.c: (gst_event_new_newsegment):
24050         * gst/gstevent.h:
24051         * gst/gstiterator.c:
24052         * gst/gstiterator.h:
24053         * gst/gstpad.c:
24054         * gst/gstprobe.h:
24055         * gst/gstutils.c: (gst_pad_query_convert):
24056         * gst/gstutils.h:
24057           fixed parameter name mismatches between source, header and docs
24058           added some more docs, resolved the last batch of unused elements in
24059           docs (now someone needs to doc them)
24060
24061 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24062
24063         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
24064         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
24065           don't walk through the plugins backwards.  Where is all this
24066           reversed logic coming from ?
24067
24068 2005-08-25  Wim Taymans  <wim@fluendo.com>
24069
24070         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24071         (gst_base_transform_transform_size),
24072         (gst_base_transform_configure_caps),
24073         (gst_base_transform_get_unit_size),
24074         (gst_base_transform_buffer_alloc),
24075         (gst_base_transform_change_state):
24076         * gst/base/gstbasetransform.h:
24077         Cache caps unit_size.
24078         Make sure we cannot negotiate up and downstream at the
24079         same time.
24080
24081 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24082
24083         * gst/gst.c: (init_pre), (init_post):
24084           register the installed plugin path after the env var
24085         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
24086         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
24087           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
24088           directories, so the tests can prefer uninstalled over installed
24089
24090 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24091
24092         * gst/base/gstbasetransform.h:
24093           comment
24094         * gst/gstpad.c:
24095           add to docs
24096
24097 2005-08-25  Wim Taymans  <wim@fluendo.com>
24098
24099         * gst/gstbin.c: (bin_bus_handler):
24100         Be a bit more conservative about the posted message.
24101         
24102         * gst/gstbus.c: (gst_bus_post):
24103         Some cleanups, warn wrong return values.
24104
24105 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
24106
24107         * check/gst/gstbin.c: (GST_START_TEST):
24108         * gst/gstbin.c: (bin_bus_handler):
24109         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24110         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24111         (gst_message_new_warning), (gst_message_new_tag),
24112         (gst_message_new_state_changed), (gst_message_new_segment_start),
24113         (gst_message_new_segment_done), (gst_message_new_custom):
24114         * gst/gstmessage.h:
24115         * tools/gst-launch.c: (event_loop):
24116         * tools/gst-md5sum.c: (event_loop):
24117           Revert unpopular change for GST_MESSAGE_SRC to GObject.
24118
24119 2005-08-25  Wim Taymans  <wim@fluendo.com>
24120
24121         * check/generic/states.c: (GST_START_TEST):
24122         Cleanup can be done at the end.
24123
24124         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
24125         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24126         (gst_task_get_state), (gst_task_start), (gst_task_pause):
24127         Oh boy.. Thanks for finding this, Thomas. 
24128
24129 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24130
24131         * docs/gst/gstreamer.types:
24132           added missing types
24133
24134 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24135
24136         * docs/gst/gstreamer-docs.sgml:
24137         * docs/gst/gstreamer-sections.txt:
24138         * docs/gst/tmpl/.cvsignore:
24139         * gst/gstbin.c:
24140         * gst/gstiterator.c:
24141         * gst/gstutils.c:
24142         * gst/registries/gstxmlregistry.h:
24143           added missing classes and symbols (123 more to go)
24144           removed removed symbols from section file
24145           fixed many doc-comments
24146
24147 2005-08-24  Wim Taymans  <wim@fluendo.com>
24148
24149         * check/generic/states.c: (GST_START_TEST):
24150         Make sure all tasks are stopped.
24151
24152         * check/gst/gstbin.c: (GST_START_TEST):
24153         Unref after usage for proper valgrinding.
24154
24155         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
24156         Really wait for the task to stop before destroying the
24157         mutex.
24158
24159         * gst/gstqueue.c: (gst_queue_sink_activate_push),
24160         (gst_queue_src_activate_push):
24161         Small cleanups. Don't stop the task when we did not start
24162         it.
24163
24164         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
24165         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24166         (gst_task_get_state), (gst_task_start), (gst_task_pause),
24167         (gst_task_join):
24168         * gst/gsttask.h:
24169         Protect the stream lock with the object lock.
24170         Disallow setting the stream lock when running.
24171         Add cleanup_all to wait for the threadpool to finish.
24172         Remove code to autoallocate a mutex if none was provided.
24173         Add _join() to wait for a task to stop.
24174         Protect the thread pool with a global lock.
24175
24176 2005-08-24  Wim Taymans  <wim@fluendo.com>
24177
24178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24179         (gst_base_sink_get_times), (gst_base_sink_do_sync),
24180         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
24181         * gst/base/gstbasesink.h:
24182         Handle newsegment events correctly.
24183         Drop buffers out of the segment range.
24184
24185 2005-08-22  Andy Wingo  <wingo@pobox.com>
24186
24187         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
24188         macro, implements an interface and gstimplementsinterface for a
24189         new type.
24190
24191 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24192
24193         * check/Makefile.am:
24194         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
24195           add a test that does a bunch of state changes on elements
24196           needs some fixing for valgrind
24197         * check/states/sinks.c: (gst_object_suite):
24198           whitespace
24199         * gst/gstcaps.h:
24200           add prototype for gst_caps_is_equal_fixed
24201         * gst/gstplugin.c:
24202         * gst/gstregistrypool.c:
24203           doc fixes
24204
24205 2005-08-24  Andy Wingo  <wingo@pobox.com>
24206
24207         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
24208         convert a negative value. Doesn't make much sense. Mostly this is
24209         here to force callers to ensure -1 maps to -1.
24210
24211 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24212
24213         * docs/pwg/advanced-types.xml:
24214           Well done to Michael for catching my deliberate introduction
24215           of this spelling mistake. 
24216         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
24217         * gst/gstelement.h:
24218           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
24219           unlink pads before removing the element from the bin.
24220
24221 2005-08-24  Andy Wingo  <wingo@pobox.com>
24222
24223         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
24224         the same thing as GST_DEBUG=*:4.
24225         (parse_debug_level, parse_debug_category): New helper parsers.
24226
24227 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24228
24229         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24230         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
24231         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
24232         (gst_base_transform_buffer_alloc),
24233         (gst_base_transform_handle_buffer):
24234           use gboolean return values and pointers to size so we can use the
24235           full GST_BUFFER_SIZE range (guint) for buffer sizes
24236           use GstPadDirection for transform_caps
24237         * gst/base/gstbasetransform.h:
24238           rename get_size to get_unit_size since that's what it is
24239         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
24240           use GstPadDirection for transform_caps
24241         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24242         * gst/gstutils.h:
24243           cleanup and debugging
24244
24245 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24246
24247         * gst/gstelement.c: (gst_element_class_init),
24248         (gst_element_set_state), (activate_pads),
24249         (gst_element_save_thyself):
24250         * tools/gst-compprep.c: (main):
24251         * tools/gst-inspect.c: (print_element_properties_info):
24252         * tools/gst-xmlinspect.c: (print_element_properties):
24253           Fixed long standing mem-leak
24254
24255 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24256
24257         * check/gst/gstbin.c: (GST_START_TEST):
24258         * gst/gstbin.c: (bin_bus_handler):
24259         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24260         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24261         (gst_message_new_warning), (gst_message_new_tag),
24262         (gst_message_new_state_changed), (gst_message_new_segment_start),
24263         (gst_message_new_segment_done), (gst_message_new_custom):
24264         * gst/gstmessage.h:
24265         * tools/gst-launch.c: (event_loop):
24266         * tools/gst-md5sum.c: (event_loop):
24267           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
24268           that applications can sensibly post custom messages with references
24269           to their own objects.
24270
24271 2005-08-24  Andy Wingo  <wingo@pobox.com>
24272
24273         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
24274         already.
24275
24276 2005-08-24  Wim Taymans  <wim@fluendo.com>
24277
24278         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24279         (gst_base_transform_transform_caps),
24280         (gst_base_transform_transform_size),
24281         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24282         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24283         (gst_base_transform_handle_buffer):
24284         * gst/base/gstbasetransform.h:
24285         Many fixes and new features added by Thomas. Can now also do
24286         transforms with variable sizes and a custom fixate_caps function.
24287
24288 2005-08-24  Wim Taymans  <wim@fluendo.com>
24289
24290         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24291         Some debugging.
24292
24293         * gst/gstclock.h:
24294         Cast to ClockTime before formatting to time.
24295
24296         * gst/gstutils.h:
24297         Cleanups.
24298
24299 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24300
24301         * check/gst-libs/controller.c: (GST_START_TEST),
24302         (gst_controller_suite):
24303         * docs/gst/tmpl/gstcaps.sgml:
24304         * docs/gst/tmpl/gstghostpad.sgml:
24305         * docs/gst/tmpl/gstquery.sgml:
24306         * docs/gst/tmpl/gstutils.sgml:
24307         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
24308         (gst_object_sink_values), (gst_object_get_value_arrays),
24309         (gst_object_get_value_array):
24310           gracefully handle helper method calls to objects that are not beeing
24311           controlled, added test case for that          
24312
24313 2005-08-23  Wim Taymans  <wim@fluendo.com>
24314
24315         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
24316         (gst_event_new_newsegment), (gst_event_parse_newsegment),
24317         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
24318         (gst_event_parse_qos), (gst_event_new_seek),
24319         (gst_event_parse_seek):
24320         * gst/gstevent.h:
24321         Some more debugging output and doc cleanups.
24322
24323         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24324         Fix possible deadlock.
24325
24326 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24327
24328         * docs/gst/gstreamer-docs.sgml:
24329         * docs/gst/gstreamer-sections.txt:
24330         * docs/gst/gstreamer.types:
24331         * docs/gst/tmpl/.cvsignore:
24332         * gst/gstbin.h:
24333         * gst/gstbus.c:
24334         * gst/gstelement.c:
24335         * gst/gstevent.h:
24336           added 100 symbols from gstreamer-unused.txt to the right sections
24337           fixed more broken comments
24338           added GstBus to docs
24339
24340 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24341
24342         * docs/gst/gstreamer-sections.txt:
24343         * docs/gst/tmpl/.cvsignore:
24344         * docs/gst/tmpl/gstbin.sgml:
24345         * docs/gst/tmpl/gstbuffer.sgml:
24346         * gst/base/gstbasesrc.c:
24347         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
24348         * gst/gstbuffer.c:
24349         * gst/gstbuffer.h:
24350         * tools/gst-launch.1.in:
24351           inlined more doc comments, added missing comments and fixed comments
24352           fixed typos
24353
24354 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24355
24356         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24357           some debugging
24358         * gst/gstcaps.h:
24359           whitespace fixes
24360         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
24361           more debugging
24362         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
24363         * gst/gststructure.h:
24364           add a fixate function for booleans; add a FIXME that these func
24365           names should probably be gst_structure_fixate_*
24366
24367 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24368
24369         * docs/gst/gstreamer-docs.sgml:
24370         * docs/gst/gstreamer-sections.txt:
24371         * gst/Makefile.am:
24372         * gst/gstbin.c: (gst_bin_get_type),
24373         (gst_bin_child_proxy_get_child_by_index),
24374         (gst_bin_child_proxy_get_children_count),
24375         (gst_bin_child_proxy_init):
24376         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24377         (gst_child_proxy_get_child_by_index),
24378         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
24379         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
24380         (gst_child_proxy_get), (gst_child_proxy_set_property),
24381         (gst_child_proxy_set_valist), (gst_child_proxy_set),
24382         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
24383         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
24384         * gst/gstchildproxy.h:
24385         * gst/parse/grammar.y:
24386         * tools/gst-inspect.c: (print_interfaces),
24387         (print_element_properties_info), (print_element_info):
24388           ported gstchildproxy over from 0.8
24389           ported gst-inspect fixes and enhancements over from 0.8
24390
24391 2005-08-22  Wim Taymans  <wim@fluendo.com>
24392
24393         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24394         (gst_base_transform_handle_buffer):
24395         Also call the transform function if we have ANY caps.
24396
24397         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
24398         Fix debug info.
24399
24400 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24401
24402         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
24403           Don't pretend to handle seek events if the source is not seekable
24404
24405 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24406
24407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24408           Remove extra parameter to debug output
24409
24410         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24411         (gst_base_src_do_seek), (gst_base_src_activate_push):
24412           Fix seek event handling.
24413
24414         * gst/gstpipeline.c: (gst_pipeline_change_state):
24415         * gst/gstqueue.c: (gst_queue_handle_sink_event),
24416         (gst_queue_src_activate_push):
24417           Don't start the src pad task on FLUSH_STOP if the pad
24418           isn't linked.
24419           Debug changes.
24420
24421 2005-08-22  Wim Taymans  <wim@fluendo.com>
24422
24423         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
24424         Added check for gst_static_caps_get() refcounting.
24425
24426 2005-08-22  Wim Taymans  <wim@fluendo.com>
24427
24428         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
24429         Make _static_caps_get() refcounting sane.
24430         
24431         * gst/gstelement.c: (gst_element_set_state):
24432         Add g_return_val_if_fail() to protect against segfaults.
24433
24434 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
24435
24436         * docs/gst/tmpl/gstevent.sgml:
24437         * gst/gstevent.c:
24438         * gst/gstevent.h:
24439           inlined remaining docs, added missing doc comments
24440
24441 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24442
24443         * check/gst/gstbin.c: (GST_START_TEST):
24444           since we don't know when preroll is done, use refcount range
24445           check for the sink
24446         * gst/check/gstcheck.h:
24447           add macro for checking refcount range
24448
24449 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24450
24451         * check/Makefile.am:
24452           clean up environment for when registry gets built versus
24453           when actual tests are run; valgrind seems to not report
24454           leaks if GST_PLUGIN_PATH is set to some specific values
24455         * check/gst/gstbin.c: (GST_START_TEST):
24456           add more refcounting checks; maybe this exposes a
24457           preroll lock bug ?
24458         * common/check.mak:
24459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24460         * gst/check/gstcheck.h:
24461         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
24462         (gst_bin_change_state):
24463         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
24464           add/fix debugging/whitespace
24465
24466 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24467
24468         * check/gst/gstevent.c: (event_probe), (test_event),
24469         (GST_START_TEST):
24470          Er, don't call gst_bin_watch_for_state_change you idiot.
24471
24472 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24473
24474         * check/Makefile.am:
24475           Use CHECK_CFLAGS and CHECK_LIBS
24476         * check/gst/gstevent.c: (event_probe), (test_event),
24477         (GST_START_TEST):
24478           Don't leak events.
24479         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24480         (gst_base_src_start), (gst_base_src_stop),
24481         (gst_base_src_activate_push), (gst_base_src_activate_pull),
24482         (gst_base_src_change_state):
24483           Sprinkle gst_base_src_stop liberally around error paths to fix
24484           problems reusing a source after failed state changes.
24485         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24486         (helper_find_suggest), (gst_type_find_helper):
24487           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
24488         * gst/gstevent.h:
24489         * docs/gst/tmpl/gstevent.sgml:
24490           Migrate part of the docs from the SGML file. Wait for ensonic to
24491           tell me how I did it wrong ;)
24492         * tools/gst-typefind.c: (main):
24493           Extra robustness to state changes between files.
24494
24495 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24496
24497         * check/Makefile.am:
24498           don't valgrind the controller test - it's leaking - Stefan, HELP
24499         * gst/check/gstcheck.c: (gst_check_message_error),
24500         (gst_check_chain_func), (gst_check_setup_element),
24501         (gst_check_teardown_element), (gst_check_setup_src_pad),
24502         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
24503         (gst_check_teardown_sink_pad):
24504         * gst/check/gstcheck.h:
24505           add a bunch of methods to set up elements, and src and sink pads
24506         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
24507         * check/elements/identity.c: (setup_identity), (cleanup_identity),
24508         (GST_START_TEST):
24509           use them
24510         * gst/gstmessage.c:
24511         * gst/gsttag.h:
24512           whitespace/doc fixes
24513
24514 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24515
24516         * gst/gstelement.h:
24517           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
24518           be handled by the application and not always printed as well
24519
24520 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24521
24522         * check/Makefile.am:
24523           set GST_TOOLS_DIR
24524         * gst/check/gstcheck.c: (gst_check_message_error):
24525         * gst/check/gstcheck.h:
24526           add a fail_unless_equals_int
24527           add fail_unless for error messages
24528
24529 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24530
24531         * check/Makefile.am:
24532         * check/gst.supp:
24533         * common/Makefile.am:
24534         * common/check.mak:
24535         * common/gst.supp:
24536           factor out some of the common stuff so we can use it
24537
24538 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24539
24540         * check/Makefile.am:
24541         * check/gst/gstiterator.c: (GST_START_TEST):
24542         * check/gst/gstsystemclock.c: (GST_START_TEST),
24543         (gst_systemclock_suite):
24544         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24545         * gst/gstclock.c:
24546           valgrind more tests
24547
24548 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24549
24550         * check/elements/.cvsignore:
24551         * check/elements/gstfakesrc.c:
24552           rename to name of element
24553         * check/elements/identity.c: (chain_func), (event_func),
24554         (setup_identity), (cleanup_identity), (GST_START_TEST),
24555         (identity_suite), (main):
24556           add a test for identity
24557         * check/Makefile.am:
24558         * pkgconfig/Makefile.am:
24559         * pkgconfig/gstreamer-check.pc.in:
24560         * pkgconfig/gstreamer-check-uninstalled.pc.in:
24561         * gst/check:
24562         * gst/Makefile.am:
24563         * configure.ac:
24564           move the check stuff to a library that gets installed
24565         * check/gst-libs/controller.c: (GST_START_TEST):
24566         * check/gst-libs/gdp.c:
24567         * check/gst/gst.c: (GST_START_TEST):
24568         * check/gst/gstbin.c:
24569         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24570         * check/gst/gstbus.c:
24571         * check/gst/gstcaps.c: (GST_START_TEST):
24572         * check/gst/gstelement.c:
24573         * check/gst/gstghostpad.c:
24574         * check/gst/gstiterator.c:
24575         * check/gst/gstmessage.c:
24576         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
24577         * check/gst/gstobject.c:
24578         * check/gst/gstpad.c: (GST_START_TEST):
24579         * check/gst/gststructure.c: (GST_START_TEST):
24580         * check/gst/gstsystemclock.c: (GST_START_TEST),
24581         (gst_systemclock_suite):
24582         * check/gst/gsttag.c: (gst_tag_suite):
24583         * check/gst/gstvalue.c:
24584         * check/pipelines/cleanup.c:
24585         * check/pipelines/simple_launch_lines.c:
24586         * check/states/sinks.c:
24587           change include statement
24588
24589         * docs/gst/gstreamer-sections.txt:
24590         * docs/gst/tmpl/gstpad.sgml:
24591           document more pad stuff
24592         * gst/gstminiobject.c: (gst_mini_object_ref),
24593         (gst_mini_object_unref):
24594           debug refcounting
24595
24596 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
24597
24598         * docs/gst/tmpl/gst.sgml:
24599         * gst/gst.c:
24600           eliminate another tmpl file, fix spelling in the long-description
24601
24602 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24603
24604         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24605         (test_event), (timediff), (gstevents_suite):
24606           Should fix build on 64-bit arch's
24607
24608 2005-08-18  Andy Wingo  <wingo@pobox.com>
24609
24610         Make sure that when a pipeline goes to PLAYING, that data has
24611         actually hit the sink.
24612
24613         * check/states/sinks.c (test_sink): A sink that doesn't get any
24614         data shouldn't return SUCCESS for going to either PLAYING or
24615         PAUSED. Test also the return values on the way back down.
24616
24617         * gst/gstelement.c (gst_element_set_state): When changing the
24618         state of an element currently changing state asynchronously, go to
24619         lost-state after commiting the pending state. Makes future calls
24620         to get_state continue to return ASYNC.
24621
24622         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
24623         ASYNC when going to PLAYING if we still don't have preroll, as can
24624         happen with live sources.
24625
24626 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24627
24628         * docs/pwg/advanced-types.xml:
24629           Hack long paragraph into 2 chunks as a workaround for buggy
24630           jadetex version in sid and breezy that loops infinitely and
24631           eats all RAM.
24632
24633 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24634
24635         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24636         (test_event), (timediff), (gstevents_suite):
24637           Provide more error margin in clock measurements to allow for 
24638           g_get_current_time inaccuracies.
24639
24640 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24641
24642         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24643         (test_event), (timediff), (gstevents_suite):
24644            Fix error message output so I might be able to tell why the
24645            test works here but fails on the build farm.
24646
24647 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24648
24649         * check/Makefile.am:
24650         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24651         (test_event), (timediff), (gstevents_suite), (main):
24652           I wrote a test!
24653
24654         * docs/design/part-seeking.txt:
24655           Spelling correction
24656
24657         * docs/gst/tmpl/gstevent.sgml:
24658         * docs/gst/tmpl/gstfakesrc.sgml:
24659           Docs updates.
24660
24661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24662           Treat a buffer-without-newsegment the same as a receiving 
24663           a newsegment not in time format, and disable syncing to the clock
24664           with a warning.
24665
24666         * gst/gstbus.c: (gst_bus_set_sync_handler):
24667           Assert if anyone tries to replace the existing sync_handler for bus, 
24668           as only the owner should be setting it.
24669
24670         * gst/gstevent.h:
24671           Have a fixed set of custom event enums with events identified by
24672           their structure name (as in 0.8), rather than a free-for-all
24673           allowing collisions between enum values from different plugins.
24674
24675         * gst/gstpad.c: (gst_pad_class_init):
24676           Docs change.
24677           
24678         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24679           Handle out-of-band downstream events from the sending thread.
24680
24681 2005-08-17  Andy Wingo  <wingo@pobox.com>
24682
24683         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
24684         play-timeout==0 to mean no timeout at all. In that case, don't
24685         bother with a get_state or a warning, just return directly, even
24686         if it's ASYNC.
24687
24688         * gst/base/gstbasetransform.c: Debug changes.
24689
24690         * gst/gstutils.h:
24691         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
24692         ensure bins post state change messages. A bit of a hack but I can't
24693         think of a way to avoid it.
24694
24695         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
24696
24697 2005-08-16  Andy Wingo  <wingo@pobox.com>
24698
24699         * gst/base/gstadapter.h:
24700         * gst/base/gstadapter.c (gst_adapter_take): New function, like
24701         peek() but you own the data. Not terribly efficient atm.
24702
24703 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24704
24705         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
24706         (gst_element_found_tags):
24707         * gst/gstutils.h:
24708           Add two utility functions for tag handling.
24709
24710 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24711
24712         * docs/manual/advanced-dataaccess.xml:
24713         * docs/manual/basics-helloworld.xml:
24714           Fix docs to use _bin_add() before _link(), which fixes the examples
24715           with recent core versions (reported by Madhan Raj M
24716           <raj_madan@rediffmail.com>, #313199).
24717
24718 2005-08-16  Wim Taymans  <wim@fluendo.com>
24719
24720         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24721         Added subtract checks.
24722
24723         * docs/design/part-events.txt:
24724         Some more docs about newsegment
24725
24726         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24727         Fix FIXME
24728
24729         * gst/gstcaps.c: (gst_caps_to_string):
24730         Add comments, cleanups.
24731         
24732         * gst/gstelement.c: (gst_element_save_thyself):
24733         cleanups
24734         
24735         * gst/gstvalue.c: (gst_value_collect_int_range),
24736         (gst_string_unwrap), (gst_value_union_int_int_range),
24737         (gst_value_union_int_range_int_range),
24738         (gst_value_intersect_int_int_range),
24739         (gst_value_intersect_int_range_int_range),
24740         (gst_value_intersect_double_double_range),
24741         (gst_value_intersect_double_range_double_range),
24742         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
24743         (gst_value_subtract_int_range_int),
24744         (gst_value_subtract_double_range_double),
24745         (gst_value_subtract_double_range_double_range),
24746         (gst_value_subtract_from_list), (gst_value_subtract_list),
24747         (gst_value_can_compare), (gst_value_compare_fraction):
24748         Cleanups, add comments, remove unneeded asserts.
24749
24750 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
24751
24752         * tools/gst-launch.c: (event_loop):
24753           don't convert NULL structures to strings
24754
24755 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
24756
24757         * docs/gst/gstreamer-sections.txt:
24758           made some defines private
24759         * docs/gst/tmpl/gstconfig.sgml:
24760         * docs/gst/tmpl/gstqueue.sgml:
24761         * docs/gst/tmpl/gsttaglist.sgml:
24762         * docs/gst/tmpl/gsttypes.sgml:
24763         * docs/gst/tmpl/gstutils.sgml:
24764         * docs/pwg/appendix-porting.xml:
24765         * gst/base/gstbasesink.h:
24766         * gst/base/gstbasesrc.c:
24767         * gst/base/gstbasesrc.h:
24768         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
24769         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
24770         * gst/gstelement.c: (gst_element_class_init):
24771         * gst/gstpad.c: (gst_pad_class_init):
24772         * gst/gstqueue.c: (gst_queue_class_init):
24773         * gst/gstxml.c: (gst_xml_class_init):
24774           documented all undocumented signal inline
24775         * libs/gst/controller/gst-controller.h:
24776           added padding
24777
24778 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24779
24780         * docs/pwg/appendix-porting.xml:
24781           Document _set_link_function -> _set_setcaps_function.
24782
24783 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
24784
24785         * check/Makefile.am:
24786           add a .check target for running the check
24787         * check/gst-libs/controller.c: (GST_START_TEST):
24788           cosmetic fixups
24789         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24790           complete checks for gstbuffer; would be nice if I could get the
24791           gcov stuff to work so I can see if I actually completed gstbuffer.c
24792         * check/gstcheck.h:
24793           add ASSERT_BUFFER_REFCOUNT
24794
24795 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
24796
24797         * docs/gst/gstreamer-sections.txt:
24798         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
24799         * gst/gsttag.h:
24800           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
24801           spew out a warning if a tag that is already registered
24802           is re-registered, unless it is re-registered with a 
24803           different type (#308438).
24804
24805 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
24806
24807         * docs/pwg/appendix-porting.xml:
24808         * docs/pwg/building-state.xml:
24809           Add some paragraphs about state changes in 0.9 to the PWG
24810           and the porting guide, in particular about the new meaning
24811           of GST_STATE_PAUSED and how to write state change functions
24812           with concurrent access by multiple threads in mind.
24813
24814 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
24815
24816         * docs/gst/gstreamer-docs.sgml:
24817         * docs/libs/gstreamer-libs-docs.sgml:
24818           added deprecation and since indexes
24819         * libs/gst/controller/gst-controller.c:
24820         * libs/gst/controller/gst-helper.c:
24821           added since tags
24822
24823
24824 2005-08-11  Wim Taymans  <wim@fluendo.com>
24825
24826         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
24827         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
24828         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
24829         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
24830         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
24831         (gst_ghost_pad_set_target):
24832         Actually implement (re)setting the target on a ghostpad
24833         as described in the docs.
24834
24835 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
24836
24837         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
24838           Check whether GST_DEBUG_NO_COLOR environment variable is
24839           set and disable coloured debug output if that is the case.
24840
24841 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
24842
24843         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24844         (gst_type_find_helper):
24845           The memory returned by gst_type_find_peek() needs to
24846           stay valid until the end of a typefind function, and
24847           typefind functions may keep results from different 
24848           offsets around, so we can't just unref the buffer from
24849           the previous _peek(), but have to save all buffers 
24850           returned by _peek() until typefinding is done and only
24851           free them then.
24852
24853 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
24854
24855         * docs/gst/gstreamer-sections.txt:
24856         * gst/gstutils.h:
24857           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
24858
24859 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24860
24861         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
24862           Fix a pretty good memleak.
24863
24864 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
24865
24866         * gst/gstiterator.h:
24867           Fix wrong include and 'make distcheck'.
24868
24869 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24870
24871         * gst/gstbin.c: (bin_bus_handler):
24872           Use gst_element_post_message() instead.
24873
24874 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
24875
24876         * gst/base/gstadapter.h:
24877         * gst/base/gstbasesink.h:
24878         * gst/base/gstbasesrc.h:
24879         * gst/base/gstbasetransform.h:
24880         * gst/base/gstcollectpads.h:
24881         * gst/base/gstpushsrc.h:
24882         * gst/gstiterator.h:
24883           Add padding to our base elements' class and instance structs and
24884           to GstIterator (you will need to rebuild all plugins and apps!)
24885
24886 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24887
24888         * gst/gstbin.c: (bin_bus_handler):
24889           Make default message forwarding from child->bus to bin->bus
24890           threadsafe and make it not emit warnings if the parent has no bus.
24891
24892 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24893
24894         * gst/gstelement.c: (activate_pads):
24895           On paused->ready, set pad->caps to NULL, as is the documented
24896           behaviour in this state change. Fixes playback of series of
24897           media files when visualization is enabled in Totem.
24898
24899 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24900
24901         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24902           Allow NULL as filter-caps (which means "any").
24903
24904 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24905
24906         * docs/libs/gstreamer-libs-sections.txt:
24907         * libs/gst/controller/gst-controller.c:
24908         * libs/gst/controller/gst-controller.h:
24909         * libs/gst/controller/gst-helper.c:
24910           adding more entries to the docs and fix small doc-bugs
24911
24912 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24913
24914         * docs/gst/gstreamer-docs.sgml:
24915         * docs/gst/gstreamer-sections.txt:
24916         * docs/gst/gstreamer.types:
24917         * docs/gst/tmpl/gstbasesink.sgml:
24918         * docs/gst/tmpl/gstbasesrc.sgml:
24919         * docs/gst/tmpl/gstbasetransform.sgml:
24920         * docs/gst/tmpl/gstfakesrc.sgml:
24921         * gst/base/gstcollectpads.c:
24922         * gst/base/gstcollectpads.h:
24923         * libs/gst/controller/gst-controller.c:
24924         * libs/gst/controller/gst-controller.h:
24925         * libs/gst/controller/gst-helper.c:
24926         * libs/gst/controller/gst-interpolation.c:
24927         * libs/gst/controller/lib.c:
24928           added long/short desc for controller docs
24929           added collectpads base class docs
24930           added correct includes to base-class docs
24931
24932 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24933
24934         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24935         (gst_test_mono_source_set_property),
24936         (gst_test_mono_source_class_init), (GST_START_TEST),
24937         (gst_controller_suite):
24938         * docs/gst/gstreamer-docs.sgml:
24939         * docs/gst/gstreamer-sections.txt:
24940         * docs/gst/gstreamer.types:
24941         * docs/libs/gstreamer-libs-docs.sgml:
24942         * docs/libs/gstreamer-libs-sections.txt:
24943         * gst/base/gstadapter.c:
24944         * libs/gst/controller/gst-controller.c:
24945         (gst_controlled_property_new), (gst_controlled_property_free),
24946         (gst_controller_new_valist),
24947         (gst_controller_remove_properties_valist),
24948         (gst_controller_sink_values), (_gst_controller_finalize):
24949         * libs/gst/controller/gst-controller.h:
24950         * libs/gst/controller/gst-helper.c:
24951         (gst_object_control_properties), (gst_object_uncontrol_properties),
24952         (gst_object_get_controller), (gst_object_set_controller),
24953         (gst_object_sink_values), (gst_object_get_value_arrays),
24954         (gst_object_get_value_array):
24955           more tests (and fixes) for the controller
24956           more docs for the controller
24957           integrated companies docs for the adapter 
24958
24959 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24960
24961         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
24962         (GST_START_TEST), (fakesrc_suite):
24963           add tests for sizetype
24964
24965 2005-08-04  Andy Wingo  <wingo@pobox.com>
24966
24967         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
24968         fixes buffer_alloc proxying among other things.
24969
24970         * gst/base/gstbasetransform.c:
24971         * gst/base/gstbasetransform.h:
24972         Revert patch to gstbasetransform from 7-28 removing
24973         delay_configure.
24974
24975         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
24976         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
24977         Semantics changed, should return not the size of the output buffer
24978         but the byte size of a buffer with a given caps.
24979
24980         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
24981         debug object.
24982         (gst_base_transform_configure_caps): Don't set out_size here: (in,
24983         out) are not the pad caps until setcaps finishes.
24984         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
24985         not-in-place case as well. Deal with changing from in-place to
24986         not-in-place within calling pad_alloc_buffer. Still a bit
24987         concerned about the overhead here...
24988
24989 2005-08-03  Andy Wingo  <wingo@pobox.com>
24990
24991         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
24992         fixating is an error.
24993
24994 2005-08-04  Edward Hervey  <edward@fluendo.com>
24995
24996         * gst/base/gstadapter.h: 
24997         Added gst_adapter_get_type() to the header
24998
24999 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25000
25001         * check/Makefile.am:
25002         * check/gst-libs/controller.c:
25003         * libs/gst/controller/gst-controller.c:
25004         (gst_controller_new_valist):
25005           added check test suite for the controller
25006         * gst/base/gstpushsrc.c:
25007           fixed a doc typo
25008
25009 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25010
25011         * docs/gst/Makefile.am:
25012         * docs/gst/gstreamer-docs.sgml:
25013         * docs/gst/gstreamer-sections.txt:
25014         * docs/gst/gstreamer.types:
25015         * docs/gst/tmpl/gstfakesrc.sgml:
25016         * gst/base/README:
25017         * gst/base/gstbasesink.c:
25018         * gst/base/gstbasesink.h:
25019         * gst/base/gstbasesrc.c:
25020         * gst/base/gstbasesrc.h:
25021         * gst/base/gstbasetransform.c:
25022         * gst/base/gstpushsrc.c:
25023         * gst/base/gstpushsrc.h:
25024           add short/long description docs to base classes
25025           add pushsrc to the docs
25026           remove consolidated doc fragments
25027
25028 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25029
25030         * configure.ac:
25031         * docs/libs/Makefile.am:
25032         * docs/libs/gstreamer-libs-docs.sgml:
25033         * docs/libs/gstreamer-libs-sections.txt:
25034         * docs/libs/gstreamer-libs.types:
25035         * examples/Makefile.am:
25036         * examples/controller/.cvsignore:
25037         * examples/controller/Makefile.am:
25038         * examples/controller/audio-example.c: (main):
25039         * libs/gst/Makefile.am:
25040         * libs/gst/controller/.cvsignore:
25041         * libs/gst/controller/Makefile.am:
25042         * libs/gst/controller/gst-controller.c:
25043         (on_object_controlled_property_changed), (gst_timed_value_compare),
25044         (gst_timed_value_find),
25045         (gst_controlled_property_set_interpolation_mode),
25046         (gst_controlled_property_new), (gst_controlled_property_free),
25047         (gst_controller_find_controlled_property),
25048         (gst_controller_new_valist), (gst_controller_new),
25049         (gst_controller_remove_properties_valist),
25050         (gst_controller_remove_properties), (gst_controller_set),
25051         (gst_controller_set_from_list), (gst_controller_unset),
25052         (gst_controller_get), (gst_controller_get_all),
25053         (gst_controller_sink_values), (gst_controller_get_value_arrays),
25054         (gst_controller_get_value_array),
25055         (gst_controller_set_interpolation_mode),
25056         (_gst_controller_finalize), (_gst_controller_init),
25057         (_gst_controller_class_init), (gst_controller_get_type):
25058         * libs/gst/controller/gst-controller.h:
25059         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
25060         (g_object_uncontrol_properties), (g_object_get_controller),
25061         (g_object_set_controller), (g_object_sink_values),
25062         (g_object_get_value_arrays), (g_object_get_value_array):
25063         * libs/gst/controller/gst-interpolation.c:
25064         (gst_controlled_property_find_timed_value_node),
25065         (interpolate_none_get), (interpolate_trigger_get),
25066         (interpolate_trigger_get_value_array):
25067         * libs/gst/controller/lib.c: (gst_controller_init):
25068         * pkgconfig/Makefile.am:
25069         * pkgconfig/gstreamer-control-uninstalled.pc.in:
25070         * pkgconfig/gstreamer-control.pc.in:
25071         * testsuite/Makefile.am:
25072         * testsuite/controller/.cvsignore:
25073         * testsuite/controller/Makefile.am:
25074         * testsuite/controller/interpolator.c: (main):
25075           added controller code
25076           removed dparam pc files
25077
25078 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25079         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
25080         (gst_collectpads_stop):
25081           Broadcast the condition when shutting down, to make sure we wake all
25082           threads up. Shut down pads on finalize, for safety.
25083
25084 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25085         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25086         (gst_base_transform_handle_buffer),
25087         (gst_base_transform_change_state):
25088           Handle PAUSED->READY->PAUSED transition after negotiation
25089           occurred already.
25090         * gst/gstmessage.c: (gst_message_init):
25091           Extra piece of debug for new messages.
25092
25093 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
25094
25095         * configure.ac:
25096         * docs/gst/tmpl/gstbasesrc.sgml:
25097         * docs/gst/tmpl/gstelement.sgml:
25098         * docs/gst/tmpl/gstevent.sgml:
25099         * docs/gst/tmpl/gstfakesrc.sgml:
25100         * docs/gst/tmpl/gstformat.sgml:
25101         * docs/gst/tmpl/gstghostpad.sgml:
25102         * docs/gst/tmpl/gstpad.sgml:
25103         * docs/gst/tmpl/gstquery.sgml:
25104         * docs/gst/tmpl/gststructure.sgml:
25105         * docs/gst/tmpl/gsttaglist.sgml:
25106         * docs/gst/tmpl/gstvalue.sgml:
25107         * docs/libs/gstreamer-libs-docs.sgml:
25108         * docs/libs/gstreamer-libs-sections.txt:
25109         * docs/libs/gstreamer-libs.types:
25110         * libs/gst/Makefile.am:
25111         * libs/gst/control/.cvsignore:
25112         * libs/gst/control/Makefile.am:
25113         * libs/gst/control/control.c:
25114         * libs/gst/control/control.h:
25115         * libs/gst/control/dparam.c:
25116         * libs/gst/control/dparam.h:
25117         * libs/gst/control/dparam_smooth.c:
25118         * libs/gst/control/dparam_smooth.h:
25119         * libs/gst/control/dparamcommon.h:
25120         * libs/gst/control/dparammanager.c:
25121         * libs/gst/control/dparammanager.h:
25122         * libs/gst/control/dplinearinterp.c:
25123         * libs/gst/control/dplinearinterp.h:
25124         * libs/gst/control/unitconvert.c:
25125         * libs/gst/control/unitconvert.h:
25126         * testsuite/Makefile.am:
25127         * testsuite/dynparams/.cvsignore:
25128         * testsuite/dynparams/Makefile.am:
25129         * testsuite/dynparams/dparamstest.c:
25130         * tools/Makefile.am:
25131         * tools/gst-inspect.c: (print_element_info), (main):
25132         * tools/gst-xmlinspect.c: (print_element_info), (main):
25133           deactivate and remove dparams (libgstcontrol)
25134
25135 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25136
25137         * gst/elements/gsttypefindelement.c:
25138         (gst_type_find_element_have_type), (gst_type_find_element_init),
25139         (stop_typefinding), (gst_type_find_element_handle_event),
25140         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25141         * gst/elements/gsttypefindelement.h:
25142           Set caps on all outgoing buffers, not just the first one.
25143
25144 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25145
25146         * gst/elements/gsttypefindelement.c:
25147         (gst_type_find_element_have_type),
25148         (gst_type_find_element_check_set_buffer_caps),
25149         (gst_type_find_element_init), (stop_typefinding),
25150         (gst_type_find_element_handle_event),
25151         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25152         * gst/elements/gsttypefindelement.h:
25153           Set caps on first outgoing buffer when we've found the type.
25154
25155 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25156
25157         * docs/gst/gstreamer-docs.sgml:
25158         * docs/gst/gstreamer-sections.txt:
25159         * docs/gst/tmpl/gstscheduler.sgml:
25160         * docs/gst/tmpl/gstschedulerfactory.sgml:
25161           Remove some old cruft from docs.
25162
25163 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
25164
25165         * gst/gstpad.h:
25166           Fix inline docs for GstPadLinkReturn.
25167           
25168         * gst/gststructure.c: (gst_structure_has_name):
25169         * gst/gststructure.h:
25170         * docs/gst/gstreamer-sections.txt:
25171           New API: gst_structure_has_name().
25172
25173 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
25174
25175         * configure.ac:
25176           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
25177           and _LARGEFILE_SOURCE in config.h as required. Do not 
25178           export those flags in our .pc files any longer (#142209).
25179
25180           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
25181
25182         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
25183         (gst_file_sink_do_seek), (gst_file_sink_event),
25184         (gst_file_sink_get_current_offset), (gst_file_sink_render):
25185           Redo seek/tell calls with large file support in mind; add some
25186           debugging messages; add log message that tells us when large
25187           file support is unavailable or not enabled for some reason.
25188
25189         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
25190           Add log message that tells us when large file support 
25191           is unavailable or not enabled for some reason.
25192
25193 2005-07-29  Wim Taymans  <wim@fluendo.com>
25194
25195         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25196         Added test for removing an element with ghostpad from a bin.
25197         Fixed test as current implementation does the right thing.
25198
25199         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
25200         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
25201         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
25202         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
25203         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
25204         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
25205         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
25206         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25207         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
25208         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
25209         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
25210         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
25211         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
25212         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
25213         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
25214         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
25215         * gst/gstghostpad.h:
25216         Clean up ghostpads, remove properties for internal stuff.
25217         Make threadsafe.
25218         Fix refcounting.
25219         Prepare for switching targets, not all use cases work yet.
25220
25221 2005-07-29  Wim Taymans  <wim@fluendo.com>
25222
25223         * docs/design/part-gstghostpad.txt:
25224         Small update.
25225
25226         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25227         (gst_bin_remove_func):
25228         Unlinking pads while holding the bin LOCK is not a good
25229         idea.
25230
25231         * gst/gstpad.c: (gst_pad_class_init),
25232         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
25233         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
25234         No prob setting template after creating the pad.
25235
25236 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
25237
25238         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
25239         (gst_bus_peek), (gst_bus_source_dispatch),
25240         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
25241         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
25242           gst_bus_poll may be called from other threads. Handle
25243           this nicely by not making poll_data disappear off the
25244           stack once gst_bus_poll returns.
25245           gst_bus_peek now increments the refcount on the returned
25246           message.
25247
25248 2005-07-29  Wim Taymans  <wim@fluendo.com>
25249
25250         * docs/design/part-gstghostpad.txt:
25251         Overview of current GhostPad datastructures and use
25252         cases for changing the target.
25253
25254 2005-07-28  Wim Taymans  <wim@fluendo.com>
25255
25256         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25257         Added checks for hierarchy consistency whan adding linked
25258         elements to bins.
25259
25260         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25261         Added check to test element scheduling without bin/pipeline.
25262
25263         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
25264         First add elements to bin, then link.
25265         
25266         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25267         (gst_bin_remove_func):
25268         Unlink pads from elements added/removed from bin to maintain
25269         hierarchy consistency.
25270
25271 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25272
25273         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25274         (gst_base_transform_handle_buffer):
25275         * gst/base/gstbasetransform.h:
25276           Remove broken delay_configure (fixes renegotiation of software
25277           scaling pipelines); remove some leftover printf()s.
25278
25279 2005-07-28  Wim Taymans  <wim@fluendo.com>
25280
25281         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25282         Added some more tests for wrong hierarchy
25283
25284         * docs/design/part-overview.txt:
25285         Some updates.
25286
25287         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
25288         Cleanups.
25289
25290         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
25291         (gst_element_dispose):
25292         Some more cleanups.
25293
25294         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25295         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
25296         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25297         (gst_pad_set_caps), (gst_pad_send_event):
25298         Check for correct hierarchy when linking pads. Moving to
25299         strict requirement for ghostpads when linking elements in
25300         different bins.
25301
25302         * gst/gstpad.h:
25303         Clean ups. Added WRONG_HIERARCHY return value.
25304
25305 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25306
25307         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25308           Better debug if no transform is possible.
25309
25310 2005-07-27  Wim Taymans  <wim@fluendo.com>
25311
25312         * docs/random/wtay/network-transp:
25313         Some old doc I had.
25314
25315 2005-07-27  Wim Taymans  <wim@fluendo.com>
25316
25317         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25318         (gst_dp_event_from_packet):
25319         Fix serialization of seek events.
25320
25321 2005-07-27  Wim Taymans  <wim@fluendo.com>
25322
25323         * check/gst-libs/gdp.c: (GST_START_TEST):
25324         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25325         Fix compilation and fix event serialization.
25326
25327 2005-07-27  Wim Taymans  <wim@fluendo.com>
25328
25329         * CHANGES-0.9:
25330         * docs/design/part-TODO.txt:
25331         * docs/design/part-events.txt:
25332         Some docs updates
25333
25334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25335         (gst_base_sink_event), (gst_base_sink_do_sync),
25336         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25337         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25338         (gst_base_src_do_seek), (gst_base_src_event_handler),
25339         (gst_base_src_loop):
25340         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25341         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25342         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25343         (gst_base_transform_event), (gst_base_transform_handle_buffer),
25344         (gst_base_transform_set_passthrough),
25345         (gst_base_transform_is_passthrough):
25346         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25347         * gst/elements/gstfilesink.c: (gst_file_sink_event):
25348         Event updates.
25349
25350         * gst/gstbuffer.h:
25351         Use faster casts.
25352
25353         * gst/gstelement.c: (gst_element_seek):
25354         * gst/gstelement.h:
25355         Update gst_element_seek.
25356
25357         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
25358         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
25359         (gst_event_new_flush_start), (gst_event_new_flush_stop),
25360         (gst_event_new_eos), (gst_event_new_newsegment),
25361         (gst_event_parse_newsegment), (gst_event_new_tag),
25362         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
25363         (gst_event_parse_qos), (gst_event_new_seek),
25364         (gst_event_parse_seek), (gst_event_new_navigation):
25365         * gst/gstevent.h:
25366         Make GstEvent use GstStructure. Add parsing code, make sure the
25367         API is sufficiently generic.
25368         Mark possible directions of events and serialization.
25369
25370         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
25371         (_gst_message_copy), (gst_message_new_segment_start),
25372         (gst_message_new_segment_done), (gst_message_new_custom),
25373         (gst_message_parse_segment_start),
25374         (gst_message_parse_segment_done):
25375         Small cleanups.
25376
25377         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25378         (gst_pad_set_caps), (gst_pad_send_event):
25379         Update for new events. 
25380         Catch events sent in wrong directions.
25381
25382         * gst/gstqueue.c: (gst_queue_link_src),
25383         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25384         (gst_queue_handle_src_query):
25385         Event updates.
25386
25387         * gst/gsttag.c:
25388         * gst/gsttag.h:
25389         Remove event code from this file.
25390
25391         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25392         (gst_dp_event_from_packet):
25393         Event updates.
25394
25395 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25396
25397         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
25398         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25399         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
25400           Make debugging actually useful.
25401
25402 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25403
25404         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
25405         (gst_pad_fixate_caps):
25406           Implement default fixation once again, so that gst_pad_fixate()
25407           actually does anything at all. This probably needs to be some
25408           sort of a last resort, and use profile-based fixation first, but
25409           since that doesn't exist yet, this is the best we have. Fixes
25410           visualization in Totem.
25411
25412 2005-07-22  Wim Taymans  <wim@fluendo.com>
25413
25414         * docs/design/part-events.txt:
25415         Small update.
25416
25417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25418         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
25419         (gst_base_sink_activate_pull):
25420         Some more comments.
25421
25422         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
25423         (gst_fake_src_create):
25424         Fix handoff marshall.
25425
25426         * gst/elements/gstidentity.c: (gst_identity_class_init),
25427         (gst_identity_transform_ip):
25428         We're a real inplace element.
25429
25430         * gst/gstbus.c: (gst_bus_post):
25431         Added some comments.
25432
25433         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
25434         * tests/muxing/case1.c: (main):
25435         * tests/sched/dynamic-pipeline.c: (main):
25436         * tests/sched/interrupt1.c: (main):
25437         * tests/sched/interrupt2.c: (main):
25438         * tests/sched/interrupt3.c: (main):
25439         * tests/sched/runxml.c: (main):
25440         * tests/sched/sched-stress.c: (main):
25441         * tests/seeking/seeking1.c: (event_received), (main):
25442         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
25443         (main):
25444         * tests/threadstate/threadstate3.c: (main):
25445         * tests/threadstate/threadstate4.c: (main):
25446         * tests/threadstate/threadstate5.c: (main):
25447         Fix the tests.
25448
25449 2005-07-21  Wim Taymans  <wim@fluendo.com>
25450
25451         * docs/design/part-seeking.txt:
25452         Some small additions.
25453
25454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25455         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25456         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25457         * gst/base/gstbasesink.h:
25458         discont values are gint64, handle the math correctly.
25459
25460         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25461         Make the basesrc report error if the source pad is not linked.
25462
25463         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
25464         (gst_queue_loop), (gst_queue_handle_src_query),
25465         (gst_queue_src_activate_push):
25466         Make queue collect data even if the srcpad is not linked.
25467         Start pushing out data as soon as it is linked.
25468
25469         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
25470         * gst/gstutils.h:
25471         Added gst_flow_get_name() to ease error reporting.
25472
25473 2005-07-20  Wim Taymans  <wim@fluendo.com>
25474
25475         * gst/gstmessage.c: (gst_message_new_segment_start),
25476         (gst_message_new_segment_done), (gst_message_parse_segment_start),
25477         (gst_message_parse_segment_done):
25478         * gst/gstmessage.h:
25479         Added a bunch of messages for advanced seeking.
25480
25481         * gst/parse/grammar.y:
25482         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
25483         (gst_dpman_state_changed):
25484         Fix some new-pad -> pad-added signals
25485
25486 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25487
25488         * docs/manual/appendix-porting.xml:
25489         * docs/pwg/appendix-porting.xml:
25490           Document new-pad/state-change signal renames and the FixedList
25491           type rename.
25492
25493 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25494
25495         * docs/manual/advanced-autoplugging.xml:
25496         * docs/manual/basics-helloworld.xml:
25497         * docs/manual/basics-pads.xml:
25498         * docs/random/ds/0.9-suggested-changes:
25499         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
25500         * gst/gstelement.h:
25501         * gst/gstevent.h:
25502         * gst/gstformat.h:
25503         * gst/gstquery.h:
25504         * gst/gststructure.c: (gst_structure_value_get_generic_type),
25505         (gst_structure_parse_array), (gst_structure_parse_value):
25506         * gst/gstvalue.c: (gst_type_is_fixed),
25507         (gst_value_list_prepend_value), (gst_value_list_append_value),
25508         (gst_value_list_get_size), (gst_value_list_get_value),
25509         (gst_value_transform_array_string), (gst_value_serialize_array),
25510         (gst_value_deserialize_array), (gst_value_intersect_array),
25511         (gst_value_is_fixed), (_gst_value_initialize):
25512         * gst/gstvalue.h:
25513           GstElement::new-pad -> pad-added, GstElement::state-change ->
25514           state-changed, GstValueFixedList -> GstValueArray, add format and
25515           flags as their own arguments in gst_element_seek() (should improve
25516           "bindeability"), remove function generators since they don't work
25517           under a whole bunch of compilers (they were deprecated already
25518           anyway).
25519
25520 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25521
25522         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25523         (_gst_debug_register_funcptr):
25524         * gst/gstinfo.h:
25525           Fix illegal cast on some platforms (#309253).
25526
25527 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25528
25529         * gst/gstmessage.c: (gst_message_new_custom):
25530         * gst/gstmessage.h:
25531           Add _new_custom, make _new_application a macro to _new_custom.
25532
25533 2005-07-20  Wim Taymans  <wim@fluendo.com>
25534
25535         * gst/base/gstbasesrc.c: (gst_base_src_init),
25536         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
25537         * gst/base/gstbasesrc.h:
25538         Add a gboolean to decide when to push out a discont.
25539
25540         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25541         (gst_queue_loop), (gst_queue_handle_src_query),
25542         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
25543         (gst_queue_set_property), (gst_queue_get_property):
25544         Some cleanups.
25545
25546         * tests/threadstate/threadstate1.c: (main):
25547         Make a thread test compile and run... very silly..
25548
25549
25550 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25551
25552         * docs/manual/appendix-porting.xml:
25553           Mention removal of libgstgconf-0.9.la and existence of gconf
25554           elements.
25555
25556 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25557
25558         * docs/pwg/advanced-clock.xml:
25559         * docs/pwg/appendix-porting.xml:
25560         * docs/pwg/intro-preface.xml:
25561         * docs/pwg/other-base.xml:
25562         * docs/pwg/other-manager.xml:
25563         * docs/pwg/other-nton.xml:
25564         * docs/pwg/other-ntoone.xml:
25565         * docs/pwg/other-oneton.xml:
25566         * docs/pwg/pwg.xml:
25567           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
25568           demuxer), remove n-to-n (was never written), fix some code examples
25569           and links and update the porting section to include all this.
25570
25571 2005-07-19  Wim Taymans  <wim@fluendo.com>
25572
25573         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
25574         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
25575         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
25576         (gst_queue_src_activate_push), (gst_queue_change_state),
25577         (gst_queue_get_property):
25578         * gst/gstqueue.h:
25579         Propagate GstFlowReturn more intelligently upstream and output
25580         an ERROR/EOS when streaming stopped due to fatal error.
25581
25582 2005-07-19  Wim Taymans  <wim@fluendo.com>
25583
25584         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25585         Don't block forever for the state change to complete, the
25586         pipeline already did with a sensible timeout.
25587
25588 2005-07-19  Wim Taymans  <wim@fluendo.com>
25589
25590         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
25591         Make sure we never call the create function is we
25592         got deactivated.
25593
25594 2005-07-19  Andy Wingo  <wingo@pobox.com>
25595
25596         * gst/parse/parse.l: Attempt to solve bug #172815.
25597
25598 2005-07-19  Wim Taymans  <wim@fluendo.com>
25599
25600         * docs/design/part-clocks.txt:
25601         * docs/design/part-events.txt:
25602         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
25603         Small docs updates.
25604         Only update the seeking values when we are not
25605         busy streaming.
25606
25607 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25608
25609         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25610           Oops, ignore the result of gst_pad_push_event here.
25611
25612 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25613
25614         * gst/base/gstbasesrc.c: (gst_base_src_loop),
25615         (gst_base_src_activate_push):
25616           Send discont event from the loop function, as pads
25617           aren't activated yet in the activate_push handler.
25618
25619         * gst/gstbin.c: (bin_bus_handler):
25620           Don't leak element name.
25621
25622 2005-07-18  Andy Wingo  <wingo@pobox.com>
25623
25624         * configure.ac: Use AS_LIBTOOL_TAGS.
25625
25626 2005-07-18  Wim Taymans  <wim@fluendo.com>
25627
25628         * docs/gst/gstreamer.types:
25629         Remove deleted types.
25630
25631 2005-07-18  Wim Taymans  <wim@fluendo.com>
25632
25633         * check/elements/gstfakesrc.c: (GST_START_TEST):
25634         * configure.ac:
25635         * gst/Makefile.am:
25636         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
25637         (init_popt_callback):
25638         * gst/gst.h:
25639         * gst/gst_private.h:
25640         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
25641         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
25642         * gst/gstbin.h:
25643         * gst/gstbus.h:
25644         * gst/gstconfig.h.in:
25645         * gst/gstelement.c: (gst_element_class_init),
25646         (gst_element_set_base_time), (gst_element_get_base_time),
25647         (iterator_fold_with_resync), (gst_element_change_state),
25648         (gst_element_dispose), (gst_element_get_bus):
25649         * gst/gstelement.h:
25650         * gst/gstelementfactory.h:
25651         * gst/gsterror.c: (_gst_core_errors_init):
25652         * gst/gsterror.h:
25653         * gst/gstevent.h:
25654         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25655         * gst/gstindex.c:
25656         * gst/gstinfo.c: (_gst_debug_init):
25657         * gst/gstmessage.c: (_gst_message_copy):
25658         * gst/gstmessage.h:
25659         * gst/gstminiobject.h:
25660         * gst/gstobject.c:
25661         * gst/gstobject.h:
25662         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25663         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
25664         * gst/gstpad.h:
25665         * gst/gstparse.h:
25666         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
25667         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25668         (gst_pipeline_get_last_stream_time):
25669         * gst/gstpipeline.h:
25670         * gst/gstpluginfeature.h:
25671         * gst/gstquery.h:
25672         * gst/gstscheduler.c:
25673         * gst/gstscheduler.h:
25674         * gst/gststructure.h:
25675         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25676         (gst_task_finalize), (gst_task_func), (gst_task_create),
25677         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
25678         (gst_task_stop), (gst_task_pause):
25679         * gst/gsttask.h:
25680         * gst/gsttypefind.h:
25681         * gst/gsttypes.h:
25682         * gst/registries/gstlibxmlregistry.c: (load_feature),
25683         (gst_xml_registry_load), (gst_xml_registry_save_feature):
25684         * gst/registries/gstxmlregistry.c:
25685         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
25686         * gst/schedulers/threadscheduler.c:
25687         * libs/gst/control/dparammanager.h:
25688         * tools/gst-inspect.c: (print_element_list),
25689         (print_plugin_features), (print_element_features):
25690         * tools/gst-xmlinspect.c: (print_element_list),
25691         (print_plugin_info), (main):
25692         Removed plugable schedulers.
25693         Removed Scheduler/Manager from elements.
25694         Removed gsttypes.h, rearranged includes.
25695         Removed dependency pad<->element, element<>pipeline, and
25696         various others,  fix includes.
25697         implement gst_pad_get_parent() with gst_object_get_parent()
25698         Make GstTask sefcontained.
25699         Fix _get_state() on GstBin, it did not return ASYNC with a 0
25700         timeout.
25701         Fix endless loop in iterator_fold_with_resync.
25702
25703
25704 2005-07-18  Wim Taymans  <wim@fluendo.com>
25705
25706         * gst/Makefile.am:
25707         * gst/gstarch.h:
25708         Remove old file.
25709
25710 2005-07-18  Wim Taymans  <wim@fluendo.com>
25711
25712         * gst/Makefile.am:
25713         No more cothreads.h
25714
25715 2005-07-18  Wim Taymans  <wim@fluendo.com>
25716
25717         * gst/cothreads.c:
25718         * gst/cothreads.h:
25719         Let's remove these.
25720
25721 2005-07-18  Wim Taymans  <wim@fluendo.com>
25722
25723         * docs/design/part-dynamic.txt:
25724         * docs/design/part-events.txt:
25725         * docs/design/part-seeking.txt:
25726         Some more docs in the works.
25727
25728         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25729         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
25730         (gst_base_transform_setcaps), (gst_base_transform_get_size),
25731         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25732         (gst_base_transform_handle_buffer),
25733         (gst_base_transform_sink_activate_push),
25734         (gst_base_transform_src_activate_pull),
25735         (gst_base_transform_set_passthrough),
25736         (gst_base_transform_is_passthrough):
25737         Refcounting fixes.
25738
25739         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
25740         Cleanups.
25741
25742         * gst/gstevent.c: (gst_event_finalize):
25743         Set SRC to NULL.
25744
25745         * gst/gstutils.c: (gst_element_unlink),
25746         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
25747         (gst_pad_proxy_setcaps):
25748         * gst/gstutils.h:
25749         Add _get_parent_element() to get a pads parent as an element.
25750
25751 2005-07-18  Wim Taymans  <wim@fluendo.com>
25752
25753         * check/gst/gstbin.c: (GST_START_TEST):
25754         Remove bogus test.
25755
25756 2005-07-18  Wim Taymans  <wim@fluendo.com>
25757
25758         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25759         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25760         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25761         (gst_base_sink_event), (gst_base_sink_do_sync),
25762         (gst_base_sink_chain), (gst_base_sink_loop),
25763         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
25764         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
25765         Refcounting fixes.
25766         Fix logic for returning ASYNC when not prerolled.
25767
25768 2005-07-18  Wim Taymans  <wim@fluendo.com>
25769
25770         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25771         Fix nasty refcount bug.
25772
25773 2005-07-16 Philippe Khalaf <burger@speedy.org>
25774
25775         * gst/elements/gstfdsrc.c:
25776         * gst/elements/gstfdsrc.h:
25777         * gst/elements/gstelements.c:
25778         * gst/elements/Makefile.am:
25779         Ported fdsrc to 0.9.
25780
25781 2005-07-16  Wim Taymans  <wim@fluendo.com>
25782
25783         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25784         (gst_base_sink_do_sync):
25785         Fix compile error.
25786
25787 2005-07-16  Wim Taymans  <wim@fluendo.com>
25788
25789         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25790         (gst_base_sink_event), (gst_base_sink_get_times),
25791         (gst_base_sink_do_sync), (gst_base_sink_change_state):
25792         * gst/base/gstbasesink.h:
25793         Store and use discont values when syncing buffers as described
25794         in design docs.
25795         
25796         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25797         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
25798         (gst_base_src_activate_push):
25799         Push discont event when starting.
25800
25801         * gst/elements/gstidentity.c: (gst_identity_transform):
25802         Small cleanups.
25803
25804         * gst/gstbin.c: (gst_bin_change_state):
25805         Small cleanups in base_time  distribution.
25806
25807         * gst/gstelement.c: (gst_element_set_base_time),
25808         (gst_element_get_base_time), (gst_element_change_state):
25809         * gst/gstelement.h:
25810         Added methods for the base_time of the element.
25811         Some MT fixes.
25812
25813         * gst/gstpipeline.c: (gst_pipeline_send_event),
25814         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25815         (gst_pipeline_get_last_stream_time):
25816         * gst/gstpipeline.h:
25817         MT fixes.
25818         Handle seeking as described in design doc, remove stream_time
25819         hack.
25820         Cleanups clock and stream_time selection code. Added accessors
25821         for the stream_time.
25822         
25823
25824 2005-07-16  Andy Wingo  <wingo@pobox.com>
25825
25826         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
25827         (#305291).
25828
25829 2005-07-16  Wim Taymans  <wim@fluendo.com>
25830
25831         * check/gst/gstbin.c: (GST_START_TEST):
25832         Make elements silent as the deep_notify refs the
25833         parent, which might make the test fail.
25834
25835         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25836         Don't hold the lock for too long.
25837
25838 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
25839
25840         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
25841           Don't unref the caps we passed to gst_caps_make_writable() after
25842           passing them. gst_caps_make_writable() will do that for us.
25843
25844 2005-07-15  Andy Wingo  <wingo@pobox.com>
25845
25846         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
25847         (#157311).
25848
25849         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
25850         own marshalling function for the handoff signal. Properly type the
25851         buffer as a buffer. Fixes some warnings. Should do a more general
25852         solution.
25853         (gst_identity_class_init): Plug into the right marshaller.
25854
25855 2005-07-15  Wim Taymans  <wim@fluendo.com>
25856
25857         * docs/design/part-TODO.txt:
25858         * docs/design/part-clocks.txt:
25859         * docs/design/part-element-sink.txt:
25860         * docs/design/part-events.txt:
25861         * docs/design/part-gstpipeline.txt:
25862         Updated docs, mostly DISCONT related.
25863
25864 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
25865
25866         * docs/pwg/building-pads.xml:
25867           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
25868
25869 2005-07-15  Andy Wingo  <wingo@pobox.com>
25870
25871         * tools/gst-typefind.c: Update, add copyright block.
25872
25873         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
25874         Normalize and truncate caps before fixation.
25875
25876         * gst/gstcaps.h:
25877         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
25878         discards all but the first structure from its argument.
25879
25880 2005-07-15  Wim Taymans  <wim@fluendo.com>
25881
25882         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25883         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
25884         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25885         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25886         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
25887         (gst_base_transform_chain), (gst_base_transform_change_state),
25888         (gst_base_transform_set_passthrough),
25889         (gst_base_transform_is_passthrough):
25890         * gst/base/gstbasetransform.h:
25891         Make passthrough work using the bufferpools.
25892         Changed API a bit, subclasses have to write into a buffer
25893         provided by the base class.
25894         More debug info in nego functions.
25895         
25896         * gst/elements/gstidentity.c: (gst_identity_init),
25897         (gst_identity_transform):
25898         Port to new base class.
25899
25900 2005-07-15  Wim Taymans  <wim@fluendo.com>
25901
25902         * gst/gstmessage.c: (gst_message_new_state_changed):
25903         * tools/gst-launch.c: (event_loop), (main):
25904         Totally dump messages in -launch with the -m option.
25905         Fix message name for State messages,
25906
25907 2005-07-14  Wim Taymans  <wim@fluendo.com>
25908
25909         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25910         Post error messages on errors.
25911
25912 2005-07-14  Wim Taymans  <wim@fluendo.com>
25913
25914         * gst/gstcaps.c: (gst_caps_do_simplify):
25915         Remove debug info.
25916
25917         * gst/gsterror.h:
25918         Define error for stream stopped.
25919
25920         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25921         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
25922         Do proper return values.
25923
25924         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25925         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
25926         (gst_pad_get_range):
25927         Better return values.
25928
25929         * gst/gstpad.h:
25930         Reorganise return values, add macro to check for fatal errors.
25931
25932         * gst/gstqueue.c: (gst_queue_chain):
25933         Return proper GstFlowReturn values,
25934
25935 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
25936
25937         * docs/gst/gstreamer-sections.txt:
25938         * docs/gst/gstreamer.types:
25939         * docs/gst/tmpl/gst.sgml:
25940         * docs/gst/tmpl/gstbasesink.sgml:
25941         * docs/gst/tmpl/gstbasesrc.sgml:
25942         * docs/gst/tmpl/gstbasetransform.sgml:
25943         * docs/gst/tmpl/gstbin.sgml:
25944         * docs/gst/tmpl/gstbuffer.sgml:
25945         * docs/gst/tmpl/gstcaps.sgml:
25946         * docs/gst/tmpl/gstclock.sgml:
25947         * docs/gst/tmpl/gstcompat.sgml:
25948         * docs/gst/tmpl/gstconfig.sgml:
25949         * docs/gst/tmpl/gstelement.sgml:
25950         * docs/gst/tmpl/gstelementdetails.sgml:
25951         * docs/gst/tmpl/gstelementfactory.sgml:
25952         * docs/gst/tmpl/gstenumtypes.sgml:
25953         * docs/gst/tmpl/gsterror.sgml:
25954         * docs/gst/tmpl/gstevent.sgml:
25955         * docs/gst/tmpl/gstfakesink.sgml:
25956         * docs/gst/tmpl/gstfakesrc.sgml:
25957         * docs/gst/tmpl/gstfilesink.sgml:
25958         * docs/gst/tmpl/gstfilesrc.sgml:
25959         * docs/gst/tmpl/gstfilter.sgml:
25960         * docs/gst/tmpl/gstformat.sgml:
25961         * docs/gst/tmpl/gstghostpad.sgml:
25962         * docs/gst/tmpl/gstimplementsinterface.sgml:
25963         * docs/gst/tmpl/gstindex.sgml:
25964         * docs/gst/tmpl/gstindexfactory.sgml:
25965         * docs/gst/tmpl/gstinfo.sgml:
25966         * docs/gst/tmpl/gstiterator.sgml:
25967         * docs/gst/tmpl/gstmacros.sgml:
25968         * docs/gst/tmpl/gstmemchunk.sgml:
25969         * docs/gst/tmpl/gstminiobject.sgml:
25970         * docs/gst/tmpl/gstobject.sgml:
25971         * docs/gst/tmpl/gstpad.sgml:
25972         * docs/gst/tmpl/gstpadtemplate.sgml:
25973         * docs/gst/tmpl/gstparse.sgml:
25974         * docs/gst/tmpl/gstpipeline.sgml:
25975         * docs/gst/tmpl/gstplugin.sgml:
25976         * docs/gst/tmpl/gstpluginfeature.sgml:
25977         * docs/gst/tmpl/gstquery.sgml:
25978         * docs/gst/tmpl/gstqueue.sgml:
25979         * docs/gst/tmpl/gstregistry.sgml:
25980         * docs/gst/tmpl/gstregistrypool.sgml:
25981         * docs/gst/tmpl/gstscheduler.sgml:
25982         * docs/gst/tmpl/gstschedulerfactory.sgml:
25983         * docs/gst/tmpl/gststructure.sgml:
25984         * docs/gst/tmpl/gstsystemclock.sgml:
25985         * docs/gst/tmpl/gsttaglist.sgml:
25986         * docs/gst/tmpl/gsttagsetter.sgml:
25987         * docs/gst/tmpl/gsttrace.sgml:
25988         * docs/gst/tmpl/gsttrashstack.sgml:
25989         * docs/gst/tmpl/gsttypefind.sgml:
25990         * docs/gst/tmpl/gsttypefindfactory.sgml:
25991         * docs/gst/tmpl/gsttypes.sgml:
25992         * docs/gst/tmpl/gsturihandler.sgml:
25993         * docs/gst/tmpl/gsturitype.sgml:
25994         * docs/gst/tmpl/gstutils.sgml:
25995         * docs/gst/tmpl/gstvalue.sgml:
25996         * docs/gst/tmpl/gstversion.sgml:
25997         * docs/gst/tmpl/gstxml.sgml:
25998         * docs/libs/tmpl/gstcontrol.sgml:
25999         * docs/libs/tmpl/gstdataprotocol.sgml:
26000         * docs/libs/tmpl/gstdparam.sgml:
26001         * docs/libs/tmpl/gstdplinint.sgml:
26002         * docs/libs/tmpl/gstdpman.sgml:
26003         * docs/libs/tmpl/gstdpsmooth.sgml:
26004         * docs/libs/tmpl/gstgetbits.sgml:
26005         * docs/libs/tmpl/gstunitconvert.sgml:
26006         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
26007         (gst_push_src_base_init), (gst_push_src_class_init),
26008         (gst_push_src_init), (gst_push_src_create):
26009         * gst/base/gstpushsrc.h:
26010         * gst/elements/gstelements.c:
26011         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
26012         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
26013         (gst_fake_sink_init), (gst_fake_sink_set_property),
26014         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
26015         (gst_fake_sink_event), (gst_fake_sink_preroll),
26016         (gst_fake_sink_render), (gst_fake_sink_change_state):
26017         * gst/elements/gstfakesink.h:
26018         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
26019         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
26020         (gst_fake_src_base_init), (gst_fake_src_class_init),
26021         (gst_fake_src_init), (gst_fake_src_event_handler),
26022         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
26023         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
26024         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
26025         (gst_fake_src_create_buffer), (gst_fake_src_create),
26026         (gst_fake_src_start), (gst_fake_src_stop):
26027         * gst/elements/gstfakesrc.h:
26028         * gst/elements/gstfilesink.c: (_do_init),
26029         (gst_file_sink_base_init), (gst_file_sink_class_init),
26030         (gst_file_sink_init), (gst_file_sink_dispose),
26031         (gst_file_sink_set_location), (gst_file_sink_set_property),
26032         (gst_file_sink_get_property), (gst_file_sink_open_file),
26033         (gst_file_sink_close_file), (gst_file_sink_query),
26034         (gst_file_sink_event), (gst_file_sink_render),
26035         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
26036         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
26037         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
26038         * gst/elements/gstfilesink.h:
26039         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
26040         (gst_file_src_class_init), (gst_file_src_init),
26041         (gst_file_src_finalize), (gst_file_src_set_location),
26042         (gst_file_src_set_property), (gst_file_src_get_property),
26043         (gst_file_src_map_region), (gst_file_src_map_small_region),
26044         (gst_file_src_create_mmap), (gst_file_src_create_read),
26045         (gst_file_src_create), (gst_file_src_is_seekable),
26046         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
26047         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
26048         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
26049         (gst_file_src_uri_handler_init):
26050         * gst/elements/gstfilesrc.h:
26051           more autistic cleanliness in functions/names/defines
26052
26053 2005-07-13  Andy Wingo  <wingo@pobox.com>
26054
26055         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
26056         source couldn't negotiate.
26057
26058         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
26059         connections again.
26060
26061         * gst/gstutils.h:
26062         * gst/gstutils.c (gst_element_link_pads_filtered): New old
26063         function. I am channeling Hades. Put your boots on suckers!!!
26064
26065 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
26066
26067         * testsuite/caps/Makefile.am:
26068         * testsuite/caps/value_compare.c:
26069         * testsuite/caps/value_intersect.c:
26070         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26071           move two testsuite apps over to the check dir
26072
26073 2005-07-12  Wim Taymans  <wim@fluendo.com>
26074
26075         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26076         Added more debug info in the negotiate process.
26077
26078         * gst/gstmessage.h:
26079         Prepare for segment playback.
26080
26081         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
26082         Better debugging.
26083
26084         * gst/gstutils.c:
26085         Some more docs.
26086
26087         * tools/gst-launch.c: (main):
26088         NULL pipeline on errors.
26089
26090 2005-07-12  Andy Wingo  <wingo@pobox.com>
26091
26092         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
26093         not it comes from a malloc region. Make sure our copy gets freed.
26094
26095 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26096
26097         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26098         * check/gst/gstmessage.c: (GST_START_TEST):
26099         * check/gst/gststructure.c: (GST_START_TEST),
26100         (gst_structure_suite), (main):
26101           more testing
26102         * gst/gstelement.c: (gst_element_message_full):
26103           clean up GError and debug string now that they get copied
26104         * gst/gstmessage.c: (gst_message_new_error),
26105         (gst_message_new_warning), (gst_message_parse_error),
26106         (gst_message_parse_warning):
26107           use GST_TYPE_G_ERROR for structure_new, and take copies of
26108           arguments, so that we don't mess up refcounting
26109
26110 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26111
26112         * check/Makefile.am:
26113           add per-test valgrind targets
26114         * check/gst-libs/gdp.c: (GST_START_TEST),
26115         (gst_data_protocol_suite), (main):
26116           clean up
26117
26118 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26119
26120         * check/Makefile.am:
26121           instate more valgrindable tests
26122         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26123         (GST_START_TEST), (fakesrc_suite):
26124         * check/gst/gstpad.c: (GST_START_TEST):
26125         * check/gst/gststructure.c: (GST_START_TEST):
26126           fix test leaks
26127         * docs/gst/tmpl/gstminiobject.sgml:
26128         * gst/gstpad.c: (gst_pad_finalize):
26129           fix the static mutex leak
26130
26131 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26132
26133         * check/Makefile.am:
26134           add two more tests for valgrinding
26135         * check/gst/gstvalue.c: (GST_START_TEST):
26136           test refcount of deserialized buffer, found a leak
26137         * docs/gst/gstreamer-docs.sgml:
26138         * docs/gst/gstreamer-sections.txt:
26139         * docs/gst/gstreamer.types:
26140         * docs/gst/tmpl/gstminiobject.sgml:
26141           add miniobject to docs
26142         * gst/gstminiobject.c:
26143           add some docs
26144         * gst/gstvalue.c: (gst_value_deserialize_buffer),
26145         (gst_string_unwrap):
26146           fix a hard-to-find invalid write for one of the tests
26147           fix a leak for deserialized buffers
26148
26149 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26150
26151         * docs/pwg/advanced-events.xml:
26152         * docs/pwg/advanced-request.xml:
26153         * docs/pwg/advanced-scheduling.xml:
26154         * docs/pwg/appendix-porting.xml:
26155         * docs/pwg/building-boiler.xml:
26156         * docs/pwg/intro-preface.xml:
26157         * docs/pwg/other-ntoone.xml:
26158           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
26159           of example code and explanation for pad activation, loop() and
26160           getrange() functions and a bit more. Remove old comments pointing
26161           to loop-functions.
26162         * examples/pwg/Makefile.am:
26163           Add loop/getrange examples.
26164
26165 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26166
26167         * configure.ac:
26168           check for valgrind binary + some fixes
26169         * check/gst.supp:
26170           valgrind suppressions for the tests
26171         * check/Makefile.am:
26172           add a valgrind: target that valgrinds the unit tests
26173         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
26174         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
26175         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26176         * check/gst/gstghostpad.c:
26177           added some cleanup
26178         * check/gst/gstdata.c:
26179           removed
26180         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
26181         (thread_unref), (gst_mini_object_suite), (main):
26182           added
26183         * gst/gst.c: (gst_deinit):
26184         * gst/gst.h:
26185           add a method to clean up.
26186         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26187         (gst_system_clock_obtain):
26188           allow for disposing the system clock.
26189         * tools/gst-launch.c: (main):
26190           deinit
26191
26192 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26193
26194         * docs/gst/tmpl/gstbasesrc.sgml:
26195         * docs/gst/tmpl/gstfakesrc.sgml:
26196         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26197         (gst_base_src_init), (gst_base_src_set_property),
26198         (gst_base_src_get_property), (gst_base_src_get_range),
26199         (gst_base_src_start):
26200         * gst/base/gstbasesrc.h:
26201           add num-buffers property
26202         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26203         (gst_fakesrc_init), (gst_fakesrc_set_property),
26204         (gst_fakesrc_get_property), (gst_fakesrc_create),
26205         (gst_fakesrc_start):
26206           remove num-buffers property
26207
26208 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26209
26210         * docs/gst/gstreamer-sections.txt:
26211         * docs/gst/tmpl/gstbasesink.sgml:
26212         * docs/gst/tmpl/gstbasesrc.sgml:
26213         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26214         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26215         (gst_base_sink_finalize), (gst_base_sink_set_clock),
26216         (gst_base_sink_set_property), (gst_base_sink_get_property),
26217         (gst_base_sink_handle_object), (gst_base_sink_event),
26218         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
26219         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
26220         (gst_base_sink_loop), (gst_base_sink_deactivate),
26221         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
26222         (gst_base_sink_change_state):
26223         * gst/base/gstbasesink.h:
26224         * gst/base/gstbasesrc.h:
26225         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
26226         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26227         (gst_filesink_init):
26228           more macro splitting
26229
26230 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26231
26232         * gst/gstelement.c: (gst_element_get_bus):
26233           add debug
26234         * tools/gst-launch.c: (check_intr), (event_loop):
26235           fix bus leaks
26236
26237 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26238
26239         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
26240           fix a caps leak
26241
26242 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26243
26244         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26245         (gst_base_src_finalize):
26246           add finalize method and clean up properly
26247         * gst/gstpipeline.c: (gst_pipeline_dispose):
26248           add debug
26249
26250 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26251
26252         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
26253         (gst_bin_suite):
26254           add more things to check
26255         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26256         * gst/gstelement.c:
26257           more debug
26258
26259 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26260
26261         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26262         (GST_START_TEST), (fakesrc_suite):
26263         * check/gst-libs/gdp.c: (GST_START_TEST):
26264         * check/gst/gst.c: (GST_START_TEST):
26265         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26266         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26267         * check/gst/gstbus.c: (GST_START_TEST):
26268         * check/gst/gstcaps.c: (GST_START_TEST):
26269         * check/gst/gstdata.c: (GST_START_TEST):
26270         * check/gst/gstelement.c: (GST_START_TEST):
26271         * check/gst/gstghostpad.c: (GST_START_TEST):
26272         * check/gst/gstiterator.c: (GST_START_TEST):
26273         * check/gst/gstmessage.c: (GST_START_TEST):
26274         * check/gst/gstobject.c: (GST_START_TEST):
26275         * check/gst/gstpad.c: (GST_START_TEST):
26276         * check/gst/gststructure.c: (GST_START_TEST):
26277         * check/gst/gstsystemclock.c: (GST_START_TEST),
26278         (gst_systemclock_suite):
26279         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26280         * check/gst/gstvalue.c: (GST_START_TEST):
26281         * check/pipelines/cleanup.c: (GST_START_TEST):
26282         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26283         * check/states/sinks.c: (GST_START_TEST):
26284         * check/gstcheck.c: (gst_check_init):
26285         * check/gstcheck.h:
26286           add debugging category
26287           use GST_START_TEST now, so we add a debug line
26288
26289 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26290
26291         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
26292           add test for state change message on a bin
26293         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
26294           add another test
26295         * gst/gstbin.c: (gst_bin_init):
26296         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
26297         * gst/gstelement.c: (gst_element_post_message),
26298         (gst_element_set_state):
26299         * gst/gstelementfactory.c: (gst_element_factory_create):
26300         * gst/gstmessage.c: (gst_message_new):
26301         * gst/gstscheduler.c:
26302           various debugging additions and cleanups
26303
26304 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26305
26306         * check/Makefile.am:
26307         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
26308         (main):
26309           adding tests for elements
26310         * gst/gstelement.c: (gst_element_dispose):
26311
26312 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26313
26314         * gst/registries/gstlibxmlregistry.c: (load_feature):
26315           plug more leaks.  A simple gst_init() now is leakfree, yay.
26316
26317 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26318
26319         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
26320         (gst_xml_registry_load):
26321           plug another memleak
26322
26323 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26324
26325         * configure.ac:
26326           use GST_SET_ERROR_CFLAGS
26327         * docs/faq/cvs.xml:
26328           change to ERROR_CFLAGS
26329
26330 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26331
26332         * configure.ac:
26333           make GST_ERROR_CFLAGS overridable and re-enable Werror
26334         * docs/faq/cvs.xml:
26335           add a note about error CFLAGS
26336         * docs/gst/tmpl/gstfakesrc.sgml:
26337         * gst/elements/gstfakesrc.c:
26338           comment out some unused code
26339         * gst/gst.c: (split_and_iterate):
26340         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
26341         (load_feature):
26342           plug some memleaks
26343
26344 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26345
26346         * common/Makefile.am:
26347         * common/gtk-doc.mak:
26348         * docs/gst/Makefile.am:
26349           factor out gtk-doc.mak
26350
26351 2005-07-07  Wim Taymans  <wim@fluendo.com>
26352
26353         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
26354         (gst_thread_scheduler_dispose):
26355         Unlock the STREAM_LOCK completely.
26356
26357 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26358
26359         * check/Makefile.am:
26360         * check/elements/.cvsignore:
26361         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26362         (START_TEST), (fakesrc_suite), (main):
26363         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26364         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
26365         (gst_fakesrc_create), (gst_fakesrc_start):
26366         * gst/elements/gstfakesrc.h:
26367           adding a first element test
26368
26369 2005-07-07  Andy Wingo  <wingo@pobox.com>
26370
26371         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
26372         debug message.
26373
26374 2005-07-07  Wim Taymans  <wim@fluendo.com>
26375
26376         * gst/gstquery.c:
26377         * gst/gstquery.h:
26378         Remove old types
26379
26380 2005-07-07  Wim Taymans  <wim@fluendo.com>
26381
26382         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
26383         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
26384         Allow subclasses to implement their own negotiation.
26385
26386 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26387
26388         * docs/design/part-gstbin.txt:
26389         * docs/design/part-gstpipeline.txt:
26390           Update design notes to reflect the movement of
26391           responsibility for bus handling from GstPipeline to
26392           GstBin
26393
26394 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26395
26396         * configure.ac:
26397           Remove unnecessary queue2/3/4 examples.
26398
26399 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26400
26401         * examples/Makefile.am:
26402         * examples/helloworld/helloworld.c: (event_loop), (main):
26403         * examples/queue/queue.c: (event_loop), (main):
26404         * examples/queue2/queue2.c: (main):
26405           Update a couple of the examples to work again.
26406
26407         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26408         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
26409          Spelling corrections and extra debug.
26410         
26411         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
26412         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
26413         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
26414         * gst/gstbin.h:
26415         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26416         (gst_pipeline_change_state):
26417         * gst/gstpipeline.h:
26418           Move the bus handler for children to the GstBin, and create a
26419           separate bus for receiving messages from children to the one the
26420           bus sends 'upwards' on.
26421
26422 2005-07-06  Wim Taymans  <wim@fluendo.com>
26423
26424         * gst/base/README:
26425         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26426         (gst_base_sink_handle_object), (gst_base_sink_loop),
26427         (gst_base_sink_change_state):
26428         * gst/base/gstbasesink.h:
26429         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26430         (gst_base_src_init), (gst_base_src_setcaps),
26431         (gst_base_src_getcaps), (gst_base_src_loop),
26432         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
26433         (gst_base_src_start), (gst_base_src_change_state):
26434         * gst/base/gstbasesrc.h:
26435         Make basesrc negotiate.
26436         Handle the case where preroll fails in basesink.
26437         Update README.
26438
26439 2005-07-06  Wim Taymans  <wim@fluendo.com>
26440
26441         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
26442         Implement the fixate function.
26443         Clean up acceptcaps.
26444
26445 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26446
26447         * docs/pwg/building-filterfactory.xml:
26448         * docs/pwg/pwg.xml:
26449           Remove never-written filter-factory chapter; I'll add the various
26450           base classes to part 4 ("other element types") later on.
26451
26452 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26453
26454         * docs/pwg/advanced-negotiation.xml:
26455         * docs/pwg/building-boiler.xml:
26456         * docs/pwg/building-pads.xml:
26457         * docs/pwg/pwg.xml:
26458         * examples/pwg/Makefile.am:
26459           Add a chapter on caps negotiation, simplify the original code
26460           samples a bit w.r.t. caps negotiation, add link to the advanced
26461           section. Add a bunch of examples showing different use cases of
26462           different types of caps negotiation. Upstream renegotiation isn't
26463           fully documented yet since nobody knows how that works.
26464
26465 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
26466
26467         * check/gst/gstpad.c:
26468         * check/gstcheck.c:
26469         * gst/gstpad.c: (gst_pad_get_internal_links_default):
26470           if pad has no parent, return NULL as list of internal links
26471
26472 2005-07-05  Andy Wingo  <wingo@pobox.com>
26473
26474         * gst/elements/gstfilesrc.c:
26475         * gst/elements/gstfakesrc.c: 
26476         * gst/base/gstpushsrc.c:
26477         * gst/base/gstbasesrc.h: 
26478         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
26479         
26480 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
26481
26482         * Makefile.am:
26483           better report generation target (lcov needs a patch)
26484
26485 2005-07-05  Andy Wingo  <wingo@pobox.com>
26486
26487         * gst/elements, testsuite: Null if we got it...
26488
26489 2005-07-05  Wim Taymans  <wim@fluendo.com>
26490
26491         * configure.ac:
26492         * libs/gst/dataprotocol/Makefile.am:
26493         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
26494         * libs/gst/dataprotocol/dataprotocol.h:
26495         * pkgconfig/Makefile.am:
26496         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
26497         * pkgconfig/gstreamer-dataprotocol.pc.in:
26498         Ported dataprotol to 0.9. 
26499         Added pkgconfig files.
26500
26501 2005-07-05  Andy Wingo  <wingo@pobox.com>
26502
26503         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
26504         Default to returning TRUE for the case when tranform_caps returns
26505         a fixed caps, like for identity or volume.
26506
26507         * check/gst/gstbus.c (pound_bus_with_messages): 
26508         * check/gst/gstmessage.c (START_TEST): 
26509         * check/pipelines/simple_launch_lines.c (got_handoff): Application
26510         message API change.
26511
26512         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
26513         logic weaks here: always run transform_caps, trying passthrough
26514         operation only if the original caps intersects with the transform.
26515
26516         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
26517         source and sink caps.
26518
26519         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
26520         Intersect the peer caps with the pad template before going into
26521         transform_caps.
26522         (gst_base_transform_transform_caps): More debugging.
26523
26524         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
26525         src argument.
26526
26527 2005-07-04  Edward Hervey  <edward@fluendo.com>
26528
26529         * gst/gstutils.c:
26530         * gst/gstutils.h:
26531         (gst_pad_add_*_probe): now returns the signal id for better wrapping
26532         in bindings.
26533
26534 2005-07-04  Andy Wingo  <wingo@pobox.com>
26535
26536         * check/gst/gstpad.c: Only set explicit caps on pads.
26537
26538 2005-07-01  Andy Wingo  <wingo@pobox.com>
26539
26540         * tests/network-clock.scm: Commentary update.
26541
26542         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
26543         Didn't really make sense, not implementable with basetransform,
26544         etc.
26545         (gst_identity_transform): Unref inbuf via make_writable. Feeble
26546         attempt at implementing the sync property, needs an unlock method.
26547
26548         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
26549         New func, by default returns the same caps (the identity
26550         transformation).
26551         (gst_base_transform_getcaps): Uses transform_caps to return
26552         something sensible.
26553         (gst_base_transform_setcaps): Complicated logic to get caps on
26554         both pads, even if they are different, and to call set_caps once
26555         for every time both pads get their caps set.
26556         (gst_base_transform_handle_buffer): Give the ref to the transform
26557         function. Allows in-place modification of the buffer.
26558
26559         * gst/base/gstbasetransform.h (transform_caps): New class method.
26560         Given caps on one side, what can I do on the other.
26561         (set_caps): Take two caps, one for each side of the element.
26562
26563         * gst/gstpad.h:
26564         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
26565         caps in place. This is safe because we can check the mutability of
26566         the caps, and a good idea because fixate functions are just called
26567         as a matter of last resort. (Not actually implemented.)
26568         (gst_pad_set_caps): If the caps we're setting is actually the same
26569         as the existing pad caps, just update the pointer without calling
26570         setcaps. Assert that caps is either NULL or fixed, as per the
26571         docs.
26572
26573         * gst/gstghostpad.c: Update for fixate changes.
26574
26575 2005-07-02  Andy Wingo  <wingo@pobox.com>
26576
26577         * gst/gstcaps.c:
26578         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
26579         two refcounts makes it immutable, which is enough. Doc more.
26580
26581 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
26582
26583         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
26584           Put the mini_object into GValue as a mini_object,
26585           not a gpointer, since that's how we declared
26586           the signal.
26587
26588 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26589
26590         * examples/pwg/Makefile.am:
26591           Fix buildbot again.
26592
26593 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26594
26595         * docs/pwg/building-testapp.xml:
26596           Add extra check.
26597         * examples/pwg/Makefile.am:
26598           Fix buildbot.
26599
26600 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26601
26602         * configure.ac:
26603         * examples/Makefile.am:
26604         * examples/pwg/Makefile.am:
26605         * examples/pwg/extract.pl:
26606           Enable building the PWG examples.
26607         * docs/pwg/advanced-interfaces.xml:
26608           Add URI interface stub.
26609         * docs/pwg/advanced-types.xml:
26610         * docs/pwg/other-autoplugger.xml:
26611         * docs/pwg/appendix-porting.xml:
26612         * docs/pwg/pwg.xml:
26613           Add porting guide (mostly stubs), remove autoplugging (see ADM).
26614         * docs/pwg/building-boiler.xml:
26615         * docs/pwg/building-chainfn.xml:
26616         * docs/pwg/building-pads.xml:
26617         * docs/pwg/building-props.xml:
26618         * docs/pwg/building-state.xml:
26619         * docs/pwg/building-testapp.xml:
26620           Update the building-*.xml parts for 0.9 changes. All examples
26621           code blocks compile in examples/pwg/*.
26622
26623 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26624
26625         * docs/manual/advanced-autoplugging.xml:
26626         * docs/manual/appendix-checklist.xml:
26627         * docs/manual/appendix-integration.xml:
26628         * docs/manual/highlevel-components.xml:
26629           Fix playbin/decodebin examples, update docs a bit, mention bus
26630           instead of signals in various places, mention kmplayer and
26631           kaffeine since they have a working GStreamer backend in the KDE
26632           section.
26633
26634 2005-06-30  Wim Taymans  <wim@fluendo.com>
26635
26636         * CHANGES-0.9:
26637         * docs/design/draft-ghostpads.txt:
26638         * docs/design/draft-push-pull.txt:
26639         * docs/design/draft-query.txt:
26640         * docs/design/part-TODO.txt:
26641         * docs/design/part-query.txt:
26642         Added CHANGES-0.9 doc, updated status of other docs.
26643         
26644         * gst/gstquery.h:
26645         Remove "hmm" macro
26646
26647 2005-06-30  Wim Taymans  <wim@fluendo.com>
26648
26649         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26650         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26651         (gst_base_sink_change_state):
26652         * gst/base/gstbasesink.h:
26653         Some tweaks, only EOS and a buffer complete a preroll.
26654
26655 2005-06-30  Andy Wingo  <wingo@pobox.com>
26656
26657         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
26658         activate_push down to the internal pad as well.
26659
26660 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
26661
26662         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26663
26664         * gst/gsttaginterface.c:
26665           Some documentation fixes (#307394 and #307397).
26666
26667 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
26668
26669         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26670
26671         * gst/gstvalue.c: (gst_value_intersect_list):
26672           Fix memleak (#309125).
26673
26674 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26675
26676         * docs/manual/advanced-dataaccess.xml:
26677           Fix fakesrc example to compile; doesn't work, bug somewhere...?
26678         * docs/manual/basics-pads.xml:
26679           Add reference for filtered caps to above chapter.
26680
26681 2005-06-30  Wim Taymans  <wim@fluendo.com>
26682
26683         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
26684         (gst_bin_change_state):
26685         Probes are gone.
26686         Lame attempt at making the state change function a bit
26687         more readable.
26688
26689 2005-06-30  Wim Taymans  <wim@fluendo.com>
26690
26691         * docs/design/part-clocks.txt:
26692         * docs/design/part-element-sink.txt:
26693         * docs/design/part-events.txt:
26694         * docs/design/part-preroll.txt:
26695         * docs/design/part-states.txt:
26696         Some more tweeks and additions to the docs.
26697
26698 2005-06-30  Wim Taymans  <wim@fluendo.com>
26699
26700         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26701         (default_have_data), (gst_pad_class_init), (gst_pad_init),
26702         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26703         (gst_pad_check_pull_range), (gst_pad_get_range),
26704         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
26705         * gst/gstpad.h:
26706         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
26707         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26708         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26709         (gst_pad_remove_buffer_probe):
26710         Removed atomic operations, use existing LOCK.
26711         Move exception handling out of main code path.
26712
26713 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26714
26715         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26716         (silly_return_true_function), (gst_pad_class_init),
26717         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26718         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
26719         (gst_pad_send_event):
26720           Fix accumulator, add default value by using _emitv() instead
26721           of _emit() for signal emission.
26722
26723 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26724
26725         * docs/manual/advanced-dataaccess.xml:
26726         * examples/manual/Makefile.am:
26727           Add probe example.
26728         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
26729           Make work (??).
26730
26731 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
26732
26733         * gst/elements/gstfilesink.c: (gst_filesink_render):
26734           Simplify code so that we don't have to handle short
26735           writes and return GST_FLOW_ERROR if an error occured.
26736
26737 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26738
26739         * docs/gst/gstreamer-docs.sgml:
26740           Remove probes more.
26741
26742 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26743
26744         * docs/gst/gstreamer-sections.txt:
26745         * docs/gst/tmpl/gstpad.sgml:
26746         * docs/gst/tmpl/gstprobe.sgml:
26747         * gst/Makefile.am:
26748         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26749         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
26750         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26751         (gst_pad_push_event), (gst_pad_send_event):
26752         * gst/gstpad.h:
26753         * gst/gstutils.c: (gst_pad_add_data_probe),
26754         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26755         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26756         (gst_pad_remove_buffer_probe):
26757         * gst/gstutils.h:
26758           Remove old probes, add new g-signal-based probes and some utility
26759           functions.
26760
26761 2005-06-29  Edward Hervey  <edward@fluendo.com>
26762
26763         * gst/gstelementfactory.c:
26764         * gst/gstutils.h:
26765         * gst/gstutils.c:
26766         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
26767         the definition to the header file.
26768
26769 2005-06-29  Andy Wingo  <wingo@pobox.com>
26770
26771         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
26772         plugins from the source directory.
26773
26774 2005-06-29  Wim Taymans  <wim@fluendo.com>
26775
26776         * docs/gst/tmpl/gstbuffer.sgml:
26777         * docs/gst/tmpl/gstclock.sgml:
26778         Some fixings for blantently wrong text.
26779
26780 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
26781
26782         * check/Makefile.am:
26783         * gst/gst.c: (add_path_func), (init_pre):
26784         * gst/gstregistry.c: (gst_registry_add_path):
26785           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
26786           only scan the GST_PLUGIN_PATH locations, and not add
26787           system locations
26788
26789 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
26790
26791         * docs/gst/gstreamer-sections.txt:
26792         * docs/gst/tmpl/gstbasesrc.sgml:
26793         * gst/gstelement.c:
26794         * gst/gstelement.h:
26795         * gst/gstevent.c:
26796         * gst/gstutils.c:
26797           doc fixes
26798
26799 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26800
26801         * docs/manual/advanced-autoplugging.xml:
26802           Fix autoplugging example.
26803
26804 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26805
26806         * docs/manual/advanced-autoplugging.xml:
26807         * docs/manual/mime-world.fig:
26808           Try to get autoplugging working, fix type detection. Fix text
26809           in hello-world image.
26810
26811 2005-06-29  Wim Taymans  <wim@fluendo.com>
26812
26813         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26814         (gst_base_sink_change_state):
26815         Small debug line.
26816
26817         * gst/gstclock.h:
26818         map SIGNAL and BROADCAST to the right function.
26819
26820         * gst/gstobject.h:
26821         Remove redundant braces.
26822
26823         * gst/gstpad.c: (gst_pad_set_caps):
26824         Don't call setcaps function when reseting caps to NULL.
26825
26826         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26827         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
26828         (gst_system_clock_id_unschedule):
26829         Use BROADCAST as this is what we do.
26830
26831 2005-06-29  Wim Taymans  <wim@fluendo.com>
26832
26833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26834         We are actually prerolling before commiting the state
26835         change. 
26836
26837 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26838
26839         * docs/manual/advanced-clocks.xml:
26840         * docs/manual/advanced-interfaces.xml:
26841         * docs/manual/advanced-metadata.xml:
26842         * docs/manual/advanced-position.xml:
26843         * docs/manual/advanced-schedulers.xml:
26844         * docs/manual/advanced-threads.xml:
26845         * docs/manual/appendix-porting.xml:
26846         * docs/manual/basics-bins.xml:
26847         * docs/manual/basics-bus.xml:
26848         * docs/manual/basics-elements.xml:
26849         * docs/manual/basics-helloworld.xml:
26850         * docs/manual/basics-pads.xml:
26851         * docs/manual/highlevel-components.xml:
26852         * docs/manual/manual.xml:
26853         * docs/manual/thread.fig:
26854           Update (until threads/scheduling) Application Development Manual;
26855           remove GstThread, add GstBus, add simple porting checklist, add
26856           documentation for tag writing, clocks, make all examples until this
26857           part compile and run.
26858         * examples/manual/Makefile.am:
26859           Update from changes to Application Development Manual; add bus
26860           example, remove thread example.
26861
26862 2005-06-28  Wim Taymans  <wim@fluendo.com>
26863
26864         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
26865         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
26866         (gst_bus_source_dispatch):
26867         Add debugging messages.
26868         Make internal methods static.
26869         Handle the case where the bus is flushed in the handler.
26870         
26871         * gst/gstelement.c: (gst_element_get_bus):
26872         Fix refcount in _get_bus();
26873
26874         * gst/gstpipeline.c: (gst_pipeline_change_state),
26875         (gst_pipeline_get_clock_func):
26876         Clock refcounting fixes.
26877         Handle the case where preroll timed out more gracefully.
26878         
26879         * gst/gstsystemclock.c: (gst_system_clock_dispose):
26880         Clean up the internal thread in dispose. This is needed
26881         for subclasses that actually get disposed.
26882         
26883         * gst/schedulers/threadscheduler.c:
26884         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
26885         (gst_thread_scheduler_dispose):
26886         Free thread pool in dispose.
26887
26888 2005-06-28  Andy Wingo  <wingo@pobox.com>
26889
26890         * tests/network-clock-utils.scm (debug, print-event): New utils.
26891
26892         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
26893         (*packet-loss*): Unified loss probability.
26894         (network-time): Report out-of-band events.
26895
26896         * tests/plot-data: Add support for out-of-band events. Hack it
26897         into this script instead of passing it down the pipe; should fix
26898         this later.
26899
26900 2005-06-28  Wim Taymans  <wim@fluendo.com>
26901
26902         * docs/gst/gstreamer.types:
26903         * docs/gst/tmpl/gstbasesrc.sgml:
26904         * docs/gst/tmpl/gstpad.sgml:
26905         Docs fixes.
26906
26907 2005-06-28  Wim Taymans  <wim@fluendo.com>
26908
26909         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26910         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
26911         (gst_proxy_pad_do_fixatecaps):
26912         Correctly proxy the check_pull_range function.
26913
26914 2005-06-28  Andy Wingo  <wingo@pobox.com>
26915
26916         * tests/network-clock.scm: Removed need for slib.
26917         
26918 2005-06-28  Wim Taymans  <wim@fluendo.com>
26919
26920         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
26921         (gst_basesink_preroll_queue_flush):
26922         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
26923         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
26924         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26925         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26926         (gst_proxy_pad_set_property):
26927         * gst/gstpad.c:
26928         * gst/gstpad.h:
26929         * gst/gstqueue.c: (gst_queue_init):
26930         The deprecated pad loop function is removed now.
26931
26932 2005-06-28  Andy Wingo  <wingo@pobox.com>
26933
26934         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
26935         New parameters, simulate network packet loss.
26936
26937         * tests/network-clock-utils.scm: Initialize the RNG.
26938
26939 2005-06-28  Wim Taymans  <wim@fluendo.com>
26940
26941         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
26942         (gst_basesink_event), (gst_basesink_deactivate):
26943         Flushing the preroll queue always needs to unlock the waiters.
26944
26945 2005-06-28  Edward Hervey  <edward@fluendo.com>
26946
26947         * gst/gstpipeline.c: (gst_pipeline_send_event): 
26948         Wheen a seek was successful on a pipeline, set the stream_time to the
26949         seek offset in order to have a synchronized stream_time.
26950
26951 2005-06-28  Wim Taymans  <wim@fluendo.com>
26952
26953         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26954         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
26955         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
26956         (gst_proxy_pad_do_fixatecaps):
26957         Call wrapper function instead of just calling the function
26958         pointers. This takes care of any locking and whatmore.
26959
26960 2005-06-28  Wim Taymans  <wim@fluendo.com>
26961
26962         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
26963         (gst_pad_pull_range):
26964         * gst/gstpad.h:
26965         CONNECTED -> LINKED.
26966
26967 2005-06-28  Andy Wingo  <wingo@pobox.com>
26968
26969         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
26970         source-munging commit!!!
26971
26972         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
26973         (gst_object_sink): Take gpointer arguments, not GstObject --
26974         avoids casts. Like GLib.
26975
26976         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
26977         activate.
26978
26979 2005-06-27  Andy Wingo  <wingo@pobox.com>
26980
26981         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
26982         remaining buffer.
26983
26984         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
26985         returns a sorted copy of the trace list.
26986         (gst_alloc_trace_print_live): New API, only prints traces with
26987         live objects. Sort the list.
26988         (gst_alloc_trace_print_all): Sort the list.
26989         (gst_alloc_trace_print): Align columns.
26990
26991         * gst/elements/gstttypefindelement.c:
26992         * gst/elements/gsttee.c:
26993         * gst/base/gstbasesrc.c:
26994         * gst/base/gstbasesink.c:
26995         * gst/base/gstbasetransform.c:
26996         * gst/gstqueue.c: Adapt for pad activation changes.
26997
26998         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
26999         sched.
27000         (gst_pipeline_dispose): Drop ref on sched.
27001
27002         * gst/gstpad.c (gst_pad_init): Set the default activate func.
27003         (gst_pad_activate_default): Push mode by default.
27004         (pre_activate_switch, post_activate_switch): New stubs, things to
27005         do before and after switching activation modes on pads.
27006         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
27007         the pad's activate function to choose which mode to activate.
27008         Shortcut on deactivation and call the right function directly.
27009         (gst_pad_activate_pull): New API, (de)activates a pad in pull
27010         mode.
27011         (gst_pad_activate_push): New API, same for push mode.
27012         (gst_pad_set_activate_function) 
27013         (gst_pad_set_activatepull_function) 
27014         (gst_pad_set_activatepush_function): Setters for new API.
27015
27016         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
27017         Trace all miniobjects.
27018         (gst_mini_object_make_writable): Unref the arg if we copy, like
27019         gst_caps_make_writable.
27020
27021         * gst/gstmessage.c (_gst_message_initialize): No trace init.
27022
27023         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
27024         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
27025         Adapt for new pad API.
27026
27027         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
27028
27029         * gst/gstelement.h:
27030         * gst/gstelement.c (gst_element_iterate_src_pads) 
27031         (gst_element_iterate_sink_pads): New API functions.
27032         
27033         * gst/gstelement.c (iterator_fold_with_resync): New utility,
27034         should fold into gstiterator.c in some form.
27035         (gst_element_pads_activate): Simplified via use of fold and
27036         delegation of decisions to gstpad->activate.
27037
27038         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
27039         help in debugging.
27040
27041         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
27042         class once in init, like gstmessage. Didn't run into this issue
27043         but it seems correct. Don't initialize a trace, gstminiobject does
27044         that.
27045
27046         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
27047         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
27048         to the bus.
27049         (assert_live_count): New util function, uses alloc traces to check
27050         cleanup.
27051
27052         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
27053         To be modified when unlink drops the internal pad.
27054
27055 2005-06-27  Wim Taymans  <wim@fluendo.com>
27056
27057         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
27058         (gst_bin_change_state):
27059         Cleanup the get_state() function a little, make sure it
27060         iterates the same set of elements.
27061         Added stub iterate_state_order().
27062
27063 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
27064
27065         * docs/gst/gstreamer-docs.sgml:
27066         * docs/gst/gstreamer-sections.txt:
27067         * docs/gst/gstreamer.types:
27068         * docs/gst/tmpl/gstbasesink.sgml:
27069         * docs/gst/tmpl/gstbasesrc.sgml:
27070         * docs/gst/tmpl/gstbasetransform.sgml:
27071         * docs/gst/tmpl/gstelement.sgml:
27072         * docs/gst/tmpl/gstiterator.sgml:
27073         * gst/base/gstbasesrc.c:
27074         * gst/base/gstbasesrc.h:
27075         * gst/base/gstbasetransform.h:
27076         * gst/gstelement.c:
27077         * gst/gstiterator.h:
27078           adding basetransform and iterator docs
27079
27080 2005-06-27  Andy Wingo  <wingo@pobox.com>
27081
27082         * docs/design/part-activation.txt: Notes on how activation should
27083         work -- not quite implemented yet.
27084
27085 2005-06-25  Wim Taymans  <wim@fluendo.com>
27086
27087         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
27088         At least get the chain function correct, needs more
27089         fixing.
27090
27091 2005-06-25  Wim Taymans  <wim@fluendo.com>
27092
27093         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27094         (gst_basesink_handle_object), (gst_basesink_event),
27095         (gst_basesink_do_sync), (gst_basesink_handle_event),
27096         (gst_basesink_change_state):
27097         * gst/gsttask.h:
27098         Right, two problems here: ghostpads don't take locks and
27099         glib _rec_mutex_lock_full() with depth==0 still locks.
27100         Catch illegal locking and g_warn them.
27101
27102 2005-06-25  Wim Taymans  <wim@fluendo.com>
27103
27104         * check/states/sinks.c: (START_TEST), (gst_object_suite):
27105         Have to check for completion now...
27106
27107 2005-06-25  Wim Taymans  <wim@fluendo.com>
27108
27109         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27110         (gst_basesink_handle_object), (gst_basesink_event),
27111         (gst_basesink_do_sync), (gst_basesink_handle_event),
27112         (gst_basesink_change_state):
27113         * gst/gstpad.h:
27114         Unlock STREAM_LOCK whatever the recursion was.
27115
27116 2005-06-25  Wim Taymans  <wim@fluendo.com>
27117
27118         * gst/base/gstbasesink.c: (gst_basesink_set_property),
27119         (gst_basesink_preroll_queue_empty),
27120         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
27121         (gst_basesink_event), (gst_basesink_do_sync),
27122         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
27123         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
27124         (gst_basesink_change_state):
27125         Reworked the base sink, handle event and buffer serialisation
27126         correctly and removed possible deadlock.
27127         Handle EOS correctly.
27128
27129 2005-06-25  Wim Taymans  <wim@fluendo.com>
27130
27131         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
27132         (gst_pipeline_change_state):
27133         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27134         Allow elements to post EOS in the state change function.
27135         Fix up -launch, make it exit the poll loop when the
27136         pipeline actually changed state.
27137         Fix up warning parsing in -launch.
27138
27139 2005-06-25  Wim Taymans  <wim@fluendo.com>
27140
27141         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
27142         (gst_tee_sink_activate):
27143         Core takes STREAM_LOCK for us now.
27144
27145 2005-06-25  Wim Taymans  <wim@fluendo.com>
27146
27147         * gst/gstelement.c: (gst_element_get_state_func),
27148         (gst_element_set_state):
27149         * gst/gstelement.h:
27150         * gst/gstmessage.c: (gst_message_parse_error),
27151         (gst_message_parse_warning):
27152         Keep track of current target state while performing a state
27153         change so that subclasses can do something interesting.
27154         Fix parsing of warning/error messages when GError is NULL.
27155
27156 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
27157
27158         * docs/gst/Makefile.am:
27159         * docs/gst/gstreamer-docs.sgml:
27160         * docs/gst/gstreamer-sections.txt:
27161         * docs/gst/gstreamer.types:
27162         * docs/gst/tmpl/gstbasesink.sgml:
27163         * docs/gst/tmpl/gstbasesrc.sgml:
27164         * docs/gst/tmpl/gstbin.sgml:
27165         * docs/gst/tmpl/gstcompat.sgml:
27166         * docs/gst/tmpl/gstfakesink.sgml:
27167         * docs/gst/tmpl/gstfakesrc.sgml:
27168         * docs/gst/tmpl/gstfilesink.sgml:
27169         * docs/gst/tmpl/gstfilesrc.sgml:
27170         * docs/gst/tmpl/gstindex.sgml:
27171         * docs/manual/appendix-quotes.xml:
27172         * gst/base/gstbasesrc.h:
27173         * gst/elements/gstfakesrc.h:
27174         * gst/gstmessage.h:
27175           start pulling in base classes and elements in our docs
27176
27177 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
27178
27179         * docs/gst/Makefile.am:
27180         * docs/libs/Makefile.am:
27181           fixed make distcheck with gtk-doc 1.3
27182
27183 2005-06-23  Wim Taymans  <wim@fluendo.com>
27184
27185         * gst/gstelement.c: (gst_element_get_state_func),
27186         (gst_element_set_state), (gst_element_change_state):
27187         When the state did not change, also report NO_PREROLL
27188         when it matters.
27189
27190 2005-06-23  Wim Taymans  <wim@fluendo.com>
27191
27192         * gst/gstpad.c: (gst_pad_event_default):
27193         * gst/gstqueue.c: (gst_queue_loop):
27194         No unsafe task pausing please.
27195
27196 2005-06-23  Wim Taymans  <wim@fluendo.com>
27197
27198         * gst/schedulers/threadscheduler.c:
27199         (gst_thread_scheduler_task_start),
27200         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
27201         Ref the task before pushing it on the threadpool. This
27202         makes sure that we have a ref when the threadfunction is
27203         actually called.
27204
27205 2005-06-23  Andy Wingo  <wingo@pobox.com>
27206
27207         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
27208         offset is greater than the file's size.
27209
27210         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
27211         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
27212         * gst/gstobject.c (gst_object_class_init): Make the class lock
27213         recursive. Wim won't let me drop deep_notify. Decodebin works
27214         again, whoopdy doo.
27215
27216         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
27217         internal pad, and hacks accordingly. Doesn't do it on the target
27218         pad because we change its caps. Probably catches all cases of
27219         interest tho.
27220         (gst_ghost_pad_set_property): Connect to notify::caps as
27221         appropritate.
27222
27223         * tests/network-clock.scm (plot-simulation): Pipe data to the
27224         elite python skript.
27225
27226         * tests/network-clock-utils.scm (define-parameter): New macro,
27227         defines a parameter that can be set via the command line.
27228         (set-parameter!, parse-parameter-arguments): Command line args
27229         parser.
27230
27231         * tests/plot-data: Simple matplotlib-based plotter, takes input on
27232         stdin.
27233
27234 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
27235
27236         * gst/elements/gsttypefindelement.c:
27237         (gst_type_find_element_handle_event):
27238           Don't restart typefinding on a discont.
27239         * gst/gstelement.c: (gst_element_set_state):
27240           Debug spelling fix.
27241         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
27242           Allow changing mode of an active pad.
27243           Debug output fixes.
27244         * gst/registries/gstlibxmlregistry.c: (load_feature):
27245           Don't cast a static pad template to a normal pad template.
27246
27247 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
27248
27249         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27250         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27251           remove gst_strtoll completely, since it didn't actually do
27252           anything more than what g_ascii_strtoull already does.
27253           check for range errors when deserializing
27254           do a cast for the unsigned cases; but further fixing needs
27255           a decision on what the interpretation of "(int)" and
27256           deserialization should be for values that fall outside the
27257           type's boundaries (ie, refuse, or interpret as casting)
27258
27259 2005-06-23  Wim Taymans  <wim@fluendo.com>
27260
27261         * check/Makefile.am:
27262         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
27263         * docs/design/part-live-source.txt:
27264         * docs/design/part-states.txt:
27265         * gst/base/gstbasesrc.c: (gst_basesrc_init),
27266         (gst_basesrc_set_live), (gst_basesrc_is_live),
27267         (gst_basesrc_get_range), (gst_basesrc_activate),
27268         (gst_basesrc_change_state):
27269         * gst/base/gstbasesrc.h:
27270         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27271         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
27272         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
27273         * gst/gstelement.c: (gst_element_get_state_func),
27274         (gst_element_set_state):
27275         * gst/gstelement.h:
27276         * gst/gsttypes.h:
27277         * tools/gst-launch.c: (event_loop), (main):
27278         Added support for live sources and other elements that
27279         cannot do preroll.
27280         Updated design docs, added live-source design doc.
27281         Implemented live source functionality in basesrc
27282         Fix error condition in _bin_get_state()
27283         Implement live source handling in -launch.
27284         Added check for live sources.
27285         Fixed case in GstBin where elements were changed state
27286         multiple times.
27287
27288
27289 2005-06-23  Andy Wingo  <wingo@pobox.com>
27290
27291         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
27292         borken refcounting.
27293
27294         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
27295         gst_caps_replace takes care of this for us.
27296
27297         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
27298         gst_pad_set_caps on the target, not just its setcaps() function.
27299
27300         * tests/network-clock.scm: 
27301         * tests/network-clock-utils.scm: A network clock simulator.
27302         Something of an algorithmic testbed before doing something in C.
27303
27304 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27305
27306         * check/Makefile.am:
27307         * check/gst/capslist.h:
27308           copy over from 0.8, and add two with bitmasks specified with
27309           (int) 0xFF...
27310         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27311           add test to parse everything from capslist.h
27312         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
27313         (main):
27314           add test for structure deserialization
27315         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27316           add tests for deserialization of strings to int types
27317         * gst/gststructure.c: (gst_structure_nth_field_name):
27318         * gst/gststructure.h:
27319           add a way to get the name of a field referenced by index
27320         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27321           instead of checking if the resulting long long lies between
27322           min and max, we check if the long long would fit into
27323           a number of bytes for the final type.
27324           This fixes cases where a string represents 2^32 - 1, which
27325           when cast to int would be the (valid) -1, but is bigger than
27326           G_MAXINT
27327
27328 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27329
27330         * gst/parse/grammar.y:
27331           add a log line for type deserialization
27332
27333 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27334
27335         * check/gst/gstvalue.c: (START_TEST):
27336         * gst/gstvalue.c: (gst_value_deserialize):
27337           return long long, not int, so gint64 deserialization actually
27338           works.  Is there any flag that makes the compiler check this ?
27339           Fixes #308559
27340
27341 2005-06-22  Wim Taymans  <wim@fluendo.com>
27342
27343         * gst/gstbuffer.h:
27344         Added convenience macros for setting buffers in GValue.
27345
27346 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27347
27348         * check/gst/.cvsignore:
27349         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27350           add a test deserializing int64, and comment part out because
27351           it fails, yay !
27352
27353 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27354
27355         * check/Makefile.am:
27356         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
27357         * testsuite/Makefile.am:
27358         * testsuite/caps/Makefile.am:
27359         * testsuite/caps/value_serialize.c:
27360         * testsuite/test_gst_init.c:
27361           move a value_serialize test over
27362
27363 2005-06-20  Wim Taymans  <wim@fluendo.com>
27364
27365         * gst/gstpad.c:
27366         Small doc updates.
27367         
27368         * gst/gstvalue.c: (gst_value_compare_buffer),
27369         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
27370         (gst_value_compare_flags), (gst_value_serialize_flags),
27371         (gst_value_deserialize_flags), (_gst_value_initialize):
27372         Fix serialisation of buffers, they are not boxed types anymore
27373
27374 2005-06-20  Wim Taymans  <wim@fluendo.com>
27375
27376         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27377         Testcase to show error in buffer-on-caps serialisation.
27378
27379 2005-06-20  Andy Wingo  <wingo@pobox.com>
27380
27381         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
27382         will be adding to later.
27383
27384         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
27385         if its socks fill with rocks.
27386         (gst_system_clock_obtain): Set the name on object construction.
27387         Avoid double-checked locking.
27388
27389 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
27390
27391         * gst/gsturi.c: (gst_element_make_from_uri):
27392           Fix potential endless loop.
27393
27394 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27395
27396         * check/Makefile.am:
27397           add gsttag
27398         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
27399         (main):
27400           move over from testsuite dir and clean up
27401         * configure.ac:
27402         * gst/gsttag.c:
27403         * testsuite/Makefile.am:
27404         * testsuite/tags/.cvsignore:
27405         * testsuite/tags/Makefile.am:
27406         * testsuite/tags/merge.c:
27407           remove testsuite/tags
27408
27409 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27410
27411         * docs/gst/gstreamer-sections.txt:
27412         * docs/gst/tmpl/gstenumtypes.sgml:
27413         * win32/gstenumtypes.c:
27414           clean up documentation build a little
27415
27416 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27417
27418         * check/gstcheck.h:
27419           add macros for checking refcounts on objects and caps
27420         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
27421           add some more unit tests
27422         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27423         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
27424           fix leaked refcounts (I hope :)) so unittest works
27425         * gst/gstpad.h:
27426           whitespace removal
27427
27428 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27429
27430         * configure.ac: back to HEAD
27431
27432 === release 0.9.1 ===
27433
27434 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27435
27436         * NEWS:
27437         * RELEASE:
27438           updated
27439
27440 2005-06-17  Andy Wingo  <wingo@pobox.com>
27441
27442         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
27443         assert; it's always possible that the pad gets deactivated in
27444         between the checks in gstpad.c and the implementation. Rely on
27445         finish_preroll() to return a FLUSHING or similar instead of on the
27446         assert.
27447         
27448         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
27449         clock and post an EOS message if we come out of finish_preroll in
27450         the playing state.
27451
27452 2005-06-16  David Schleef  <ds@schleef.org>
27453
27454         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
27455         (gst_capsfilter_set_property): Allow NULL as possible value
27456         for filter_caps property, indicating GST_CAPS_ANY.
27457
27458 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27459
27460         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
27461           fix debug output
27462         * gst/schedulers/Makefile.am:
27463           use libgst prefix
27464         * gstreamer.spec.in:
27465           fix spec for it
27466
27467 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27468
27469         * gstreamer.spec.in:
27470           clean up
27471
27472 2005-06-08  Andy Wingo  <wingo@pobox.com>
27473
27474         * gst/gstutils.c: RPAD fixes all around.
27475         (gst_element_link_pads): Refcounting fixes.
27476
27477         * tools/gst-inspect.c:
27478         * tools/gst-xmlinspect.c:
27479         * parse/grammar.y:
27480         * gst/base/gsttypefindhelper.c:
27481         * gst/base/gstbasesink.c:
27482         * gst/gstqueue.c: RPAD fixes.
27483
27484         * gst/gstghostpad.h:
27485         * gst/gstghostpad.c: New ghost pad implementation as full proxy
27486         pads. The tricky thing is they provide both source and sink
27487         interfaces, since they proxy the internal pad for the external
27488         pad, and vice versa. Implement with lower-level ProxyPad objects,
27489         with the interior proxy pad as a child of the exterior ghost pad.
27490         Should write a doc on this.
27491         
27492         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
27493         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
27494         gst_object API.
27495         
27496         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
27497         pads are real pads. No ghost pads in this file. Not documenting
27498         the myriad s/RPAD/PAD/ and REALIZE fixes.
27499         (gst_pad_class_init): Add properties for "direction" and
27500         "template". Both are construct-only, so they can't change during
27501         the life of the pad. Fixes properly deriving from GstPad.
27502         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
27503         derived objects, just set properties when creating the objects via
27504         g_object_new.
27505         (gst_pad_get_parent): Implement as a function, return NULL if the
27506         parent is not an element.
27507         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
27508         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
27509         
27510         * gst/gstobject.c (gst_object_class_init): Make name a construct
27511         property. Don't set it in the object init.
27512
27513         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
27514         with UNKNOWN direction.
27515         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
27516         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
27517         (gst_element_remove_pad): Remove ghost-pad special cases.
27518         (gst_element_pads_activate): Remove rpad cruft.
27519
27520         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
27521         catch the pad's-parent-not-an-element case.
27522
27523         * gst/gst.h: Include gstghostpad.h.
27524
27525         * gst/gst.c (init_post): No more real, ghost pads.
27526
27527         * gst/Makefile.am: Add gstghostpad.[ch].
27528
27529         * check/Makefile.am:
27530         * check/gst/gstbin.c:
27531         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
27532         into a bin creates ghost pads, and that the refcounts are right.
27533         Partly moved from gstbin.c.
27534
27535 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27536
27537         * check/gst-libs/.cvsignore:
27538         * check/gst/.cvsignore:
27539         * check/pipelines/.cvsignore:
27540           ignore more
27541         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
27542         (START_TEST), (cleanup_suite), (main):
27543           add some tests related to cleanup after running pipelines
27544
27545 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27546
27547         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
27548           add a testsuite for GstBuffer
27549
27550 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27551
27552         * gst/gstminiobject.h:
27553           add defines for accessing the refcount
27554
27555 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
27556
27557         * Makefile.am: added support for html unit test coverage reports
27558
27559 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
27560
27561         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27562           Free existing caps if the capsfilter changes. Add a FIXME about
27563           setting those caps on the pads.
27564
27565         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
27566           Before adding a ghost pad to a parent bin, check that there isn't
27567           already one for the element on the bin. Prevents infinite recursion
27568           when using decodebin in parse pipelines. Andy says he'll rewrite the
27569           way this works anyway, so ignore the hack.
27570
27571 2005-06-02  Andy Wingo  <wingo@pobox.com>
27572
27573         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
27574         file size, pass it on to the type find helper.
27575
27576         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
27577         segment_start and segment_end properly according to the seek
27578         method. Segment_end is still a bit flaky because offset can be
27579         negative for CUR and END cases, but it takes -1 as an "unset"
27580         value.
27581
27582 2005-06-02  Wim Taymans  <wim@fluendo.com>
27583
27584         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
27585         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
27586         (gst_basesink_activate):
27587         * gst/base/gstbasesink.h:
27588         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27589         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27590         (gst_pad_query), (gst_pad_start_task):
27591         * gst/gstpad.h:
27592         * gst/gstqueue.c: (gst_queue_bufferalloc),
27593         (gst_queue_handle_sink_event), (gst_queue_chain):
27594         Bufferalloc: return GstFlowReturn to more accuratly report
27595         why allocation failed.
27596
27597 2005-06-02  Wim Taymans  <wim@fluendo.com>
27598
27599         * gst/gstpipeline.c: (gst_pipeline_send_event):
27600         Take snapshot of state without blocking.
27601
27602 2005-06-02  Wim Taymans  <wim@fluendo.com>
27603
27604         * docs/design/part-TODO.txt:
27605         * docs/design/part-caps.txt:
27606         * docs/design/part-clocks.txt:
27607         * docs/design/part-negotiation.txt:
27608         * docs/design/part-preroll.txt:
27609         Small doc updates 
27610
27611 2005-05-30  Wim Taymans  <wim@fluendo.com>
27612
27613         * gst/elements/gstidentity.c: (gst_identity_event),
27614         (gst_identity_transform), (gst_identity_get_property):
27615         Protect last_message property as it is accessed from
27616         multiple threads.
27617
27618 2005-05-30  Wim Taymans  <wim@fluendo.com>
27619
27620         * gst/gstelement.c: (gst_element_init),
27621         (gst_element_pads_activate), (gst_element_change_state):
27622         Slicker pad activation code.
27623
27624 2005-05-30  Wim Taymans  <wim@fluendo.com>
27625
27626         * gst/Makefile.am:
27627         * gst/gstelement.h:
27628         * gst/gstelementfactory.h:
27629         * gst/gsttypes.h:
27630         Move elementfactory methods to separate .h file.
27631
27632 2005-05-30  Wim Taymans  <wim@fluendo.com>
27633
27634         * docs/design/part-overview.txt:
27635         * gst/gstsystemclock.h:
27636         Small typo fixes, doc updates.
27637
27638 2005-05-30  Wim Taymans  <wim@fluendo.com>
27639
27640         * gst/gst.c: (gst_init_get_popt_table), (init_post),
27641         (init_popt_callback):
27642         Remove cpu-opt flag.
27643
27644 2005-05-30  Wim Taymans  <wim@fluendo.com>
27645
27646         * gst/gstbuffer.c: (gst_subbuffer_finalize),
27647         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
27648         * gst/gstbuffer.h:
27649         Avoid typechecking in places where not needed.
27650         Added accessor for malloc_data.
27651
27652 2005-05-30  Wim Taymans  <wim@fluendo.com>
27653
27654         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
27655         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
27656         (gst_pad_configure_sink), (gst_pad_configure_src),
27657         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
27658         (gst_pad_start_task):
27659         Propagate errors from _set_caps() in configure_src/sink
27660         functions instead of returning TRUE.
27661         FLUSH events can travel up and downstream
27662
27663
27664 2005-05-30  Wim Taymans  <wim@fluendo.com>
27665
27666         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27667         (gst_basesink_activate):
27668         Handle EOS in preroll.
27669
27670 2005-05-30  Wim Taymans  <wim@fluendo.com>
27671
27672         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27673         (gst_queue_loop), (gst_queue_handle_src_event):
27674         Remove old pieces of code
27675         Flushing the queue in an upstream event is a very bad idea.
27676
27677 2005-05-26  Andy Wingo  <wingo@pobox.com>
27678
27679         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
27680         gst_value_set_mini_object so as to add a ref on the object (which
27681         will be removed when the value is unset).
27682
27683         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
27684         arg type in ::handoff.
27685
27686         * gst/gstelement.c (gst_element_change_state): Also deactivate
27687         pads in READY->NULL, just in case the element didn't make it to
27688         PAUSED. Wingo tested, Wim approved.
27689
27690 2005-05-26  Wim Taymans  <wim@fluendo.com>
27691
27692         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27693         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27694         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
27695         A flushing pad cannot be used to alloc_buffer from.
27696
27697 2005-05-26  Wim Taymans  <wim@fluendo.com>
27698
27699         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
27700         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
27701         (gst_bus_source_dispatch), (gst_bus_source_finalize),
27702         (gst_bus_create_watch), (gst_bus_add_watch_full):
27703         * gst/gstbus.h:
27704         Implement a real GSource and use g_main_context_wakeup() to
27705         signal new messages instead of the socketpair.
27706
27707 2005-05-25  Wim Taymans  <wim@fluendo.com>
27708
27709         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
27710         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
27711         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27712         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27713         (gst_pad_send_event), (gst_pad_start_task):
27714         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
27715         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27716         (gst_queue_sink_activate), (gst_queue_src_activate),
27717         (gst_queue_change_state):
27718         * gst/gstqueue.h:
27719         Fix state changes for non sinks. We now change sinks, then elements
27720         with unconnected srcpads, then the rest.
27721         More efficient queue unlocking in flush and state changes.
27722         Set the pad activate mode even if it does not have an activate
27723         function.
27724
27725 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27726
27727         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
27728           Don't go in pull mode for non-seekable sources.
27729         * gst/elements/gsttypefindelement.h:
27730         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
27731         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
27732         (free_entry), (stop_typefinding),
27733         (gst_type_find_element_handle_event), (find_peek),
27734         (gst_type_find_element_chain), (do_pull_typefind),
27735         (gst_type_find_element_change_state):
27736           Allow typefinding (w/o seeking) in push-mode, simplified version
27737           of what was in 0.8.
27738         * gst/gstutils.c: (gst_buffer_join):
27739         * gst/gstutils.h:
27740           gst_buffer_join() from 0.8.
27741
27742 2005-05-25  Wim Taymans  <wim@fluendo.com>
27743
27744         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27745         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27746         (gst_pad_send_event), (gst_pad_start_task):
27747         Disable attempt at mode switching until it is figured out.
27748
27749 2005-05-25  Wim Taymans  <wim@fluendo.com>
27750
27751         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
27752         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27753         (gst_basesink_finish_preroll), (gst_basesink_chain),
27754         (gst_basesink_loop), (gst_basesink_activate),
27755         (gst_basesink_change_state):
27756         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
27757         (gst_basesrc_get_range), (gst_basesrc_loop),
27758         (gst_basesrc_activate):
27759         * gst/elements/gsttee.c: (gst_tee_sink_activate):
27760         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
27761         (gst_real_pad_init), (gst_real_pad_set_property),
27762         (gst_real_pad_get_property), (gst_pad_set_active),
27763         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
27764         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
27765         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
27766         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
27767         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27768         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
27769         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
27770         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27771         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
27772         (gst_pad_stop_task):
27773         * gst/gstpad.h:
27774         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27775         (gst_queue_loop), (gst_queue_src_activate):
27776         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
27777         (gst_task_get_state):
27778         * gst/gsttask.h:
27779         * gst/schedulers/threadscheduler.c:
27780         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
27781         Implement gst_pad_pause/start/stop_task(), take STREAM lock
27782         in task function.
27783         Remove ACTIVE pad flag, use FLUSHING everywhere
27784         Added _pad_chain(), _pad_get_range() to call chain/getrange 
27785         functions.
27786         Add locks around IS_FLUSHING when reading.
27787         Take STREAM lock in chain(), get_range() functions so plugins
27788         don't need to take it anymore.
27789         
27790
27791
27792 2005-05-25  Wim Taymans  <wim@fluendo.com>
27793
27794         * tools/gst-launch.c: (event_loop):
27795         Unref message after using its contents instead of
27796         before.
27797
27798 2005-05-24  Wim Taymans  <wim@fluendo.com>
27799
27800         * docs/design/draft-ghostpads.txt:
27801         * docs/design/draft-push-pull.txt:
27802         * docs/design/draft-query.txt:
27803         * docs/design/part-overview.txt:
27804         Docs updates, added general overview doc.
27805
27806 2005-05-21  David Schleef  <ds@schleef.org>
27807
27808         * docs/gst/tmpl/old/GstBin.sgml:
27809         * docs/gst/tmpl/old/GstBuffer.sgml:
27810         * docs/gst/tmpl/old/GstCaps.sgml:
27811         * docs/gst/tmpl/old/GstClock.sgml:
27812         * docs/gst/tmpl/old/GstCompat.sgml:
27813         * docs/gst/tmpl/old/GstData.sgml:
27814         * docs/gst/tmpl/old/GstElement.sgml:
27815         * docs/gst/tmpl/old/GstEvent.sgml:
27816         * docs/gst/tmpl/old/GstIndex.sgml:
27817         * docs/gst/tmpl/old/GstStructure.sgml:
27818         * docs/gst/tmpl/old/GstTag.sgml:
27819         * docs/gst/tmpl/old/cothreads.sgml:
27820         * docs/gst/tmpl/old/cothreads_compat.sgml:
27821         * docs/gst/tmpl/old/gettext.sgml:
27822         * docs/gst/tmpl/old/gobject2gtk.sgml:
27823         * docs/gst/tmpl/old/grammar.tab.sgml:
27824         * docs/gst/tmpl/old/gst-i18n-app.sgml:
27825         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
27826         * docs/gst/tmpl/old/gst_private.sgml:
27827         * docs/gst/tmpl/old/gstaggregator.sgml:
27828         * docs/gst/tmpl/old/gstarch.sgml:
27829         * docs/gst/tmpl/old/gstatomic_impl.sgml:
27830         * docs/gst/tmpl/old/gstbufferstore.sgml:
27831         * docs/gst/tmpl/old/gstdata_private.sgml:
27832         * docs/gst/tmpl/old/gstdisksink.sgml:
27833         * docs/gst/tmpl/old/gstdisksrc.sgml:
27834         * docs/gst/tmpl/old/gstelementfactory.sgml:
27835         * docs/gst/tmpl/old/gstextratypes.sgml:
27836         * docs/gst/tmpl/old/gstfakesink.sgml:
27837         * docs/gst/tmpl/old/gstfakesrc.sgml:
27838         * docs/gst/tmpl/old/gstfdsink.sgml:
27839         * docs/gst/tmpl/old/gstfdsrc.sgml:
27840         * docs/gst/tmpl/old/gstfilesink.sgml:
27841         * docs/gst/tmpl/old/gstfilesrc.sgml:
27842         * docs/gst/tmpl/old/gsthttpsrc.sgml:
27843         * docs/gst/tmpl/old/gstidentity.sgml:
27844         * docs/gst/tmpl/old/gstindexfactory.sgml:
27845         * docs/gst/tmpl/old/gstmarshal.sgml:
27846         * docs/gst/tmpl/old/gstmd5sink.sgml:
27847         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
27848         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
27849         * docs/gst/tmpl/old/gstpadtemplate.sgml:
27850         * docs/gst/tmpl/old/gstpipefilter.sgml:
27851         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
27852         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
27853         * docs/gst/tmpl/old/gstshaper.sgml:
27854         * docs/gst/tmpl/old/gstspider.sgml:
27855         * docs/gst/tmpl/old/gstspideridentity.sgml:
27856         * docs/gst/tmpl/old/gststatistics.sgml:
27857         * docs/gst/tmpl/old/gsttee.sgml:
27858         * docs/gst/tmpl/old/gsttimecache.sgml:
27859         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
27860         * docs/gst/tmpl/old/gstxmlregistry.sgml:
27861         * docs/gst/tmpl/old/gthread-cothreads.sgml:
27862         * docs/gst/tmpl/old/types.sgml:
27863           I didn't intend to add these or check them in.
27864
27865 2005-05-19  David Schleef  <ds@schleef.org>
27866
27867         * configure.ac: Use -no-common everywhere.  In a sane world, it
27868           would be the default in libtool, because without it, you can't
27869           build DLLs on Windows.
27870         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
27871         * docs/gst/gstreamer-sections.txt:
27872         * docs/gst/tmpl/gstcpu.sgml:
27873         * docs/gst/tmpl/gstdata.sgml:
27874         * docs/gst/tmpl/gstthread.sgml:
27875
27876 2005-05-19  David Schleef  <ds@schleef.org>
27877
27878         * gst/gstminiobject.c: (gst_value_set_mini_object),
27879         (gst_value_take_mini_object), (gst_value_get_mini_object):
27880         * gst/gstminiobject.h: Add GValue set/get functions.
27881
27882 2005-05-19  Wim Taymans  <wim@fluendo.com>
27883
27884         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
27885         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
27886         (gst_subbuffer_init), (gst_buffer_is_span_fast):
27887         * gst/gstbuffer.h:
27888         * gst/gstbus.c: (gst_bus_post):
27889         * gst/gstelement.c: (gst_element_get_random_pad):
27890         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
27891         Make subbufer unref the parent in finalize.
27892         some more debugging info.
27893
27894
27895 2005-05-19  Wim Taymans  <wim@fluendo.com>
27896
27897         * gst/base/gstbasesink.c: (gst_basesink_class_init),
27898         (gst_basesink_init), (gst_basesink_finalize),
27899         (gst_basesink_activate), (gst_basesink_change_state):
27900         Don't free preroll queue too early.
27901
27902 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27903
27904         * gst/Makefile.am:
27905         * gst/ROADMAP:
27906           Hi, I'm outdated. Please shoot me.
27907
27908 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27909
27910         * gst/gstpipeline.c: (gst_pipeline_send_event):
27911           Do not access variables after they have been deleted.
27912
27913 2005-05-19  Wim Taymans  <wim@fluendo.com>
27914
27915         * tools/gst-inspect.c: (print_plugin_features):
27916         A plugin feature does unfortunatly not use the
27917         object name yet...
27918
27919 2005-05-18  Wim Taymans  <wim@fluendo.com>
27920
27921         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
27922         Port _span() functions to new subbuffers.
27923
27924 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27925
27926         * gst/gstbin.c: (gst_bin_add_func):
27927           Fix clock settery in bins when adding kids after the clock has
27928           been selected.
27929
27930 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27931
27932         * gst/elements/gstidentity.c: (gst_identity_class_init):
27933           Workaround until signals support GstMiniObject.
27934
27935 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
27936
27937         * gst/gstbuffer.c:
27938         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
27939
27940 2005-05-18  Wim Taymans  <wim@fluendo.com>
27941
27942         * gst/base/Makefile.am:
27943         * gst/base/gstadapter.c: (gst_adapter_base_init),
27944         (gst_adapter_class_init), (gst_adapter_init),
27945         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
27946         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
27947         (gst_adapter_flush), (gst_adapter_available),
27948         (gst_adapter_available_fast):
27949         * gst/base/gstadapter.h:
27950         Ported and added adapter to the base classes.
27951
27952 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
27953
27954         * gst/gst.c:
27955         * gst/gstmessage.c:
27956           Make sure the class is reffed/unreffed once before threads can be
27957           used.  Fixes #304551.
27958
27959 2005-05-17  Wim Taymans  <wim@fluendo.com>
27960
27961         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
27962         (gst_basesink_chain_unlocked), (gst_basesink_activate):
27963         * gst/gstminiobject.c: (gst_mini_object_get_type),
27964         (gst_mini_object_free):
27965         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
27966         (gst_pad_push), (gst_pad_push_event):
27967         * gst/gstqueue.c: (gst_queue_change_state):
27968         Don't queue buffers in basesink when we are flushing.
27969         Unref buffer when flushing in basesink.
27970         Flush queue when going to READY
27971         Unref buffer when _push() returns an error.
27972         Don't free MiniObject instance when refcount is incremented
27973         in _finalize() so that we can recover objects.
27974
27975 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27976
27977         * docs/manual/advanced-schedulers.xml:
27978         * docs/manual/appendix-checklist.xml:
27979         * docs/pwg/advanced-clock.xml:
27980         * docs/pwg/advanced-interfaces.xml:
27981         * docs/pwg/advanced-request.xml:
27982         * docs/pwg/advanced-types.xml:
27983         * docs/pwg/intro-preface.xml:
27984         * examples/plugins/example.c: (gst_example_get_type),
27985         (gst_example_class_init), (gst_example_chain),
27986         (gst_example_set_property), (gst_example_get_property),
27987         (gst_example_change_state), (plugin_init):
27988         * examples/plugins/example.h:
27989           small doc fixes
27990
27991 2005-05-17  Wim Taymans  <wim@fluendo.com>
27992
27993         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
27994         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
27995         * gst/gstqueue.c: (gst_queue_change_state):
27996         Clear queue when going to READY.
27997         Remove IN_SETCAPS flag too.
27998
27999 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
28000
28001         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
28002           Remove implicit cast from gboolean to GstElementStateReturn;
28003           make sure we still return failure in paused => ready case if
28004           the parent class fails to change state and our own stop 
28005           vfunc succeeds.
28006
28007 2005-05-17  Wim Taymans  <wim@fluendo.com>
28008
28009         * tools/gst-launch.c: (event_loop):
28010         Message was unreffed too soon.
28011
28012 2005-05-16  Andy Wingo  <wingo@pobox.com>
28013
28014         * gst/gstbin.c (sink_iterator_filter): Err... um...
28015
28016         * check/gst/gstbin.c (test_ghost_pads): New test for the
28017         ghosting-if-elements-not-in-same-bin behavior.
28018
28019 2005-05-16  David Schleef  <ds@schleef.org>
28020
28021         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
28022         accessing refcount directly.
28023
28024 2005-05-15  David Schleef  <ds@schleef.org>
28025
28026         * check/Makefile.am: remove GstData checks
28027         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
28028         * gst/Makefile.am: add miniobject, remove data
28029         * gst/gst.h: add miniobject, remove data
28030         * gst/gstdata.c: remove
28031         * gst/gstdata.h: remove
28032         * gst/gstdata_private.h: remove
28033         * gst/gsttypes.h: remove GstEvent and GstMessage
28034         * gst/gstelement.c: (gst_element_post_message): fix for API changes
28035         * gst/gstmarshal.list: change BOXED -> OBJECT
28036
28037         Implement GstMiniObject.
28038         * gst/gstminiobject.c:
28039         * gst/gstminiobject.h:
28040
28041         Modify to be subclasses of GstMiniObject.
28042         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
28043         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
28044         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
28045         (gst_subbuffer_get_type), (gst_subbuffer_init),
28046         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
28047         (gst_buffer_span):
28048         * gst/gstbuffer.h:
28049         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
28050         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
28051         (_gst_event_copy), (gst_event_new):
28052         * gst/gstevent.h:
28053         * gst/gstmessage.c: (_gst_message_initialize),
28054         (gst_message_get_type), (gst_message_class_init),
28055         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
28056         (gst_message_new), (gst_message_new_error),
28057         (gst_message_new_warning), (gst_message_new_tag),
28058         (gst_message_new_state_changed), (gst_message_new_application):
28059         * gst/gstmessage.h:
28060         * gst/gstprobe.c: (gst_probe_perform),
28061         (gst_probe_dispatcher_dispatch):
28062         * gst/gstprobe.h:
28063         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
28064         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
28065         (_gst_query_copy), (gst_query_new):
28066
28067         Update elements for GstData -> GstMiniObject changes
28068         * gst/gstquery.h:
28069         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
28070         (gst_queue_chain), (gst_queue_loop):
28071         * gst/elements/gstbufferstore.c:
28072         (gst_buffer_store_add_buffer_func),
28073         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
28074         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28075         (gst_fakesink_render):
28076         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28077         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
28078         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
28079         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
28080         (gst_filesrc_create_read):
28081         * gst/elements/gstidentity.c: (gst_identity_class_init):
28082         * gst/elements/gsttypefindelement.c:
28083         (gst_type_find_element_src_event), (free_entry_buffers),
28084         (gst_type_find_element_handle_event):
28085         * libs/gst/dataprotocol/dataprotocol.c:
28086         (gst_dp_header_from_buffer):
28087         * libs/gst/dataprotocol/dataprotocol.h:
28088         * libs/gst/dataprotocol/dp-private.h:
28089
28090 2005-05-15  David Schleef  <ds@schleef.org>
28091
28092         * gst/elements/gstelements.c: Don't include headers that were
28093         just removed.
28094
28095 2005-05-15  David Schleef  <ds@schleef.org>
28096
28097         * gst/elements/Makefile.am: Remove some elements that don't
28098         need to be in the core (or even exist at all).
28099         * gst/elements/gstaggregator.c:
28100         * gst/elements/gstaggregator.h:
28101         * gst/elements/gstmd5sink.c:
28102         * gst/elements/gstmd5sink.h:
28103         * gst/elements/gstmultifilesrc.c:
28104         * gst/elements/gstmultifilesrc.h:
28105         * gst/elements/gstpipefilter.c:
28106         * gst/elements/gstpipefilter.h:
28107         * gst/elements/gstshaper.c:
28108         * gst/elements/gstshaper.h:
28109         * gst/elements/gststatistics.c:
28110         * gst/elements/gststatistics.h:
28111         * po/POTFILES.in: Remove above files.
28112
28113 2005-05-14  Andy Wingo  <wingo@pobox.com>
28114
28115         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
28116         so as to get the refs right.
28117         (sink_iterator_filter): New function, wraps bin_element_is_sink,
28118         unreffing objects that don't pass the filter.
28119
28120         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
28121         gst_element_set_bus.
28122         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
28123         normal cases, this will destroy the bus.
28124
28125         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
28126         object.
28127
28128         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
28129         has no sinks.
28130
28131 2005-05-13  Andy Wingo  <wingo@pobox.com>
28132
28133         * gst/gstutils.c (gst_element_link_pads): Instead of calling
28134         gst_pad_link, call pad_link_maybe_ghosting,
28135         (pad_link_maybe_ghosting): Links pads, making sure that the
28136         elements being linked are in the same bin.
28137         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
28138         Helpers for pad_link_maybe_ghosting.
28139
28140 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28141
28142         * configure.ac:
28143           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
28144
28145 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28146
28147         * docs/design/part-element-source.txt:
28148           Mention GstPushSrc
28149
28150 2005-05-12  Wim Taymans  <wim@fluendo.com>
28151
28152         * gst/base/gstbasesink.c: (gst_basesink_init),
28153         (gst_basesink_activate):
28154         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
28155         (gst_basesrc_is_seekable):
28156         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
28157         (bin_element_is_sink), (gst_bin_change_state):
28158         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28159         * gst/gstelement.h:
28160         Identify sinks by their flag to avoid overly complicated
28161         checks (fow now).
28162         Do state changes even for elements not reachable from the
28163         sinks.
28164         BaseSink is a sink now :)
28165         Some more debugging info in the basesrc.
28166
28167
28168 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28169
28170         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
28171           Implement _query on a bin, similar to _send_event.
28172
28173 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
28174
28175         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
28176           Discont event offset format should be GST_FORMAT_BYTES,
28177           not GST_FORMAT_TIME.
28178
28179 2005-05-12  Wim Taymans  <wim@fluendo.com>
28180
28181         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
28182         Same fix as Ronald's but without the signal. 
28183
28184 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28185
28186         * gst/gstutils.c: (gst_element_query_position):
28187           No, an element is not a pad.
28188
28189 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28190
28191         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
28192         (gst_bin_get_state):
28193           If a child is removed from a bin while we remove the child from
28194           the bin and while we're retrieving its state, signal this to the
28195           get_state function so we abort the wait (instead of waiting for
28196           a timeout) and can immediately re-iterate over all other elements.
28197
28198 2005-05-12  Wim Taymans  <wim@fluendo.com>
28199
28200         * gst/base/Makefile.am:
28201         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
28202         (gst_basesrc_start):
28203         * gst/base/gstbasesrc.h:
28204         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
28205         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
28206         (gst_pushsrc_init), (gst_pushsrc_create):
28207         * gst/base/gstpushsrc.h:
28208         Added is_seekable to BaseSrc
28209         Added simple PushSrc.
28210
28211 2005-05-11  Wim Taymans  <wim@fluendo.com>
28212
28213         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28214         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28215         (gst_element_link_pads), (gst_element_query_position),
28216         (gst_element_query_convert), (intersect_caps_func),
28217         (gst_pad_query_position), (gst_pad_query_convert):
28218         Fix refcounting in utils function.
28219         No point in trying to activate a pad when it's added, it could
28220         be added from the state change function and then we deadlock, the
28221         element has to decide what to do.
28222
28223 2005-05-10  Andy Wingo  <wingo@pobox.com>
28224
28225         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
28226         *all* the arguments.
28227
28228         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
28229         stream lock if it's a FLUSH_DONE; normal flushes don't get the
28230         lock (according to the docs -- if this is wrong change the docs).
28231
28232         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
28233         flush messages in the NULL state.
28234
28235         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
28236         message immediately and return.
28237         (gst_bus_set_flushing): New function. If a bus is flushing, it
28238         flushes out any queued messages and immediately unrefs new
28239         messages. This is so when an element goes to NULL, all of the
28240         unhandled messages coming from it can be freed, and their
28241         references to the element dropped. In other words: message source
28242         ref considered harmful :P
28243
28244         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
28245         we're finished with it.
28246
28247         * gst/gstmessage.c (gst_message_new_state_changed): 
28248
28249 2005-05-10  Wim Taymans  <wim@fluendo.com>
28250
28251         * gst/gstvalue.c: (gst_value_compare_flags),
28252         (gst_value_serialize_flags), (gst_value_deserialize_flags),
28253         (_gst_value_initialize):
28254         Added flags serialize/deserialize/compare code.
28255
28256 2005-05-09  Andy Wingo  <wingo@pobox.com>
28257
28258         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
28259         Intersect the peer's caps with our caps.
28260
28261 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28262
28263         * gst/base/gsttypefindhelper.c: (helper_find_peek):
28264         * gst/elements/gsttypefindelement.c: (find_peek):
28265           Handle negative offsets better. Fixes decodebin.
28266
28267 2005-05-09  Wim Taymans  <wim@fluendo.com>
28268
28269         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
28270         (gst_base_transform_event):
28271         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
28272         Implement accept_caps.
28273         Fix silly lock/unlock mismatch in base class.
28274
28275 2005-05-09  Wim Taymans  <wim@fluendo.com>
28276
28277         * docs/design/draft-push-pull.txt:
28278         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
28279         * gst/elements/gstfilesink.c: (gst_filesink_init),
28280         (gst_filesink_query):
28281         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28282         (gst_type_find_handle_src_query), (find_element_get_length):
28283         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
28284         * gst/gstelement.h:
28285         * gst/gstmessage.c:
28286         * gst/gstmessage.h:
28287         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
28288         (gst_real_pad_get_caps_unlocked),
28289         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
28290         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28291         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
28292         (gst_real_pad_dispose), (gst_real_pad_finalize),
28293         (gst_pad_load_and_link), (gst_pad_save_thyself),
28294         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
28295         (gst_pad_check_pull_range), (gst_pad_pull_range),
28296         (gst_pad_template_get_type), (gst_pad_template_class_init),
28297         (gst_pad_template_init), (gst_pad_template_dispose),
28298         (name_is_valid), (gst_static_pad_template_get),
28299         (gst_pad_template_new), (gst_static_pad_template_get_caps),
28300         (gst_pad_template_get_caps), (gst_pad_set_element_private),
28301         (gst_pad_get_element_private), (gst_pad_start_task),
28302         (gst_pad_pause_task), (gst_pad_stop_task),
28303         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
28304         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
28305         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
28306         (gst_ghost_pad_new):
28307         * gst/gstpad.h:
28308         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
28309         (gst_query_new_position), (gst_query_set_position),
28310         (gst_query_parse_position), (gst_query_new_convert),
28311         (gst_query_set_convert), (gst_query_parse_convert):
28312         * gst/gstquery.h:
28313         * gst/gstqueryutils.c:
28314         * gst/gstqueryutils.h:
28315         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28316         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28317         (gst_queue_handle_src_query):
28318         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28319         (gst_element_query_position), (gst_element_query_convert),
28320         (intersect_caps_func), (gst_pad_query_position),
28321         (gst_pad_query_convert):
28322         * gst/gstutils.h:
28323         * tools/gst-inspect.c: (print_pad_info):
28324         * tools/gst-xmlinspect.c: (print_element_info):
28325         Remove old query functions. Ported old code.
28326         Added position/convert helper functions to gstutils.
28327         Reordered gstpad.c code, grouping relevant things.
28328         Remove gst_message_new(), always need to speficy a specific
28329         message.
28330
28331
28332 2005-05-09  Andy Wingo  <wingo@pobox.com>
28333
28334         * gst/gstiterator.h: Add some includes.
28335
28336         * gst/gstqueryutils.h: Include more headers.
28337
28338         * gst/gstpad.h:
28339         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
28340         some uses of gst_pad_query.
28341
28342         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
28343         NULL out parameters.
28344         (gst_query_new_position): New proc, allocates a new position
28345         query.
28346
28347         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
28348         gstqueryutils.c to the build.
28349
28350         * gst/gststructure.c (gst_structure_set_valist): Implement with
28351         the generic G_VALUE_COLLECT.
28352         
28353 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
28354
28355         * gst/Makefile.am: (gst_headers):
28356         Added gstqueryutils.h to the list of headers to install, that was
28357         a 'nachty' move wingo :)
28358
28359 2005-05-06  Andy Wingo  <wingo@pobox.com>
28360
28361         * gst/gstquery.h
28362         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
28363         GstData, init a memchunk.
28364         (standard_definitions): Add a few query types, deprecate a few.
28365         (gst_query_get_type): New proc.
28366         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
28367         implementation.
28368         (gst_query_new_application, gst_query_get_structure): New public
28369         procs.
28370
28371         * docs/design/draft-query.txt: Removed LINKS from the query types,
28372         because all the rest can be dispatched to other pads -- seemed
28373         ugly to have a query that couldn't be dispatched. internal_links
28374         is fine as a pad method.
28375
28376         * gst/gstpad.h: Add query2 as a pad method, add the new functions
28377         in gstpad.c, but maintain binary compatibility for the moment.
28378         Will fix before 0.9 is out.
28379
28380         * gst/gstqueryutils.c: 
28381         * gst/gstqueryutils.h: New files, implement 3 methods for each
28382         query type: parse_query, parse_response, and set. Probably need an
28383         allocator as well.
28384
28385         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
28386
28387         * gst/elements/gstfilesink.c (gst_filesink_query2):
28388         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
28389         query_types, and formats methods.
28390
28391         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
28392         (gst_pad_set_query2_function): New functions.
28393         (gst_real_pad_init): Set query2_default as the default query2
28394         function. Basically just dispatches to internally linked pads.
28395
28396         Needs review!
28397         
28398         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
28399         without using the atomic operations. Only one thread can possibly
28400         be accessing the data at this point. Changed so as to avoid
28401         gst_atomic operations.
28402
28403 2005-05-06  Wim Taymans  <wim@fluendo.com>
28404
28405         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
28406         Also set caps if we use the fallback buffer alloc.
28407
28408 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
28409
28410         * docs/gst/Makefile.am:
28411         * docs/gst/gstreamer-docs.sgml:
28412         * docs/gst/gstreamer-sections.txt:
28413         * docs/gst/tmpl/gstatomic.sgml:
28414         * docs/gst/tmpl/gstmemchunk.sgml:
28415         * testsuite/elements/struct_i386.h:
28416         * win32/GStreamer.vcproj:
28417         * win32/Makefile:
28418           Purge GstAtomic stuff from docs and win32 makefiles as well
28419
28420 2005-05-06  Wim Taymans  <wim@fluendo.com>
28421
28422         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
28423         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
28424         * gst/gstpad.c: (gst_pad_peer_get_caps):
28425         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28426         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28427         (gst_queue_src_activate), (gst_queue_change_state):
28428         * gst/gstqueue.h:
28429         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28430         (intersect_caps_func):
28431         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
28432         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
28433         Some fixes for the peer_get_caps() change.
28434
28435 2005-05-06  Wim Taymans  <wim@fluendo.com>
28436
28437         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28438         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
28439         (gst_basesink_activate):
28440         Actually do something with error codes returned from the push
28441         functions.
28442
28443 2005-05-06  Wim Taymans  <wim@fluendo.com>
28444
28445         * docs/design/part-element-sink.txt:
28446         * docs/design/part-element-source.txt:
28447         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28448         (gst_basesink_event), (gst_basesink_activate):
28449         * gst/base/gstbasesink.h:
28450         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
28451         (gst_basesrc_activate):
28452         * gst/base/gstbasesrc.h:
28453         * gst/gstelement.c: (gst_element_pads_activate):
28454         Some more documentation.
28455         Fixed scheduling decision in _pads_activate().
28456
28457 2005-05-05  Andy Wingo  <wingo@pobox.com>
28458
28459         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
28460         the test suite.
28461
28462 2005-05-05  Wim Taymans  <wim@fluendo.com>
28463
28464         * gst/base/Makefile.am:
28465         * gst/base/gstbasesink.h:
28466         * gst/base/gstbasesrc.c: (gst_basesrc_init),
28467         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
28468         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
28469         (gst_collectpads_class_init), (gst_collectpads_init),
28470         (gst_collectpads_finalize), (gst_collectpads_new),
28471         (gst_collectpads_set_function), (gst_collectpads_add_pad),
28472         (find_pad), (gst_collectpads_remove_pad),
28473         (gst_collectpads_is_active), (gst_collectpads_collect),
28474         (gst_collectpads_collect_range), (gst_collectpads_start),
28475         (gst_collectpads_stop), (gst_collectpads_peek),
28476         (gst_collectpads_pop), (gst_collectpads_available),
28477         (gst_collectpads_read), (gst_collectpads_flush),
28478         (gst_collectpads_chain):
28479         * gst/base/gstcollectpads.h:
28480         * gst/elements/Makefile.am:
28481         * gst/elements/gstelements.c:
28482         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28483         (gst_fakesink_get_times), (gst_fakesink_event),
28484         (gst_fakesink_preroll), (gst_fakesink_render):
28485         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28486         (gst_filesink_init), (gst_filesink_set_location),
28487         (gst_filesink_open_file), (gst_filesink_close_file),
28488         (gst_filesink_pad_query), (gst_filesink_event),
28489         (gst_filesink_render), (gst_filesink_change_state):
28490         * gst/elements/gstfilesink.h:
28491         Added object to help in making collect pad based elements.
28492         Ported filesink.
28493         Make event function in sink baseclass return gboolean.
28494
28495 2005-05-05  Wim Taymans  <wim@fluendo.com>
28496
28497         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
28498         (gst_bin_get_by_name):
28499         * gst/gstbuffer.h:
28500         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
28501         (gst_clock_finalize):
28502         * gst/gstdata.c: (gst_data_replace):
28503         * gst/gstdata.h:
28504         * gst/gstelement.c: (gst_element_request_pad),
28505         (gst_element_pads_activate):
28506         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
28507         (gst_object_unref):
28508         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28509         (gst_pad_set_checkgetrange_function),
28510         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
28511         (gst_pad_check_pull_range), (gst_pad_pull_range),
28512         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28513         (gst_pad_pause_task), (gst_pad_stop_task):
28514         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28515         (gst_element_request_pad), (gst_pad_proxy_getcaps):
28516         Fix name lookup in GstBin.
28517         Added _data_replace() function and _buffer_replace()
28518         Use finalize method to clean up clock.
28519         Fix refcounting on request pads.
28520         Fix pad schedule mode error.
28521         Some more object refcounting debug info,
28522
28523
28524 2005-05-04  Andy Wingo <wingo@pobox.com>
28525
28526         * check/Makefile.am:
28527         * docs/gst/tmpl/gstatomic.sgml:
28528         * docs/gst/tmpl/gstplugin.sgml:
28529         * gst/base/gstbasesink.c: (gst_basesink_activate):
28530         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
28531         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
28532         (gst_basesrc_query), (gst_basesrc_set_property),
28533         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
28534         (gst_basesrc_activate):
28535         * gst/base/gstbasesrc.h:
28536         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
28537         (gst_base_transform_src_activate):
28538         * gst/elements/gstelements.c:
28539         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28540         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28541         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28542         * gst/elements/gsttypefindelement.c: (find_element_get_length),
28543         (gst_type_find_element_checkgetrange),
28544         (gst_type_find_element_activate):
28545         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
28546         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
28547         (gst_caps_load_thyself):
28548         * gst/gstelement.c: (gst_element_pads_activate),
28549         (gst_element_save_thyself), (gst_element_restore_thyself):
28550         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
28551         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
28552         * gst/gstpad.h:
28553         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
28554         (gst_xml_parse_file), (gst_xml_parse_memory),
28555         (gst_xml_get_element), (gst_xml_make_element):
28556         * gst/indexers/gstfileindex.c: (gst_file_index_load),
28557         (_file_index_id_save_xml), (gst_file_index_commit):
28558         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
28559         (read_enum), (load_pad_template), (load_feature), (load_plugin),
28560         (load_paths):
28561         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
28562         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
28563         * tools/gst-complete.c: (main):
28564         * tools/gst-compprep.c: (main):
28565         * tools/gst-inspect.c: (print_element_properties_info):
28566         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
28567         * tools/gst-xmlinspect.c: (print_element_properties):
28568         GCC 4 fixen.
28569         
28570 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
28571
28572         * gst/gstplugin.c: (gst_plugin_check_module),
28573         (gst_plugin_check_file), (gst_plugin_load_file):
28574             apply patch from #172526 to make register work on MacOSX
28575
28576 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28577
28578         * docs/gst/tmpl/gstconfig.sgml:
28579         * gst/gstconfig.h.in:
28580           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
28581         * testsuite/debug/printf_extension.c: (main):
28582           Do not use GST_PTR_FORMAT on pointers to types with
28583           sizeof < sizeof(gpointer).  Fixes test on 64-bit
28584         * testsuite/elements/property.h:
28585           use correct printf format
28586
28587 2005-05-02  Wim Taymans  <wim@fluendo.com>
28588
28589         * docs/design/draft-push-pull.txt:
28590         * docs/design/draft-query.txt:
28591         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
28592         (gst_basesrc_start):
28593         Added draft for new query API.
28594         Added draft for better selecting scheduling methods.
28595         Make basesrc ignore length if the subclass does not support
28596         it.
28597
28598 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28599
28600         * gst/Makefile.am:
28601           possible fixes for automake-1.5 - _LIBADD is reserved
28602
28603 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28604
28605         * docs/faq/Makefile.am:
28606         * docs/manual/Makefile.am:
28607         * docs/manuals.mak:
28608         * docs/pwg/Makefile.am:
28609         * gst/Makefile.am:
28610           possible fixes for automake-1.5
28611
28612 2005-04-28  Wim Taymans  <wim@fluendo.com>
28613
28614         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28615         (gst_basesink_pad_getcaps), (gst_basesink_init),
28616         (gst_basesink_do_sync):
28617         * gst/gstclock.c: (gst_clock_entry_new):
28618         * gst/gstevent.c: (gst_event_discont_get_value):
28619         * gst/gstpipeline.c: (pipeline_bus_handler),
28620         (gst_pipeline_change_state):
28621         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
28622         Better debugging of clocking info.
28623         Allow NULL values when getting discont values.
28624
28625 2005-04-27  Wim Taymans  <wim@fluendo.com>
28626
28627         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28628         * check/gst/gstpad.c: (gst_pad_suite):
28629         Increase timeout for checks.
28630
28631 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28632
28633         * check/Makefile.am:
28634           fix the broken rule for cleanup.  Apparently this rule is
28635           only needed on FC2, so maybe this warrants further autotool
28636           inspection.
28637
28638 2005-04-26  Wim Taymans  <wim@fluendo.com>
28639
28640         * gst/gsttrashstack.h:
28641         Ooohh. a nasty one! After having a failed pop() from the stack,
28642         it's possible that the stack is empty. In that case, don't
28643         follow the NULL pointer.
28644
28645 2005-04-25  Wim Taymans  <wim@fluendo.com>
28646
28647         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28648         (gst_pad_set_checkgetrange_function),
28649         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
28650         (gst_pad_check_pull_range), (gst_pad_pull_range),
28651         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28652         (gst_pad_pause_task), (gst_pad_stop_task):
28653         * gst/gstplugin.c: (gst_plugin_load):
28654         * gst/gstplugin.h:
28655         Remove gst_library_load as it does more harm than good with
28656         the new g_module flags.
28657         Revert bogus caps template check in pad linking, pad caps
28658         are important when linking not the template, which is more
28659         general than the current caps.
28660
28661 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28662
28663         * gst/autoplug/.cvsignore:
28664         * gst/autoplug/Makefile.am:
28665         * gst/autoplug/gstsearchfuncs.c:
28666         * gst/autoplug/gstsearchfuncs.h:
28667         * gst/autoplug/gstspider.c:
28668         * gst/autoplug/gstspider.h:
28669         * gst/autoplug/gstspideridentity.c:
28670         * gst/autoplug/gstspideridentity.h:
28671         * gst/autoplug/spidertest.c:
28672           Die, spider, die.
28673
28674 2005-04-25  Wim Taymans  <wim@fluendo.com>
28675
28676         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28677         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28678         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
28679         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
28680         * gst/gstpad.h:
28681         Added stubs for unimplemented functions. 
28682
28683 2005-04-24  David Schleef  <ds@schleef.org>
28684
28685         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
28686         please fix.
28687
28688 2005-04-24  David Schleef  <ds@schleef.org>
28689
28690         Convert everything from GstAtomicInt to g_atomic_int_*, and
28691         remove gstatomic.
28692         * gst/Makefile.am:
28693         * gst/gstatomic.c:
28694         * gst/gstatomic.h:
28695         * gst/gstatomic_impl.h:
28696         * gst/gstbuffer.c:
28697         * gst/gstcaps.c:
28698         * gst/gstcaps.h:
28699         * gst/gstclock.c:
28700         * gst/gstclock.h:
28701         * gst/gstdata.c:
28702         * gst/gstdata.h:
28703         * gst/gstdata_private.h:
28704         * gst/gstevent.c:
28705         * gst/gstinfo.c:
28706         * gst/gstinfo.h:
28707         * gst/gstmessage.c:
28708         * gst/gstobject.c:
28709         * gst/gstobject.h:
28710         * gst/gststructure.c:
28711         * gst/gststructure.h:
28712         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
28713         * gst/gstutils.h:
28714
28715 2005-04-24  David Schleef  <ds@schleef.org>
28716
28717         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
28718         make the regressions tests work.  Remove some code that is no
28719         longer true.
28720         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
28721         Disable warning for pads without templates.
28722
28723 2005-04-24  David Schleef  <ds@schleef.org>
28724
28725         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
28726         functions that handle filtered links.
28727         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
28728         removed functions.
28729         * gst/gstutils.c: Fix/remove utility functions that handle
28730         filtered caps.
28731         * gst/gstutils.h:
28732         * gst/gstvalue.c: Add serialization/deserialization of caps
28733         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
28734         requires fixing so that the filter caps notation creates
28735         a capsfilter element and sets the filter_caps property.  I
28736         think everyone probably wants to keep the shorthand notation.
28737         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
28738         * docs/gst/tmpl/gstpad.sgml:
28739
28740         * gst/elements/gstelements.c: Register capsfilter element.
28741         * gst/Makefile.am: fix spacing
28742         * docs/random/ds/0.9-suggested-changes: random
28743
28744 2005-04-23  David Schleef  <ds@schleef.org>
28745
28746         * gst/elements/Makefile.am:
28747         * gst/elements/gstcapsfilter.c: New element that acts like an
28748         identity, but filters caps.  Will eventually replace filtered
28749         caps in pad linking.
28750         * gst/gstutils.c: (gst_element_create_all_pads): New function
28751         to create all the ALWAYS pads that are registered with an
28752         element class.  This functionality should eventually be
28753         merged in with GstElement initialization.
28754         * gst/gstutils.h:
28755         * testsuite/trigger/README: part of trigger test code that should
28756         have been checked in a long time ago.
28757
28758 2005-04-23  David Schleef  <ds@schleef.org>
28759
28760         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
28761         needed with new versions of libtool (nobody will confirm this),
28762         and hard to carry around.
28763         * gst/autoplug/Makefile.am:
28764         * gst/base/Makefile.am:
28765         * gst/elements/Makefile.am:
28766         * gst/indexers/Makefile.am:
28767         * gst/schedulers/Makefile.am:
28768         * libs/gst/bytestream/Makefile.am:
28769         * libs/gst/control/Makefile.am:
28770         * libs/gst/dataprotocol/Makefile.am:
28771         * libs/gst/getbits/Makefile.am:
28772
28773 2005-04-21  Wim Taymans  <wim@fluendo.com>
28774
28775         * docs/design/draft-push-pull.txt:
28776         * docs/design/part-MT-refcounting.txt:
28777         * docs/design/part-TODO.txt:
28778         * docs/design/part-caps.txt:
28779         * docs/design/part-events.txt:
28780         * docs/design/part-gstbus.txt:
28781         * docs/design/part-gstpipeline.txt:
28782         * docs/design/part-messages.txt:
28783         * docs/design/part-push-pull.txt:
28784         * docs/design/part-query.txt:
28785         Some more docs.
28786
28787 2005-04-21  Wim Taymans  <wim@fluendo.com>
28788
28789         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
28790         (gst_message_new), (gst_message_new_error),
28791         (gst_message_new_warning), (gst_message_new_tag),
28792         (gst_message_new_state_changed), (gst_message_new_application),
28793         (gst_message_get_structure):
28794         * gst/gstmessage.h:
28795         * gst/gststructure.c: (gst_structure_set_parent_refcount),
28796         (gst_structure_copy_conditional):
28797         Use parent refcount in GstMessage to ensure GstStructure
28798         consistency.
28799         Cleaned up headers a bit.
28800         
28801
28802 2005-04-20  Wim Taymans  <wim@fluendo.com>
28803
28804         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28805         (gst_basesink_pad_getcaps), (gst_basesink_init),
28806         (gst_basesink_chain_unlocked):
28807         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
28808         (gst_type_find_helper):
28809         * gst/elements/gsttypefindelement.c:
28810         (gst_type_find_element_have_type), (gst_type_find_element_init),
28811         (stop_typefinding), (gst_type_find_element_handle_event),
28812         (find_suggest), (gst_type_find_element_chain),
28813         (gst_type_find_element_checkgetrange),
28814         (gst_type_find_element_getrange), (do_typefind),
28815         (gst_type_find_element_activate):
28816         * gst/gstbuffer.c: (_gst_buffer_sub_free),
28817         (gst_buffer_default_free), (gst_buffer_default_copy),
28818         (gst_buffer_set_caps):
28819         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
28820         (gst_caps_replace):
28821         * gst/gstmessage.c: (gst_message_new),
28822         (gst_message_new_state_changed):
28823         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28824         (gst_pad_set_checkgetrange_function),
28825         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
28826         (gst_pad_set_caps), (gst_pad_check_pull_range),
28827         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
28828         * gst/gstpad.h:
28829         * gst/gsttypefind.c: (gst_type_find_register):
28830         Make gst_caps_replace() work like other _replace() functions.
28831         Use _caps_replace() where possible.
28832         Make sure _message_new() initialises its field.
28833         Add gst_static_pad_template_get_caps()
28834
28835
28836 2005-04-18  Andy Wingo  <wingo@pobox.com>
28837
28838         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
28839         on the peer, not the pad. I think that was a typo. Pass an extra
28840         arg to see if random access is possible. Activate the pads as
28841         PULL_RANGE if possible.
28842
28843         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
28844
28845         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
28846         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
28847         to PROP_....
28848
28849 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28850
28851         * docs/faq/using.xml:
28852           Add note on gstreamer-properties (#154996).
28853
28854 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28855
28856         * docs/random/bbb/optional-properties:
28857           Some analysis on optional properties.
28858
28859 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28860
28861         * docs/gst/tmpl/gstelementfactory.sgml:
28862         * gst/gstelement.h:
28863         * gst/gstelementfactory.c: (gst_element_factory_init),
28864         (gst_element_factory_cleanup), (gst_element_register),
28865         (__gst_element_factory_add_static_pad_template),
28866         (gst_element_factory_get_static_pad_templates),
28867         (gst_element_factory_can_src_caps),
28868         (gst_element_factory_can_sink_caps):
28869         * gst/registries/Makefile.am:
28870         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
28871         (gst_xml_registry_class_init), (gst_xml_registry_init),
28872         (gst_xml_registry_new), (gst_xml_registry_set_property),
28873         (gst_xml_registry_get_property), (get_time), (make_dir),
28874         (gst_xml_registry_get_perms_func),
28875         (plugin_times_older_than_recurse), (plugin_times_older_than),
28876         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
28877         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
28878         (add_to_char_array), (read_string), (read_uint), (read_enum),
28879         (load_pad_template), (load_feature), (load_plugin), (load_paths),
28880         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
28881         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
28882         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
28883         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
28884         (gst_xml_registry_rebuild):
28885         * gst/registries/gstlibxmlregistry.h:
28886         * tools/gst-compprep.c: (main):
28887         * tools/gst-inspect.c: (print_pad_templates_info):
28888         * tools/gst-xmlinspect.c: (print_element_info):
28889           Use libxml2 for registry parsing, use staticpadtemplates in
28890           elementfactories. Makes gst_init() +/- 10x faster.
28891
28892 2005-04-12  Wim Taymans  <wim@fluendo.com>
28893
28894         * gst/base/Makefile.am:
28895         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28896         (gst_basesink_pad_getcaps), (gst_basesink_init),
28897         (gst_basesink_event), (gst_basesink_change_state):
28898         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28899         (gst_basesrc_init), (gst_basesrc_query),
28900         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28901         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28902         (gst_basesrc_check_get_range), (gst_basesrc_loop),
28903         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28904         (gst_basesrc_stop), (gst_basesrc_activate),
28905         (gst_basesrc_change_state):
28906         * gst/base/gsttypefindhelper.c: (helper_find_peek),
28907         (helper_find_suggest), (gst_type_find_helper):
28908         * gst/base/gsttypefindhelper.h:
28909         * gst/elements/Makefile.am:
28910         * gst/elements/gstelements.c:
28911         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28912         (gst_fakesink_get_times), (gst_fakesink_event),
28913         (gst_fakesink_preroll), (gst_fakesink_render):
28914         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28915         (gst_fakesrc_init), (gst_fakesrc_event_handler),
28916         (gst_fakesrc_get_property), (gst_fakesrc_create),
28917         (gst_fakesrc_start), (gst_fakesrc_stop):
28918         * gst/elements/gstfakesrc.h:
28919         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
28920         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28921         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28922         (gst_filesrc_create_read), (gst_filesrc_create),
28923         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
28924         (gst_filesrc_start):
28925         * gst/elements/gsttypefindelement.c:
28926         (gst_type_find_element_have_type), (gst_type_find_element_init),
28927         (start_typefinding), (stop_typefinding), (push_buffer_store),
28928         (gst_type_find_element_handle_event),
28929         (gst_type_find_element_chain),
28930         (gst_type_find_element_checkgetrange),
28931         (gst_type_find_element_getrange), (do_typefind),
28932         (gst_type_find_element_activate),
28933         (gst_type_find_element_change_state):
28934         * gst/elements/gsttypefindelement.h:
28935         * gst/gstpipeline.c: (pipeline_bus_handler):
28936         Added typefind helper.
28937         Small preroll fix in the base sink.
28938         Disable typefind code in basesrc.
28939         Crude port of typefindelement.
28940         Fakesrc cleanups.
28941
28942
28943 2005-04-11  Wim Taymans  <wim@fluendo.com>
28944
28945         * check/gst/gstbus.c: (gstbus_suite):
28946         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
28947         * check/gstcheck.h:
28948           Fix up the timeout so that the test does not fail.
28949
28950 2005-04-06  Wim Taymans  <wim@fluendo.com>
28951
28952         * gst/base/README:
28953         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28954         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
28955         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28956         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28957         (gst_basesrc_check_get_range), (gst_basesrc_loop),
28958         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28959         (gst_basesrc_stop), (gst_basesrc_activate),
28960         (gst_basesrc_change_state), (basesrc_find_peek),
28961         (basesrc_find_suggest), (gst_basesrc_type_find):
28962         * gst/base/gstbasesrc.h:
28963         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
28964         (gst_filesrc_class_init), (gst_filesrc_init),
28965         (gst_filesrc_finalize), (gst_filesrc_set_location),
28966         (gst_filesrc_set_property), (gst_filesrc_get_property),
28967         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28968         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28969         (gst_filesrc_create_read), (gst_filesrc_create),
28970         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
28971         * gst/elements/gstfilesrc.h:
28972         * gst/gstelement.c: (gst_element_get_state_func),
28973         (gst_element_lost_state), (gst_element_pads_activate):
28974         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28975         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28976         (gst_pad_pull_range):
28977         * gst/gstpad.h:
28978         More work on the generic source base class, implement seeking,
28979         query.
28980         Make filesrc extend the base source class.
28981         Added gst_pad_set_checkgetrange_function to GstPad.
28982
28983 2005-04-06  Andy Wingo  <wingo@pobox.com>
28984
28985         * pkgconfig/gstreamer-base.pc.in:
28986         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
28987
28988         * pkgconfig/Makefile.am:
28989         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
28990
28991 2005-04-04  Wim Taymans  <wim@fluendo.com>
28992
28993         * gst/base/Makefile.am:
28994         * gst/base/README:
28995         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28996         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28997         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28998         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
28999         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29000         (gst_basesrc_base_init), (gst_basesrc_class_init),
29001         (gst_basesrc_init), (gst_basesrc_get_formats),
29002         (gst_basesrc_get_query_types), (gst_basesrc_query),
29003         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
29004         (gst_basesrc_set_property), (gst_basesrc_get_property),
29005         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
29006         (gst_basesrc_loop), (gst_basesrc_activate),
29007         (gst_basesrc_change_state):
29008         * gst/base/gstbasesrc.h:
29009         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
29010         (gst_fakesrc_class_init), (gst_fakesrc_init),
29011         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
29012         (gst_fakesrc_get_property), (gst_fakesrc_create):
29013         * gst/elements/gstfakesrc.h:
29014         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
29015         (gst_filesrc_open_file), (gst_filesrc_loop),
29016         (gst_filesrc_activate), (filesrc_find_peek),
29017         (gst_filesrc_type_find):
29018         Made base source class, make fakesrc extend it.
29019         Add comments to basesink class.
29020         Some filesrc cleanup.
29021
29022 2005-03-31  David Schleef  <ds@schleef.org>
29023
29024         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
29025         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
29026         expected to link against libgstreamer.
29027         * gst/base/Makefile.am: link against libgstreamer
29028         * gst/elements/Makefile.am: same
29029
29030 2005-03-31  Andy Wingo  <wingo@pobox.com>
29031
29032         * tests/instantiate/Makefile.am:
29033         * tests/instantiate/caps.c: Add test to test speed of caps copy
29034         and free.
29035
29036         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
29037         GMemChunk to be fair.
29038
29039         * gst/gsttrashstack.h: Remove warning about using the fallback
29040         trash stack implementation, it's still faster than malloc.
29041
29042 2005-03-30  Andy Wingo  <wingo@pobox.com>
29043
29044         * tests/complexity.c: Add a copyright.
29045
29046 2005-03-31  Wim Taymans  <wim@fluendo.com>
29047
29048         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
29049         (gst_base_transform_class_init), (gst_base_transform_init),
29050         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
29051         (gst_base_transform_get_property),
29052         (gst_base_transform_sink_activate),
29053         (gst_base_transform_src_activate),
29054         (gst_base_transform_change_state):
29055         * gst/base/gstbasetransform.h:
29056         * gst/elements/gstidentity.c: (gst_identity_class_init),
29057         (gst_identity_event), (gst_identity_check_perfect),
29058         (gst_identity_transform), (gst_identity_start),
29059         (gst_identity_stop):
29060         Added start/stop methods to transform base class so subclasses 
29061         don't need to deal with state changes even.
29062
29063 2005-03-31  Wim Taymans  <wim@fluendo.com>
29064
29065         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
29066         (gst_event_new_discontinuous), (gst_event_discont_get_value):
29067         * gst/gstevent.h:
29068         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29069         (gst_pad_pull_range):
29070         Added rate to the discont event to prepare for variable speed
29071         and reverse playback.
29072
29073 2005-03-29  David Schleef  <ds@schleef.org>
29074
29075         * configure.ac:
29076         * testsuite/trigger/Makefile.am:
29077         * testsuite/trigger/trigger.c: A little example program to show
29078         how trigger-based elements can work.
29079
29080 2005-03-29  Wim Taymans  <wim@fluendo.com>
29081
29082         * gst/base/Makefile.am:
29083         * gst/base/README:
29084         * gst/base/gstbasesink.c: (gst_basesink_get_type),
29085         (gst_basesink_base_init), (gst_basesink_class_init),
29086         (gst_basesink_pad_getcaps), (gst_basesink_init),
29087         (gst_basesink_activate), (gst_basesink_change_state):
29088         * gst/base/gstbasesink.h:
29089         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
29090         (gst_base_transform_base_init), (gst_base_transform_finalize),
29091         (gst_base_transform_class_init), (gst_base_transform_init),
29092         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
29093         (gst_base_transform_event), (gst_base_transform_getrange),
29094         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
29095         (gst_base_transform_set_property),
29096         (gst_base_transform_get_property),
29097         (gst_base_transform_sink_activate),
29098         (gst_base_transform_src_activate),
29099         (gst_base_transform_change_state):
29100         * gst/base/gstbasetransform.h:
29101         * gst/elements/gstidentity.c: (gst_identity_finalize),
29102         (gst_identity_class_init), (gst_identity_init),
29103         (gst_identity_event), (gst_identity_check_perfect),
29104         (gst_identity_transform), (gst_identity_set_property),
29105         (gst_identity_get_property), (gst_identity_change_state):
29106         * gst/elements/gstidentity.h:
29107         * gst/gstelement.c: (gst_element_get_state_func),
29108         (gst_element_lost_state), (gst_element_pads_activate):
29109         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29110         (gst_pad_check_pull_range), (gst_pad_pull_range):
29111         * gst/gstpad.h:
29112         Simplify pad activation.
29113         Added function to check if pull_range can be performed.
29114         Error out when pulling inactive or flushing pads.
29115         Removed const from refcounted types as it does not make sense.
29116         Simplify pad templates in basesink
29117         Added base class for simple 1-to-1 transforms.
29118         Make identity subclass the base transform.
29119
29120 2005-03-29  Andy Wingo  <wingo@pobox.com>
29121
29122         * docs/libs/gstreamer-libs-overrides.txt: 
29123         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
29124         really don't understand what's going on, but like whatever. I want
29125         green buildbot!
29126
29127         * docs/gst/Makefile.am:
29128         * docs/libs/Makefile.am: Dist the overrides files.
29129
29130         * check/Makefile.am (clean-local): Remove .libs directories.
29131
29132         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
29133         elements to EXTRA_DIST, so po/ files are happy.
29134
29135         * po/POTFILES.in: Er, remove it here.
29136
29137         * po/POTFILES: Remove gstspider.c.
29138
29139         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
29140
29141         * docs/libs/gstreamer-libs-docs.sgml: 
29142         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
29143         bytestream.
29144
29145         * tests/complexity.c (main): Set the length of the preroll queue
29146         on the sinks to prevent a lockup.
29147
29148         * libs/gst/dataprotocol/Makefile.am: 
29149         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
29150         the same as the one in check/gst-libs/gdp.c.
29151
29152         * po/, docs/gst/: Commit automatic changes to docs and po files.
29153
29154         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
29155         the versioned libgstbase.
29156
29157         * check/Makefile.am: Depend on an unversioned gst-register, seems
29158         to make autoconf happier.
29159
29160         * gst/base/Makefile.am: Make libgstbase a versioned lib.
29161
29162 2005-03-28  Wim Taymans  <wim@fluendo.com>
29163
29164         * configure.ac:
29165         * docs/design/part-gstelement.txt:
29166         * docs/design/part-negotiation.txt:
29167         * docs/design/part-preroll.txt:
29168         * docs/design/part-scheduling.txt:
29169         * docs/design/part-states.txt:
29170         * gst/Makefile.am:
29171         * gst/base/Makefile.am:
29172         * gst/base/README:
29173         * gst/base/gstbasesink.c: (gst_basesink_get_template),
29174         (gst_basesink_base_init), (gst_basesink_class_init),
29175         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29176         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29177         (gst_basesink_set_pad_functions),
29178         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
29179         (gst_basesink_set_property), (gst_basesink_get_property),
29180         (gst_base_sink_get_template), (gst_base_sink_get_caps),
29181         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
29182         (gst_basesink_preroll_queue_push),
29183         (gst_basesink_preroll_queue_empty),
29184         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
29185         (gst_basesink_event), (gst_basesink_get_times),
29186         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
29187         (gst_basesink_chain_unlocked), (gst_basesink_chain),
29188         (gst_basesink_loop), (gst_basesink_activate),
29189         (gst_basesink_change_state):
29190         * gst/base/gstbasesink.h:
29191         * gst/elements/Makefile.am:
29192         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
29193         (gst_fakesink_class_init), (gst_fakesink_init),
29194         (gst_fakesink_set_property), (gst_fakesink_get_property),
29195         (gst_fakesink_get_times), (gst_fakesink_event),
29196         (gst_fakesink_preroll), (gst_fakesink_render),
29197         (gst_fakesink_change_state):
29198         * gst/elements/gstfakesink.h:
29199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29200         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
29201         * gst/gstelement.c: (gst_element_add_pad),
29202         (gst_element_get_state_func), (gst_element_abort_state),
29203         (gst_element_commit_state), (gst_element_lost_state),
29204         (gst_element_set_state), (gst_element_pads_activate):
29205         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
29206         * gst/gstpipeline.c: (gst_pipeline_send_event),
29207         (gst_pipeline_change_state):
29208         Added state change code.
29209         Added/updated docs.
29210         Added sink base class, make fakesink extend the base class.
29211         Small cleanups in GstPipeline.
29212
29213 2005-03-26  David Schleef  <ds@schleef.org>
29214
29215         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
29216         is broken and should be implemented in a different library.
29217         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
29218         * gst/gst.h: remove gstcpu.h
29219         * gst/gstcpu.c: remove
29220         * gst/gstcpu.h: remove
29221         * gst/Makefile.am.future: Remove this file.  It's ancient.
29222
29223 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29224
29225         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29226         (gst_bin_send_event):
29227           Add default event/set_manager handlers. The set_manager handler
29228           takes care that the manager is distributed over kids that were
29229           already in the bin before the manager was set. The event handler
29230           is a utility virtual function that sends the event over all sinks,
29231           so that gst_element_send_event (bin, event); has the expected
29232           behaviour.
29233         * gst/gstpad.c: (gst_pad_event_default):
29234           Re-install default event handling for discontinuities, so that
29235           seeking works without requiring hacks in applications or extra
29236           code in sinks.
29237         * gst/gstpipeline.c: (gst_pipeline_class_init),
29238         (gst_pipeline_send_event):
29239           Half hack, half utility: set a pipeline to PAUSED for seek events,
29240           since that is the only way we can guarantee a/v sync. Means that
29241           you can do gst_element_seek (pipeline, method, pos); on a pipeline
29242           and it "just works".
29243
29244 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29245
29246         * gst/gstpipeline.c: (gst_pipeline_use_clock):
29247           Lock/unlock mismatch.
29248
29249 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
29250
29251         * docs/faq/gst-uninstalled:
29252           add gst-plugins-base
29253         * docs/gst/Makefile.am:
29254           don't error out until docs are fixed
29255         * docs/gst/gstreamer.types:
29256           remove thread
29257
29258 2005-03-22  Wim Taymans  <wim@fluendo.com>
29259
29260         * check/Makefile.am:
29261         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
29262         * gst/gststructure.c: (gst_structure_set_valist),
29263         (gst_structure_copy_conditional):
29264         Activated more tests.
29265         Added message test.
29266         Added G_TYPE_POINTER to GstStructure.
29267         
29268
29269 2005-03-22  Wim Taymans  <wim@fluendo.com>
29270
29271         * docs/design/part-TODO.txt:
29272         * docs/design/part-events.txt:
29273         * docs/design/part-gstbin.txt:
29274         * docs/design/part-gstbus.txt:
29275         * docs/design/part-gstpipeline.txt:
29276         * docs/design/part-messages.txt:
29277         * gst/gstbus.c:
29278         * gst/gstmessage.c:
29279         Docs updates
29280
29281 2005-03-21  Wim Taymans  <wim@fluendo.com>
29282
29283         * gst/gstbus.c: (gst_bus_post):
29284         Fix copy-and-paste error.
29285
29286 2005-03-21  Wim Taymans  <wim@fluendo.com>
29287
29288         * check/Makefile.am:
29289         * gst/Makefile.am:
29290         * gst/elements/Makefile.am:
29291         * gst/elements/gstelements.c:
29292         * gst/elements/gstfakesink.c: (gst_fakesink_init),
29293         (gst_fakesink_event), (gst_fakesink_chain):
29294         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29295         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
29296         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
29297         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
29298         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
29299         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
29300         (gst_fakesrc_loop), (gst_fakesrc_activate),
29301         (gst_fakesrc_change_state):
29302         * gst/elements/gstfakesrc.h:
29303         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
29304         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
29305         (gst_filesrc_open_file), (gst_filesrc_loop),
29306         (gst_filesrc_activate), (gst_filesrc_change_state),
29307         (filesrc_find_peek), (filesrc_find_suggest),
29308         (gst_filesrc_type_find):
29309         * gst/elements/gstidentity.c: (gst_identity_finalize),
29310         (gst_identity_class_init), (gst_identity_init),
29311         (gst_identity_proxy_getcaps), (identity_queue_push),
29312         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
29313         (gst_identity_getrange), (gst_identity_chain),
29314         (gst_identity_sink_loop), (gst_identity_src_loop),
29315         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
29316         (gst_identity_set_property), (gst_identity_get_property),
29317         (gst_identity_change_state):
29318         * gst/elements/gstidentity.h:
29319         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
29320         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
29321         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
29322         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
29323         (gst_tee_sink_activate):
29324         * gst/elements/gsttee.h:
29325         * gst/gst.c: (gst_register_core_elements), (init_post):
29326         * gst/gst.h:
29327         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
29328         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
29329         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
29330         (gst_bin_change_state):
29331         * gst/gstbin.h:
29332         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
29333         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
29334         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
29335         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
29336         (gst_bus_set_sync_handler), (gst_bus_create_watch),
29337         (bus_watch_callback), (bus_watch_destroy),
29338         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
29339         (poll_timeout), (gst_bus_poll):
29340         * gst/gstbus.h:
29341         * gst/gstcaps.h:
29342         * gst/gstdata.h:
29343         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29344         (gst_element_post_message), (gst_element_message_full),
29345         (gst_element_get_state_func), (gst_element_get_state),
29346         (gst_element_abort_state), (gst_element_commit_state),
29347         (gst_element_lost_state), (gst_element_set_state),
29348         (gst_element_pads_activate), (gst_element_change_state),
29349         (gst_element_dispose), (gst_element_set_manager_func),
29350         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
29351         (gst_element_set_manager), (gst_element_get_manager),
29352         (gst_element_set_bus), (gst_element_get_bus),
29353         (gst_element_set_scheduler), (gst_element_get_scheduler):
29354         * gst/gstelement.h:
29355         * gst/gstevent.c: (gst_event_new_segment_seek),
29356         (gst_event_new_flush):
29357         * gst/gstevent.h:
29358         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
29359         (_gst_message_free), (gst_message_get_type), (gst_message_new),
29360         (gst_message_new_eos), (gst_message_new_error),
29361         (gst_message_new_warning), (gst_message_new_tag),
29362         (gst_message_new_state_changed), (gst_message_new_application),
29363         (gst_message_get_structure), (gst_message_parse_tag),
29364         (gst_message_parse_state_changed), (gst_message_parse_error),
29365         (gst_message_parse_warning):
29366         * gst/gstmessage.h:
29367         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
29368         (gst_real_pad_set_property), (gst_pad_set_active),
29369         (gst_pad_is_active), (gst_pad_set_blocked_async),
29370         (gst_pad_set_blocked), (gst_pad_is_blocked),
29371         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
29372         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
29373         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
29374         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
29375         (gst_pad_link_filtered), (gst_pad_relink_filtered),
29376         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
29377         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
29378         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
29379         (gst_pad_set_caps), (gst_pad_configure_sink),
29380         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
29381         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
29382         (gst_real_pad_dispose), (gst_real_pad_finalize),
29383         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
29384         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29385         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
29386         * gst/gstpad.h:
29387         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
29388         (pipeline_bus_handler), (gst_pipeline_change_state),
29389         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
29390         * gst/gstpipeline.h:
29391         * gst/gstprobe.h:
29392         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
29393         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
29394         (gst_queue_link_src), (gst_queue_bufferalloc),
29395         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
29396         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
29397         (gst_queue_loop), (gst_queue_handle_src_event),
29398         (gst_queue_handle_src_query), (gst_queue_src_activate),
29399         (gst_queue_change_state):
29400         * gst/gstqueue.h:
29401         * gst/gstscheduler.c: (gst_scheduler_init),
29402         (gst_scheduler_dispose), (gst_scheduler_create_task),
29403         (gst_scheduler_factory_create):
29404         * gst/gstscheduler.h:
29405         * gst/gststructure.c: (gst_structure_get_type),
29406         (gst_structure_copy_conditional):
29407         * gst/gststructure.h:
29408         * gst/gsttaginterface.h:
29409         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
29410         (gst_task_init), (gst_task_dispose), (gst_task_create),
29411         (gst_task_get_state), (gst_task_start), (gst_task_stop),
29412         (gst_task_pause):
29413         * gst/gsttask.h:
29414         * gst/gstthread.c:
29415         * gst/gstthread.h:
29416         * gst/gsttypes.h:
29417         * gst/schedulers/Makefile.am:
29418         * gst/schedulers/cothreads_compat.h:
29419         * gst/schedulers/entryscheduler.c:
29420         * gst/schedulers/faircothreads.c:
29421         * gst/schedulers/faircothreads.h:
29422         * gst/schedulers/fairscheduler.c:
29423         * gst/schedulers/gstbasicscheduler.c:
29424         * gst/schedulers/gstoptimalscheduler.c:
29425         * gst/schedulers/gthread-cothreads.h:
29426         * gst/schedulers/threadscheduler.c:
29427         (gst_thread_scheduler_task_get_type),
29428         (gst_thread_scheduler_task_class_init),
29429         (gst_thread_scheduler_task_init),
29430         (gst_thread_scheduler_task_start),
29431         (gst_thread_scheduler_task_stop),
29432         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
29433         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29434         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
29435         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
29436         (plugin_init):
29437         * libs/gst/Makefile.am:
29438         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
29439         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
29440         (gst_file_pad_parent_set):
29441         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
29442         (gst_dp_event_from_packet):
29443         * tests/complexity.c: (main):
29444         * tests/mass_elements.c: (main):
29445         * testsuite/states/locked.c: (message_received), (main):
29446         * testsuite/states/parent.c: (main):
29447         * tools/gst-inspect.c: (print_element_flag_info),
29448         (print_implementation_info), (print_pad_info):
29449         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
29450         (main):
29451         * tools/gst-md5sum.c: (event_loop), (main):
29452         * tools/gst-typefind.c: (main):
29453         * tools/gst-xmlinspect.c: (print_element_info):
29454         Next big merge.
29455         Added GstBus for mainloop integration.
29456         Added GstMessage for sending notifications on the bus.
29457         Added GstTask as an abstraction for pipeline entry points.
29458         Removed GstThread.
29459         Removed Schedulers.
29460         Simplified GstQueue for multithreaded core.
29461         Made _link threadsafe, removed old capsnego.
29462         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
29463         Added pad blocking functions.
29464         Reworked scheduling functions in GstPad to prepare for
29465         scheduling updates soon.
29466         Moved events out of data stream.
29467         Simplified GstEvent types.
29468         Added return values to push/pull.
29469         Removed clocking from GstElement.
29470         Added prototypes for state change function for next merge.
29471         Removed iterate from bins and state change management.
29472         Fixed some elements, disabled others for now.
29473         Fixed -inspect and -launch.
29474         Added check for GstBus.
29475
29476 2005-03-10  Wim Taymans  <wim@fluendo.com>
29477
29478         * docs/design/part-MT-refcounting.txt:
29479         * docs/design/part-clocks.txt:
29480         * docs/design/part-gstelement.txt:
29481         * docs/design/part-gstobject.txt:
29482         * docs/design/part-standards.txt:
29483         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29484         (gst_bin_remove_func), (gst_bin_remove):
29485         * gst/gstbin.h:
29486         * gst/gstbuffer.c:
29487         * gst/gstcaps.h:
29488         * testsuite/clock/clock1.c: (main):
29489         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
29490         (main):
29491         * testsuite/dlopen/loadgst.c: (do_test):
29492         * testsuite/refcounting/bin.c: (add_remove_test1),
29493         (add_remove_test2), (main):
29494         * testsuite/refcounting/element.c: (main):
29495         * testsuite/refcounting/element_pad.c: (main):
29496         * testsuite/refcounting/pad.c: (main):
29497         * tools/gst-launch.c: (sigint_handler_sighandler):
29498         * tools/gst-typefind.c: (main):
29499         Doc updates.
29500         Added doc about clock.
29501         removed gst_bin_iterate_recurse_up(), marked methods
29502         for removal.
29503         Fix more testsuites.
29504
29505 2005-03-09  Wim Taymans  <wim@fluendo.com>
29506
29507         * gst/gstpad.c: (gst_pad_get_direction),
29508         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
29509         (gst_pad_collect_valist):
29510         * testsuite/bins/interface.c: (main):
29511         * testsuite/caps/audioscale.c: (test_caps):
29512         * testsuite/caps/caps.c: (test1), (test2), (test3):
29513         * testsuite/caps/deserialize.c: (main):
29514         * testsuite/caps/enumcaps.c: (main):
29515         * testsuite/caps/filtercaps.c: (main):
29516         * testsuite/caps/intersect2.c: (main):
29517         * testsuite/caps/random.c: (main):
29518         * testsuite/caps/renegotiate.c: (my_fixate), (main):
29519         * testsuite/caps/sets.c: (check_caps):
29520         * testsuite/caps/simplify.c: (check_caps), (main):
29521         * testsuite/caps/subtract.c: (check_caps):
29522         Fix _pad_get_direction wrt ghostpads.
29523         Fix caps testsuite.
29524
29525 2005-03-09  Wim Taymans  <wim@fluendo.com>
29526
29527         * check/Makefile.am:
29528         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
29529         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
29530         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
29531         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
29532         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
29533         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
29534         (gst_bin_remove), (gst_bin_iterate_recurse_up),
29535         (bin_element_is_sink), (gst_bin_iterate_sinks),
29536         (gst_bin_iterate_all_by_interface):
29537         * gst/gstbin.h:
29538         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
29539         (gst_element_change_state), (gst_element_dispose),
29540         (gst_element_finalize), (gst_element_set_loop_function):
29541         * gst/gstelement.h:
29542         * gst/gstiterator.c: (find_custom_fold_func):
29543         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29544         (gst_pad_collectv), (gst_pad_collect_valist),
29545         (gst_pad_template_new):
29546         * gst/gstpipeline.c: (gst_pipeline_class_init),
29547         (gst_pipeline_dispose), (gst_pipeline_set_property),
29548         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
29549         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
29550         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
29551         * gst/gstutils.h:
29552         * gst/schedulers/entryscheduler.c:
29553         * gst/schedulers/gstbasicscheduler.c:
29554         (gst_basic_scheduler_cothreaded_chain),
29555         (gst_basic_scheduler_chain_add_element):
29556         * testsuite/bins/interface.c: (main):
29557         Added GstBin test.
29558         Added GstSystemClock test.
29559         Implemented clock distribution code in GstBin.
29560         Implemented iterate sinks method for future use.
29561         Rearranged gstelement.h
29562         Fix GstIterator comparison bug.
29563         Moved some code to GstPipeline, mostly clocking related.
29564
29565 2005-03-09  Wim Taymans  <wim@fluendo.com>
29566
29567         * configure.ac:
29568         * gst/gst_private.h:
29569         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29570         (gst_bin_remove_func), (gst_bin_remove),
29571         (gst_bin_get_by_name_recurse_up):
29572         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
29573         (gst_clock_id_compare_func), (gst_clock_id_wait),
29574         (gst_clock_id_wait_async), (gst_clock_init),
29575         (gst_clock_adjust_unlocked), (gst_clock_get_time):
29576         * gst/gstelement.h:
29577         * gst/gstinfo.c: (_gst_debug_init):
29578         * gst/gstobject.h:
29579         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29580         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
29581         * gst/gstpad.h:
29582         Bump version number, we're now 0.9.0
29583         Add future debugging category.
29584         Fix NULL _unref() in _get_by_name_recurse_up
29585         Rearrange gstpad.h.
29586         Update some docs.
29587
29588 2005-03-08  Wim Taymans  <wim@fluendo.com>
29589
29590         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
29591         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
29592         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29593         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
29594         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
29595         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
29596         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
29597         * gst/elements/gstidentity.c: (gst_identity_class_init):
29598         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
29599         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
29600         * gst/elements/gstshaper.c: (gst_shaper_class_init):
29601         * gst/elements/gststatistics.c: (gst_statistics_class_init):
29602         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
29603         (gst_tee_link):
29604         * gst/gstelement.c: (gst_element_class_init),
29605         (gst_element_base_class_init), (gst_element_init),
29606         (gst_element_get_random_pad), (gst_element_wait_state_change),
29607         (gst_element_change_state), (gst_element_dispose),
29608         (gst_element_finalize), (gst_element_set_loop_function):
29609         * gst/gstelement.h:
29610         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
29611         * gst/gstthread.c: (gst_thread_class_init),
29612         (gst_thread_release_children_locks), (gst_thread_change_state):
29613         * gst/schedulers/gstbasicscheduler.c:
29614         (gst_basic_scheduler_loopfunc_wrapper),
29615         (gst_basic_scheduler_chain_wrapper),
29616         (gst_basic_scheduler_src_wrapper),
29617         (gst_basic_scheduler_remove_element):
29618         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
29619         Remove threadsafe properties. Fix elements because GObject
29620         complains when installing a property before declaring a
29621         set/get_property handler.
29622         Rearrange gstelement.h file, use STATE macros for state locks.
29623         Free mutexes in the finalize method instead of dispose.
29624
29625 2005-03-08  Wim Taymans  <wim@fluendo.com>
29626
29627         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29628         * gst/gstthread.c: (gst_thread_release_children_locks):
29629         Added parentage check.
29630         Fix build og GstThread again.
29631
29632 2005-03-08  Wim Taymans  <wim@fluendo.com>
29633
29634         * docs/design/part-MT-refcounting.txt:
29635         * docs/design/part-conventions.txt:
29636         * docs/design/part-gstobject.txt:
29637         * docs/design/part-relations.txt:
29638         * docs/design/part-standards.txt:
29639         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29640         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
29641         (gst_bin_get_by_name), (gst_bin_get_by_interface),
29642         (gst_bin_iterate_all_by_interface):
29643         * gst/gstbuffer.h:
29644         * gst/gstclock.h:
29645         * gst/gstelement.c: (gst_element_class_init),
29646         (gst_element_change_state), (gst_element_set_loop_function):
29647         * gst/gstelement.h:
29648         * gst/gstiterator.c:
29649         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
29650         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
29651         (gst_object_dispatch_properties_changed), (gst_object_set_name),
29652         (gst_object_set_parent), (gst_object_unparent),
29653         (gst_object_check_uniqueness):
29654         * gst/gstobject.h:
29655         Docs updates, clean up some headers.
29656
29657 2005-03-07  Wim Taymans  <wim@fluendo.com>
29658
29659         * check/.cvsignore:
29660         * check/Makefile.am:
29661         * check/gst-libs/.cvsignore:
29662         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
29663         * check/gst/.cvsignore:
29664         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
29665         (START_TEST), (gstbus_suite), (main):
29666         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
29667         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
29668         (gst_data_suite), (main):
29669         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
29670         (add_fold_func), (gstiterator_suite), (main):
29671         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
29672         (thread_name_object), (thread_name_object_default),
29673         (gst_object_name_compare), (gst_object_suite), (main):
29674         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
29675         (gst_pad_suite), (main):
29676         * check/gstcheck.c: (gst_check_log_message_func),
29677         (gst_check_log_critical_func), (gst_check_init):
29678         * check/gstcheck.h:
29679         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
29680         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
29681         Added checks.
29682
29683 2005-03-07  Wim Taymans  <wim@fluendo.com>
29684
29685         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
29686         (gst_list_iterator_next), (gst_list_iterator_resync),
29687         (gst_list_iterator_free), (gst_iterator_new_list),
29688         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
29689         (gst_iterator_free), (gst_iterator_push), (filter_next),
29690         (filter_resync), (filter_uninit), (filter_free),
29691         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
29692         (gst_iterator_foreach), (find_custom_fold_func),
29693         (gst_iterator_find_custom):
29694         * gst/gstiterator.h:
29695         Added missing files.
29696
29697 2005-03-07  Wim Taymans  <wim@fluendo.com>
29698
29699         * Makefile.am:
29700         * configure.ac:
29701         * docs/design/part-MT-refcounting.txt:
29702         * docs/design/part-conventions.txt:
29703         * docs/design/part-gstobject.txt:
29704         * docs/design/part-relations.txt:
29705         * examples/mixer/mixer.c: (main):
29706         * examples/thread/thread.c: (eos), (main):
29707         * gst/Makefile.am:
29708         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
29709         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
29710         (gst_spider_plug_from_srcpad):
29711         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
29712         (gst_spider_identity_change_state),
29713         (gst_spider_identity_sink_loop_type_finding):
29714         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
29715         * gst/elements/gstidentity.c: (gst_identity_init):
29716         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
29717         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
29718         * gst/elements/gsttypefindelement.c: (free_entry):
29719         * gst/gst.c:
29720         * gst/gst.h:
29721         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
29722         (gst_bin_set_clock_func), (gst_bin_auto_clock),
29723         (gst_bin_set_index), (gst_bin_set_element_sched),
29724         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
29725         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
29726         (gst_bin_iterate_elements), (iterate_child_recurse),
29727         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
29728         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
29729         (compare_interface), (gst_bin_get_by_interface),
29730         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
29731         * gst/gstbin.h:
29732         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
29733         (gst_buffer_default_free), (gst_buffer_default_copy),
29734         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
29735         (gst_buffer_create_sub):
29736         * gst/gstbuffer.h:
29737         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
29738         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
29739         (gst_caps_unref), (gst_static_caps_get),
29740         (gst_caps_remove_and_get_structure), (gst_caps_append),
29741         (gst_caps_append_structure), (gst_caps_remove_structure),
29742         (gst_caps_copy_nth), (gst_caps_set_simple),
29743         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
29744         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
29745         (gst_caps_structure_intersect_field), (gst_caps_intersect),
29746         (gst_caps_structure_subtract_field), (gst_caps_subtract),
29747         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
29748         (gst_caps_structure_figure_out_union),
29749         (gst_caps_switch_structures), (gst_caps_do_simplify),
29750         (gst_caps_replace), (gst_caps_from_string),
29751         (gst_caps_copy_conditional):
29752         * gst/gstcaps.h:
29753         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
29754         (_gst_clock_id_free), (gst_clock_id_unref),
29755         (gst_clock_id_compare_func), (gst_clock_id_wait),
29756         (gst_clock_id_wait_async), (gst_clock_class_init),
29757         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
29758         (gst_clock_get_time), (gst_clock_set_time_adjust),
29759         (gst_clock_set_property), (gst_clock_get_property):
29760         * gst/gstclock.h:
29761         * gst/gstcompat.h:
29762         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
29763         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
29764         * gst/gstdata.h:
29765         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29766         (gst_element_requires_clock), (gst_element_provides_clock),
29767         (gst_element_set_clock), (gst_element_clock_wait),
29768         (gst_element_wait), (gst_element_set_time_delay),
29769         (gst_element_is_indexable), (gst_element_add_pad),
29770         (gst_element_add_ghost_pad), (gst_element_remove_pad),
29771         (pad_compare_name), (gst_element_get_static_pad),
29772         (gst_element_request_pad), (gst_element_get_request_pad),
29773         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
29774         (gst_element_class_get_pad_template_list),
29775         (gst_element_class_get_pad_template), (gst_element_error_func),
29776         (gst_element_get_random_pad), (gst_element_get_event_masks),
29777         (gst_element_send_event), (gst_element_seek),
29778         (gst_element_get_query_types), (gst_element_query),
29779         (gst_element_get_formats), (gst_element_convert),
29780         (gst_element_is_locked_state), (gst_element_set_locked_state),
29781         (gst_element_sync_state_with_parent), (gst_element_change_state),
29782         (gst_element_finalize), (gst_element_yield),
29783         (gst_element_interrupt), (gst_element_set_scheduler),
29784         (gst_element_get_scheduler), (gst_element_set_loop_function):
29785         * gst/gstelement.h:
29786         * gst/gstevent.h:
29787         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
29788         (gst_format_get_by_nick), (gst_format_get_details),
29789         (gst_format_iterate_definitions):
29790         * gst/gstformat.h:
29791         * gst/gstindex.c: (gst_index_gtype_resolver):
29792         * gst/gstinfo.c:
29793         * gst/gstinfo.h:
29794         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
29795         (gst_mem_chunk_free):
29796         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
29797         (gst_object_ref), (gst_object_unref), (gst_object_sink),
29798         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
29799         (gst_object_dispatch_properties_changed),
29800         (gst_object_set_name_default), (gst_object_set_name),
29801         (gst_object_get_name), (gst_object_set_name_prefix),
29802         (gst_object_get_name_prefix), (gst_object_set_parent),
29803         (gst_object_get_parent), (gst_object_unparent),
29804         (gst_object_check_uniqueness), (gst_object_save_thyself),
29805         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
29806         (gst_object_set_property), (gst_object_get_property),
29807         (gst_object_get_path_string):
29808         * gst/gstobject.h:
29809         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29810         (gst_real_pad_init), (gst_real_pad_get_property),
29811         (gst_pad_custom_new), (gst_pad_get_direction),
29812         (gst_pad_set_active), (gst_pad_is_active),
29813         (gst_pad_set_event_function), (gst_pad_is_linked),
29814         (gst_pad_link_free), (gst_pad_link_intersect),
29815         (gst_pad_link_fixate), (gst_pad_set_caps),
29816         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
29817         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
29818         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
29819         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
29820         (gst_pad_get_caps), (gst_pad_peer_get_caps),
29821         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
29822         (gst_pad_realize), (gst_pad_get_allowed_caps),
29823         (gst_real_pad_dispose), (gst_real_pad_finalize),
29824         (gst_pad_collectv), (gst_pad_collect_valist),
29825         (gst_pad_template_dispose), (gst_pad_template_new),
29826         (gst_pad_get_internal_links):
29827         * gst/gstpad.h:
29828         * gst/gstpipeline.c: (gst_pipeline_dispose),
29829         (gst_pipeline_change_state):
29830         * gst/gstpipeline.h:
29831         * gst/gstplugin.c:
29832         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
29833         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
29834         * gst/gstpluginfeature.h:
29835         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
29836         * gst/gstquery.c: (_gst_query_type_initialize),
29837         (gst_query_type_register), (gst_query_type_get_by_nick),
29838         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
29839         * gst/gstquery.h:
29840         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
29841         * gst/gstscheduler.c: (gst_scheduler_add_element),
29842         (gst_scheduler_factory_create):
29843         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29844         (gst_structure_free), (gst_structure_set_name),
29845         (gst_structure_id_set_value), (gst_structure_set_value),
29846         (gst_structure_set_valist), (gst_structure_remove_field),
29847         (gst_structure_remove_fields),
29848         (gst_structure_remove_fields_valist),
29849         (gst_structure_remove_all_fields), (gst_structure_foreach),
29850         (gst_structure_map_in_place),
29851         (gst_caps_structure_fixate_field_nearest_int),
29852         (gst_caps_structure_fixate_field_nearest_double):
29853         * gst/gststructure.h:
29854         * gst/gstsystemclock.c: (gst_system_clock_class_init),
29855         (gst_system_clock_init), (gst_system_clock_dispose),
29856         (gst_system_clock_async_thread),
29857         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
29858         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
29859         * gst/gstsystemclock.h:
29860         * gst/gsttag.c: (gst_tag_list_add_value_internal),
29861         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
29862         * gst/gsttaginterface.c:
29863         * gst/gstthread.c: (gst_thread_dispose),
29864         (gst_thread_release_children_locks), (gst_thread_change_state),
29865         (gst_thread_main_loop):
29866         * gst/gsttrashstack.h:
29867         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
29868         * gst/gsttypes.h:
29869         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29870         (gst_element_request_pad), (gst_element_get_pad_from_template),
29871         (gst_element_request_compatible_pad),
29872         (gst_element_get_compatible_pad_filtered),
29873         (gst_element_get_compatible_pad), (gst_element_state_get_name),
29874         (gst_element_link_pads_filtered), (gst_element_link_filtered),
29875         (gst_element_link_many), (gst_element_link),
29876         (gst_element_link_pads), (gst_element_unlink_pads),
29877         (gst_element_unlink_many), (gst_element_unlink),
29878         (gst_pad_can_link_filtered), (gst_pad_can_link),
29879         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
29880         (gst_object_default_error), (gst_bin_add_many),
29881         (gst_bin_remove_many), (gst_element_populate_std_props),
29882         (gst_element_class_install_std_props), (gst_buffer_merge),
29883         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
29884         (link_fold_func), (gst_pad_proxy_setcaps):
29885         * gst/gstutils.h:
29886         * gst/gstvalue.c: (gst_value_deserialize_string):
29887         * gst/parse/grammar.y:
29888         * gst/schedulers/gstbasicscheduler.c:
29889         (gst_basic_scheduler_cothreaded_chain),
29890         (gst_basic_scheduler_chain_recursive_add),
29891         (gst_basic_scheduler_pad_link):
29892         * gst/schedulers/gstoptimalscheduler.c:
29893         (get_group_schedule_function),
29894         (gst_opt_scheduler_state_transition),
29895         (gst_opt_scheduler_add_element), (element_get_reachables_func):
29896         * libs/gst/bytestream/bytestream.c:
29897         * libs/gst/dataprotocol/dataprotocol.c:
29898         (gst_dp_header_from_buffer):
29899         * po/nb.po:
29900         * po/ru.po:
29901         * tests/threadstate/threadstate2.c: (eos):
29902         * tools/gst-compprep.c: (main):
29903         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
29904         (print_pad_info), (print_children_info):
29905         * tools/gst-launch.c: (idle_func), (main):
29906         * tools/gst-md5sum.c: (idle_func), (main):
29907         * tools/gst-xmlinspect.c: (print_element_info):
29908         First THREADED backport attempt, focusing on adding locks and
29909         making sure the API is threadsafe. Needs more work. More docs
29910         follow this week.
29911
29912 2005-02-24  Andy Wingo  <wingo@pobox.com>
29913
29914         * tests/bench-complexity.scm:
29915         * tests/complexity.gnuplot: New files, good for running complexity
29916         benchmarks.
29917
29918         * tests/Makefile.am:
29919         * tests/complexity.c: New test, sets up N elements, at each level
29920         teeing into M streams per element. Eeeenteresting.
29921
29922         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
29923         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
29924         running bench-mass_elements.scm.
29925
29926         * tests/bench-mass_elements.scm: New script, runs mass_elements
29927         for various numbers of identities, outputting the results to a
29928         file. Requires guile 1.6. Just for testing.
29929
29930 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29931
29932         * gst/schedulers/fairscheduler.c:
29933           compile with debug disabled
29934
29935 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29936
29937         * configure.ac:
29938           hunting season on 0.9 is now OPEN