tests/check/gst/gstghostpad.c: Fix some memory leaks and uses of object instances...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4         Fix some memory leaks and uses of object instances that we don't
5         actually own.
6
7 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
8
9         * plugins/elements/gstmultiqueue.c:
10         Add functionality to extra-size-buffers property.
11
12 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
13
14         * plugins/elements/gstmultiqueue.c:
15         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
16         activate the pads if they are added in STATE_NULL.
17
18 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
19
20         * docs/libs/gstreamer-libs-sections.txt:
21         Add new API to doc
22         * libs/gst/check/gstcheck.c:
23         * libs/gst/check/gstcheck.h:
24         API: gst_check_teardown_pad_by_name
25
26 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
27
28         * libs/gst/check/gstcheck.c:
29         * libs/gst/check/gstcheck.h:
30         Also setup request pads and allow setup pads by name (#537812)
31         API: gst_check_setup_src_pad_by_name
32         API: gst_check_setup_sink_pad_by_name
33
34 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
35
36         * tests/check/gst/gstbuffer.c:
37         * tests/check/pipelines/parse-launch.c:
38           Use HAVE_VALGRIND_H some more.
39
40 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
41
42         * scripts/cvs-update.sh:
43           Pass arguments to make.
44           Run autoregen.sh if Makefile is not there.
45
46 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
47
48         * configure.ac:
49         * gst/gstinfo.c:
50           Don't assume that <valgrind/valgrind.h> exists just because
51           the binary is there.
52
53 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
54
55         * tests/check/Makefile.am:
56         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
57         (gst_test_trans_class_init), (gst_test_trans_init),
58         (gst_test_trans_set_data), (result_sink_chain),
59         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
60         (gst_test_trans_pop):
61         * tests/check/libs/transform1.c: (GST_START_TEST),
62         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
63         Add some test basetransform element and the beginnings of various
64         unit tests for it.
65
66 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
67
68         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
69         Increase code readability.
70         Don't try to compare buffer offsets when ther are invalid.
71
72 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
73
74         * docs/design/Makefile.am:
75           Dist some more design docs.
76
77         * docs/random/moving-plugins:
78           Small addition: good plugins mustn't have functional code
79           within assertion macros.
80
81 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
82
83         * docs/design/draft-framestep.txt:
84         Some ideas about a framestep API
85
86         * docs/design/part-element-transform.txt:
87         Start design and use cases for basetransform in order to get it
88         fixed soon.
89
90 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
91
92         * gst/gsttaglist.h:
93           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
94           be in UTF-8 encoding.
95
96 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
97
98         * gst/gstbus.c:
99           Make it known that gst_bus_poll() is pure evil (fixes #538810).
100
101 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
102
103         * plugins/elements/gstcapsfilter.c:
104         * plugins/elements/gstfakesink.c:
105         * plugins/elements/gstfakesrc.c:
106         * plugins/elements/gstfdsink.c:
107         * plugins/elements/gstfdsrc.c:
108         * plugins/elements/gstfilesink.c:
109         * plugins/elements/gstfilesrc.c:
110         * plugins/elements/gstidentity.c:
111         * plugins/elements/gstmultiqueue.c:
112         * plugins/elements/gstqueue.c:
113         * plugins/elements/gsttee.c:
114         * plugins/elements/gsttypefindelement.c:
115           Remove short_description. Add basic docs for gsttypefindelement.
116           Simplify markup for fakesrc/fdsrc.
117
118 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
119
120         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
121         Added Since doc.
122
123 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
124
125         Patch by: joel larsson <tilljoel at gmail dot com>
126
127         * docs/plugins/gstreamer-plugins.args:
128         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
129         (gst_fd_src_init), (gst_fd_src_update_fd),
130         (gst_fd_src_set_property), (gst_fd_src_get_property),
131         (gst_fd_src_create):
132         * plugins/elements/gstfdsrc.h:
133         Add timeout property like udpsrc. Fixes #538628.
134         Add some more docs and example pipelines.
135
136 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
137
138         * docs/libs/gstreamer-libs-sections.txt:
139         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
140         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
141         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
142         (gst_base_sink_do_sync):
143         * libs/gst/base/gstbasesink.h:
144         * win32/common/libgstbase.def:
145         Add method to allow sinks to specify additional delay between the sync
146         times and the actual rendering of the data.
147         API: gst_base_sink_set_render_delay()
148         API: gst_base_sink_get_render_delay()
149
150 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
151
152         * configure.ac:
153         Bump version number back to dev -> 0.10.20.1
154
155 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
156
157         * docs/gst/gstreamer-sections.txt:
158         * gst/gsttaglist.c: (_gst_tag_initialize):
159         * gst/gsttaglist.h:
160         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
161         Fixes bug #538568.
162
163 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
164
165         * libs/gst/controller/gstcontroller.c:
166           Revert one change, that make ret value possible uninitialized.
167
168 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
169
170         * libs/gst/controller/gstcontroller.c:
171           Use freeze/thaw notify to sync notify emission a bit (its also more
172           efficient). Move debug output to LOG (is called a lot in a loop).
173           Always unset g_values if the have been initialized.
174
175 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
176
177         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
178         (gst_base_sink_wait_eos), (gst_base_sink_event):
179         If we have not seen a buffer before EOS, use the segment values to
180         report the current position instead of invalid positions.
181
182 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
183
184         * docs/plugins/tmpl/.cvsignore:
185         * tests/check/gst/.cvsignore:
186           Ignore more.
187
188 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
189
190         * libs/gst/controller/gstinterpolation.c:
191         * libs/gst/controller/gstinterpolationcontrolsource.c:
192         * tests/check/libs/controller.c:
193           Rewrite handling of default values. Fix overflow with unsigned types
194           in linear interpolation. Remove now obsolete _first_value() function.
195           Add more tests. Fixes #538201.
196
197 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
198
199         * libs/gst/base/gstbasetransform.c:
200         (gst_base_transform_class_init), (gst_base_transform_init),
201         (gst_base_transform_transform_caps),
202         (gst_base_transform_prepare_output_buffer):
203         Add debug info.
204         When a buffer is writable, its metadata is also writable so we don't
205         need to subbuffer (which then makes the buffer not-writable anymore).
206
207 === release 0.10.20 ===
208
209 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
210
211         * configure.ac:
212           releasing 0.10.20, "You Crazy Diamond"
213
214 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
215
216         * configure.ac:
217         0.10.19.3 pre-release
218
219 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
220
221         * configure.ac:
222         * gst/gstpreset.c:
223         Rename DATADIR to GST_DATADIR to avoid build problems
224         on win32. Patch By: David Schleef <ds@schleef.org>
225         Fixes: #536857
226
227 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
228
229         * configure.ac:
230         Explicitely link with -ldl if dladdr() is found there. Before it was
231         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
232         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
233
234 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
235
236         * gst/gsterror.c: (_gst_stream_errors_init):
237           Fix typo (spotted by Fabricio Godoy, #536723).
238
239 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
240
241         * configure.ac:
242         0.10.19.2 pre-release
243
244 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
245
246         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
247         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
248         Add some debug.
249         Make sure we don't generate invalid QoS messages.
250
251 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
252
253         * gst/gstevent.c: (gst_event_new_qos):
254         Add some assert and docs for invalid input to the qos function.
255
256 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
257
258         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
259         (gst_base_sink_get_position):
260         The reported position must always be smaller than the last seen
261         timestamps (or timestamp + duration for reverse).
262
263 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
264
265         Patch by: Rob Bradford <rob at robster dot org dot uk>
266
267         * gst/gstregistry.c: (gst_registry_scan_path_level):
268         Don't recurse into .debug directories as some distros install
269         the debugging symbols next to the plugins in .debug directories
270         and dlopen() crashes on them sometimes. Fixes bug #508070.
271
272         Add FIXME for 0.11 to not recurse into directories at all because
273         it's very inconsistent to the behaviour of other PATH environment
274         variables.
275
276 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
277
278         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
279         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
280         Fix position query range checks in reverse playback.
281
282 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
283
284         * gst/gstelement.c:
285         * gst/gstelement.h:
286         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
287         clear of the reference to the resulting pad must be released later
288         or not, resulting in possible leaks. Fixes bug #533865.
289
290 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
291
292         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
293
294         * gst/gstelementfactory.c:
295         Small doc fix. Fixes #535285.
296
297 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
298
299         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
300
301         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
302         (gst_base_src_get_range), (gst_base_src_pad_get_range),
303         (gst_base_src_loop), (gst_base_src_set_flushing),
304         (gst_base_src_change_state):
305         Make sending an EOS event to the basesrc non-blocking even if the
306         implementation does blocking waits in the create function. This is done
307         by unlocking the create function when EOS is sent.
308         Fixes #535218.
309
310 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
311
312         * tools/gst-inspect.c: (print_element_properties_info):
313         If possible print the element type of GValueArray properties.
314
315 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
316
317         * gst/gstiterator.c:
318         Remove an unused field from the private GstListIterator struct.
319
320 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
321
322         * libs/gst/controller/gstcontroller.c:
323           Add parameter guards.
324
325 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
326
327         * tests/check/gst/gstpipeline.c:
328           Revert test change and add comment why it should not work.
329
330 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
331
332         * tests/check/gst/gstpipeline.c:
333           Extending the test a little to verify that we also get the NULL state-
334           change message.
335
336 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
337
338         * gst/gstpreset.c: (gst_preset_default_get_meta),
339           (gst_preset_get_preset_names), (gst_preset_get_property_names),
340           (gst_preset_load_preset), (gst_preset_save_preset),
341           (gst_preset_rename_preset), (gst_preset_delete_preset),
342           (gst_preset_set_meta):
343           Add Since: markers to docs blurbs.
344
345         * win32/common/libgstreamer.def:
346           Add recently-added API.
347
348 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
349
350         Patch by: Stefan Kost  <ensonic@users.sf.net>
351
352         * configure.ac:
353         Add DATADIR for storing presets.
354
355         * docs/gst/gstreamer-docs.sgml:
356         * docs/gst/gstreamer-sections.txt:
357         * docs/gst/gstreamer.types.in:
358         Add GstPreset to docs.
359
360         * gst/Makefile.am:
361         * gst/gst.h:
362         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
363         (preset_open_and_parse_header), (preset_parse_version),
364         (preset_merge), (preset_get_keyfile),
365         (gst_preset_default_get_preset_names),
366         (gst_preset_default_get_property_names),
367         (gst_preset_default_load_preset),
368         (gst_preset_default_save_presets_file),
369         (gst_preset_default_save_preset),
370         (gst_preset_default_rename_preset),
371         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
372         (gst_preset_default_get_meta), (gst_preset_default_randomize),
373         (gst_preset_default_reset), (gst_preset_get_preset_names),
374         (gst_preset_get_property_names), (gst_preset_load_preset),
375         (gst_preset_save_preset), (gst_preset_rename_preset),
376         (gst_preset_delete_preset), (gst_preset_set_meta),
377         (gst_preset_get_meta), (gst_preset_class_init),
378         (gst_preset_base_init), (gst_preset_get_type):
379         * gst/gstpreset.h:
380         Add GstPreset to core. Fixes #396779
381
382         * tests/check/Makefile.am:
383         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
384         (gst_preset_test_set_property), (gst_preset_test_class_init),
385         (gst_preset_test_base_init), (gst_preset_test_get_type),
386         (gst_preset_test_plugin_init), (GST_START_TEST),
387         (remove_preset_file), (test_setup), (test_teardown),
388         (gst_preset_suite):
389         Add GstPreset unit tests.
390
391 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
392
393         * gst/gstpad.c: (gst_pad_event_default_dispatch):
394         The default event function on a sinkpad should return TRUE when
395         there are no internal links but should collect the return values from
396         the internal links otherwise.
397
398 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
399
400         * plugins/elements/gsttypefindelement.c:
401         (gst_type_find_element_src_event),
402         (gst_type_find_element_handle_event):
403         Use faster and safer _pad_push_event().
404
405 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
406
407         * docs/gst/gstreamer-sections.txt:
408         * gst/gstutils.c: (element_find_unlinked_pad),
409           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
410         * gst/gstutils.h:
411           API: add gst_bin_find_unlinked_pad()
412           API: deprecate gst_bin_find_unconnected_pad() (#401456)
413
414 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
415
416         * gst/gstclock.c:
417         * gst/gstclock.h:
418         * gst/gsttask.c:
419         * gst/gsttask.h:
420         Fixed a bunch of typos.
421
422 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
423
424         * gst/gstpad.h:
425         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
426           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
427           (gst_parse_bin_from_description_full):
428         * gst/gstutils.h:
429           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
430
431 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
432
433         * docs/pwg/advanced-tagging.xml:
434           Small docs update, can't be bothered to rewrite the nonsensical
435           examples right now.
436
437 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
438
439         * gst/gstevent.h:
440           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
441
442 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
443
444         * gst/parse/grammar.y:
445           Remove unneeded casts.
446
447 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
448
449         * gst/parse/grammar.y:
450         * tests/check/pipelines/parse-launch.c:
451           Get all missing elements from a parse launch string if possible
452           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
453
454 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
455
456         * tests/check/Makefile.am:
457         * tests/check/pipelines/parse-launch.c:
458           Add some unit tests for the new gst_parse_launch*_full() API.
459           (Exposes a previously-existing memory leak in the error code
460           path, so adding to VALGRIND_TO_FIX for now).
461
462 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
463
464         * docs/gst/gstreamer-sections.txt:
465         * gst/gst.c: (init_post):
466         * gst/gst_private.h: (_GstParseContext):
467         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
468           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
469           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
470           (gst_parse_launch_full):
471         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
472           (GstParseFlags), (GstParseContext):
473         * gst/gstutils.c: (gst_parse_bin_from_description),
474           (gst_parse_bin_from_description_full):
475         * gst/gstutils.h:
476         * gst/parse/grammar.y:
477         * gst/parse/types.h:
478         * win32/common/libgstreamer.def:
479           Add new gst_parse_*_full API (#528178):
480           API: gst_parse_launch_full()
481           API: gst_parse_launchv_full()
482           API: gst_parse_bin_from_description_full()
483           API: gst_parse_context_new()
484           API: gst_parse_context_free()
485           API: gst_parse_context_get_missing_elements()
486
487 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
488
489         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
490
491         * docs/faq/gst-uninstalled:
492           Also support ffmpeg in gst-uninstalled.
493
494 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
495
496         * configure.ac:
497         After discussion on IRC use the binary registry as default
498         but allow to disable it with --disable-binary-registry.
499
500         * win32/common/libgstreamer.def:
501         Add the two new symbols for the binary registry.
502
503 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
504
505         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
506         * gst/gstutils.c: (gst_parse_bin_from_description):
507         * gst/parse/grammar.y: (graph):
508           More guards against bad input; typo fix; some minor clean-ups.
509
510 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
511
512         Patch by: Sjoerd Simons <sjoerd at luon dot net>
513
514         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
515         If nothing else can be used, use the last buffer's start time as
516         the segment's last stop. Fixes bug #534258.
517
518 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
519
520         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
521           Move size sanity check to the right place: downstream may return
522           a buffer with a smaller size if the buffer caps are different than
523           the requested ones, as may happen when doing reverse negotiation.
524
525 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
526
527         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
528         (gst_file_sink_render):
529         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
530         (gst_file_src_start):
531         Small cleanups. Add note adbout g_fopen() on windows and why we don't
532         use it yet.
533
534 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
535
536         * gst/gstpad.c: (gst_pad_load_and_link):
537         * gst/gstutils.c: (gst_element_link_pads),
538         (gst_element_unlink_pads):
539         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
540         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
541         (gst_check_teardown_sink_pad),
542         (gst_check_element_push_buffer_list):
543         * tests/check/elements/fakesink.c: (GST_START_TEST):
544         * tests/check/elements/filesink.c:
545         * tests/check/elements/filesrc.c: (GST_START_TEST):
546         * tests/check/elements/multiqueue.c: (setup_multiqueue),
547         (mq_sinkpad_to_srcpad):
548         * tests/check/elements/tee.c: (GST_START_TEST):
549         * tests/check/generic/sinks.c: (GST_START_TEST):
550         * tests/check/gst/gstbin.c: (GST_START_TEST):
551         * tests/check/gst/gstevent.c: (GST_START_TEST):
552         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
553         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
554         * tests/check/gst/gstquery.c: (GST_START_TEST):
555         * tests/check/gst/gstutils.c: (GST_START_TEST):
556         * tests/check/libs/basesrc.c: (GST_START_TEST):
557         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
558         (gst_parse_test_element_change_state):
559         Don't use gst_element_get_pad().
560
561 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
562
563         * docs/Makefile.am:
564         Fix installing plugin documentation when gtk-doc is disabled.
565
566 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
567
568         * docs/manual/advanced-autoplugging.xml:
569         * docs/manual/basics-helloworld.xml:
570         * docs/manual/basics-pads.xml:
571         * docs/manual/highlevel-components.xml:
572         Avoid using a bad function in the example code.
573
574 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
575
576         * gst/gstclock.c: (gst_clock_set_calibration):
577         Fix debug of the new clock rate.
578
579 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
580
581         * win32/common/libgstbase.def:
582         Add gst_base_sink_wait_clock() to the exported symbols.
583
584 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
585
586         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
587
588         * libs/gst/base/gstbasetransform.c:
589         (gst_base_transform_sink_event):
590         Unref events that the GstBaseTransform::event vfunc didn't want to
591         have forwarded by the base class. Closes a leak in identity.
592         Fixes bug #446763.
593
594 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
595
596         * docs/libs/gstreamer-libs-sections.txt:
597         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
598         * libs/gst/base/gstbasesink.h:
599         Expose a method that was previously used internally to synchronize
600         against the clock because it can be useful for subclasses too.
601         API: GstBaseSink::gst_base_sink_wait_clock()
602
603 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
604
605         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
606           Add sanity check to make sure we don't get smaller buffers
607           than requested (and fallback to normal buffer alloc if we do).
608
609 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
610
611         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
612         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
613         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
614         Refactor adjusting the running_time with latency and offset into a
615         separate method.
616         When doing clipping, we still want to use the subclass get_times method,
617         just in case the DURATION or TIMESTAMP are not set.
618
619 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
620
621         * docs/gst/gstreamer-sections.txt:
622         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
623         * gst/gsttypefind.h:
624         * win32/common/libgstreamer.def:
625           API: add gst_type_find_suggest_simple(), #533740.
626
627 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
628
629         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
630           Use right error code when typefinding fails, so we can use
631           the default (translated) error messages.
632
633 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
634
635         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
636         (gst_base_src_start):
637         When the subclass did not set caps on outgoing buffers, configure the
638         caps we negotiated on the source pad.
639         When the typefind helper does not find caps, error out properly instead
640         of doing things with NULL caps.
641
642 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
643
644         * gst/gsttypefind.h:
645           Tabs to spaces, oh yes!
646
647 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
648
649         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
650           Add David's and Benjamin's tests for array intersection to the
651           unit test suite (#147931).
652
653 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
654
655         * gst/gstevent.c:
656           Document that gst_event_new_tag() and gst_event_new_navigation()
657           take ownership of the taglist/structure passed to them. (#533635).
658
659 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
660
661         * docs/Makefile.am:
662         Don't descend into the plugins dir if plugin docs building
663         is disabled.
664
665         * docs/README:
666         Add a note about the new type:GTypeName syntax for the plugin
667         documentation .types file.
668
669 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
670
671         * gst/gstmessage.c: (gst_message_new_error),
672         (gst_message_new_warning), (gst_message_new_info):
673         * gst/gstmessage.h:
674         Mark the debug string parameters as const. Fixes bug #533490.
675
676 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
677
678         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
679         Sort buffer cache list by end offsets. This makes sure that we don't
680         stop to search for a cached buffer that contains the requested data
681         too early.
682         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
683         more efficient. Fixes bug #459862.
684
685 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
686
687         * gst/gstinfo.c:
688           Explain why we copy the list.
689
690         * gst/gstpipeline.c:
691           Improve docs.
692
693         * gst/gstutils.c:
694           Add one debug-log statement to help tracing probelms with linking pads.
695
696 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
697
698         * tests/check/gst/gstinfo.c:
699         Add a test for removing the default log handler. Seems to fail under
700         windows.
701
702 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
703
704         * gst/gstpad.c: (gst_pad_peer_accept_caps):
705         Release pad lock before calling out to avoid a possible deadlock.
706
707 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
708
709         * gst/parse/grammar.y:
710         Remove unneeded value unset.
711
712         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
713         Add unit test for de/serialization of caps.
714
715 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
716
717         * plugins/elements/gstfakesink.c:
718         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
719         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
720         (gst_fake_src_class_init):
721         Use custom marshalers that take GstMiniObject as first parameter.
722         Using OBJECT as parameter while a GstMiniObject is given will lead
723         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
724
725 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
726
727         * plugins/elements/gsttypefindelement.c:
728         (gst_type_find_element_handle_event),
729         (gst_type_find_element_send_cached_events),
730         (gst_type_find_element_change_state):
731         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
732         immediately.
733
734 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
735
736         * plugins/elements/gsttypefindelement.c:
737         (gst_type_find_handle_src_query), (stop_typefinding),
738         (gst_type_find_element_handle_event),
739         (gst_type_find_element_send_cached_events),
740         (gst_type_find_element_change_state):
741         Forward FLUSH_START events immediately and clean up instead of
742         caching them.
743
744 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
745
746         Patch by: Sjoerd Simons <sjoerd at luon dot net>
747
748         * libs/gst/base/gstbasetransform.c:
749         (gst_base_transform_buffer_alloc):
750         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
751         fall back to default negotiation in the chain function if the caps
752         are different from what was requested. Fixes bug #526768.
753
754 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
755
756         * gst/gstsegment.c:
757         * tests/check/gst/gstsegment.c:
758           No, let's not use g_slice_{dup|copy} here, since they only exist
759           since GLib 2.14 and we still depend only on >= 2.12. Also add
760           unit test for gst_segment_copy().
761
762 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
763
764         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
765           Try to fix 'dereferencing type-punned pointer will break strict
766           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
767           changed the default GType typedef from gulong to gsize at some point,
768           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
769           g_once_* functions all take a gsize * though, so work around the type
770           mismatch for C++ by doing everything in gsize and casting to GType
771           later.
772
773 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
774
775         * plugins/elements/gstmultiqueue.c:
776         Add documentation for the signals to push our core plugin docs
777         coverage back up to 100%.
778
779 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
780
781         * gst/gstinfo.h (GST_FUNCTION):
782           Reverted GST_FUNCTION to the old version as we don't want the
783           full signature in C++ code. Also added support for MSVC.
784
785 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
786
787         * gst/gstutils.h:
788         Intern the type name string, similar to what G_DEFINE_TYPE does.
789
790 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
791
792         * gst/gstutils.h:
793         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
794
795 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
796
797         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
798
799         * libs/gst/base/gstbasetransform.c:
800         (gst_base_transform_buffer_alloc):
801         Don't passthrough buffer allocation too easily if the caps change.
802         This breaks when working in passthrough mode and upstream changes
803         it's caps. Fixes bug #526768.
804
805 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
806
807         * gst/gstinfo.c (gst_debug_log_valist):
808           Improved the __FILE__ part of debug output for MSVC.
809
810 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
811
812         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
813           Declaration after statement fix for compilers like MSVC.
814
815 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
816
817         * win32/common/config.h.in:
818           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
819           use the real thing than having "???" unconditionally.
820
821 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
822
823         * gst/gstinfo.h (GST_FUNCTION):
824           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
825
826 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
827
828         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
829         Small code cleanup.
830
831         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
832         (gst_base_sink_set_flushing):
833         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
834         Fix some comments.
835
836 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
837
838         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
839         (gst_fake_src_init), (gst_fake_src_set_property),
840         (gst_fake_src_get_property), (gst_fake_src_start):
841         * plugins/elements/gstfakesrc.h:
842         Added format property to control the format of the newsegment events.
843         API: GstFakeSrc:format
844
845 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
846
847         * win32/common/libgstreamer.def:
848         Add gst_pad_has_name() to the exported symbols.
849
850 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
851
852         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
853         * libs/gst/base/gstbasetransform.c:
854         (gst_base_transform_prepare_output_buffer):
855         Don't allow negative sizes when allocating new buffers.
856         Fixes bug #461253.
857
858 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
859
860         Patch by: Sjoerd Simons <sjoerd at luon net>
861
862         * gst/gstbus.c: (gst_bus_source_dispatch):
863           Don't print a warning if the queue is empty when we try to pop
864           here. That could happen if another thread or callback set the
865           bus to flushing between the source's check/prepare and the
866           dispatch being called (#531538).
867
868 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
869
870         * plugins/elements/gstmultiqueue.c:
871           Small docs fix.
872         
873 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
874
875         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
876         Add unit test for deserializing uint64s and check some really large
877         numbers in the int64 test.
878
879 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
880
881         * tools/gst-inspect.c: (n_print), (print_hierarchy),
882         (print_interfaces), (print_element_properties_info),
883         (print_signal_info):
884         Use "%s" as format string instead of printing strings directly.
885
886 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
887
888         * gst/gstclock.c: (gst_clock_set_calibration):
889         Make some checks actually useful.
890
891         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
892         Remove some unused code. Unsigned integers tend to be >= 0.
893
894 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
895
896         * gst/gstminiobject.c: (gst_value_get_mini_object):
897           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
898           function was not in the unscheduled 0.10.19 release.
899
900 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
901
902         * gst/gstregistry.c: (gst_registry_scan_path_level):
903           Only print one log message per non-plugin file.
904
905 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
906
907         * gst/gstinfo.c: (gst_debug_log_default):
908           Fix alignment of debug log columns on 64-bit.
909
910 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
911
912         * docs/libs/Makefile.am:
913         * docs/libs/gstreamer-libs-sections.txt:
914           Ignore private controller headers for docs.
915
916 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
917
918         * libs/gst/controller/gstcontrollerprivate.h:
919         * libs/gst/controller/gsthelper.c:
920         * libs/gst/controller/gstinterpolation.c:
921         * libs/gst/controller/gstinterpolationcontrolsource.c:
922         (gst_interpolation_control_source_set_interpolation_mode):
923         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
924         * libs/gst/controller/lib.c:
925         Move some private declarations into private headers.
926
927 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
928
929         * gst/gstdebugutils.c: (debug_dump_element_pad):
930         Remove some code that is unused after Stefan's refactoring and uses
931         uninitialized variables now, resulting in a compiler warning.
932
933 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
934
935         * gst/gstregistry.c: (gst_registry_scan_path_level):
936           Run g_str_has_suffix() only on the file name, not the
937           entire file path.
938
939 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
940
941         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
942           Since we're not called only from the chain function any longer,
943           we can't assume that there's always data in the queue, so move
944           the is_full check to the beginning of the loop (otherwise we'd
945           hit the assert when changing the limit properties while the
946           queue is empty or not running yet).
947           Also, only set a discont if items were actually removed from
948           the queue.
949
950         * tests/check/elements/queue.c: (test_leaky_downstream):
951           Test case for the above.
952
953 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
954
955         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
956
957         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
958         (gst_queue_chain), (queue_capacity_change),
959         (gst_queue_set_property):
960         When changing thr max capacity of a leaky queue, immediatly drop buffers
961         instead of waiting for a push on the sinkpad. Fixes #530637.
962
963 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
964
965         * gst/gstdebugutils.c:
966           Refactor code and fix handling of ghostpads and their proxypads.
967
968 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
969
970         * docs/gst/gstreamer-sections.txt:
971         * gst/gstevent.c: (gst_event_has_name):
972         * gst/gstevent.h:
973         * tests/check/gst/gstevent.c: (GST_START_TEST):
974         Add method to conveniently check the name of a custom event with
975         gst_event_has_name().
976         Reformat the event docs so that related methods are put together instead
977         of the default alphabetical sort.
978         Update unit test with new method.
979         API: GstEvent::gst_event_has_name()
980
981 2008-04-28  Michael Smith <msmith@songbirdnest.com>
982
983         * libs/gst/check/Makefile.am:
984           Don't add an explicit link to libgstreamer-0.10.la; it's already
985           included in GST_OBJ_LIBS.
986
987 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
988
989         * gst/gst.c:
990         Register GstClock type from a type-safe context. Fixes bug #530317.
991
992 2008-04-25  Michael Smith <msmith@songbirdnest.com>
993
994         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
995         * tools/gst-run.c:
996           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
997
998 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
999
1000         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1001         (gst_bin_dispose):
1002         Use the GLib stuff to create a private structure.
1003         Add some locking around some dispose methods to make them a little
1004         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1005
1006 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1007
1008         * libs/gst/base/gstbasesink.h:
1009         * libs/gst/base/gstbasesrc.h:
1010         * libs/gst/base/gstbasetransform.h:
1011         * libs/gst/base/gstcollectpads.h:
1012           Fix doc typos and unify caps a bit.
1013
1014 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1015
1016         * tools/gst-launch.1.in:
1017           Forgot to also add the envvar docs here.
1018
1019 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1020
1021         * gst/gst.c: (init_post), (gst_deinit):
1022         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
1023           (test_concurrent_create), (gst_pipeline_suite):
1024           Ref some more classes in gst_init() to work around thread-safety
1025           issues in pre-2.16 GLibs, and add basic unit test.
1026
1027 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1028
1029         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1030         (gst_base_sink_send_event):
1031         Rearrange the latency query code. We always want to do the upstream
1032         query, even if we are not live so that the upstream elements can get the
1033         latency results too. If we fail doing the query and we are live, we
1034         return TRUE afterwards.
1035
1036 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1037
1038         patch by: Jason Zhao <e3423c@motorola.com>
1039
1040         * docs/gst/running.xml:
1041         * gst/gst.c:
1042           Enable/disable scan_and_update_registry() based on commandline switch
1043           or environment variable. Fixes #520468.
1044           
1045         * ChangeLog:
1046           Fix typo in my previous commit.
1047
1048 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1049
1050         * gst/gstregistrybinary.c:
1051           Add a warning if we hit unhandled factories when saving.
1052           More debug logging detail, but move to LOG category.
1053
1054 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1055
1056         * gst/gstregistry.c:
1057           Tell the *truth* when improving the documentation.
1058
1059 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
1060
1061         * gst/gstelementfactory.c: (gst_element_factory_make):
1062         Unref the factory after it was used the last time, not before.
1063
1064         * gst/gstindexfactory.c: (gst_index_factory_make):
1065         Improve debugging a bit and don't leak a ref to the index factory with
1066         each call.
1067
1068 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1069
1070         * gst/gstregistry.c:
1071           Improve the documentation.
1072
1073 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1074
1075         * gst/gstsegment.c:
1076           The glib macro seems to be borked. Use g_slice_copy directly and cast
1077           in the hope that this fixes the warning on 64bit.
1078
1079 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1080
1081         * gst/gstsegment.c:
1082           Document the new function. Use g_slice_dup() (no need for
1083           gst_segment_init()).    
1084
1085 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1086
1087         * docs/gst/gstreamer-sections.txt:
1088           Move GParamSepc macros to standart section.
1089   
1090         * gst/gstbin.c:
1091           Dn't document _get_type - its in private section in docs anyway and
1092           this doc-blob was incomplete.
1093
1094         * gst/gstclock.h:
1095           Fix wrong symbol names in docs.
1096
1097         * gst/gstmacros.h:
1098           Add once doc sentence.
1099
1100         * tests/check/gst/.cvsignore:
1101           Ignore more.
1102
1103 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1104
1105         * docs/gst/Makefile.am:
1106           And remove those libs here.
1107
1108 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1109
1110         * docs/libs/Makefile.am:
1111           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
1112
1113 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1114
1115         Patch by: Olivier Crete <tester at tester dot ca>
1116
1117         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1118         Add the min-threshold to the min latency if possible. Fixes #529148.
1119
1120 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1121
1122         * docs/gst/gstreamer.types.in:
1123           Stupid editor, I removed that line as it should go in yet.
1124
1125 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1126
1127         * docs/gst/gstreamer.types.in:
1128         * docs/libs/gstreamer-libs.types:
1129           Remove library types fro core docs and have them in libs docs.
1130           Reformat and cleanup. Add comment for miniobject types.
1131
1132 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
1133
1134         * gst/gsturi.c: (gst_uri_get_protocol):
1135           Fix leak: g_strdown operates on the string in place, while
1136           g_ascii_strdown() returns a newly-allocated string.
1137
1138 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
1139
1140         * tools/gst-inspect.c: (print_uri_handler_info),
1141         (print_element_info):
1142         Print the URI protocols and the URI type supported by the element.
1143
1144 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1145
1146         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
1147         Use g_value_take_string() instead of the deprecated
1148         g_value_set_string_take_ownership().
1149
1150 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1151
1152         * gst/gstregistrybinary.c: (_gst_crc32):
1153         Return the old CRC instead of 0 if we give a NULL buffer
1154         or a buffer with a length of 0.
1155
1156 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1157
1158         * gst/gsturi.c: (gst_uri_protocol_check_internal),
1159         (gst_uri_get_protocol), (gst_uri_has_protocol),
1160         (gst_uri_construct), (gst_uri_handler_set_uri):
1161         A valid URI scheme can also include '+', '-' and '.' additional
1162         to alphanumeric characters as per RFC 3986 Section 3.1.
1163
1164         Handle URI schemes case insensitive in all places and convert
1165         to lower-case when constructing an URI or setting an URI with
1166         the GstURIHandler interface. Fixes bug #528868.
1167         All elements can still assume (as before) that they will
1168         get passed URIs with a lower-case URI scheme by the GstURIHandler
1169         interface.
1170
1171 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
1172
1173         * gst/gstcaps.c: (gst_static_caps_get):
1174         * gst/gstclock.c: (gst_clock_entry_new):
1175           Don't use g_atomic_set_int where it's not needed.
1176
1177 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1178
1179         * gst/gstvalue.c: (gst_value_deserialize_caps):
1180         * gst/parse/grammar.y:
1181         Fix 2 caps leaks.
1182
1183 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1184
1185         * gst/gstutils.c: (gst_atomic_int_set):
1186         Use g_atomic_int_set() here too instead of assignment +
1187         g_atomic_int_get().
1188
1189 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1190         
1191         * gst/gstutils.c:
1192         * gst/gstutils.h:
1193         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
1194         now that we depend on new enough GLib.
1195
1196         * gst/gstcaps.c: (gst_static_caps_get):
1197         * gst/gstclock.c: (gst_clock_entry_new):
1198         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
1199         (gst_debug_set_default_threshold), (_gst_debug_category_new),
1200         (gst_debug_category_set_threshold):
1201         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1202         (gst_base_sink_set_qos_enabled):
1203         * libs/gst/net/gstnettimeprovider.c:
1204         (gst_net_time_provider_set_property):
1205         Use g_atomic_int_set() instead of gst_atomic_int_set().
1206
1207 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1208
1209         * gst/gstquery.c:
1210           Also use G_GINT64_CONSTANT for the queries.
1211
1212 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1213
1214         * gst/gstmessage.c:
1215           Use G_GINT64_CONSTANT in varargs function.
1216
1217 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1218
1219         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
1220         Initialize the registry magic with zeroes.
1221
1222 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1223
1224         * gst/gstregistrybinary.c: (_gst_crc32),
1225         (gst_registry_binary_write),
1226         (gst_registry_binary_initialize_magic),
1227         (gst_registry_binary_write_cache),
1228         (gst_registry_binary_check_magic),
1229         (gst_registry_binary_read_cache):
1230         * gst/gstregistrybinary.h:
1231         Add crc32 checksum to the binary registry file and check this before
1232         accepting a registry file.
1233
1234         Also free the data list when writing to the registry file fails.
1235
1236 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1237
1238         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1239         (gst_registry_binary_load_feature),
1240         (gst_registry_binary_load_plugin):
1241         If an element supports the Uri interface, returns a valid pointer
1242         to the supported URI protocols but this pointer contains nothing
1243         don't try to save that as it will corrupt the registry.
1244
1245         Don't unref the plugin if we added it to the registry already but
1246         fail to load a feature as gst_registry_add_plugin() takes ownership
1247         of the plugin.
1248
1249         Improve debugging a bit.
1250
1251 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1252
1253         * gst/gsttaglist.h:
1254           Clarify some tag item docs after discussion on irc.
1255
1256 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1257
1258         * docs/gst/gstreamer-docs.sgml:
1259           Remove commented out plugins (they have their own docs). Update
1260           comments.
1261
1262 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1263
1264         * docs/gst/gstreamer-docs.sgml:
1265         * docs/gst/gstreamer-sections.txt:
1266         * gst/gstparamspecs.c:
1267         * gst/gstparamspecs.h:
1268           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
1269           docs to own section.
1270
1271         * gst/gstvalue.c:
1272           This now only documents GValue.
1273           
1274         * docs/libs/gstreamer-libs-sections.txt:
1275         * libs/gst/controller/gstcontroller.h:
1276           Remove GST_PARAM_CONTROLLABLE.
1277
1278 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1279
1280         * docs/README:
1281           Correct file path. Tell about how to use -overrides.txt.
1282         * docs/design/draft-tagreading.txt:
1283           Small design update.
1284
1285 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
1286
1287         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
1288         (gst_registry_binary_load_plugin):
1289         Fix a typo in a debug message and revert change from yesterday as
1290         gst_registry_add_plugin() will only fail if something is really wrong
1291         already and we can't survive it anyway.
1292
1293 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
1294
1295         * gst/gst.c: (init_post), (gst_deinit):
1296           Pre-register GstGError GType from a thread-safe context
1297           (fixes #527967); unref enum type classes in deinit.
1298
1299 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1300
1301         Patch by: Rene Stadler <mail at renestadler de>
1302
1303         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1304           Merging an empty list with another list in KEEP_ALL mode should
1305           yield an empty list as result and not the second list (#512578).
1306
1307         * tests/check/gst/gsttagsetter.c:
1308           Add unit test for tag merge modes and the aforementioned bug.
1309
1310 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1311
1312         Patch by: Rene Stadler <mail at renestadler de>
1313
1314         * gst/gsttaglist.h:
1315           Fix description to match the order in the table (#512577).
1316   
1317 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1318
1319         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
1320
1321         * libs/gst/net/gstnettimepacket.h:
1322         * docs/libs/gstreamer-libs-sections.txt:
1323           Define socklen_t as int if it's not defined yet. Fixes compilation
1324           with MSVC6 and other versions where socklen_t is not defined in
1325           the windows headers (#518022).
1326
1327 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
1328
1329         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1330         If gst_registry_add_plugin() fails our reference to the plugin is
1331         invalid so don't try to use it anymore and instead error out.
1332
1333 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1334
1335         * tools/gst-xmlinspect.c: (print_element_info), (main):
1336           De-cruft a bit. If no argument is specified, print all elements in
1337           XML syntax rather than a freestyle list of elements like gst-inspect.
1338           Also, don't print XML header chunk unless we actually have something
1339           to print (ie. don't print it before an error message); print error
1340           message to stderr not stdout. Remove support for printing plugin
1341           info (it would just output something freestyle along the lines of
1342           gst-inspect so far), which fixes #514507. Also add license header.
1343
1344 2008-04-11  Julien Moutte  <julien@fluendo.com>
1345
1346         Mac OS X love...
1347         * configure.ac: Merge platform specific defines, introduce a new
1348         define on OS X to remember that forking when updating registry is
1349         unsafe.
1350         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
1351         module.
1352         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
1353         is defined.
1354         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
1355         condition that leads to absolutely no plugins being registered on
1356         OS X.
1357
1358 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1359
1360         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1361
1362         * gst/gstutils.c: (gst_pad_add_data_probe),
1363           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
1364           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
1365           (gst_pad_add_buffer_probe_full):
1366         * gst/gstutils.h:
1367         * docs/gst/gstreamer-sections.txt:
1368         * win32/common/libgstreamer.def:
1369           Add gst_pad_add_*_probe_full() functions with a notify callback that
1370           lets the caller free the data it passes to the probe functions. This
1371           is useful for bindings such as gst-python or gstreamermm (#526814).
1372           API: gst_pad_add_data_probe_full
1373           API: gst_pad_add_buffer_probe_full
1374           API: gst_pad_add_event_probe_full
1375
1376         * tests/check/gst/gstutils.c:
1377           Add minimal unit test to make sure freeing the data actually works
1378           as expected.
1379
1380         * tests/benchmarks/.cvsignore:
1381           Random cvsignore addendum.
1382
1383 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1384
1385         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
1386           (GST_DEBUG_BIN_TO_DOT_FILE):
1387           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
1388           to it in the docs (since these are macros the types of the arguments
1389           won't be shown in the docs otherwise).
1390
1391 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1392
1393         * gst/gstpad.c:
1394           Do not abort on out of memory for pad_alloc_buffer.
1395
1396 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1397
1398         * libs/gst/check/gstcheck.c:
1399           Remove blank line between symbol name ad parameters to fix gtkdoc
1400           warning.
1401
1402 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1403
1404         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1405
1406         * docs/gst/gstreamer-sections.txt:
1407         * gst/gstsegment.c:
1408         * gst/gstsegment.h:
1409         * win32/common/libgstreamer.def:
1410           Expose gst_segment_copy() to make things easier for the c++ bindings.
1411           Fixes #518932.
1412           API: gst_segment_copy()
1413
1414 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1415
1416         * gst/gst.c: (gst_init_get_option_group), (init_post):
1417           Fix const position; ref GType classes for enum types to work
1418           around thread-safety issues in GLib versions < 2.16.
1419
1420 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1421
1422         * docs/design/part-buffering.txt:
1423         Fix some typos and set the estimated total for push mode to -1.
1424
1425         * gst/gstquery.c: (gst_query_new_buffering):
1426         Set buffering-left to 0 as we're not buffering by default.
1427
1428         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1429         Implement BUFFERING query.
1430
1431 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1432
1433         Based on patch by: Milosz Derezynski <internalerror gmail com>
1434
1435         * gst/gsterror.c: (_gst_stream_errors_init):
1436         * gst/gsterror.h:
1437           Add two new error codes for encrypted content. Fixes #524659.
1438           API: GST_STREAM_ERROR_DECRYPT
1439           API: GST_STREAM_ERROR_DECRYPT_NOKEY
1440
1441 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1442
1443         * gst/gstquery.h:
1444           Fix typo.
1445
1446         * win32/common/libgstreamer.def:
1447           Add new functions.
1448
1449 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
1450
1451         * plugins/elements/gstidentity.c: (gst_identity_event),
1452         (gst_identity_start):
1453         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
1454         event after processing some data. Fixes bug #526042.
1455
1456 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1457
1458         * docs/gst/gstreamer-sections.txt:
1459         * gst/gstquery.c: (gst_query_parse_latency),
1460         (gst_query_set_buffering_percent),
1461         (gst_query_parse_buffering_percent),
1462         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
1463         * gst/gstquery.h:
1464         Rename _avail -> _range
1465         API: gst_query_set_buffering_range
1466         API: gst_query_parse_buffering_range
1467
1468 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1469
1470         * docs/design/part-buffering.txt:
1471         * gst/gstquark.c:
1472         * gst/gstquark.h:
1473         * gst/gstquery.c: (gst_query_parse_latency),
1474         (gst_query_new_buffering), (gst_query_set_buffering_percent),
1475         (gst_query_parse_buffering_percent):
1476         * gst/gstquery.h:
1477         Add busy field and quark for the buffering query so that the app can
1478         only use the query to see if buffering is in progress.
1479
1480 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1481
1482         * docs/gst/gstreamer-sections.txt:
1483         * gst/gstmessage.c: (gst_message_set_buffering_stats),
1484         (gst_message_parse_buffering_stats):
1485         * gst/gstmessage.h:
1486         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1487         (gst_query_parse_latency), (gst_query_new_buffering),
1488         (gst_query_set_buffering_percent),
1489         (gst_query_parse_buffering_percent),
1490         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
1491         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
1492         * gst/gstquery.h:
1493         Reorder the message docs and headers for clarity.
1494         Add aditional buffering stats API for messages.
1495         Add buffering query.
1496         Convert some leftover queries to use GstQuark.
1497         API: gst_message_set_buffering_stats
1498         API: gst_message_parse_buffering_stats
1499         API: GST_QUERY_BUFFERING
1500         API: GstBufferingMode
1501         API: gst_query_new_buffering
1502         API: gst_query_set_buffering_percent
1503         API: gst_query_parse_buffering_percent
1504         API: gst_query_set_buffering_stats
1505         API: gst_query_parse_buffering_stats
1506
1507 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1508
1509         * gst/gstmessage.c: (gst_message_new_error),
1510         (gst_message_new_warning), (gst_message_new_info),
1511         (gst_message_new_buffering), (gst_message_new_state_changed),
1512         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
1513         (gst_message_new_new_clock), (gst_message_new_segment_start),
1514         (gst_message_new_segment_done), (gst_message_new_duration),
1515         (gst_message_new_async_start), (gst_message_parse_buffering),
1516         (gst_message_parse_state_changed),
1517         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1518         (gst_message_parse_new_clock), (gst_message_parse_error),
1519         (gst_message_parse_warning), (gst_message_parse_info),
1520         (gst_message_parse_segment_start),
1521         (gst_message_parse_segment_done), (gst_message_parse_duration),
1522         (gst_message_parse_async_start):
1523         Use GstQuark for messages.
1524
1525 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1526
1527         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1528         * gst/gstquark.h:
1529         Add some more quarks needed for messages and queries.
1530
1531 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1532
1533         * docs/design/part-buffering.txt:
1534         Remove the "none" buffering mode, STREAM is a good default.
1535         Move estimated-time to the avail query, that's when it will be needed.
1536         Other small typo fixes and updates.
1537
1538 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1539
1540         * gst/gstindex.c: (gst_index_resolver_get_type):
1541           Don't put descriptions into the nick field of a GEnumValue: it's not
1542           meant for that and some language bindings rely on the nick field to
1543           construct constants and the like. Fixes #526705.
1544
1545 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1546
1547         * NEWS:
1548         * RELEASE:
1549         * gstreamer.doap:
1550           Merge other changes from 0.10.19 release branch.
1551
1552 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
1553
1554         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1555
1556         * configure.ac:
1557         Actually build dlls when cross-compiling with mingw32.
1558         Fixes bug #526247.
1559
1560 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
1561
1562         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1563
1564         * gst/gstpoll.c:
1565         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
1566
1567 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1568
1569         * docs/design/draft-latency.txt:
1570         Fix typo.
1571
1572         * docs/design/part-buffering.txt:
1573         Update design docs with more buffering ideas.
1574
1575 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
1576
1577         * configure.ac:
1578           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
1579
1580 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1581
1582         * configure.ac:
1583           Revert part that belongs to the preset patch.
1584
1585 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1586
1587         * configure.ac:
1588           Add qoutes to the define. Fixes # 525961.
1589
1590 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
1591
1592         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
1593         (gst_file_index_load), (gst_file_index_add_id),
1594         (gst_file_index_get_assoc_entry):
1595         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
1596         (gst_mem_index_free_id), (gst_mem_index_add_id),
1597         (gst_mem_index_index_format):
1598         Use GSlice when possible.
1599
1600 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
1601
1602         * libs/gst/controller/gstinterpolationcontrolsource.c:
1603         (gst_control_point_free),
1604         (gst_interpolation_control_source_set_internal):
1605         Use GSlice for allocating the control points.
1606
1607 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
1608
1609         * plugins/elements/gsttypefindelement.c:
1610         (gst_type_find_element_class_init),
1611         (gst_type_find_element_set_property),
1612         (gst_type_find_element_get_property),
1613         (gst_type_find_element_activate):
1614         * plugins/elements/gsttypefindelement.h:
1615         Cleanup properties.
1616         Fix pad leak when peer query fails.
1617         We can still typefind when the peer returns -1.
1618         Add property to force caps and bypass typefinding. This will be used in
1619         uridecodebin.
1620         API::force-caps
1621
1622 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
1623
1624         * configure.ac:
1625         Require GLib 2.12.
1626
1627         * gst/glib-compat-private.h:
1628         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
1629         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1630         Unconditionally use GSlice for allocation.
1631
1632         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
1633         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
1634         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
1635         (gst_structure_free):
1636         Use GSlice for allocation.
1637
1638 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
1639
1640         * gst/parse/Makefile.am:
1641         * gst/parse/grammar.tab.pre.c:
1642         * gst/parse/grammar.tab.pre.h:
1643         * gst/parse/lex._gst_parse_yy.pre.c:
1644         Require a new enough flex and bison and remove the parser hacks to use
1645         a pre-regenerated version.
1646
1647 2008-04-01  Julien Moutte  <julien@fluendo.com>
1648
1649         patch by: Jason Zhao <E3423C@motorola.com>
1650
1651         * configure.ac: Add a configure switch to disable option parsing
1652         in gst_init.
1653         Fixes #522882.
1654
1655 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1656
1657         * configure.ac:
1658         * gst/gstregistry.c:
1659           MacOS has plugins under .so or under .dylib. Add detection for MacOS
1660           and handle this case.
1661
1662         * gst/gst.c:
1663           Add a comment here describing, why we stat each plugin and not try to
1664           be smart.
1665
1666 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
1667
1668         * libs/gst/base/gstbasetransform.c:
1669         (gst_base_transform_prepare_output_buffer):
1670         Also unset the GAP flag on buffers if we're working inplace but
1671         the element is not GAP-aware.
1672
1673         Mark a comment as FIXME 0.11.
1674
1675 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1676
1677         * gst/gst.c:
1678           Fix type in log message and add one to ease seeing how long registry
1679           cache verification takes.
1680
1681         * gst/gstregistry.c:
1682           Only test plugin filenames against G_MODULE_SUFFIX.
1683
1684 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1685
1686         * gst/gstdebugutils.c:
1687           Improve handling ghost/proxy pads.
1688
1689 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
1690
1691         * docs/gst/gstreamer-sections.txt:
1692         * gst/gstpad.c:
1693         * gst/gstpad.h:
1694           Expose macro to docs and fix link to it.
1695
1696 2008-03-27  Michael Smith <msmith@fluendo.com>
1697
1698         * libs/gst/dataprotocol/dataprotocol.c:
1699         (gst_dp_packet_from_event_1_0):
1700           When calculating GDP body CRC, use the correct pointer. 
1701           Fixes part of #522401.
1702
1703 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1704
1705         Patch by: Mark Nauwelaerts <manauw at skynet be>
1706
1707         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1708         (gst_identity_init), (gst_identity_prepare_output_buffer):
1709         Identity is not always a passthrough element, it can modify the buffer
1710         timestamps when it has a datarate and operates in single-segment mode.
1711         We therefore make it an in_place filter with a custom buffer prepare
1712         function that conditionally makes the input buffer metadata writable
1713         when needed.  Fixes #523985.
1714
1715 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1716
1717         Patch by: Mark Nauwelaerts <manauw at skynet be>
1718
1719         * gst/gstclock.h:
1720         * libs/gst/base/gstbasesrc.h:
1721         * libs/gst/base/gstbasetransform.c:
1722         * libs/gst/check/gstcheck.c:
1723         Small documentation fixes. Fixes #523978.
1724
1725 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1726
1727         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1728         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
1729         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
1730
1731 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1732
1733         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
1734         (single_queue_underrun_cb):
1735         When trying to make room in the queue, bump the max allowed buffers
1736         bigger than the current amount of buffers in the queue. this fixes some
1737         nasty deadlocks in multiqueue when dynamically changing the limits of
1738         the queue.
1739
1740 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1741
1742         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1743
1744         * gst/gstcaps.c: (gst_caps_set_simple),
1745         (gst_caps_set_simple_valist), (gst_caps_intersect):
1746         * gst/gstcaps.h:
1747         Constify the field gchar * params in set_simple and friends.
1748         Fixes #522326.
1749
1750 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1751
1752         * gst/gstvalue.c: (gst_value_transform_object_string):
1753         Transform a GstObject to a more meaningfull string that includes the
1754         object type in addition to its name.
1755
1756 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
1757
1758         * ChangeLog:
1759           ChangeLog surgery to add bugnumber to commit.
1760
1761 2008-03-23  Rene Stadler  <mail@renestadler.de>
1762
1763         * libs/gst/base/gstbasetransform.c:
1764         (gst_base_transform_set_gap_aware): Fix confusing documentation.
1765
1766 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1767
1768         * gst/gstregistrybinary.c: (gst_registry_binary_write):
1769         Rename constant everywhere and don't forget one occurence.
1770
1771 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1772
1773         * gst/gstregistrybinary.c: (gst_registry_binary_write):
1774         Align memory to the pointer size even if the architecture allows
1775         unaligned memory access. Unaligned memory access usually comes with
1776         performance penality.
1777
1778 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1779
1780         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1781         (gst_registry_binary_check_magic),
1782         (gst_registry_binary_load_pad_template),
1783         (gst_registry_binary_load_feature),
1784         (gst_registry_binary_load_plugin):
1785         Align memory to the pointer size instead of always 32 bit. Fixes
1786         unaligned memory accesses on ia64 and friends.
1787
1788         * gst/gstregistrybinary.h:
1789         Bump binary registry format version for this as it changes the
1790         format on those architectures that don't have unaligned access
1791         and 64 bit pointers.
1792
1793 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1794
1795         * docs/pwg/advanced-dparams.xml:
1796         * docs/pwg/building-props.xml:
1797         * docs/pwg/other-source.xml:
1798         * gst/glib-compat.h:
1799         * gst/gstbin.c: (gst_bin_class_init):
1800         * gst/gstclock.c: (gst_clock_class_init):
1801         * gst/gstindex.c: (gst_index_class_init):
1802         * gst/gstobject.c: (gst_object_class_init):
1803         * gst/gstpad.c: (gst_pad_class_init):
1804         * gst/gstpipeline.c: (gst_pipeline_class_init):
1805         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1806         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1807         * libs/gst/base/gstbasetransform.c:
1808         (gst_base_transform_class_init):
1809         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
1810         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
1811         (_gst_check_fault_handler_sighandler),
1812         (_gst_check_fault_handler_setup), (gst_check_init):
1813         * libs/gst/controller/gstcontroller.c:
1814         (_gst_controller_class_init):
1815         * libs/gst/controller/gstlfocontrolsource.c:
1816         (gst_lfo_control_source_class_init):
1817         * libs/gst/net/gstnetclientclock.c:
1818         (gst_net_client_clock_class_init):
1819         * libs/gst/net/gstnettimeprovider.c:
1820         (gst_net_time_provider_class_init):
1821         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1822         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1823         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1824         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1825         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1826         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1827         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1828         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1829         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
1830         * plugins/elements/gstqueue.c: (gst_queue_class_init):
1831         * plugins/elements/gsttee.c: (gst_tee_class_init):
1832         * plugins/elements/gsttypefindelement.c:
1833         (gst_type_find_element_class_init):
1834         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1835         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
1836         use it everywhere for GParamSpecs that use static strings (i.e. all).
1837         This gives us less memory usage, fewer allocations and thus less
1838         memory defragmentation. Fixes bug #523806.
1839
1840 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1841
1842         * gst/gstminiobject.c: (gst_value_dup_mini_object),
1843         (gst_param_spec_mini_object):
1844         * gst/gstminiobject.h:
1845         * win32/common/libgstreamer.def:
1846         * docs/gst/gstreamer-sections.txt:
1847         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
1848         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
1849         GstParamSpecMiniObject into a public header for this.
1850
1851         This make GstMiniObject a bit more consistent with GObject and makes
1852         it possible to extend the param specs.
1853
1854         gst_value_dup_mini_object is mainly useful for set_property methods.
1855
1856         Fixes bug #523798.
1857
1858         * tools/gst-inspect.c: (print_element_properties_info):
1859         Print something useful for GstMiniObject properties and not just
1860         "unknown type".
1861
1862 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
1863
1864         * docs/gst/gstreamer-sections.txt:
1865         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1866         (gst_registry_binary_check_magic):
1867         * gst/gstregistrybinary.h:
1868         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
1869         and add it to the (private part) of the docs to fix the build.
1870
1871 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
1872
1873         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1874         (gst_registry_binary_check_magic),
1875         (gst_registry_binary_read_cache):
1876         * gst/gstregistrybinary.h:
1877         Don't use GST_MAJORMINOR for the binary registry version. Instead
1878         hardcode a value that must be changed whenever the format changes
1879         in an incompatible way.
1880         Also don't GST_ERROR when there is a version mismatch, just
1881         regenerate the registry silently.
1882
1883 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
1884
1885         * configure.ac:
1886         Back to development - 0.10.18.1
1887
1888 === release 0.10.18 ===
1889
1890 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
1891
1892         * configure.ac:
1893           releasing 0.10.18, "So far away"
1894
1895 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
1896
1897         * configure.ac:
1898         * win32/common/config.h:
1899         0.10.17.4 pre-release
1900
1901 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1902
1903         Patch by: Ole André Vadla Ravnås
1904             <ole dot andre dot ravnas at tandberg dot com>
1905
1906         * docs/gst/gstreamer-sections.txt:
1907         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
1908         (gst_poll_update_winsock_event_mask),
1909         (gst_poll_prepare_winsock_active_sets),
1910         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
1911         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
1912         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
1913         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1914         (gst_poll_check_ctrl_commands), (gst_poll_wait):
1915         * gst/gstpoll.h:
1916         * win32/common/libgstreamer.def:
1917         Add new function gst_poll_fd_ignored() for improved Windows
1918         compatibility.
1919         Various minor fixes and cleanups. See #520808.
1920
1921 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
1922
1923         * gst/gstindex.c: (gst_index_entry_free):
1924         * gst/gstindex.h:
1925           Don't free key strings which we don't own. Fixes crash in
1926           gst_index_entry_free() (#522741).
1927
1928         * tests/check/Makefile.am:
1929         * tests/check/gst/.cvsignore:
1930         * tests/check/gst/gstindex.c: (test_index_entries),
1931           (gst_index_suite), (gst_index):
1932           Add unit test for the above.
1933
1934 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
1935
1936         * win32/common/libgstreamer.def:
1937         Remove symbols that were removed recently. Fixes bug #521740.
1938
1939 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
1940
1941         * configure.ac:
1942         * win32/common/config.h:
1943         0.10.17.3 pre-release
1944
1945 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1946
1947         Patch by: Ole André Vadla Ravnås
1948             <ole dot andre dot ravnas at tandberg dot com>
1949
1950         * docs/gst/gstreamer-sections.txt:
1951         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
1952         (gst_poll_update_winsock_event_mask), (gst_poll_new),
1953         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
1954         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
1955         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
1956         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1957         (gst_poll_fd_can_write), (gst_poll_wait),
1958         (gst_poll_set_controllable), (gst_poll_restart),
1959         (gst_poll_set_flushing):
1960         * gst/gstpoll.h:
1961         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
1962         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
1963         (gst_net_time_provider_new):
1964         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
1965         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
1966         * tests/benchmarks/gstpollstress.c: (main):
1967         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
1968         Remove GstPollMode from the API, it does not make sense to let the
1969         application control this.
1970         Add support for Win32.
1971         Fix the testsuite. Fixes #520671.
1972
1973 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
1974
1975         Patch by: Ole André Vadla Ravnås
1976             <ole dot andre dot ravnas at tandberg dot com>
1977
1978         * gst/gstregistrybinary.c:
1979         Include io.h for write() and close() when building with MSVC. Fixes
1980         bug #520877.
1981
1982 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
1983
1984         * configure.ac:
1985         * gst/gst_private.h:
1986         * gst/gstconfig.h.in:
1987         * gst/gstregistry.h:
1988         * gst/gstregistrybinary.c:
1989         * win32/common/gstconfig.h:
1990           Move registry backend API to private headers where we can. Add
1991           fixme-0.11 comments for the others. Add stubs for the xml backend when
1992           using the binary to ensure they functions exists (they should not be
1993           used though). Fixes #520756.
1994
1995 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
1996
1997         * configure.ac:
1998         * win32/common/config.h:
1999         0.10.17.2 prelease
2000
2001 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2002
2003         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2004         (gst_registry_binary_read_cache):
2005         * gst/gstregistryxml.c: (gst_registry_save):
2006         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
2007         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
2008         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2009         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2010         Switch to using portabl gsize/gssize instead of size_t/ssize_t
2011         Fixes #520152
2012
2013 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2014
2015         * gst/gstminiobject.c:
2016         Import gst_private.h before any other header that might include other
2017         glib headers. This fixes the build on windows using native compilers.
2018
2019 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2020
2021         * win32/common/gstconfig.h:
2022           Add here too, just for completeness.
2023
2024 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2025
2026         * configure.ac:
2027         * gst/gstconfig.h.in:
2028         * gst/gstregistry.h:
2029           Fix broken use of config.h-defined preprocessor directive in a public
2030           header file. Add a corresponding define to gstconfig.h, since we can't
2031           really remove those function declarations from the header file now
2032           (or can we? and why are they there in the first place?).
2033
2034 2008-03-03  Andy Wingo  <wingo@pobox.com>
2035
2036         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
2037         the new warning.
2038
2039         * gst/gststructure.c (gst_structure_from_string): Warn if
2040         structure_from_string didn't consume the whole string, but the
2041         caller did not provide an end pointer.
2042
2043 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
2044
2045         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
2046
2047         * gst/gstregistryxml.c: (read_string), (load_feature):
2048           Strings allocated by libxml2 should be freed with xmlFree(), not
2049           with g_free(). Fixes issues on windows in certain contexts (#519698).
2050
2051 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
2052
2053         * gst/gstinterface.c: (gst_element_implements_interface):
2054           Don't crash if the element supports the interface queried, but does
2055           not implement GstImplementsInterface. Fixes #519584.
2056
2057         * tests/check/Makefile.am:
2058         * tests/check/gst/.cvsignore:
2059         * tests/check/gst/gstinterface.c:
2060           Add unit test for the above.
2061
2062 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2063
2064         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2065         Small doc update.
2066
2067 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2068
2069         * gst/gstsegment.c: (gst_segment_set_seek),
2070         (gst_segment_to_stream_time):
2071         Improve some comment.
2072         Update variables where it makes more sense.
2073
2074 2008-02-29  Rene Stadler  <mail@renestadler.de>
2075
2076         * gst/gsturi.c: (gst_uri_handler_get_protocols):
2077         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
2078         URIHandlers implemented using language bindings.
2079
2080 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2081
2082         * gst/gstelementfactory.h:
2083         * tests/check/elements/fakesink.c:
2084         * tests/check/elements/fakesrc.c: (setup_fakesrc):
2085         * tests/check/elements/fdsrc.c: (setup_fdsrc):
2086         * tests/check/elements/filesink.c: (setup_filesink):
2087         * tests/check/elements/filesrc.c: (setup_filesrc):
2088         * tests/check/elements/identity.c: (setup_identity):
2089         * tests/check/elements/tee.c:
2090         * tests/check/generic/sinks.c:
2091         * tests/check/generic/states.c: (setup), (teardown):
2092         * tests/check/gst/gst.c:
2093         * tests/check/gst/gstabi.c:
2094         * tests/check/gst/gstbin.c:
2095         * tests/check/gst/gstbus.c: (pull_messages):
2096         * tests/check/gst/gstcaps.c:
2097         * tests/check/gst/gstelement.c:
2098         * tests/check/gst/gstevent.c:
2099         * tests/check/gst/gstghostpad.c:
2100         * tests/check/gst/gstiterator.c:
2101         * tests/check/gst/gstmessage.c:
2102         * tests/check/gst/gstminiobject.c: (my_foo_init):
2103         * tests/check/gst/gstobject.c: (thread_name_object),
2104         (gst_object_suite):
2105         * tests/check/gst/gstpad.c:
2106         * tests/check/gst/gstplugin.c:
2107         * tests/check/gst/gstpoll.c:
2108         * tests/check/gst/gstquery.c:
2109         * tests/check/gst/gstsegment.c:
2110         * tests/check/gst/gststructure.c:
2111         * tests/check/gst/gstsystemclock.c:
2112         * tests/check/gst/gsttask.c:
2113         * tests/check/gst/gstutils.c:
2114         * tests/check/gst/gstvalue.c:
2115         * tests/check/gst/struct_hppa.h:
2116         * tests/check/gst/struct_i386.h:
2117         * tests/check/gst/struct_ppc32.h:
2118         * tests/check/gst/struct_ppc64.h:
2119         * tests/check/gst/struct_x86_64.h:
2120         * tests/check/libs/adapter.c: (create_and_fill_adapter):
2121         * tests/check/libs/basesrc.c:
2122         * tests/check/libs/controller.c: (GST_START_TEST):
2123         * tests/check/libs/gdp.c:
2124         * tests/check/libs/gstnetclientclock.c:
2125         * tests/check/libs/gstnettimeprovider.c:
2126         * tests/check/libs/libsabi.c:
2127         * tests/check/libs/struct_hppa.h:
2128         * tests/check/libs/struct_i386.h:
2129         * tests/check/libs/struct_ppc32.h:
2130         * tests/check/libs/struct_ppc64.h:
2131         * tests/check/libs/struct_x86_64.h:
2132         * tests/check/pipelines/cleanup.c:
2133         * tests/check/pipelines/simple-launch-lines.c:
2134         * tests/check/pipelines/stress.c:
2135         And correct even more valid sparse warnings.
2136
2137         * win32/common/libgstreamer.def:
2138         Add gst_poll_fd_init to the list of symbols.
2139
2140 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2141
2142         * gst/gstconfig.h.in:
2143         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
2144         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
2145         (gst_check_log_critical_func), (gst_check_drop_buffers),
2146         (gst_check_element_push_buffer_list):
2147         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
2148         (gst_controller_get_type):
2149         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
2150         (gst_object_get_controller), (gst_object_get_control_source):
2151         * libs/gst/controller/gstinterpolationcontrolsource.c:
2152         (gst_interpolation_control_source_new):
2153         * libs/gst/controller/gstlfocontrolsource.c:
2154         (gst_lfo_control_source_new):
2155         * libs/gst/dataprotocol/dataprotocol.c:
2156         (gst_dp_event_from_packet_0_2):
2157         * plugins/elements/gstfdsrc.c:
2158         * plugins/elements/gstmultiqueue.c:
2159         * plugins/elements/gsttee.c:
2160         * plugins/elements/gsttypefindelement.c:
2161         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
2162         (gst_file_index_add_association):
2163         * plugins/indexers/gstmemindex.c:
2164         * tests/benchmarks/gstpollstress.c: (mess_some_more):
2165         * tests/check/elements/queue.c: (setup_queue):
2166         * tests/check/gst/gstpipeline.c:
2167         * tests/check/libs/collectpads.c: (setup), (teardown),
2168         (gst_collect_pads_suite):
2169         * tests/examples/adapter/adapter_test.c:
2170         * tests/examples/metadata/read-metadata.c: (make_pipeline):
2171         * tests/examples/xml/createxml.c:
2172         * tests/examples/xml/runxml.c:
2173         * tools/gst-inspect.c:
2174         * tools/gst-run.c:
2175         Correct all relevant warnings found by the sparse semantic code
2176         analyzer. This include marking several symbols static, using
2177         NULL instead of 0 for pointers, not using variable sized arrays
2178         on the stack, moving variable declarations to the beginning of
2179         a block and using "foo (void)" instead of "foo ()" for declarations.
2180
2181 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2182
2183         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2184         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2185         Don't reset GstPollFDs, this is not necessary at all.
2186
2187         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2188         (delayed_restart), (delayed_control):
2189         Use GST_POLL_FD_INIT.
2190
2191 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2192
2193         * gst/gstpoll.c: (gst_poll_fd_init):
2194         * gst/gstpoll.h:
2195         Added Since tags.
2196
2197         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2198         Use some more init macros.
2199
2200 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2201
2202         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2203         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2204         Use init macros and functions.
2205
2206 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2207
2208         * docs/gst/gstreamer-sections.txt:
2209         * gst/gstpoll.c: (gst_poll_fd_init):
2210         * gst/gstpoll.h:
2211         Add INIT macro and _init method for initializing the GstPollFD.
2212
2213 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
2214
2215         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
2216         (gst_fd_sink_update_fd):
2217         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2218         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2219         (delayed_restart), (delayed_control):
2220         Initialize some uninitialized variables as spotted by valgrind.
2221
2222 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2223
2224         * tests/benchmarks/Makefile.am:
2225         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
2226         (main):
2227         Add poll stress test.
2228
2229 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2230
2231         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2232
2233         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2234         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
2235         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
2236         * plugins/elements/gstfdsink.h:
2237         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2238         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
2239         (gst_fd_src_unlock_stop), (gst_fd_src_create),
2240         (gst_fd_src_uri_set_uri):
2241         * plugins/elements/gstfdsrc.h:
2242         Port to GstPoll. See #505417.
2243
2244 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
2245
2246         * win32/common/libgstreamer.def:
2247         Add new gst_poll_ symbols to win32 defs.
2248
2249 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2250
2251         * docs/libs/gstreamer-libs-sections.txt:
2252         * libs/gst/net/gstnetclientclock.c:
2253         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
2254         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2255         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2256         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2257         * libs/gst/net/gstnetclientclock.h:
2258         * libs/gst/net/gstnettimeprovider.c:
2259         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
2260         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2261         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2262         (gst_net_time_provider_new):
2263         * libs/gst/net/gstnettimeprovider.h:
2264         Use a private stuct to not break ABI.
2265
2266 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2267
2268         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2269
2270         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
2271         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2272         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2273         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2274         * libs/gst/net/gstnetclientclock.h:
2275         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
2276         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2277         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2278         (gst_net_time_provider_new):
2279         * libs/gst/net/gstnettimeprovider.h:
2280         Massive code removal and cleanups because of GstPoll.
2281         Fixes #505417.
2282
2283 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2284
2285         * configure.ac:
2286         Add checks for poll, ppoll and pselect.
2287
2288         * docs/gst/gstreamer-docs.sgml:
2289         * docs/gst/gstreamer-sections.txt:
2290         Add docs for GstPoll.
2291
2292         * gst/Makefile.am:
2293         * gst/gst.h:
2294         * gst/gstpoll.c: (find_index), (selectable_fds),
2295         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
2296         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
2297         (gst_poll_set_mode), (gst_poll_get_mode),
2298         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
2299         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2300         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
2301         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
2302         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
2303         (gst_poll_fd_can_write), (gst_poll_wait),
2304         (gst_poll_set_controllable), (gst_poll_restart),
2305         (gst_poll_set_flushing):
2306         * gst/gstpoll.h:
2307         Add generic poll abstraction. We ideally don't want to have this in core
2308         here but in glib intead...
2309         This code will be used in various network elements and ultimately for
2310         the nanosecond precision monotonic clock (that's why it's here in core).
2311         It'll allow us to implement cancelable socket operations for windows too.
2312
2313         * tests/check/Makefile.am:
2314         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2315         (delayed_stop), (delayed_restart), (delayed_flush),
2316         (delayed_control), (gst_poll_suite):
2317         Add GstPoll unit test.
2318
2319 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
2320
2321         * gst/gstfilter.c:
2322           Improve documentation of gst_filter_run(). Fixes #518627.
2323
2324 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2325
2326         * docs/README:
2327           Add a few lines about the new 'check-inspected-versions' target.
2328
2329 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2330
2331         * tests/check/gst/gstevent.c:
2332           Add qos to the event test. Rename tcase/tsuite; is not only about
2333           custom events.
2334
2335 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2336
2337         * plugins/elements/gstqueue.c:
2338           Ensure that buffer metadata is writeable, before modifying. Spotted by
2339           Mike.
2340
2341 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
2342
2343         * plugins/elements/gstqueue.c:
2344         * plugins/elements/gstqueue.h:
2345           When dropping buffers in leaky modes, mark next buffers we sent as
2346           DISCONT.
2347
2348 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2349
2350         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
2351           Also, if mmap() fails that would be a READ error, not OPEN_READ.
2352
2353 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2354
2355         * plugins/elements/Makefile.am:
2356         * plugins/elements/gstbufferstore.c:
2357         * plugins/elements/gstbufferstore.h:
2358         * plugins/elements/gsttypefindelement.h:
2359           Remove GstBufferStore, no idea why we were still building it.
2360           It's not used anywhere and superseded by GstAdapter.
2361
2362         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2363           (gst_file_src_create_mmap):
2364         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
2365           Printf format fixes for 64-bit integers.
2366
2367 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2368
2369         * configure.ac:
2370         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
2371         We're not in 0.8 times anymore.
2372
2373 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
2374
2375         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
2376         (gst_check_element_push_buffer_list):
2377         * libs/gst/check/gstcheck.h:
2378         Make the declaration in the header for
2379         gst_check_element_push_buffer_list match the implementation.
2380
2381         Fix up spelling, grammar and wording of the documentation in a few
2382         places, and add the Since keyword to new API functions.
2383         Use g_list_delete_link instead of g_list_remove in
2384         gst_check_drop_buffers, since it's immeasurably more efficient.
2385
2386         * tests/check/elements/fakesrc.c: (GST_START_TEST):
2387         Use new gst_check_drop_buffers function where appropriate.
2388
2389         * win32/common/libgstbase.def:
2390         * win32/common/libgstreamer.def:
2391         Add new symbols gst_collect_pads_take_buffer, 
2392         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
2393         exports
2394
2395         Changelog surgery to add API keyword to new gst_check API.
2396
2397 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2398
2399         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
2400         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
2401         Update pre-generated flex files with flex 2.3.34.
2402
2403 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2404
2405         * gst/gstminiobject.c:
2406           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
2407           friendly to subclasses and not require them to know all internals
2408           of their parent class.
2409
2410 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2411
2412         * docs/libs/gstreamer-libs-sections.txt:
2413         * libs/gst/base/gstcollectpads.c:
2414         * libs/gst/base/gstcollectpads.h:
2415           Add sub-buffer functions to collectpads. Fixes #516187.
2416           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
2417
2418 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2419
2420         * gst/gstbuffer.c:
2421           Copy selected buffer-flags when creating subbuffers.
2422           Fixes #516395.
2423
2424 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
2425
2426         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
2427         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
2428         * gst/gstmessage.c: (gst_message_class_init),
2429         (gst_message_finalize):
2430         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
2431         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
2432         (gst_mmap_buffer_finalize):
2433         Properly chain up finalize functions to the parent class.
2434
2435 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
2436
2437         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
2438
2439         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
2440         (gst_index_set_resolver_full):
2441         * gst/gstindex.h:
2442         Add new function with option to dispose of user_data in resolver.
2443         Actually call the dispose function when finalizing the object and not
2444         just when changing the resolver/filter.
2445         API: GstIndex::gst_index_set_resolver_full()
2446
2447         * docs/gst/gstreamer-sections.txt:
2448         Add new function to docs. Fixes #515469.
2449
2450 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
2451
2452         * gst/gstindex.c: (gst_index_finalize):
2453         Chain up finalize to the parent class. Fixes leaking the GstObject
2454         name and other things.
2455
2456 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
2457
2458         * configure.ac:
2459         Make DISABLE_DEPRECATED defined *only* during CVS, not during
2460         pre-releases or releases.
2461
2462         * docs/faq/gst-uninstalled:
2463         Add gst-plugins-gl
2464
2465         * docs/random/release:
2466         Change one of the steps - we only upload core & base to Gnome FTP
2467
2468 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
2469
2470         * gst/gstconfig.h.in:
2471           Add 'id' for example.
2472
2473         * gst/gstpad.c:
2474         * gst/gstutils.c:
2475         * plugins/elements/gstfdsink.c:
2476           Link to signals. Doc and comment fixes.
2477
2478 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
2479
2480         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
2481         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
2482           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
2483           unused and unimplemented; finally, it is plugin features, not
2484           plugins, that have ranks.
2485           
2486 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2487
2488         * gst/gstpluginfeature.h:
2489           Clarify GstRank range docs.
2490
2491 2008-02-05  David Schleef  <ds@schleef.org>
2492
2493         * gst/gst.c: Add a separate gst_deinitialized that prevents
2494           gst_init() from being called after gst_deinit().  Fixes #509559
2495
2496 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2497
2498         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
2499         (gst_bin_class_init):
2500         * gst/gstelement.c: (gst_element_base_class_init),
2501         (gst_element_class_add_pad_template):
2502         * gst/gstpadtemplate.c: (gst_pad_template_init):
2503         * gst/gstpipeline.c: (gst_pipeline_get_type),
2504         (gst_pipeline_base_init), (gst_pipeline_class_init):
2505         * libs/gst/base/gstbasesink.c:
2506         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2507         (gst_base_src_base_init), (gst_base_src_class_init):
2508         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2509         (gst_capsfilter_class_init):
2510         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2511         (gst_fake_sink_class_init):
2512         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2513         (gst_fake_src_class_init):
2514         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2515         (gst_fd_sink_class_init):
2516         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2517         (gst_fd_src_class_init):
2518         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2519         (gst_file_sink_class_init):
2520         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2521         (gst_file_src_class_init):
2522         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2523         (gst_identity_class_init):
2524         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2525         (gst_multi_queue_class_init):
2526         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2527         (gst_queue_class_init):
2528         * plugins/elements/gsttee.c: (gst_tee_base_init),
2529         (gst_tee_class_init):
2530         * plugins/elements/gsttypefindelement.c:
2531         (gst_type_find_element_base_init),
2532         (gst_type_find_element_class_init):
2533         * tests/check/gst/gstelement.c: (gst_element_suite):
2534         Revert previous changes to the behaviour of GstPadTemplates, etc
2535         and the possiblity to call them in class_init as it breaks too
2536         many elements. Reopens bug #491501.
2537
2538         Should be applied again for 0.11, thus added a few FIXME 0.11 at
2539         several places.
2540
2541 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2542
2543         * tools/gst-launch.c:
2544         Dump one graph per pipeline state-change and state change name
2545         (if GST_DEBUG_DUMP_DOT_DIR is set).
2546
2547 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
2548
2549         * gst/gstpad.c:
2550         * tests/check/gst/gstpad.c:
2551         Be sure that we have a new copy of the caps and not
2552         reffed caps from a template
2553
2554 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2555
2556         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2557         * gst/gstpipeline.c: (gst_pipeline_get_type),
2558         (gst_pipeline_class_init):
2559         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2560         (gst_base_sink_class_init):
2561         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2562         (gst_base_src_class_init):
2563         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2564         (gst_base_transform_class_init):
2565         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2566         (gst_collect_pads_class_init):
2567         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
2568         * libs/gst/net/gstnettimeprovider.c:
2569         (gst_net_time_provider_base_init),
2570         (gst_net_time_provider_class_init):
2571         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2572         (gst_capsfilter_class_init):
2573         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2574         (gst_fake_sink_class_init):
2575         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2576         (gst_fake_src_class_init):
2577         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2578         (gst_fd_sink_class_init):
2579         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2580         (gst_fd_src_class_init):
2581         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2582         (gst_file_sink_class_init):
2583         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2584         (gst_file_src_class_init):
2585         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2586         (gst_identity_class_init):
2587         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2588         (gst_multi_queue_class_init):
2589         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2590         (gst_queue_class_init):
2591         * plugins/elements/gsttee.c: (gst_tee_base_init),
2592         (gst_tee_class_init):
2593         * plugins/elements/gsttypefindelement.c:
2594         (gst_type_find_element_base_init),
2595         (gst_type_find_element_class_init):
2596         Don't use base_init where not absolutely necessary. For example it's
2597         not necessary anymore for adding pad templates or setting element
2598         details.
2599
2600         Leave empty base_init functions in several places as GST_BOILERPLATE
2601         still defines and uses them.
2602
2603 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2604
2605         * gst/gstelement.c: (gst_element_base_class_init),
2606         (gst_element_class_add_pad_template):
2607         * gst/gstpadtemplate.c:
2608         Make it possible (and recommended) to set element details and add
2609         pad templates in the class_init functions by copying the details/pad
2610         templates in GstElement's base_init.
2611
2612         Also make it possible to replace existing pad templates by adding
2613         a new one with the same name. This was done in a hackish fashion
2614         in same elements before already.
2615
2616         Don't reference pad templates that are added a second time. A
2617         new pad template has a refcount of one and is not floating anymore
2618         and to be owned by the element's class. Make this more explicit by
2619         mentioning it in the docs of gst_element_class_add_pad_template().
2620
2621         These changes are backwards compatible. Fixes bug #491501.
2622
2623         * tests/check/gst/gstelement.c:
2624         Add unit test for setting element details, adding pad templates and
2625         replacing them in a subclass.
2626
2627 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2628
2629         * tools/gst-inspect.c: (print_interfaces),
2630         (print_element_properties_info), (print_pad_info),
2631         (print_signal_info), (print_element_info):
2632         Fix a few memory leaks.
2633
2634 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2635
2636         * docs/libs/gstreamer-libs-sections.txt:
2637         * libs/gst/check/gstcheck.c:
2638         * libs/gst/check/gstcheck.h:
2639         Add more functions for unit testing: gst_check_drop_buffers,
2640         gst_check_caps_equal, gst_check_element_push_buffer_list,
2641         gst_check_element_push_buffer
2642         API: gst_check_drop_buffers
2643         API: gst_check_caps_equal
2644         API: gst_check_element_push_buffer_list
2645         API: gst_check_element_push_buffer
2646
2647 2008-02-01  Julien Moutte  <julien@fluendo.com>
2648
2649         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
2650         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
2651         (gst_index_finalize), (gst_index_entry_free),
2652         (gst_index_add_association): Fix memory leaks.
2653         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
2654         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
2655         (gst_mem_index_free_format), (gst_mem_index_free_id),
2656         (gst_mem_index_finalize): Fix memory leaks.
2657         * win32/common/config.h: Updated to CVS HEAD.
2658
2659 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
2660
2661         * docs/README:
2662           Some more details about how the plugin docs works.
2663
2664         * docs/plugins/gstreamer-plugins-sections.txt:
2665           Whitespace cleanup.
2666
2667 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
2668
2669         * gst/parse/grammar.tab.pre.c:
2670         * gst/parse/grammar.tab.pre.h:
2671         * gst/parse/grammar.y:
2672         * gst/parse/lex._gst_parse_yy.pre.c:
2673           Add delayed set-property. This allows to set properties on dynamicaly
2674           created objects (pads in videomxer). Fixes #509391.
2675
2676 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2677
2678         * gst/gstutils.c:
2679         Check if caps are not NULL (fix bug #510194)
2680
2681 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2682
2683         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
2684         (gst_base_sink_get_position_paused):
2685         Add fixme regarding EOS in pull mode.
2686         Fix position reporting in PAUSED for negative rates.
2687
2688 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2689
2690         * gst/gstminiobject.c: (gst_mini_object_replace):
2691         When replacing a miniobject, do a quick equality check first so that we
2692         can avoid a ref/unref pair.
2693
2694 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2695
2696         * docs/design/part-synchronisation.txt:
2697         Update some docs.
2698
2699         * docs/plugins/Makefile.am:
2700         * docs/plugins/gstreamer-plugins-docs.sgml:
2701         * docs/plugins/gstreamer-plugins-sections.txt:
2702         * plugins/elements/gstmultiqueue.c:
2703         Add multiqueue to the docs.
2704
2705 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2706
2707         * configure.ac:
2708           Back to CVS
2709
2710 === release 0.10.17 ===
2711
2712 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
2713
2714         * configure.ac:
2715           releasing 0.10.17, "Due Negligence"
2716
2717 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2718
2719         * gst/gstutils.c:
2720         Revert caps != NULL check temporarily for 0.10.17 release.
2721
2722 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
2723
2724         * gst/gstutils.c:
2725         Check if caps are not NULL (fix bug #510194)
2726
2727 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2728
2729         * gst/gstutils.c:
2730         Fix compilation on systems that have posix timers but no
2731         monotonic clock.
2732         Fixes: #512715
2733         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
2734         dot net>
2735
2736 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2737
2738         * tools/gst-inspect.c:
2739         Revert previous commit in preparation for an impromptu 0.10.17 release
2740
2741 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
2742
2743         * tools/gst-inspect.c: (print_interfaces),
2744         (print_element_properties_info), (print_pad_info),
2745         (print_signal_info), (print_element_info):
2746         Fix a few memory leaks.
2747
2748 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
2749
2750         * configure.ac:
2751         Back to CVS
2752
2753 === release 0.10.16 ===
2754
2755 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
2756
2757         * configure.ac:
2758           releasing 0.10.16, "Special Dispensation"
2759
2760 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
2761
2762         * configure.ac:
2763           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
2764           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
2765           not fail when trying to crosscompile on OpenEmbedded (#511750).
2766
2767 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
2768
2769         * docs/manuals.mak:
2770         Use $(MAKE) instead of make to fix the build if GNU make is
2771         called different. Fixes bug #510747.
2772
2773 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2774
2775         * gst/gstplugin.c: (_gst_plugin_initialize):
2776           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
2777           again, which I broke two commits ago when changing the API
2778           of gst_plugin_register_static(): the g_list_foreach() in
2779           _gst_plugin_register_static still assumed the old function
2780           signature and would therefore fail (re-fixes #510187).
2781
2782         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
2783           (_gst_plugin_register_static), (gst_plugin_register_static):
2784           Revert the (technically correct) change to call g_thread_init() from
2785           the pre-main() constructor. This will break programs which call
2786           g_thread_init() without an if (!g_thread_supported()) guard in their
2787           main function. We could just blame it on GLib or the application, but
2788           it's probably best to just avoid this altogether and simply not use
2789           any GLib functions here and use plain old malloc() with a simple
2790           array to store the plugins to register later when gst_init() is
2791           finally called (re-fixes #510187).
2792
2793         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
2794           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
2795           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
2796           (GST_START_TEST), (gst_plugin_suite):
2797           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
2798           works.
2799
2800 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2801
2802         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2803           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
2804           This makes gtk-doc complain, but results in slightly better
2805           compiler errors. The old _gst_plugin_register_static() is
2806           still guarded, so there'll be a compiler warning about that
2807           instead. Fixes #510187 too.
2808
2809 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2810
2811         * gst/gst.c: (init_post):
2812         * gst/gstplugin.c: (_gst_plugin_register_static),
2813           (gst_plugin_register_static), (_gst_plugin_initialize):
2814         * gst/gstplugin.h: (GstPluginFilter):
2815           Change API of gst_plugin_register_static() to not take
2816           a GstPluginDesc, but rather just take all the arguments
2817           in a GstPluginDesc directly. This is more intuitive and
2818           avoids certain mistakes when porting code from
2819           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
2820           Fixes #510187.
2821
2822         * tests/check/gst/gstplugin.c:
2823           Fix up for changed API.
2824
2825 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2826
2827         * docs/faq/legal.xml:
2828           Update FAQ, Totem actually has an exception these days.
2829
2830 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
2831
2832         * win32/common/libgstreamer.def:
2833         Add new API declarations
2834
2835 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
2836
2837         * gst/gstminiobject.c:
2838           Spelling fixes for the API docs.
2839
2840 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
2841
2842         * libs/gst/base/gstbasetransform.c:
2843           Fix long property description for QoS.
2844
2845 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
2846
2847         * gst/gst.c:
2848         _gst_trace_on is already provided by gsttrace.h, no need to declare
2849         it ourselves.
2850
2851         * docs/libs/gstreamer-libs-sections.txt:
2852         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
2853         and remove strange tcase_add_test which is outputting a warning.
2854
2855         * libs/gst/check/gstcheck.c:
2856         * libs/gst/check/gstcheck.h:
2857         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
2858         and define them in gstcheck.c instead of having every .c file whcih
2859         includes gstcheck.h be defining its own copy and relying on symbol
2860         interposing to marry them all, which doesn't work on Solaris.
2861
2862         * tests/check/elements/identity.c: (GST_START_TEST):
2863         Don't define 'buffers' locally, it comes from libgstcheck.
2864
2865         * tests/check/generic/sinks.c: (send_buffer):
2866         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
2867
2868         * tests/check/gst/gststructure.c: (GST_START_TEST):
2869         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
2870         * tests/check/gst/gstutils.c: (GST_START_TEST):
2871         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2872         Add a bunch of casts to make various constants fit the types
2873         they're being assigned to.
2874
2875 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
2876
2877         * gst/gstchildproxy.c:
2878           Improve docs and add some ideas for making this more general-purpose.
2879
2880 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
2881
2882         * gst/gst_private.h: (GST_CAT_TYPES):
2883           Add GST_CAT_TYPES, for consistency, and so that the other
2884           debug categories don't make fun of it. Spotted by Saur on IRC.
2885
2886 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2887
2888         * gst/parse/Makefile.am:
2889           Move types.h from EXTRA_DIST to noinst_HEADERS.
2890
2891 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2892
2893         * autogen.sh:
2894           Add -Wno-portability to the automake parameters to stop warnings
2895           about GNU make extensions being used. We require GNU make in almost
2896           every Makefile anyway.
2897
2898         * configure.ac:
2899           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
2900           at the same time is required for per target flags.
2901
2902 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2903
2904         * gst/gstmacros.h:
2905           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
2906           __GNUC__ is defined before using it.
2907
2908 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2909
2910         * docs/gst/gstreamer-sections.txt:
2911         * gst/gst.c: (init_post):
2912         * gst/gstplugin.c: (_gst_plugin_register_static),
2913           (gst_plugin_register_static), (_gst_plugin_initialize),
2914           (gst_plugin_register_func):
2915         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2916           API: add gst_plugin_register_static() and deprecate
2917           GST_PLUGIN_DEFINE_STATIC, since it's not portable
2918           (#498924).
2919           Also, in _gst_plugin_register_static(), make sure to call
2920           g_thread_init() before calling GLib functions such as
2921           g_list_append() if we're not initialised yet, since that
2922           may lead to random crashes with older GSlice/GLib versions.
2923
2924         * tests/check/gst/gstplugin.c:
2925           Adapt unit test to above changes.
2926
2927 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2928
2929         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
2930         * gst/gstcaps.c: (gst_caps_to_string):
2931         * gst/gststructure.c: (GST_ASCII_IS_STRING),
2932           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
2933           Yet another gratuitous GString micro-optimisation: add a (private)
2934           function that serialises a structure appending to an existing
2935           GString, so that when we serialise caps we don't need to alloc+free
2936           a throwaway GString for each structure (each of which also entailing
2937           multiple reallocs on the way); also use g_string_sized_new() in
2938           various places with an approximate string length to avoid reallocs
2939           within GString. See #500143.
2940
2941 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2942
2943         * gst/gststructure.c: (gst_structure_id_set_value):
2944           Always check UTF-8 conformance of structure strings and not only
2945           if the debugging system is enabled; reasoning: the behaviour of
2946           the actual code shouldn't really change depending on whether the
2947           debugging system is enabled or not (#508291).
2948
2949 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
2950
2951         * Makefile.am:
2952           Remove old coverage target in favour of "make lcov".
2953
2954 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2955
2956         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2957         (gst_base_src_loop):
2958         The start segment for reverse playback goes from start to last_stop.
2959
2960 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2961
2962         Patch by: Peter Kjellerstedt <pkj axis com>
2963
2964         * gst/gstclock.h:
2965         Cast the results from the timeval/spec_to_time macros to what the
2966         docs say it casts to, a GstClockTime. fixes #508175.
2967
2968 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2969
2970         * gst/gstbuffer.c:
2971         Update some comments.
2972
2973         * tools/gst-inspect.c: (print_element_properties_info):
2974         Improve printing of flags.
2975
2976 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2977
2978         * libs/gst/base/gstbasetransform.c:
2979           (gst_base_transform_transform_size):
2980           Print element name with g_warning() if there's a problem
2981           with the unit size.
2982
2983 2008-01-07  David Schleef  <ds@schleef.org>
2984
2985         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
2986
2987         * libs/gst/controller/gstcontroller.h:
2988         * libs/gst/controller/gstcontrolsource.h:
2989         * libs/gst/controller/gstinterpolationcontrolsource.h:
2990         * libs/gst/controller/gstlfocontrolsource.h:
2991         * libs/gst/dataprotocol/dataprotocol.h:
2992           Fix empty prototypes.  Fixes bug #507957.
2993
2994 2008-01-07  David Schleef  <ds@schleef.org>
2995
2996         * docs/faq/dependencies.xml: Fix typo.
2997
2998 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2999
3000         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
3001         (gst_base_src_loop):
3002         Don't update the last_stop position in do_seek, that's the position we
3003         did a seek to.
3004         Read backwards when we have a negative rate.
3005
3006         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
3007         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
3008         (filesrc_suite):
3009         Add check for reverse reading.
3010
3011 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
3012
3013         Patch by: Alexis Ballier <aballier at gentoo org>
3014
3015         * tests/check/gst/gstabi.c:
3016         * tests/check/gst/struct_ppc64.h:
3017         * tests/check/libs/libsabi.c:
3018         * tests/check/libs/struct_ppc64.h:
3019           Decide which header to include based on the userland ABI target
3020           and not the kernel/cpu. Fix up structure sizes of ppc64 header
3021           for 64-bit userland (#503590).  Might need something similar for
3022           x86 too.
3023
3024 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3025
3026         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
3027           Log the reason why fopen fails in addition to the fact that it failed.
3028           
3029 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
3030
3031         * gst/parse/parse.l:
3032         Use "%option never-interactive" to prevent useless calls to isatty()
3033         on every input when parsing. Also use "%option noinput" to not define
3034         the static input/yyinput functions which we don't use anyway. This
3035         removes a compiler warning with gcc 4.3 and saves some bytes in the
3036         library.
3037         
3038         * gst/parse/lex._gst_parse_yy.pre.c:
3039         Regenerated for the above change.
3040
3041 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3042
3043         * gst/gstpad.c: (fixate_value):
3044         Don't crash when trying to fixate and empty list.
3045         Fixes #506643.
3046
3047 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
3048
3049         * docs/faq/gst-uninstalled:
3050         Clarify the comments to make the usage of this script and what it
3051         does easier to understand.
3052
3053 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3054
3055         * tools/gst-plot-timeline.py:
3056         Add more options to gst-plot-timeline
3057
3058 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
3059
3060         * docs/design/part-synchronisation.txt:
3061         Some more info on how the stream_time in GstBaseSink is done.
3062
3063 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
3064
3065         * tests/check/generic/sinks.c: (gst_sinks_suite):
3066           Put back the tcase_set_timeout(), apparently it's needed after
3067           all; fix it up in a way that makes things work with valgrind too.
3068
3069 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3070
3071         * gst/gstdebugutils.c:
3072           Add warning when failed to open file for writing.
3073
3074 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3075
3076         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
3077
3078         * gst/gstvalue.c: (gst_value_is_fixed):
3079           Optimisation: bail out of the loop as early as possible (#500143).
3080
3081 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3082
3083         * gst/gstcaps.c: (gst_caps_to_string):
3084         * gst/gstinfo.c: (gst_debug_construct_term_color):
3085         * gst/gstparse.c: (gst_parse_launchv):
3086         * gst/gstutils.c: (gst_util_dump_mem):
3087         * gst/gstvalue.c: (gst_value_serialize_any_list),
3088           (gst_value_transform_any_list_string):
3089           Bunch of gratuitous nano-optimisations.
3090
3091 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3092
3093         * tests/check/generic/sinks.c: (async_done_func),
3094           (async_done_eos_func):
3095           Fix leak in unit test (bus sync handler must unref the message
3096           if it returns GST_BUS_DROP). Don't fiddle with the default test
3097           timeout, this is smaller than the current preconfigured value
3098           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
3099           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
3100
3101 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3102
3103         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3104
3105         * configure.ac:
3106         Check for stdio_ext.h for the filesink changes.
3107
3108         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
3109         (gst_file_sink_class_init), (gst_file_sink_init),
3110         (gst_file_sink_dispose), (gst_file_sink_set_property),
3111         (gst_file_sink_get_property), (gst_file_sink_open_file),
3112         (gst_file_sink_close_file):
3113         * plugins/elements/gstfilesink.h:
3114         Add two properties to control the buffering mode and size.
3115         API: GstFileSink::buffer-mode
3116         API: GstFileSink::buffer-size
3117         Fixes #500150.
3118
3119 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3120
3121         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
3122         Add some more docs to explain why a FIXME was wrongly added. 
3123
3124 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
3125
3126         * gst/gstobject.c:
3127           Fix typo in the gst_object_{ref,unref} documentation.
3128
3129 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3130
3131         * tests/check/libs/controller.c:
3132         * tests/check/libs/typefindhelper.c:
3133         * tests/check/pipelines/parse-launch.c:
3134           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
3135           going to be deprecated (see #498924).
3136
3137 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3138
3139         * gst/gsttypefind.c: (gst_type_find_register):
3140           Make gst_type_find_register work for static typefind functions,
3141           ie. allow passing plugin == NULL (prerequisite for #498924).
3142
3143         * gst/gstelementfactory.c: (gst_element_register):
3144           Small docs addition.
3145
3146 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3147
3148         * gst/gstpad.c: (gst_pad_dispose):
3149         Really unlink the peer pad instead of setting the peer pointer to NULL
3150         when we dispose the pad.
3151         This correctly calls the unlink functions and makes sure that the peer
3152         does not have a handle to invalid memory. See #504671.
3153
3154         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3155         Add testsuite for above case.
3156
3157 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3158
3159         Patch by: Peter Kjellerstedt <pkj axis com>
3160
3161         * libs/gst/check/gstcheck.h:
3162           Fix detection of the check version we're compiling against (would
3163           otherwise break if check goes v0.10.0); correctly report the
3164           name of the failed test again in case of failure, instead of
3165           just 'tf' (fixes #504499).
3166
3167 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3168
3169         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
3170         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3171         (gst_base_src_loop), (gst_base_src_set_flushing),
3172         (gst_base_src_change_state):
3173         Allow sending EOS to the source to make it send out an EOS event from
3174         the streaming thread.
3175         Update docs and deprecate the old NULL/READY shutdown method.
3176
3177         * tests/check/libs/basesrc.c: (GST_START_TEST),
3178         (gst_basesrc_suite):
3179         Add unit test for controlled shutdown.
3180
3181 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3182
3183         * docs/design/part-synchronisation.txt:
3184         Small updates.
3185
3186         * gst/gstsegment.c: (gst_segment_set_seek),
3187         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3188         (gst_segment_to_running_time):
3189         The seek format can be different from the segment format when the start
3190         and stop values are not to be updated, when we only do a rate change for
3191         example.
3192
3193         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3194         (gst_segment_suite):
3195         Add a testcase for the rate-only seeks, checking that the format is
3196         correctly ignored when start and stop are not updated.
3197
3198 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
3199
3200         Patch by: Matthias Bolte <photon at mail dot upb dot de>
3201
3202         * win32/vs8/grammar.vcproj:
3203         * win32/vs8/libgstcontroller.vcproj:
3204         * win32/vs8/libgstreamer.vcproj:
3205         Fix compilation with VS8 and include some missing files.
3206
3207 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3208
3209         * gst/gsttaglist.c:
3210           Small docs addition: mention that the strings returned by
3211           gst_tag_list_get_string*() are in UTF-8 encoding.
3212
3213 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3214
3215         * Makefile.am:
3216           The check-exports stuff moved to common/win32.mak, so include that.
3217
3218 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3219
3220         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3221         (gst_base_src_perform_seek), (gst_base_src_get_range),
3222         (gst_base_src_set_playing), (gst_base_src_change_state):
3223         Make _wait_playing() not check any variables so that we can call this
3224         function from subclasses. Move the checks elsewhere similar to
3225         _wait_preroll() in basesink.
3226         Add some debugging.
3227         Only signal the LIVE cond when we are going back to PLAYING.
3228
3229 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3230
3231         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
3232           Use g_remove() and g_rename(). Check result of g_rename(), and
3233           don't leak the open file descriptor if we error out when writing.
3234
3235         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
3236           Must check the return value of close() after writing out the new
3237           registry file.  Sometimes write problems such as out-of-diskspace
3238           are only reported when the file is closed and not already during
3239           the write.  This may have caused partial/broken registry files in
3240           some rare circumstances. Should fix #503675.
3241
3242 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
3243
3244         * docs/gst/.cvsignore:
3245         * docs/libs/.cvsignore:
3246         * docs/plugins/.cvsignore:
3247         Ignore files generated by new common/* modifications
3248
3249 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3250
3251         * win32/common/libgstbase.def:
3252           Yes, you can also have a <TAB> if you want.
3253
3254 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3255
3256         * win32/common/libgstbase.def:
3257           Add new basetransform API to win export file.
3258
3259 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3260
3261         * tests/check/gst/gstbin.c:
3262           Adjust the test to the refcount change two days ago.
3263
3264 2007-12-14  David Schleef  <ds@schleef.org>
3265
3266         * docs/faq/getting.xml: Fix typo.
3267
3268 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
3269
3270         * docs/libs/gstreamer-libs-sections.txt:
3271         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3272           (gst_base_transform_prepare_output_buffer),
3273           (gst_base_transform_set_gap_aware):
3274         * libs/gst/base/gstbasetransform.h:
3275           API: Add gst_base_transform_set_gap_aware() to control whether
3276           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
3277           get buffers with this flag at all. Fixes #503231.
3278
3279 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
3280
3281         * libs/gst/base/gstbasesink.c:
3282         * libs/gst/base/gstbasesrc.c:
3283         * libs/gst/base/gstbasetransform.c:
3284           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
3285           thread. Correct log message in gstbasesrc.c.
3286
3287 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3288
3289         * gst/gstutils.c: (element_find_unconnected_pad):
3290           Fix possible compiler warning (#503417).
3291
3292 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3293
3294         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
3295           Don't use GST_CAT_EVENT here for logging, it makes no sense.
3296
3297 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
3298
3299         * tools/gst-inspect.c: (print_element_properties_info):
3300           Add support for GstFraction properties.
3301
3302 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3303
3304         * Makefile.am:
3305           Add check-exports target and run it as part of 'make check'
3306           (see #499140 and #493983).
3307
3308         * gst/gst_private.h:
3309         * gst/gstelementfactory.h:
3310         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
3311         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
3312           (_priv_gst_in_valgrind):
3313         * gst/gstinfo.h: (GstLogFunction):
3314         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
3315           (gst_type_find_register):
3316         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
3317           (gst_type_find_factory_get_type):
3318         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
3319           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
3320           (gst_controller_new_valist), (gst_controller_new_list),
3321           (_gst_controller_dispose), (_gst_controller_class_init):
3322         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
3323         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
3324           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
3325           (gst_object_get_controller), (gst_object_set_controller),
3326           (gst_object_suggest_next_sync), (gst_object_sync_values),
3327           (gst_object_set_control_source), (gst_object_get_control_source),
3328           (gst_object_get_value_arrays), (gst_object_get_value_array),
3329           (gst_object_get_control_rate), (gst_object_set_control_rate):
3330         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
3331         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
3332           Make some functions that should be static static; rename some
3333           private symbols so that they don't get exported; add some FIXME
3334           comments so we can move accidentally exported functions into
3335           our private section in 0.11.
3336
3337         * win32/common/libgstreamer.def:
3338           Add gst_utils_get_timestamp().
3339
3340 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3341
3342         * gst/gstvalue.c:
3343         * gst/gstvalue.h:
3344           Add more missing "Since:" tags to docs.
3345
3346 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3347
3348         * gst/gstutils.c:
3349           Add mising "Since:" to docs.
3350
3351 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3352
3353         * gst/gstplugin.c:
3354           Include "glib-compat-private.h" to fix the build on system with
3355           glib < 2.10. Fixes #503131.
3356
3357 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3358
3359         * gst/gstutils.c:
3360         * gst/gstutils.h:
3361           Actually its not PURE as it gets the time from elsewhere.
3362
3363 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3364
3365         * docs/gst/gstreamer-sections.txt:
3366         * gst/gstclock.h:
3367         * gst/gstdebugutils.c:
3368         * gst/gstinfo.c:
3369         * gst/gstutils.c:
3370         * gst/gstutils.h:
3371         * libs/gst/base/gstbasesink.c:
3372         * tools/gst-launch.c:
3373           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
3374           uses as we don't have HAVE_POSIX_TIMERS in public headers.
3375           Thanks Tim for spotting.
3376           API: gst_util_get_timestamp
3377
3378 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
3379
3380         * configure.ac:
3381           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
3382
3383 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
3384
3385         * gst/gststructure.c: (gst_structure_validate_name),
3386           (gst_structure_new_valist), (gst_structure_parse_value),
3387           (gst_structure_from_string):
3388           Don't crash in _from_string() if the structure name is not valid
3389           (fixes #501560).  Allow structure names to start with a number
3390           again (this apparently broke the ubuntu codec installer).
3391
3392         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
3393           (GST_START_TEST):
3394           Add unit test for the crash; update unit tests for new behaviour.
3395
3396 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
3397
3398         * gst/gstutils.c:
3399         Clarify gst_element_get_compatible_pad() documentation.
3400         Fixes #500919.
3401
3402 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
3403
3404         * tests/check/Makefile.am:
3405           Don't forget to dist {gst,libs}/struct_hppa.h.
3406
3407 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3408
3409         * libs/gst/base/gstbasesink.c:
3410           Use new API to get elapsed time.
3411
3412 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3413
3414         * gst/gstdebugutils.c:
3415         * gst/gstinfo.c:
3416           Fix wrong order of args in GST_CLOCK_DIFF() usage.
3417
3418         * tools/gst-launch.c:
3419           Use new API to get elapsed time.
3420
3421 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3422
3423         * docs/gst/gstreamer-sections.txt:
3424         * gst/gstclock.h:
3425         * gst/gstdebugutils.c:
3426         * gst/gstinfo.c:
3427           Rename new API + ChangeLog surgery to remove old name from last entry..
3428
3429 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3430
3431         * docs/gst/gstreamer-sections.txt:
3432         * gst/gstclock.h:
3433         * gst/gstdebugutils.c:
3434         * gst/gstinfo.c:
3435           Now hide the different clock stuff behind a macro.
3436
3437 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3438
3439         * configure.ac:
3440         * gst/gstdebugutils.c:
3441         * gst/gstinfo.c:
3442           Apply the posix-timer check from #361155. Conditionally use the posix
3443           timer for logging. This gives better timestamp precission, less
3444           overhead and no ntp jitter.
3445
3446 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
3447
3448         * gst/gstminiobject.c: (gst_mini_object_get_type),
3449         (gst_mini_object_class_init), (gst_mini_object_copy_default),
3450         (gst_mini_object_finalize), (gst_mini_object_copy),
3451         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
3452         (gst_mini_object_replace), (param_mini_object_validate),
3453         (gst_param_spec_mini_object_get_type):
3454         Some cleanup and checking against invalid function parameters.
3455
3456 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
3457
3458         * docs/gst/gstreamer-sections.txt:
3459         * gst/gstclock.h:
3460         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3461         (gst_systemclock_suite):
3462         Start merging in the easy bits of #361155, the monotonic clock patch.
3463         This one adds a few handy macros with docs and a testsuite.
3464
3465 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
3466
3467         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
3468         Be a bit smarter when seeking, like, don't try to do a seek when it's
3469         not needed. This avoids errors when the file is not seekable.
3470         Fixes #499771.
3471
3472 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
3473
3474         * docs/gst/gstreamer-docs.sgml:
3475         * docs/gst/gstreamer-sections.txt:
3476         * docs/gst/gstreamer.types.in:
3477         * gst/Makefile.am:
3478         * gst/gst.h:
3479         * gst/gstpreset.c:
3480         * gst/gstpreset.h:
3481         * plugins/elements/gstqueue.c:
3482           Due to popular request remove preset interface again. :-(.
3483
3484 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3485
3486         * tools/gst-inspect.c:
3487           Print 'default value' for enums and flags too.
3488
3489 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3490
3491         * docs/random/ensonic/profiling.txt:
3492           More ideas.
3493
3494         * gst/gstbin.c:
3495           Fix typo and give better log output.
3496
3497         * gst/gstdebugutils.c:
3498         * gst/gstdebugutils.h:
3499           More ideas, make graphs a bit smaller and fix param name in macro.
3500
3501 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3502
3503         * gst/gstpreset.c:
3504           Try harder to use the return value from fgets().
3505
3506 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
3507
3508         * gst/gstpreset.c:
3509           For theses two fgets we handle the error below.
3510
3511 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3512
3513         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
3514         Only send upstream events upstream. Fixes #498746.
3515
3516 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3517
3518         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3519
3520         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3521         (gst_identity_init), (gst_identity_transform_ip),
3522         (gst_identity_set_property), (gst_identity_get_property):
3523         * plugins/elements/gstidentity.h:
3524         Add property to disable handoff signal emission. Fixes #498694.
3525         API: GstIdentity::signal-handoffs
3526
3527 2007-11-21  Julien Moutte  <julien@fluendo.com>
3528
3529         * docs/faq/gst-uninstalled: Yet another missing library for the
3530         uninstalled script (fft)
3531
3532 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
3533
3534         * docs/faq/developing.xml:
3535         Add a question about how to submit new translations.
3536
3537         * docs/random/release:
3538         Update the contact email address for the Translation Project
3539
3540         * plugins/elements/gstfdsrc.c:
3541         The parent_class for fdsrc is pushsrc, not GstElement.
3542
3543 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3544
3545         * gst/gstpreset.c:
3546           Plug a leak and fix saving.
3547
3548 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
3549
3550         * docs/gst/gstreamer-sections.txt:
3551         Add new gst_preset__get_property_names() function to the docs
3552         to fix the build.
3553
3554 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3555
3556         * gst/gstpreset.c:
3557         * gst/gstpreset.h:
3558           Change _get_preset_names API to return a strv with copies. Add
3559           _get_property_names to allow implementations to filter and provide
3560           good default implementation.
3561
3562 2007-11-20  Julien MOUTTE  <julien@moutte.net>
3563
3564         * docs/faq/gst-uninstalled: Add another library to the uninstalled
3565         script (sdp).
3566
3567 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3568
3569         * gst/gstpreset.c:
3570           More cleanups, docs, and TODOs from comments that now slowly come in.
3571
3572 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3573
3574         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
3575         search path.
3576
3577 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3578
3579         * gst/gstpreset.c:
3580           Fix bogus warning and make the property type specific code more
3581           similar.
3582
3583 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3584
3585         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
3586         it build on OS X.
3587
3588 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
3589
3590         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3591         (gst_bin_add_func), (gst_bin_remove_func),
3592         (gst_bin_change_state_func), (gst_bin_continue_func):
3593         Change email, cleanups add some more debug and comments.
3594         Also set bus and clock on new elements when the pipeline was in error.
3595
3596 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
3597
3598         * gst/gstbin.c:
3599         * gst/gstdebugutils.c:
3600           Fix build with --disable-gst-debug. Fixes #497859.
3601           Spotted by Sameer Naik.
3602
3603 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3604
3605         * gst/gstevent.c:
3606           Little documentation improvment.
3607
3608         * gst/gstpreset.c:
3609           More TODO cleanups. Remove c++ comments.
3610
3611         * libs/gst/controller/gstcontroller.c:
3612           Add TODO and use quark from static string.
3613
3614         * tests/check/gst/gstmessage.c:
3615         * tests/check/gst/gststructure.c:
3616           Use quark from static string.
3617
3618 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3619
3620         * gst/gstpreset.c:
3621           Add some comments and TODOs.
3622
3623         * gst/gstpreset.h:
3624           Add padding for future changes.
3625
3626         * plugins/elements/gstqueue.c:
3627           Implement the iface.    
3628
3629 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3630
3631         * docs/gst/gstreamer-docs.sgml:
3632         * docs/gst/gstreamer-sections.txt:
3633         * docs/gst/gstreamer.types.in:
3634         * gst/Makefile.am:
3635         * gst/gst.h:
3636         * gst/gstpreset.c:
3637         * gst/gstpreset.h:
3638           Add the preset interface (Fixes #396779). Do some doc cleanups along.
3639
3640 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
3641
3642         * configure.ac:
3643
3644         Back to CVS
3645
3646 === release 0.10.15 ===
3647
3648 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
3649
3650         * configure.ac:
3651           releasing 0.10.15, "October"
3652
3653 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
3654
3655         * win32/vs6/libgstreamer.dsp:
3656         Convert line endings back to DOS.
3657
3658 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
3659
3660         * docs/design/draft-tagreading.txt:
3661         * docs/random/ensonic/profiling.txt:
3662         Update fast tagreading draft and performance profiling ideas.
3663
3664 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
3665
3666         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
3667         Don't hold the object lock when unreffing a buffer because it could
3668         cause a deadlock when the finalize function wants to grab the object
3669         lock too. Fixes #495133.
3670
3671 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
3672
3673         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
3674         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3675         Also accumulate time correctly when doing reverse playback. Fixes
3676         #488201,
3677         When converting to running and stream time, use default values for
3678         start/stop/time/accum when comparing different formats. Fixes #494245.
3679
3680         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3681         Do running/stream time in TIME format.
3682
3683         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3684         (gst_segment_suite):
3685         2 new unit tests for segment accumulation.
3686
3687 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3688
3689         * gst/gst.c: (init_pre):
3690         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
3691           (_gst_debug_bin_to_dot_file):
3692           Move getenv() back into gst_init, so everyone can live happily
3693           ever after. Make sure the symbol isn't exported though.
3694
3695 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3696
3697         Patch by: Sebastien Moutte  <sebastien moutte net>
3698
3699         * win32/common/gstenumtypes.c:
3700         * win32/common/gstenumtypes.h:
3701           Update enum types.
3702
3703         * win32/vs6/libgstreamer.dsp:
3704           Update vs6 project files (#494343).
3705
3706 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3707
3708         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
3709         (gst_base_src_perform_seek), (gst_base_src_default_event),
3710         (gst_base_src_set_flushing), (gst_base_src_activate_push),
3711         (gst_base_src_activate_pull):
3712         Unify flushing code, remove some old unlock code that is no longer used.
3713         Take the streaming lock when seeking to avoid races. Fixes #492729.
3714         Added some more comments.
3715
3716 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3717
3718         * gst/gst.c: (_gst_disable_segtrap):
3719           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
3720           we can use gst_segtrap_is_enabled() there now that we have that API.
3721           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
3722           to do the getenv here (and export the variable).
3723
3724         * gst/gstdebugutils.c: (debug_dump_element),
3725           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
3726           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
3727
3728         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
3729           (gst_debug_log_default):
3730           Rename _gst_info_start_time to priv_gst_info_start_time so it
3731           doesn't get exported (was never in any header).
3732
3733         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
3734           (gst_plugin_loading_mutex):
3735           Make static mutex gst_plugin_loading_mutex really static (was never
3736           in any header), and use gst_segtrap_is_enabled() instead of
3737           _gst_disable_segtrap.
3738
3739         * gst/gsttrace.c: (_gst_trace_default):
3740           Make local _gst_trace_default static (was never in any header).
3741
3742 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3743
3744         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
3745
3746         * win32/common/libgstbase.def:
3747         * win32/common/libgstcontroller.def:
3748         * win32/common/libgstdataprotocol.def:
3749         * win32/common/libgstnet.def:
3750         * win32/common/libgstreamer.def:
3751           Add more missing symbols, remove some duplicates, and sort
3752           as the 'sort' command sorts it (partially fixes #493983).
3753
3754 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3755
3756         * gst/gstelement.c: (gst_element_set_state_func):
3757         Only change the state cookie if a different state was set on the
3758         element. See #492729.
3759
3760 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3761
3762         * gst/gstvalue.c:
3763           Remove unused and uninitialised type variables that were still
3764           exported for some reason (they were never in any header files
3765           though).
3766
3767 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3768
3769         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3770         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
3771         (gst_base_sink_event), (gst_base_sink_get_position_last),
3772         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3773         (gst_base_sink_change_state):
3774         Don't try to report a 0 position when we don't know, return -1 and FALSE
3775         instead. This mostly happens when we are prerolling.
3776         Make sure we can report the right position before we post the ASYNC_DONE
3777         message so that a message handler can query position without races.
3778
3779         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
3780         (async_done_handoff), (async_done_func), (send_buffer),
3781         (async_done_eos_func), (gst_sinks_suite):
3782         Add two tests for the above.
3783
3784 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3785
3786         * MAINTAINERS:
3787         Update with new email address.
3788
3789         * docs/design/part-TODO.txt:
3790         Add some more info about future pad-block and negotiation changes.
3791
3792         * docs/design/part-buffering.txt:
3793         Add some ideas about buffering reporting.
3794
3795 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
3796
3797         * tests/check/gst/gstobject.c:
3798         Disable silly racy test that always fails on this combination of CPU
3799         and kernel.
3800
3801 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3802
3803         Patch by: Murray Cumming  <murrayc@murrayc.com>
3804
3805         * gst/gstobject.c:
3806           Corrected the registration of the parent-set and parent-unset
3807           signals: The parameter is a GstObject, not a GObject (#493134).
3808
3809 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3810
3811         * gst/gst_private.h:
3812         * gst/gstbuffer.h:
3813         * gst/gstevent.h:
3814         * gst/gstformat.h:
3815         * gst/gstmessage.h:
3816         * gst/gstplugin.h:
3817         * gst/gstquery.h:
3818         * gst/gsttaglist.h:
3819         * gst/gstvalue.h:
3820           Move declaration of private _gst_foo_initialize() functions into
3821           our private header file where they should have been all along.
3822
3823 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3824
3825         * docs/plugins/gstreamer-plugins-sections.txt:
3826         * gst/gstdebugutils.h:
3827         * gst/gstxml.h:
3828         * plugins/elements/gstqueue.c:
3829           gtk-doc fixes; trailing-comma-in-enum fix.
3830
3831 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3832
3833         * gst/gst.c: (gst_deinit):
3834           Clean up on deinit (not the external ones though, doesn't seem to be
3835           needed for some reason).
3836
3837 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3838
3839         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
3840           Remove __declspec(dllimport) for MSVC that was copied over into core
3841           from a plugin, obviously without ever having been tested (note the
3842           single underscore in _declspec in the initial commit), and that doesn't
3843           really make sense.  See #492077.
3844
3845 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3846
3847         * gst/gst.c: (init_post):
3848         * gst/gstevent.c: (_gst_event_initialize):
3849         * gst/gstquery.c: (_gst_query_initialize):
3850         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
3851           g_type_class_ref() other types as well, see #349410 and #64764.
3852
3853         * gst/gstbuffer.c: (_gst_buffer_initialize):
3854         * gst/gstmessage.c: (_gst_message_initialize):
3855           Simplify existing g_type_class_ref().
3856
3857 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3858
3859         * gst/gstformat.c: (_gst_format_initialize):
3860           g_type_class_ref() our GstFormat type to make sure we avoid the
3861           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
3862           bug #64764. Should fix intermittent tee unit test failures (#474823).
3863
3864 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3865
3866         * tests/check/elements/tee.c: (test_num_buffers):
3867           Simplify, simplify, simplify - or not.  Rewrite unit test
3868           not to use gst_parse_launch(); allow N sub-streams. Increasing
3869           the number of sub-streams seems to reproduce #474823 more easily.
3870
3871 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
3872
3873         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
3874
3875         * gst/gsttrace.c:
3876         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3877         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3878         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
3879           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
3880           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
3881           so use _pipe() directly (#492077).
3882
3883         * win32/common/dirent.c: (_treaddir):
3884           Add a couple of casts to make it build without warnings with MSVC.
3885
3886         * win32/common/libgstreamer.def:
3887           Add some more symbols that need to be exported.
3888
3889 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
3890
3891         * tests/examples/metadata/read-metadata.c: (message_loop):
3892           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
3893           arriving in a second or third tag message are added to
3894           the tag list as well.
3895
3896 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
3897
3898         * libs/gst/base/gstbasesrc.c:
3899           Its "Since:" and not "@Since:". And remove an superflous cast.
3900
3901 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
3902
3903         * docs/libs/gstreamer-libs-sections.txt:
3904         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3905         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
3906         (gst_base_sink_get_property), (gst_base_sink_render_object),
3907         (gst_base_sink_preroll_object),
3908         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3909         (gst_base_sink_change_state):
3910         * libs/gst/base/gstbasesink.h:
3911         Add a new last-buffer property that contains the last buffer used in
3912         basesink for preroll or rendering. useful for making snapshots.
3913         API: gst_base_sink_get_last_buffer()
3914         API: GstBaseSink::last-buffer
3915
3916 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
3917
3918         * docs/gst/running.xml:
3919         * gst/gst.c:
3920         * gst/gstdebugutils.c:
3921         * gst/gstdebugutils.h:
3922         * tools/gst-launch.c:
3923           Improve bin graph dumping, by using the envvar to specify a path.
3924           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
3925
3926 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
3927
3928         * plugins/elements/gsttypefindelement.c:
3929           (gst_type_find_element_handle_event),
3930           (gst_type_find_element_activate):
3931           Post special error message if we can't determine the type of a stream
3932           because it's empty.
3933
3934 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
3935
3936         * docs/gst/running.xml:
3937         * gst/gstdebugutils.c:
3938           Document new env-var. Add one log-line after dumpng a graph.
3939
3940 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
3941
3942         * configure.ac:
3943           Ugly hack to put the (recently removed and non-portable, apparently)
3944           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
3945           GNU ld, because without that 'make check' fails miserably on my debian
3946           stable box.  Someone with more knowledge of linker intricacies and
3947           portability issues than me fix this properly please.
3948
3949 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
3950
3951         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3952         Reset last seen position after flushing so that we don't report the old
3953         position anymore.
3954
3955 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3956
3957         * gst/gstelementfactory.c: (gst_element_register):
3958         * gst/gsturi.h:
3959         Patch from Alessandro Decina adding get_type_full and
3960         get_protocols_full private vfuncs to the URIHandler interface
3961         to allow bindings to support creating URI handlers. 
3962         Partially fixes: #339279
3963         API: GstURIHandlerInterface::get_type_full
3964         API: GstURIHandlerInterface::get_protocols_full
3965
3966 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3967
3968         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
3969         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
3970         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
3971         Make it so that pads are considered linked until a buffer is pushed
3972         and discovered otherwise. This avoids problems with decodebin2 hanging
3973         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
3974         case.
3975
3976         Make sure we lock the multiqueue when updating the max-size properties.
3977         
3978         Fix a crash on Solaris in a debug statement in get_request_pad that
3979         passes a NULL string to GST_DEBUG. 
3980
3981         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3982         (run_output_order_test):
3983         Fix the test to allow the first buffer on not-linked pads to come out
3984         of sequence while multiqueue discovers that they are not-linked.
3985
3986 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3987
3988         * configure.ac:
3989         * libs/gst/check/Makefile.am:
3990         Use a custom export symbol regex for libgstcheck, as it needs
3991         to export symbols that don't match the standard GStreamer gst_*
3992         pattern, and  --export-dynamic is not portable (only works on 
3993         GNU ld)
3994
3995         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3996         (gst_check_setup_sink_pad):
3997         Make sure to pass a message parameter to the fail_* macros.
3998
3999         * tests/check/gst/gstinfo.c: (GST_START_TEST):
4000         Fix some compiler warnings.
4001
4002 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
4003
4004         * tests/check/gst/gststructure.c: (test_to_string):
4005           Disable test that checks that white spaces are not allowed
4006           in structure names or field names, since we need to
4007           support that for now for backwards compatibility reasons.
4008
4009 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4010
4011         * docs/gst/gstreamer-sections.txt:
4012         * gst/gsttaglist.c:
4013         * gst/gsttaglist.h:
4014           API: add GST_TAG_ARTIST_SORTNAME
4015           API: add GST_TAG_ALBUM_SORTNAME
4016           API: add GST_TAG_TITLE_SORTNAME
4017           Add tag variants for sorting (#414539).
4018
4019 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4020
4021         * gst/gststructure.c:
4022           Also allow white space for names so we don't break
4023           backwards compatibility.
4024
4025 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
4026
4027         * docs/design/part-TODO.txt:
4028         * docs/design/part-segments.txt:
4029         * docs/design/part-streams.txt:
4030         Small updates.
4031
4032 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4033
4034         * docs/gst/gstreamer-sections.txt:
4035          Fixed documentation from my previous commit (added new API add
4036          gst_value_set_structure(), add gst_value_get_structure() and
4037          GST_VALUE_HOLDS_STRUCTURE).
4038
4039 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
4040
4041         * gst/gstdebugutils.c:
4042           Reflow code to fix uninitialized variable warning.
4043
4044 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4045
4046         * gst/gstcaps.c: (gst_caps_to_string),
4047         (gst_caps_from_string_inplace):
4048         * gst/gststructure.c: (gst_structure_get_abbrs),
4049         (gst_structure_to_string), (gst_structure_from_string):
4050         * gst/gstvalue.c: (gst_value_set_structure),
4051         (gst_value_get_structure), (gst_value_serialize_structure),
4052         (gst_value_deserialize_structure), (_gst_value_initialize):
4053         * gst/gstvalue.h:
4054         * tests/check/gst/gststructure.c: (GST_START_TEST),
4055         (gst_structure_suite):
4056         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4057          Added GstStructure to gst_value_table and its related functions.
4058          Changed gst_structure_to_string to print ';' in the end.
4059          Changed gst_caps_to_string to not print ';' beteween its
4060          fields (structures) anymore and remove the lastes ';' from latest
4061          structure. Now it is possible to have nested structures.
4062          In addition, backward compatibilty is assured by accepting '\0' as
4063          end delimiter. Fixes: #487969.
4064          API: add gst_value_set_structure()
4065          API: add gst_value_get_structure()
4066          API: add GST_VALUE_HOLDS_STRUCTURE
4067
4068 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
4069
4070         * gst/gstbus.c:
4071           When no GSource callback has been set up, tell developer
4072           to use a function that actually exists.
4073
4074 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
4075
4076         * docs/gst/gstreamer-sections.txt:
4077         * gst/Makefile.am:
4078         * gst/gst.c:
4079         * gst/gst.h:
4080         * gst/gstdebugutils.c:
4081         * gst/gstdebugutils.h:
4082         * gst/gstinfo.c:
4083         * gst/gstinfo.h:
4084         * tools/gst-launch.c:
4085           Allow dumping pipelines as dot graphs. Fixes #456573.
4086
4087 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4088
4089         * gst/gststructure.c:
4090           Allow '+' as well, it can be part of media or mime types
4091           such as image/svg+xml.
4092
4093 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4094
4095         * docs/gst/gstreamer-sections.txt:
4096         * gst/gstbus.c:
4097         * gst/gstbus.h:
4098           API: add gst_bus_pop_filtered
4099           API: add gst_bus_timed_pop_filtered
4100           Two new functions for waiting for specific message types on the
4101           bus for a specified amount of time without iterating any main
4102           loops or main contexts.
4103
4104         * tests/check/gst/gstbus.c:
4105           Some tests for the new functions.
4106
4107 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4108
4109         * docs/libs/gstreamer-libs-sections.txt:
4110           Make gtk-doc ignore stuff it should ignore.
4111
4112 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4113
4114         * libs/gst/check/gstcheck.c:
4115         * libs/gst/check/gstcheck.h:
4116           Allow runtime selection of unit tests to run via the GST_CHECKS
4117           environment variable (test case function names, comma-separated).
4118
4119 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4120
4121         * gst/gststructure.c:
4122         * tests/check/gst/gststructure.c:
4123           Revert serialisation change and constrain structure-names after
4124           consensus on irc. Update api documentation to reflect the change.
4125
4126 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4127
4128         * gst/gststructure.c:
4129           Improve serialization and fix tests.
4130
4131         * tests/check/gst/gststructure.c:
4132           Add another test that covers why I actually did the previous structure
4133           change.
4134
4135 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4136
4137         * tools/gst-inspect.c: (print_element_info):
4138         Don't crash when inspecting an element.
4139
4140 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4141
4142         * tests/check/gst/gststructure.c:
4143           Add unit test for escaping of structure name when serialising
4144           and deserialising to/from strings.
4145
4146 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4147
4148         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4149         (gst_single_queue_new):
4150         * plugins/elements/gstqueue.c: (gst_queue_init),
4151         (gst_queue_push_one):
4152         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
4153         upstream is tricked into thinking it can suggest a format downstream
4154         while downstream does not support that format. The real problem is that
4155         core calls acceptcaps when pushing a buffer with new caps, for which we
4156         do a little workaround by setting the caps on the srcpad ourselves
4157         before pushing the buffer (until this is figured out). Fixes #486758.
4158
4159 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4160
4161         * gst/gststructure.c:
4162         * gst/gstvalue.c:
4163           Add some more comments and debug output. Quote structure name to fix
4164           deserialisation of some strings.
4165
4166 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4167
4168         * gst/gstbuffer.h:
4169           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
4170           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
4171
4172 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4173
4174         * tools/gst-inspect.c:
4175           Save approx. 400 1 byte allocs when printing. Use API to acces element
4176           details.
4177
4178         * tools/gst-run.c:
4179           Avoid a strdup.
4180
4181         * tools/gst-xmlinspect.c:
4182           Use API to acces element details.
4183
4184 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4185
4186         * gst/gstinfo.c:
4187           Fix some spelling errors.
4188
4189 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
4190
4191         * gst/gstbin.c: (bin_handle_async_done):
4192         Correctly set the next state if all of our async children commited their
4193         state. This makes sure we can actually cancel the state change in
4194         progress. Fixes a regression in Rhythmbox when seeking.
4195
4196 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4197
4198         * gst/gstbin.c:
4199           Don't shadow local variable.
4200
4201         * gst/gstinfo.c:
4202           Don't shadow global function name.
4203
4204 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4205
4206         * gst/gstelementfactory.c:
4207         * gst/gstpluginfeature.c:
4208         * gst/gstpluginfeature.h:
4209         * gst/gstregistrybinary.c:
4210         * gst/gstregistryxml.c:
4211         * gst/gsttypefind.c:
4212           Use already-interned string for the private GstPluginFeature
4213           plugin_name field.
4214
4215 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4216
4217         * docs/libs/gstreamer-libs-sections.txt:
4218           Add new API to docs; fixes the build.
4219
4220 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
4221         
4222         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
4223
4224         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
4225         (gst_base_sink_event):
4226         * libs/gst/base/gstbasesink.h:
4227         Add function to wait for EOS, subclasses can use this to correctly wait
4228         for devices to drain before performing the EOS logic. Fixes #485343.
4229         API: gst_base_sink_wait_eos()
4230
4231 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4232
4233         * gst/gstplugin.h:
4234           Cast description string constants in GST_PLUGIN_DEFINE macros
4235           to a (gchar*) to make C++ code using these macros compile
4236           without warning with g++-4.2 (see #462737).  Even if slightly
4237           ugly, this seems preferable to putting the description strings
4238           into the GLib quark table or making the structure member a
4239           const gchar * and doing casts in core code that allocs and
4240           frees these strings, or requiring a cast in the C++ code.
4241
4242 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4243
4244         * gst/gstinfo.h:
4245           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
4246           to print the entire class/function signature into the log
4247           file for C++ code.  This only affects C++ code, for C code
4248           everything remains the same.
4249
4250 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
4251
4252         * gst/gstbin.c: (remove_from_queue):
4253         Work around a problem with pipelines containing (semi)loops until a
4254         proper, more complicated solution is ready. See #475455.
4255
4256 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4257
4258         * gst/gstplugin.c:
4259         * gst/gstplugin.h:
4260         * gst/gstregistrybinary.c:
4261         * gst/gstregistryxml.c:
4262           Put more strings into the GLib quark table. No need to keep
4263           a hundred-something copies of identical version strings,
4264           license strings, package name strings and package origin
4265           strings around. 
4266
4267 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4268
4269         * docs/manual/advanced-dataaccess.xml:
4270           Don't imply that it's okay to unconditionally change
4271           buffer data or buffer metadata in a pad probe callback,
4272           and a bunch of other comments. Fixes #430031.
4273
4274 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4275
4276         * win32/common/gstenumtypes.c:
4277         * win32/common/gstenumtypes.h:
4278         * win32/common/gstversion.h:
4279           Update generated files.
4280
4281 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4282
4283         * docs/manual/advanced-autoplugging.xml:
4284           Prefix section with broken code with a warning (see #342432).
4285
4286 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4287
4288         * docs/manual/appendix-integration.xml:
4289         * docs/manual/basics-init.xml:
4290           Call g_thread_init() before g_option_context_new() to
4291           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
4292
4293 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4294
4295         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4296         (gst_base_sink_queue_object_unlocked),
4297         (gst_base_sink_queue_object), (gst_base_sink_event),
4298         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
4299         When we received EOS and are waiting for when to post the EOS message,
4300         our state is prerolled and we should not return ASYNC.
4301         Reorganize some code paths to implement this behavior.
4302
4303         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4304         (gst_sinks_suite):
4305         Add unit test to verify above EOS fix.
4306
4307 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4308
4309         * plugins/elements/gsttypefindelement.c:
4310         (gst_type_find_element_have_type), (gst_type_find_element_init),
4311         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
4312         Move detecting the input caps of the sinkpad to the setcaps function.
4313         This allows us to update the output caps when we receive new input caps
4314         instead of always using the first detected caps.
4315
4316 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4317
4318         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4319         (gst_base_sink_get_position):
4320         Don't try to preroll non-async elements after a flush.
4321         Subtract latency form clock times when reporting position.
4322
4323 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4324
4325         * gst/gstpad.c: (gst_pad_pause_task):
4326         * gst/gstutils.c:
4327         Small comment and documentation update.
4328
4329 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4330
4331         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4332         (gst_base_src_set_live), (gst_base_src_is_live),
4333         (gst_base_src_query_latency), (gst_base_src_perform_seek),
4334         (gst_base_src_default_event), (gst_base_src_wait),
4335         (gst_base_src_do_sync), (gst_base_src_get_range),
4336         (gst_base_src_pad_get_range), (gst_base_src_loop),
4337         (gst_base_src_unlock), (gst_base_src_unlock_stop),
4338         (gst_base_src_set_flushing), (gst_base_src_set_playing),
4339         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4340         (gst_base_src_change_state):
4341         Rework the locking of basesrc in a similar fashion to basesink. We
4342         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
4343         us to handle live sources and semi live ones much better.
4344         Simplify flushing.
4345         Fix unlocking when seeking, shutting down and pausing in live sources.
4346
4347 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4348
4349         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
4350         Fix compilation again.
4351
4352 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4353
4354         * gst/gstelement.c:
4355           Use meaningful categories for the logs to clean the default one.
4356
4357 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4358
4359         * tests/check/pipelines/cleanup.c:
4360           Print message name and not just number.
4361
4362 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4363
4364         * docs/design/draft-tagreading.txt:
4365           Add some more thoughts.
4366
4367 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4368
4369         * tests/check/pipelines/simple-launch-lines.c:
4370           Print message name and not just number.
4371
4372 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4373
4374         * libs/gst/base/gsttypefindhelper.c:
4375           Speedup typefinding. This is work in progress (see #459862).
4376
4377 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4378
4379         * gst/gstplugin.c:
4380           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
4381           Spotted by Josep Torra Valles <josep@fluendo.com>.
4382
4383 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
4384
4385         * gst/gstclock.h:
4386           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
4387           field has moved to GstObject.
4388
4389 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
4390
4391         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
4392         (gst_base_src_get_range), (gst_base_src_change_state):
4393         Call unlock for live sources so that they can't get stuck in _create and
4394         produce a buffer before they are set back to PLAYING.
4395
4396 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
4397
4398         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4399         (gst_queue_locked_dequeue):
4400         Comment the segment-related code... in the PROPER function.
4401         See #482147 and my commit from yesterday.
4402
4403 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
4404
4405         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4406         Also initialize the counter that calculates the first timestamp on a
4407         buffer correctly for non-live sources.
4408
4409 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
4410
4411         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
4412         Disable code that's breaking the current-time-level reporting.
4413         See #482147
4414
4415 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
4416
4417         * docs/gst/gstreamer-sections.txt:
4418         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
4419         as they shouldn't show up. Fixes the docs build.
4420
4421 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
4422         
4423         * gst/gstinfo.h:
4424         Add an explicit variable importation needed on VS6 (only for MSC_VER)
4425         Define M_PI which is used in files which are including gstinfo.h. 
4426         VS6 includes doesn't define it.
4427         * win32/common/libgstbase.def:
4428         * win32/common/libgstcontroller.def:
4429         * win32/common/libgstreamer.def:
4430         Add new exported functions and variables.
4431         * win32/vs6/libgstcontroller.dsp:
4432         * win32/vs6/libgstreamer.dsp:
4433         Update the list of files to build.
4434         
4435 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4436
4437         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4438
4439         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
4440         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
4441         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
4442         Improve debugging. Fixes #480858.
4443
4444 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4445
4446         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4447
4448         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4449         First patch of code cleanups, use the macros and right arguments in the
4450         macros to signal and lock the queue. See #480858.
4451
4452 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
4453
4454         * gst/gstbus.c: (poll_func):
4455         Improve debugging when dealing with _poll().
4456
4457 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4458
4459         * gst/gstregistryxml.c:
4460           Fix memory leak I introduced a few days ago.
4461
4462 2007-09-26  Michael Smith <msmith@fluendo.com>
4463
4464         * gst/gstbuffer.c: (gst_buffer_finalize):
4465           Make it once again possible to free GstBuffers in the default
4466           build.
4467           The poisoning scribbles on parts of the miniobject we need in
4468           order to free it.
4469           Fixes #480341
4470
4471 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4472
4473         * docs/gst/gstreamer-sections.txt:
4474         * gst/gsttaglist.c:
4475         * gst/gsttaglist.h:
4476         API: add GST_TAG_COMPOSER, fixes #459809.
4477
4478 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
4479
4480         * gst/gstplugin.c:
4481         * gst/gstplugin.h:
4482         Add the 3-clause BSD license and the MIT/X11 license to the license
4483         list. Fixes #479784.
4484
4485 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4486
4487         * docs/faq/getting.xml:
4488           Add Q+A about different GStreamer versions (#364056).
4489
4490 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4491
4492         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4493         (gst_base_sink_event), (gst_base_sink_change_state):
4494         Return correct gboolean from query function.
4495
4496 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4497
4498         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4499         (gst_base_sink_event), (gst_base_sink_query),
4500         (gst_base_sink_change_state):
4501         Simplify latency query.
4502         When not synchronizing, we can report latency without querying the peer
4503         element.
4504
4505 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4506
4507         * gst/gstobject.h:
4508         * gst/gstvalue.c:
4509         Fix small typos in the docs.
4510
4511 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4512
4513         * docs/design/draft-latency.txt:
4514         * docs/design/draft-push-pull.txt:
4515         * docs/design/draft-tagreading.txt:
4516         * docs/design/part-MT-refcounting.txt:
4517         * docs/design/part-activation.txt:
4518         * docs/design/part-block.txt:
4519         * docs/design/part-element-source.txt:
4520         * docs/design/part-events.txt:
4521         * docs/design/part-gstbin.txt:
4522         * docs/design/part-gstelement.txt:
4523         * docs/design/part-gstobject.txt:
4524         * docs/design/part-gstpipeline.txt:
4525         * docs/design/part-messages.txt:
4526         * docs/design/part-preroll.txt:
4527         * docs/design/part-push-pull.txt:
4528         * docs/design/part-qos.txt:
4529         * docs/design/part-query.txt:
4530         * docs/design/part-scheduling.txt:
4531         * docs/design/part-seeking.txt:
4532         * docs/design/part-segments.txt:
4533         * docs/design/part-states.txt:
4534         Documentation updates and typo fixes.
4535
4536 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4537
4538         * plugins/elements/gstfakesink.c:
4539           Add some debug text to error message to indicate that
4540           we errored out on request.
4541
4542         * tools/gst-launch.c:
4543           When the state change to PLAYING fails, check for an
4544           error message on the bus and print it.
4545
4546 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4547
4548         translated by: Jorge González González <aloriel@gmail.com>
4549
4550         * po/LINGUAS:
4551         * po/es.po:
4552           Added Spanish translation.
4553
4554 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
4555
4556         * plugins/elements/gstqueue.c: (gst_queue_push_one):
4557         Fix printf arguments.
4558
4559 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4560
4561         * tests/check/generic/states.c:
4562           Improved state change unit test.
4563
4564 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4565
4566         * gst/gstbin.h:
4567           Move priv to the right place.
4568
4569         * gst/gstsystemclock.c:
4570           Add FIXME: and improve log.
4571
4572         * tests/check/Makefile.am:
4573         * tests/examples/manual/Makefile.am:
4574           Work with all types of registries.
4575
4576 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
4577
4578         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4579         Don't unref the event after pushing it. Fixes #478401.
4580
4581 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4582
4583         * .cvsignore:
4584         * tests/examples/manual/.cvsignore:
4585           Ignore registries in any format.
4586
4587 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4588
4589         * gst/glib-compat-private.h:
4590           Add compatibility macro for g_intern_string() for
4591           GLib-2.8 (any reason we can't just bump the
4592           requirement to at least 2.10?)
4593
4594         * gst/gstpadtemplate.h:
4595         * gst/gstelementfactory.c:
4596         * gst/gstregistryxml.c:
4597         * gst/gstregistrybinary.c:
4598           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
4599           up the internal code accordingly.  This shouldn't be a problem, since
4600           there is no reason external code could ever assume the string in such
4601           a structure is dynamically allocated unless it did that itself;  the
4602           use of g_strdup() is private to element factories.  The new code also
4603           saves some memory by putting pad template name strings into the GLib
4604           quark table instead of allocating them dynamically.
4605           Declaring this field constant fixes warnings with g++-4.2 when using
4606           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
4607
4608 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4609
4610         * gst/gstelementfactory.c:
4611           Release static caps. Fixes #475723.
4612
4613 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
4614
4615         * gst/gstinfo.c:
4616         * gst/gstinfo.h:
4617           Make some internal API take const gchar * instead of just
4618           gchar * to avoid compiler warnings with g++-4.2.2 when
4619           passing string constants (partially fixes #478092).
4620
4621 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
4622
4623         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
4624         A latency query fails when one of the sinks fail.
4625
4626         * gst/gstelement.c: (gst_element_set_base_time):
4627         Improve debugging.
4628
4629 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
4630
4631         * gst/gstbin.c: (gst_bin_continue_func):
4632         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4633         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
4634         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
4635
4636         Fix minor compilation warnings shown with Forte.
4637
4638 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
4639
4640         * plugins/elements/gstqueue.c: (apply_buffer),
4641         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
4642         Measure queue level based on the diff between head and tail timestamps
4643         even when pushing the first buffer.
4644
4645 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4646
4647         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4648         (gst_base_sink_event), (gst_base_sink_change_state):
4649         Sinks that don't preroll can always be queried for the latency.
4650         Don't post ASYNC start when we are not async.
4651
4652 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4653
4654         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4655         (gst_queue_handle_sink_event), (gst_queue_chain),
4656         (gst_queue_push_one), (gst_queue_handle_src_query),
4657         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
4658         * plugins/elements/gstqueue.h:
4659         When downstream returns UNEXPECTED from pushing a buffer, don't try to
4660         push more buffers but allow pushing of EOS and NEWSEGMENT.
4661         Add some more debug info here and there. Fixes #476514.
4662
4663 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4664
4665         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4666         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
4667         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4668         (gst_base_sink_set_flushing), (gst_base_sink_query),
4669         (gst_base_sink_change_state):
4670         Latency query is allowed after we are prerolled. Introduce a new flag
4671         for this and stop abusing other variables.
4672
4673 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4674
4675         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4676         Push OOB events downstream when we get them in send_event. This allows
4677         the application to insert events in the pipeline.
4678         Add some more comments.
4679
4680 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4681
4682         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
4683         (do_bin_latency), (gst_bin_change_state_func):
4684         * gst/gstpipeline.c: (gst_pipeline_change_state):
4685         Move latency query from GstPipeline to GstBin so that we can also
4686         use it when async-handling is enabled on bins.
4687
4688 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4689
4690         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4691         (gst_base_src_do_sync), (gst_base_src_change_state):
4692         Update docs.
4693         Clean up the timestamping and syncing code for pseudo live sources.
4694
4695 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
4696
4697         Patch by: Steve Fink  <sphink gmail com>
4698
4699         * docs/manual/appendix-checklist.xml:
4700           Mention less -R switch in the section about debug output (#474055).
4701
4702 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4703
4704         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4705         Queue can latency to the pipeline up to the configured max size in time.
4706         Report this fact in the latency query.
4707
4708 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4709
4710         Patch by: Sebastien Moutte <sebastien at moutte dot net>
4711
4712         * libs/gst/controller/gstinterpolation.c:
4713         * libs/gst/controller/gstlfocontrolsource.c:
4714         Use gst_guint64_to_gdouble() when converting from a uint64 or
4715         GstClockTime to double to fix the build on win32. Fixes #474371.
4716
4717 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4718
4719         * gst/gstbuffer.c: (gst_buffer_finalize):
4720         Implement poisoning for GstBuffer if --enable-poisoning is specified.
4721         When finalizing a buffer the complete struct is filled with 0xff,
4722         thus making a use of the buffer after the final unref impossible.
4723
4724 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4725
4726         * tests/check/libs/controller.c: (GST_START_TEST):
4727         Use fail_unless_equals_int(a, b) instead of
4728         fail_unless_equals (a == b) to get better output on failures.
4729
4730 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
4731
4732         * tests/check/gst/gsturi.c:
4733           Also check for the other file URI variant on win32.
4734
4735 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
4736
4737         * gst/gsturi.c: (gst_uri_get_location):
4738           If there's no hostname, we want to return 'c:/foo/bar.txt'
4739           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
4740
4741         * tests/check/gst/gsturi.c:
4742           Unit test for the above and a few more things.
4743
4744 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
4745
4746         * docs/design/part-live-source.txt:
4747         Add docs on how live sources should timestamp.
4748
4749         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4750         Add some more debug info.
4751         For subclasses that are live and like to sync, add aditional startup
4752         latency to sync time and timestamps so that we timstamp according to the
4753         design doc.
4754
4755 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
4756
4757         * gst/gstbuffer.c:
4758           Also do a g_type_class_ref() for the subbuffer type in
4759           the init function.
4760
4761 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
4762
4763         * docs/gst/gstreamer-sections.txt:
4764         * gst/gstpad.c: (gst_pad_peer_query):
4765         * gst/gstpad.h:
4766         Add function to perform a query on the peer of a pad.
4767         API: gst_pad_peer_query()
4768
4769 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
4770
4771         * tests/check/gst/gstsystemclock.c:
4772           Cleanup the test a little (use gst-logging and not g_message). Improve
4773           test to check if a wait reached the target.
4774
4775 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
4776
4777         * docs/libs/gstreamer-libs-sections.txt:
4778           Add new API to docs and fix the build.
4779
4780 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
4781
4782         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4783         (gst_base_src_init), (gst_base_src_set_do_timestamp),
4784         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
4785         (gst_base_src_get_property), (gst_base_src_do_sync):
4786         * libs/gst/base/gstbasesrc.h:
4787         Add property to make the basesrc timestamp buffers based on the current
4788         running time.
4789         API: GstBaseSrc::do-timestamp
4790         API: gst_base_src_set_do_timestamp()
4791         API: gst_base_src_get_do_timestamp()
4792
4793 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
4794
4795         * docs/random/release:
4796           Really make sure translations are up-to-date before
4797           a release (#465010).
4798
4799 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
4800
4801         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4802         Always destroy the timer, also in error cases.
4803
4804 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
4805
4806         * docs/manual/highlevel-xml.xml:
4807         Fix XML example code. Fixes #472714.
4808
4809 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
4810
4811         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4812         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4813         (gst_base_sink_query):
4814         Protect eos and have_preroll with the OBJECT lock so we don't need to
4815         take the PREROLL lock when querying the latency. Fixes #473846.
4816
4817 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
4818
4819         * gst/gstelement.c:
4820           Give some log-messages a category.
4821
4822 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
4823
4824         * gst/gststructure.c:
4825         (gst_structure_fixate_field_nearest_fraction):
4826         Fix fraction list fixation code. Take the fraction with the smallest
4827         difference with the target instead of the first one in the list.
4828
4829         * tests/check/gst/gststructure.c: (GST_START_TEST),
4830         (gst_structure_suite):
4831         Added test to verify correct fraction list fixation behaviour.
4832
4833 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
4834
4835         * win32/common/libgstreamer.def:
4836           Export gst_bus_add_signal_watch too.
4837
4838 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
4839
4840         * docs/libs/gstreamer-libs-sections.txt:
4841         Add new methods to docs.
4842
4843         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4844         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
4845         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
4846         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
4847         * libs/gst/base/gstbasesink.h:
4848         Add ts-offset property to fine-tune the synchronisation.
4849         API: GstBaseSink::ts-offset property
4850         API: gst_base_sink_set_ts_offset()
4851         API: gst_base_sink_get_ts_offset()
4852
4853 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
4854
4855         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4856         (gst_base_sink_init), (gst_base_sink_set_sync),
4857         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4858         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
4859         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
4860         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
4861         (gst_base_sink_get_property), (gst_base_sink_change_state):
4862         * libs/gst/base/gstbasesink.h:
4863         Add async property to instruct the sink never to inform the parent about
4864         ASYNC state changes, update docs.
4865         Check argument with g_return_* for the public functions.
4866         API: GstBaseSink::async property
4867         API: gst_base_sink_set_async_enabled()
4868         API: gst_base_sink_is_async_enabled()
4869
4870 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
4871
4872         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
4873         Improve debugging.
4874
4875         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4876         (gst_base_src_default_query), (gst_base_src_wait),
4877         (gst_base_src_do_sync), (gst_base_src_change_state):
4878         Rearrange some code so that we can add support for measuring the 
4879         startup latency.
4880
4881 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
4882
4883         * docs/random/ensonic/dynlink.txt:
4884           More thoughs on this.
4885
4886         * plugins/elements/gstcapsfilter.c:
4887           Add bugzilla ticket number to FIXME comment.
4888
4889 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
4890
4891         * docs/design/part-TODO.txt:
4892         * docs/design/part-block.txt:
4893         Update some docs.
4894
4895 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4896
4897         * gst/Makefile.am:
4898           Revert patch which uses $(gst_headers) instead of $^ because it
4899           breaks make dist.
4900
4901 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4902
4903         * tests/check/gst/gstbin.c: (GST_START_TEST):
4904           Fix leaks in the new unit test.
4905
4906 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
4907
4908         * gst/gst.c:
4909           Don't use GST_INFO before the debug system is actually initialised
4910           (shouldn't do any harm, but won't print anything either, so we can
4911           just as well remove it).
4912
4913         * gst/gstinfo.h:
4914           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
4915           compilers that don't support variadic macros (such as MSVC), should
4916           check for debug_level <= __gst_debug_min as well, since that's the
4917           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
4918           inline helper functions. Should improve performance a bit, but also
4919           makes sure uses of GST_INFO et.al are ignored if the debugging
4920           system isn't initialised yet (instead of printing an assertion
4921           failure).
4922
4923 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
4924
4925         patch by: David Nečas <yeti@physics.muni.cz>
4926
4927         * gst/Makefile.am:
4928           Replace some non portable makefile constructs.
4929
4930 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
4931
4932         * common/gtk-doc-plugins.mak:
4933           Grrrrr. Don't remove the types file on make clean.
4934
4935 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
4936
4937         * tools/gst-launch.1.in:
4938         Add colorspace to example pipeline. Fixes #458274.
4939
4940 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
4941
4942         * docs/random/release:
4943           The release manager should run 'make download-po' before making a
4944           release to make sure translations are up-to-date.
4945
4946         * po/LINGUAS:
4947         * po/be.po:
4948         * po/pl.po:
4949         * po/rw.po:
4950           Add some new translations.
4951
4952 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
4953
4954         * tools/gst-launch.c: (event_loop), (main):
4955         Don´t try to do any state management when a live pipeline posts
4956         buffering messages.
4957         Also make the buffering string translatable.
4958
4959 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4960
4961         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
4962         (bin_handle_async_start), (gst_bin_handle_message_func):
4963         Improve debugging.
4964         When adding elements, insert messages into the bus of the newly added
4965         element and make sure the element is the source of the message. This
4966         allows the parent bin to intercept the message and do the
4967         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
4968         messages to the app (which is not allowed).
4969         Update some docs.
4970
4971         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4972         Fix testsuite so that is does not work around messages that should not
4973         have been posted in the first place.
4974
4975 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4976
4977         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
4978         (update_degree), (gst_bin_sort_iterator_next):
4979         Fix annoying bug in the sorted iterator where a sink that is not really
4980         a sink (when it has downstream links) screwed up the iterator.
4981
4982         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4983         Unit test to verify the fix.
4984
4985 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4986
4987         * gst/gstmessage.h:
4988         Add some more docs for the messages.
4989
4990         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4991         (gst_base_sink_query):
4992         Add some more debugging.
4993
4994         * tools/gst-launch.c: (event_loop):
4995         When interrupting, don't try to set pipeline to PAUSED twice.
4996
4997 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
4998
4999         
5000         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
5001         (bin_handle_async_start), (gst_bin_handle_message_func):
5002         Move ASYNC_START message posting to where it belongs, similar to
5003         async_done. 
5004         Don't post ASYNC_START when we are in error. 
5005         Post ASYNC_START when we added an async element to a bin.
5006
5007 2007-08-14  Julien MOUTTE  <julien@moutte.net>
5008
5009         * gst/gstindex.c: (gst_index_add_association): Fix index entry
5010         generation from vargs. Fixes #466595.
5011
5012 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5013
5014         * gst/gstbin.c: (gst_bin_element_set_state):
5015         Always change the state of a NO_PREROLL element even if it has ASYNC
5016         elements inside (in case of a bin).
5017
5018         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
5019         Unit test for this case.
5020
5021 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
5022
5023         * libs/gst/check/gstbufferstraw.c:
5024         * libs/gst/check/gstcheck.h:
5025         * libs/gst/controller/gstcontroller.c:
5026         * libs/gst/controller/gstcontrolsource.h:
5027         * libs/gst/controller/gstlfocontrolsource.h:
5028         * plugins/elements/gstcapsfilter.h:
5029         * plugins/elements/gstfdsink.h:
5030         * plugins/elements/gstfdsrc.h:
5031           Add more missing docs.
5032
5033 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5034
5035         * gst/gststructure.c:
5036         Add Since tag to docs.
5037
5038 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5039
5040         * docs/gst/gstreamer-sections.txt:
5041         * gst/gststructure.c: (gst_structure_get_uint):
5042         * gst/gststructure.h:
5043         Add function to get uint from a structure.
5044         API: gst_structure_get_uint()
5045
5046 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5047
5048         * gst/gstcaps.c: (gst_caps_set_simple_valist),
5049         (gst_caps_intersect):
5050         Fix proper check for simple caps.
5051
5052 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
5053
5054         * docs/gst/Makefile.am:
5055         * docs/libs/Makefile.am:
5056           Remove cruft and do some cleanups.
5057
5058         * docs/gst/gstreamer-docs.sgml:
5059         * docs/libs/gstreamer-libs-docs.sgml:
5060           Prepare for comming gtkdoc features (rebase against online docs).
5061
5062 2007-08-10  Michael Smith <msmith@fluendo.com>
5063
5064         * docs/gst/gstreamer-sections.txt:
5065           Add gst_registry_add_path to docs.
5066
5067 2007-08-10  Michael Smith <msmith@fluendo.com>
5068
5069         * gst/gstregistry.h:
5070           Add gst_registry_add_path, which was missing from this header.
5071
5072 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5073
5074         * libs/gst/controller/gstlfocontrolsource.c:
5075           Printf format fix.
5076
5077 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
5078
5079         * libs/gst/base/gstbasesink.c:
5080           Don't send an async_start message during downwards state change if 
5081           target state is less than READY
5082
5083 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5084
5085         translated by: Gabor Kelemen <kelemeng@gnome.hu>
5086
5087         * po/LINGUAS:
5088         * po/hu.po:
5089           Added Hungarian translation.
5090
5091 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5092
5093         * po/fi.po:
5094         * po/it.po:
5095         * po/nl.po:
5096         * po/sv.po:
5097         * po/uk.po:
5098           Updated translations.
5099
5100 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5101
5102         * libs/gst/controller/Makefile.am:
5103         Dist gstlfocontrolsourceprivate.h
5104
5105 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5106
5107         * docs/libs/gstreamer-libs.types:
5108         Don't register the enum type gst_lfo_waveform_get_type() in the
5109         .types file - only GObject derived types belong.
5110
5111 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5112
5113         Patch by: <arenevier at fdn dot fr>
5114
5115         * gst/gstbuffer.h:
5116         Remove comma from last element in enum to avoid compile errors when
5117         using -pendantic. Fixes #464366.
5118
5119 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5120
5121         * docs/design/part-TODO.txt:
5122         Add some more TODO items
5123
5124         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
5125         Improve debugging.
5126
5127         * gst/gstcaps.c: (gst_caps_intersect):
5128         Optimize trivial intersection case between identical caps pointers.
5129
5130         * gst/gstelement.c: (gst_element_continue_state),
5131         (gst_element_set_state_func):
5132         * gst/gstpad.c:
5133         Fix spelling and grammar mistakes.
5134
5135 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
5136
5137         * po/POTFILES.in:
5138         * po/POTFILES.skip:
5139           Update POTFILES. Fixes #461599.
5140
5141 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5142
5143         * gst/gst.c:
5144         Fix confusing typo in debug output.
5145
5146 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5147
5148         reviewed by: Stefan Kost <ensonic@users.sf.net>
5149
5150         * libs/gst/controller/Makefile.am:
5151         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
5152         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
5153         (gst_lfo_control_source_new),
5154         (gst_lfo_control_source_set_waveform),
5155         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
5156         (gst_lfo_control_source_finalize),
5157         (gst_lfo_control_source_dispose),
5158         (gst_lfo_control_source_set_property),
5159         (gst_lfo_control_source_get_property),
5160         (gst_lfo_control_source_class_init):
5161         * libs/gst/controller/gstlfocontrolsource.h:
5162         * libs/gst/controller/gstlfocontrolsourceprivate.h:
5163         API: Add GstLFOControlSource, a control source that gives values
5164         for specific timestamps based on several periodic waveforms.
5165         Fixes #459717.
5166
5167         * tests/check/libs/controller.c: (GST_START_TEST),
5168         (gst_controller_suite):
5169         * docs/libs/gstreamer-libs-docs.sgml:
5170         * docs/libs/gstreamer-libs-sections.txt:
5171         * docs/libs/gstreamer-libs.types:
5172         Add documentation and unit tests for GstLFOControlSource.
5173
5174 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
5175
5176         * configure.ac:
5177         Back to CVS
5178
5179 === release 0.10.14 ===
5180
5181 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
5182
5183         * configure.ac:
5184           releasing 0.10.14, "Breathing Vacuum"
5185
5186 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
5187
5188         * gst/gstelement.c: (gst_element_class_set_details_simple):
5189         * gst/gstelement.h:
5190           Make strings passed to gst_element_class_set_details_simple()
5191           constant, as they should be (#462752).
5192
5193 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
5194
5195         * gst/gstbin.c: (gst_bin_change_state_func),
5196         (bin_handle_async_done), (gst_bin_handle_message_func):
5197         Don't forget about the fact that some element went ASYNC even after a
5198         resync. This makes us post the ASYNC_DONE message correctly.
5199         Fixes #462558.
5200
5201 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5202
5203         * gst/gstregistry.c: (gst_registry_add_feature):
5204         When replacing an existing feature in the registry, make sure to
5205         continue holding a reference until we've replaced the name string
5206         within our feature hash table. Make sure to use g_hash_table_replace
5207         instead of g_hash_table_insert to ensure the new name string is used
5208         as a key instead of the old one that we're about to free.
5209         Fixes: #462085
5210
5211 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5212
5213         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5214         (gst_plugin_feature_set_name):
5215         Revert patch from #459466 until after the release and we can work
5216         out exactly what the problem is (if any).
5217
5218 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * docs/gst/gstreamer-sections.txt:
5221         * gst/gsttaglist.c:
5222         * gst/gsttaglist.h:
5223           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
5224
5225 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5226
5227         * docs/libs/Makefile.am:
5228         Include our build-prefix libs and includes before the generic ones to
5229         avoid linking against the installed libs when we want the build-tree
5230         ones.
5231
5232 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5233
5234         Patch by: Steve Fink  <sphink gmail com>
5235
5236         * docs/pwg/building-testapp.xml:
5237           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
5238           if people try to build or install the example from the plugin
5239           template against a GStreamer from package using the configure
5240           defaults.
5241
5242 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5243
5244         Patch by: Steve Fink  <sphink gmail com>
5245
5246         * tools/gst-inspect.1.in:
5247           Document --print-all and --print-plugin-auto-install-info command
5248           line options in man page.
5249
5250 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5251
5252         * docs/gst/gstreamer-sections.txt:
5253         Add docs for new api function.
5254
5255 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5256
5257         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
5258         * gst/gstelementfactory.h:
5259         API: gst_element_factory_has_interface()
5260         Added method to check if an element factory implements a named
5261         interface.
5262
5263 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
5264
5265         * configure.ac:
5266         * docs/gst/gstreamer.types.in:
5267           Another conditional doc check.
5268
5269         * gst/gstmessage.c:
5270         * gst/gstparamspecs.h:
5271         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5272         * gst/gstvalue.c:
5273         * gst/gstxml.h:
5274           API-doc fixes.
5275
5276 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5277
5278         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
5279         (gst_registry_binary_load_feature),
5280         (gst_registry_binary_load_plugin),
5281         (gst_registry_binary_read_cache):
5282           Print error just once and with additional info.
5283
5284 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5285
5286         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5287         (helper_find_suggest), (helper_find_get_length),
5288         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
5289         (gst_type_find_helper_for_buffer):
5290           Cleanup the typefindhelper code and add private doc comments.
5291
5292 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
5293
5294         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5295         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
5296         Fix capsfilter for cases where the caps set on capsfilter will provide
5297         additional information.
5298         Fixes #449197
5299
5300 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5301
5302         * gst/gsttypefindfactory.c:
5303           Fix docs that recommened wrong function to use.
5304
5305 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5306
5307         * tools/gst-inspect.c: (print_plugin_features):
5308           Also give media-type for typefinders in element output.
5309
5310 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5311
5312         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
5313         (gst_registry_remove_features_for_plugin_unlocked),
5314         (gst_registry_add_feature), (gst_registry_remove_feature),
5315         (gst_registry_lookup_feature_locked):
5316         * gst/gstregistry.h:
5317           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
5318           Fixes #459501.
5319
5320 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5321
5322         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5323         (gst_plugin_feature_set_name):
5324           Avoid double memory usage for pluginfeature names. Fixes #459466.
5325
5326 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5327
5328         * gst/gstpad.h:
5329           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
5330           driving the pipeline may need to explicitly check for NOT_LINKED as
5331           well, since IS_FATAL doesn't cover that.
5332
5333 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5334
5335         * docs/pwg/advanced-types.xml:
5336           Fix typo and duplicate entry in video formats list.
5337
5338 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
5339
5340         * libs/gst/controller/gstinterpolation.c:
5341         Also round to the nearest int when using cubic interpolation.
5342
5343 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
5344
5345         * libs/gst/controller/gstinterpolation.c:
5346         When linearly interpolating integer types, round to the nearest int
5347         by adding 0.5. Don't do it for float/double types.
5348         Fixes the failing controller test on my machine, which is somehow
5349         rounding differently than on the buildbots.
5350
5351 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5352
5353         * tools/gst-plot-timeline.py:
5354           Better log parsing (categories can have -). Adjust text vs. lines, so
5355           that they span the same y-range.        
5356
5357 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5358
5359         * docs/random/ensonic/audiobaseclasses.txt:
5360         * docs/random/ensonic/dynlink.txt:
5361         * docs/random/ensonic/profiling.txt:
5362           Save my thoughts.
5363
5364         * docs/random/moving-plugins:
5365           Add note to use g_assert type macros.
5366
5367 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5368
5369         * configure.ac:
5370         * libs/gst/check/Makefile.am:
5371           Add libm check as we use in for plugins.
5372
5373 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
5374
5375         * gst/gstbin.c: (gst_bin_continue_func):
5376         Check that the state_cookie hasn't changed since the continue_func
5377         was scheduled. Avoids problems where the state changes back to
5378         something it shouldn't be because it was changed in the meantime.
5379
5380 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
5381
5382         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
5383         (gst_registry_binary_save_string),
5384         (gst_registry_binary_save_pad_template),
5385         (gst_registry_binary_save_feature),
5386         (gst_registry_binary_save_plugin),
5387         (gst_registry_binary_load_feature),
5388         (gst_registry_binary_load_plugin),
5389         (gst_registry_binary_read_cache):
5390           Fix memory leak. Be less verbose in the log.
5391
5392 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5393
5394         * tests/check/elements/.cvsignore:
5395         Add file to cvsignore as commanded.
5396
5397 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5398
5399         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5400         (mq_dummypad_event), (run_output_order_test):
5401         Use a GStaticMutex to protect all cases where libcheck
5402         fail_if/fail_unless macros might be called from multiple threads
5403         simultaneously to avoid errors like:
5404           "check_pack.c:107: :-1081725400:Bad message type arg"
5405
5406 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5407
5408         * tests/check/pipelines/stress.c: (GST_START_TEST):
5409         Make sure we set the pipeline back to the NULL state before
5410         dropping our final reference.
5411
5412 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5413
5414         * tests/check/elements/tee.c: (GST_START_TEST):
5415         Make the tee stress-test a little less stressful so it doesn't just
5416         time out on slow-machines, and remove a small race when it's starting 
5417         up by adding a get_state() call.
5418
5419 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
5420
5421         * gst/gst.c:
5422           Avoid reading registry twice on startup. Fixes #457322.
5423
5424 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5425
5426         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5427         * pkgconfig/gstreamer-check.pc.in:
5428         Substitute the CFLAGS for libcheck into our .pc file too so that
5429         dependent modules will pick it up properly if libcheck is installed
5430         into some other prefix.
5431
5432 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5433
5434         * configure.ac:
5435         Revert the pkg-config check for libcheck, since it pulls in the
5436         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
5437         a proper solution, either from the check project, or something else.
5438
5439 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
5440
5441         * configure.ac:
5442           Use pkg-config to locate check.
5443
5444 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
5445
5446         * gst/gsttaglist.c:
5447           Fix doc syntax.
5448
5449         * gst/gstutils.c:
5450         * gst/gstutils.h:
5451           Add deprecation guards.
5452
5453         * libs/gst/base/gstcollectpads.h:
5454           Don't document object (this is implicitly private).
5455
5456 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
5457
5458         * gst/gststructure.c: (gst_structure_parse_value):
5459           When deserialising foo=bar without a type cast, check if it's a
5460           boolean before falling back to a string type, otherwise things like
5461           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
5462           because the filtercaps end up having a signed=(string)true field,
5463           which causes problems later when intersection caps.
5464
5465         * tests/check/gst/gststructure.c: (GST_START_TEST):
5466           Add a unit test for this.
5467
5468 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
5469
5470         Reviewed by: Stefan Kost <ensonic@users.sf.net>
5471
5472         * libs/gst/controller/Makefile.am:
5473         * libs/gst/controller/gstcontroller.c:
5474         (gst_controlled_property_add_interpolation_control_source),
5475         (gst_controlled_property_new), (gst_controlled_property_free),
5476         (gst_controller_find_controlled_property),
5477         (gst_controller_new_valist), (gst_controller_new_list),
5478         (gst_controller_new), (gst_controller_remove_properties_valist),
5479         (gst_controller_remove_properties_list),
5480         (gst_controller_remove_properties),
5481         (gst_controller_set_property_disabled),
5482         (gst_controller_set_disabled), (gst_controller_set_control_source),
5483         (gst_controller_get_control_source), (gst_controller_get),
5484         (gst_controller_sync_values), (gst_controller_get_value_array),
5485         (_gst_controller_dispose), (gst_controller_get_type),
5486         (gst_controlled_property_set_interpolation_mode),
5487         (gst_controller_set), (gst_controller_set_from_list),
5488         (gst_controller_unset), (gst_controller_unset_all),
5489         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
5490         * libs/gst/controller/gstcontroller.h:
5491         * libs/gst/controller/gstcontrollerprivate.h:
5492         * libs/gst/controller/gstcontrolsource.c:
5493         (gst_control_source_class_init), (gst_control_source_init),
5494         (gst_control_source_get_value),
5495         (gst_control_source_get_value_array), (gst_control_source_bind):
5496         * libs/gst/controller/gstcontrolsource.h:
5497         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
5498         (gst_object_get_control_source):
5499         * libs/gst/controller/gstinterpolation.c:
5500         (gst_interpolation_control_source_find_control_point_node),
5501         (gst_interpolation_control_source_get_first_value),
5502         (_interpolate_none_get), (interpolate_none_get),
5503         (interpolate_none_get_boolean_value_array),
5504         (interpolate_none_get_enum_value_array),
5505         (interpolate_none_get_string_value_array),
5506         (_interpolate_trigger_get), (interpolate_trigger_get),
5507         (interpolate_trigger_get_boolean_value_array),
5508         (interpolate_trigger_get_enum_value_array),
5509         (interpolate_trigger_get_string_value_array):
5510         * libs/gst/controller/gstinterpolationcontrolsource.c:
5511         (gst_control_point_free), (gst_interpolation_control_source_reset),
5512         (gst_interpolation_control_source_new),
5513         (gst_interpolation_control_source_set_interpolation_mode),
5514         (gst_interpolation_control_source_bind),
5515         (gst_control_point_compare), (gst_control_point_find),
5516         (gst_interpolation_control_source_set_internal),
5517         (gst_interpolation_control_source_set),
5518         (gst_interpolation_control_source_set_from_list),
5519         (gst_interpolation_control_source_unset),
5520         (gst_interpolation_control_source_unset_all),
5521         (gst_interpolation_control_source_get_all),
5522         (gst_interpolation_control_source_get_count),
5523         (gst_interpolation_control_source_init),
5524         (gst_interpolation_control_source_finalize),
5525         (gst_interpolation_control_source_dispose),
5526         (gst_interpolation_control_source_class_init):
5527         * libs/gst/controller/gstinterpolationcontrolsource.h:
5528         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
5529         API: Refactor GstController into the core controller which can take
5530         a GstControlSource for providing actual values for timestamps.
5531         Implement a interpolation control source and use this for backward
5532         compatibility, deprecate a bunch of functions that are now handled
5533         by GstControlSource or GstInterpolationControlSource.
5534         Make it possible to disable the controller completely or only for
5535         specific properties. Fixes #450711.
5536         * docs/libs/gstreamer-libs-docs.sgml:
5537         * docs/libs/gstreamer-libs-sections.txt:
5538         * docs/libs/gstreamer-libs.types:
5539         Add new functions and classes to the docs.
5540         * tests/check/libs/controller.c: (GST_START_TEST),
5541         (gst_controller_suite):
5542         * tests/examples/controller/audio-example.c: (main):
5543         Port unit test and example to the new API and add some new
5544         unit tests.
5545
5546 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
5547
5548         Patch by: Mark Nauwelaerts <manauw at skynet be>
5549
5550         * plugins/elements/gstmultiqueue.c:
5551         (gst_multi_queue_get_internal_links), (apply_buffer),
5552         (single_queue_overrun_cb), (gst_single_queue_new):
5553         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
5554         the pipeline layout can be tracked correctly. Fixes #453732.
5555
5556 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
5557
5558         * docs/gst/Makefile.am:
5559         * docs/libs/Makefile.am:
5560         * docs/plugins/Makefile.am:
5561           Simplify --extra-dir as gtkdoc scans recursively.
5562
5563 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5564
5565         * tools/gst-launch.c: (main):
5566         When we got an error, there is no point in waiting for preroll when
5567         shutting down.
5568
5569 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5570
5571         * plugins/elements/gsttee.c: (gst_tee_base_init),
5572         (gst_tee_request_new_pad), (gst_tee_release_pad),
5573         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
5574         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
5575         (gst_tee_chain):
5576         Be a lot smarter when deciding what srcpad to use for proxying
5577         the buffer_alloc. Also handle pad added/removed when doing so.
5578         Fixes #357959.
5579         Keep track of what pads we already pushed on in case we have pads
5580         added/removed while pushing. Fixes #374639 
5581
5582         * tests/check/Makefile.am:
5583         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
5584         (tee_suite):
5585         Added unit test for pad resync.
5586
5587 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5588
5589         * po/nl.po:
5590         * po/sv.po:
5591           Updated translations.
5592
5593 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5594
5595         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
5596
5597         * po/LINGUAS:
5598         * po/fi.po:
5599           Added new Finnish translation.
5600
5601 2007-06-28  Wim Taymans  <wim@fluendo.com>
5602
5603         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5604         (single_queue_overrun_cb):
5605         When figuring out when a queue is filled, use our internal time estimate
5606         based on segments, just like check_full does.
5607
5608 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
5609
5610         * gst/gstminiobject.c: (gst_mini_object_get_type):
5611           Remove 3 do-nothing methods.
5612
5613 2007-06-27  Wim Taymans  <wim@fluendo.com>
5614
5615         Patch by: Tim Angus <tim at ngus dot net>
5616
5617         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5618         (gst_capsfilter_set_property):
5619         Take a reference instead of a copy when setting "caps".
5620         Fix documentation to clarify this behaviour. Fixes #449414.
5621
5622 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
5623
5624         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5625         * gst/gstplugin.c: (gst_plugin_init):
5626         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
5627         * gst/gstquery.c: (gst_query_get_type):
5628         * gst/gstregistry.c: (gst_registry_init):
5629         * gst/gsturi.c: (gst_uri_handler_base_init):
5630           Remove empty instance_init() functions to save relocs and lessen the
5631           noise. Remove some of the function prototypes that are doubled by
5632           G_DEFINE_TYPE.
5633           
5634 2007-06-27  Wim Taymans  <wim@fluendo.com>
5635
5636         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
5637
5638         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
5639         Add peer and direction in the XML serialisation of ghostpads.
5640         Fixes #449226.
5641
5642 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
5643
5644         * configure.ac:
5645           Preserve useful information, thanks Tim.
5646
5647 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
5648
5649         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5650         (gst_single_queue_flush), (apply_segment), (apply_buffer),
5651         (gst_single_queue_push_one), (gst_multi_queue_loop),
5652         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5653         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
5654         (compute_high_id), (gst_single_queue_new):
5655         * plugins/elements/gstmultiqueue.h:
5656         Take the multiqueue lock when updating the fill level so we don't get
5657         confused. 
5658
5659         After applying a buffer or event on the src pad segment, make sure to
5660         call gst_data_queue_limits_changed() to get the data queue to unblock
5661         and check the filled state again.
5662         
5663         Rework the not-linked pad handling so the logic is that not-linked 
5664         pads can push as fast as they like, but only so they never get 
5665         ahead of any linked pads.
5666
5667         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
5668         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
5669         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
5670
5671         Add a test to check that not-linked pads always stay behind
5672         linked pads.
5673
5674         Fixes: #430682
5675
5676 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
5677
5678         * docs/random/release:
5679           Some updates to the release procedure.
5680
5681 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
5682
5683         * gst/gstelementfactory.c: (__gst_element_details_clear):
5684           Microoptimization that saves stunning 80 bytes.
5685
5686 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
5687
5688         * docs/plugins/gstreamer-plugins.args:
5689         * docs/plugins/inspect/plugin-coreelements.xml:
5690         * docs/plugins/inspect/plugin-coreindexers.xml:
5691           Update docs with caps info.
5692
5693 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5694
5695         * po/it.po:
5696           Updated Italian translation.
5697
5698 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5699
5700         * ChangeLog:
5701         * po/vi.po:
5702           Update Vietnamese translations.
5703
5704 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5705
5706         * libs/gst/base/gstbasesink.c:
5707           Remove unused signal enum.
5708
5709 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
5710
5711         * docs/gst/gstreamer-sections.txt:
5712         * gst/gstelement.c:
5713         * gst/gstutils.c: (gst_type_register_static_full):
5714         Beef up and include the docs for gst_type_register_static_full and
5715         gst_element_class_set_details_simple and add the API keyword
5716         in the ChangeLog.
5717
5718 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
5719
5720         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5721         (update_time_level), (gst_single_queue_push_one),
5722         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
5723         (single_queue_overrun_cb), (single_queue_underrun_cb),
5724         (single_queue_check_full):
5725         Fix setting max-* properties after adding queues.
5726         Use IS_FILLED for checking visible items.
5727         Signal overrun if multiple queues overrun.
5728         Add extra debug output.
5729         Patch by: Wim Taymans <wim@fluendo.com>
5730
5731 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * gst/gstelement.c: (gst_element_class_set_details_simple):
5734         * gst/gstelement.h:
5735         * gst/gstutils.c: (gst_type_register_static_full):
5736         * gst/gstutils.h:
5737         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
5738         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
5739         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
5740         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
5741         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
5742         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
5743         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
5744         * plugins/elements/gstidentity.c: (gst_identity_base_init):
5745         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
5746         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5747         (apply_buffer), (gst_queue_chain):
5748         * plugins/elements/gsttee.c: (gst_tee_base_init):
5749         * plugins/elements/gsttypefindelement.c:
5750         (gst_type_find_element_base_init),
5751         (gst_type_find_element_class_init):
5752           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
5753           API: add gst_type_register_static_full
5754           API: add gst_element_class_set_details_simple
5755
5756 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5757
5758         * docs/pwg/advanced-types.xml:
5759           Fix typo in iana.org URI.
5760
5761 2007-06-19  Andy Wingo  <wingo@pobox.com>
5762
5763         * tests/check/pipelines/simple-launch-lines.c
5764         (test_state_change_returns): Enable pull-mode tests now that
5765         basesink has been fixed.
5766
5767         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
5768         Changed from gst_base_sink_is_prerolled, reversing the sense of
5769         the return value. Returns FALSE also if the sink is in pull mode,
5770         in which case it needs no preroll.
5771         (gst_base_sink_query, gst_base_sink_change_state): Update for
5772         needs_preroll change.
5773         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
5774         chaining up, in which we return SUCCESS directly if we activated
5775         in pull mode instead of ASYNC. Involves countering an async_start
5776         message sent before chaining up; not sure if this is correct, in
5777         an ideal world we only send async-start when activating in push
5778         mode.
5779
5780         * tests/check/pipelines/simple-launch-lines.c
5781         (test_state_change_returns): New test, partially disabled until
5782         basesink is fixed.
5783
5784 2007-06-19  Wim Taymans  <wim@fluendo.com>
5785
5786         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5787         (gst_multi_queue_sink_event):
5788         Fix event leak.
5789
5790 2007-06-19  Wim Taymans  <wim@fluendo.com>
5791
5792         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5793         (gst_bin_change_state_func), (bin_push_state_continue),
5794         (bin_handle_async_start), (bin_handle_async_done),
5795         (gst_bin_handle_message_func):
5796         Move the common code for posting state-change messages into
5797         one function.
5798         Broadcast the state signal after we posted the messages.
5799         Mark the bin as busy when it's doing a state-change.
5800         Make sure async-start/done messages don't interfere with the bin's
5801         state when it's busy.
5802         After the state change, let the bin check which elements completed the
5803         state change while it was busy so that it can update its state.
5804
5805 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
5806
5807         * docs/random/release:
5808         Add a note about updating the doap file to the release checklist
5809
5810 2007-06-18  Wim Taymans  <wim@fluendo.com>
5811
5812         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5813         (gst_single_queue_push_one), (gst_multi_queue_chain),
5814         (gst_multi_queue_sink_event):
5815         Make sure we don't reference the buffer/event after we have given away
5816         ownership in the queue.
5817
5818 2007-06-18  Wim Taymans  <wim@fluendo.com>
5819
5820         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5821         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
5822         Update queue state _after_ adding the item in the queue because else we
5823         could end up being full without the element added yet.
5824
5825 2007-06-18  Wim Taymans  <wim@fluendo.com>
5826
5827         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5828         (gst_bin_remove_func), (gst_bin_get_state_func),
5829         (gst_bin_element_set_state), (gst_bin_continue_func),
5830         (bin_push_state_continue), (bin_handle_async_start),
5831         (bin_handle_async_done), (gst_bin_handle_message_func):
5832         * gst/gstbin.h:
5833         Immediatly commit the toplevel bin state when receiving an async-done
5834         message. This enables us to avoid spawning a thread to commit the state
5835         in some common cases and it also avoids some races.
5836         Avoid spawning a state thread when adding/removing async elements to a
5837         toplevel bin. Instead we immediatly update the bin state.
5838         Get rid of iterating all the children when getting the state in the bin
5839         because it is now always up-to-date.
5840         Fix bug where locked elements would always return _SUCCESS even it they
5841         returned NO_PREROLL before being locked.
5842         Fix the order of the state_change, async-start/done messages that was
5843         sometimes incorrect.
5844         Mark the state_dirty field as deprecated, we don't need it anymore as we
5845         are always up-to-date.
5846
5847         * gst/gstelement.c: (gst_element_get_state_func),
5848         (gst_element_continue_state):
5849         Small debug inprovements.
5850         Return the previous element state return when nothing is pending instead
5851         of blindly returning SUCCESS.
5852
5853         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
5854         (gst_sinks_suite):
5855         Add a whole bunch of new testcases.
5856
5857 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5858
5859         * po/uk.po:
5860         * po/vi.po:
5861           Update translations.
5862
5863 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
5864
5865         * gst/gstpad.c:
5866         Fix typo in the docs.
5867
5868 2007-06-15  Wim Taymans  <wim@fluendo.com>
5869
5870         * docs/libs/gstreamer-libs-sections.txt:
5871         Add docs for new methods.
5872
5873 2007-06-15  Wim Taymans  <wim@fluendo.com>
5874
5875         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
5876         (gst_multi_queue_item_new):
5877         Don't use GSlice because we don't depend on >= 2.10 yet.
5878
5879 2007-06-15  Wim Taymans  <wim@fluendo.com>
5880
5881         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5882         (update_time_level), (apply_segment), (apply_buffer),
5883         (gst_single_queue_push_one), (gst_multi_queue_item_new),
5884         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
5885         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
5886         (single_queue_underrun_cb), (single_queue_check_full):
5887         Remove debug printf.
5888
5889 2007-06-15  Wim Taymans  <wim@fluendo.com>
5890
5891         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
5892         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
5893         (gst_data_queue_set_flushing), (gst_data_queue_push),
5894         (gst_data_queue_pop), (gst_data_queue_drop_head),
5895         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
5896         * libs/gst/base/gstdataqueue.h:
5897         Various cleanups.
5898         Added methods to get the current levels and to inform the queue that the
5899         'full' limits changed.
5900
5901         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5902         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5903         (gst_single_queue_flush), (update_time_level), (apply_segment),
5904         (apply_buffer), (gst_single_queue_push_one),
5905         (gst_multi_queue_item_steal_object),
5906         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5907         (gst_multi_queue_loop), (gst_multi_queue_chain),
5908         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5909         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
5910         (gst_multi_queue_src_query), (single_queue_overrun_cb),
5911         (single_queue_underrun_cb), (single_queue_check_full),
5912         (gst_single_queue_new):
5913         Keep track of time in the queue by measuring the difference between
5914         running_time on input and output. This gives more accurate results and
5915         can compensate for segments correctly.
5916         Make a queue by default only 5 buffers deep. We will now increase the
5917         buffer size depending on the filledness of the other queues.
5918         Factor out commong flush code.
5919         Make sure we don't add additional refcounts to buffers when we can avoid
5920         it.
5921         Propagate GstFlowReturn differently.
5922         Use GSlice for intermediate GstMultiQueueItems.
5923         Keep track of EOS.
5924         Resize queues on over and underruns based on filled level of other
5925         queues.
5926         When checking if the queue is filled, prefer to measure in time if we
5927         can and fall back to bytes when no time is known.
5928
5929         * plugins/elements/gstqueue.c:
5930         Fix return value.
5931
5932 2007-06-15  Wim Taymans  <wim@fluendo.com>
5933
5934         * libs/gst/base/gstbasetransform.c:
5935         (gst_base_transform_sink_event):
5936         Work around the brokenness of the event vmethod in basetransform. Prefer
5937         to return TRUE when the subclass returned FALSE (meaning don't forward
5938         the event). 
5939
5940         * libs/gst/base/gstbasetransform.h:
5941         Clarify the docs.
5942
5943 2007-06-15  Wim Taymans  <wim@fluendo.com>
5944
5945         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
5946         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5947         (gst_base_src_default_query), (gst_base_src_get_range),
5948         (gst_base_src_start):
5949         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
5950         Improve debugging.
5951
5952 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
5953
5954         * docs/pwg/advanced-types.xml:
5955           Added more formats to caps table.
5956
5957 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
5958
5959         * tools/gst-launch.c: (main):
5960           Remove crufy code. GOption does not need this workaround.
5961
5962 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
5963
5964         * libs/gst/controller/gstcontroller.c:
5965         (gst_controlled_property_set_interpolation_mode):
5966           Fix wrong getter for enums in controller.
5967
5968 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5969
5970         * libs/gst/check/gstcheck.c: (gst_check_init):
5971           Intercept criticals and warnings in the Gst-Phonon log domain, so
5972           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
5973           well.
5974         
5975 2007-06-14  Edward Hervey  <edward@fluendo.com>
5976
5977         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
5978         Since this file doesn't include "gst.h" it will not go through the
5979         macros that disable GST_LOG if debugging was disabled.
5980
5981 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5982
5983         * libs/gst/check/Makefile.am:
5984         * libs/gst/check/gstcheck.h:
5985         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5986         * pkgconfig/gstreamer-check.pc.in:
5987           Ugly 'fix' for the controller unit test on the p5 bot: in
5988           fail_unless_equals_float() check whether the values are 'almost
5989           equal' by allowing a small absolute error, which should be good
5990           enough for our use cases (normal numbers and values close to 0).
5991           Proper fixage left to floating point arithmetic aficionados.
5992
5993 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
5994
5995         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
5996         (gst_base_sink_render_object), (gst_base_sink_get_position):
5997           Add two breaks thats where missing.
5998
5999 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6000
6001         * docs/libs/gstreamer-libs-sections.txt:
6002         * libs/gst/check/gstcheck.h:
6003           API: add fail_unless_equals_float() and assert_equals_float().
6004           Add documentation for some of the macros.
6005
6006         * tests/check/libs/controller.c: (GST_START_TEST):
6007           Use newly-added asserts.
6008
6009 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6010
6011         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
6012           Show the caps change in the log to help spotting the case of not
6013           exactly matching caps.
6014
6015 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6016
6017         * docs/pwg/building-boiler.xml:
6018           Fix typos, spotted by Thijs Vermeir (#447190).
6019
6020 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6021
6022         * docs/plugins/tmpl/.cvsignore:
6023         Ignore file to keep the buildbots happy
6024
6025 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6026
6027         * docs/plugins/Makefile.am:
6028         * docs/plugins/gstreamer-plugins-docs.sgml:
6029         * docs/plugins/gstreamer-plugins-sections.txt:
6030         Pull fdsink into the docs too.
6031
6032 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
6033
6034         * libs/gst/controller/gstinterpolation.c:
6035         Actually use the new functions with min/max checks for the trigger and
6036         none interpolation modes for get() and get_value_array() instead of
6037         just the latter.
6038
6039 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
6040
6041         * libs/gst/controller/gstcontroller.c:
6042         (gst_controlled_property_free):
6043         Unset the minimum and maximum GValues when freeing the corresponding
6044         GstControllerProperty struct.
6045
6046 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
6047
6048         * libs/gst/controller/gstcontroller.c:
6049         (gst_controlled_property_new):
6050         * libs/gst/controller/gstcontrollerprivate.h:
6051         * libs/gst/controller/gstinterpolation.c:
6052         (gst_controlled_property_find_control_point_node),
6053         (interpolate_none_get), (interpolate_none_get_enum_value_array),
6054         (interpolate_none_get_string_value_array),
6055         (interpolate_trigger_get),
6056         (interpolate_trigger_get_enum_value_array),
6057         (interpolate_trigger_get_string_value_array):
6058         Protect against values larger or smaller than the minimum or maximum
6059         allowed value for the property when using values that can be compared.
6060
6061         Optimize trigger interpolator a bit by taking the last requested value
6062         into account instead of always looping through the complete list.
6063
6064         Fix coding style a bit, everywhere else we use "return foo" instead
6065         of "return (foo)".
6066         
6067         * tests/check/libs/controller.c: (GST_START_TEST),
6068         (gst_controller_suite):
6069         Add unit test for the protection against too large or too small
6070         values.
6071
6072 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
6073
6074         * docs/random/slomo/controller.txt:
6075         Add some thoughts about the future of the controller.
6076
6077 2007-06-08  Wim Taymans  <wim@fluendo.com>
6078
6079         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6080         Don't overflow in retimestamping code.
6081
6082 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
6083
6084         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
6085         Use gst_util_guint64_to_gdouble for conversions.
6086         * win32/common/libgstreamer.def:
6087         Add new exported functions.
6088
6089 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
6090
6091         * gst/gstutils.c:
6092           Small docs addition.
6093
6094 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6095
6096         * README:
6097           Remove that test line again.
6098
6099 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6100
6101         * README:
6102           Test commit mail sending.
6103
6104 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6105
6106         * configure.ac:
6107           Fix typo and test commit mail sending.
6108
6109 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6110
6111         * tests/examples/controller/audio-example.c:
6112           Improve comment and test commit mail sending.
6113
6114 2007-06-07  Wim Taymans  <wim@fluendo.com>
6115
6116         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
6117         (gst_bin_remove_func), (gst_bin_element_set_state),
6118         (bin_handle_async_start), (bin_handle_async_done),
6119         (gst_bin_handle_message_func):
6120         Add helper function to find messages.
6121         Generate the async-done messages together with the state change
6122         messages.
6123         Small cleanups in handling toplevel bins.
6124
6125 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6126
6127         * libs/gst/base/gstdataqueue.c:
6128         * libs/gst/base/gstdataqueue.h:
6129         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6130         (gst_multi_queue_item_new), (gst_multi_queue_chain),
6131         (gst_multi_queue_sink_event):
6132         * tests/check/elements/multiqueue.c: (multiqueue_suite):
6133           Fix multiqueue leaking buffers and events when downstream or the
6134           queue are flushing. Make refcounting assumptions explicit and
6135           document them (shouldn't break existing code that uses it other than
6136           maybe leak miniobjects, but that already happens anyway). Add unit
6137           test for the most common flushing case. Fixes #423700.
6138           
6139 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6140
6141         * libs/gst/controller/gstcontroller.c:
6142         Clarify docs: The get_all, get_value_array(s) functions
6143         don't modify the GObject properties.
6144
6145 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6146
6147         * libs/gst/controller/gstcontroller.c:
6148         (gst_controlled_property_set_interpolation_mode),
6149         (gst_controlled_property_prepend_default),
6150         (gst_controlled_property_new), (gst_controller_set_unlocked),
6151         (gst_controller_set), (gst_controller_set_from_list),
6152         (gst_controller_unset), (gst_controller_unset_all):
6153         * libs/gst/controller/gstcontrollerprivate.h:
6154         * libs/gst/controller/gstinterpolation.c:
6155         Factor out the 'set' logic into gst_controller_set_unlocked for the
6156         gst_controller_set and gst_controller_set_from_list functions.
6157
6158         To make life of the interpolators easier always add a control point
6159         at timestamp zero with the default value.
6160
6161         In the linear interpolator make things more obvious by better variable
6162         naming (slope).
6163
6164         Implement cubic interpolation mode (by using a natural cubic spline)
6165         and map the quadratic interpolation mode to this too (as quadratic
6166         doesn't make much sense, see discussion on the list).
6167
6168         * tests/check/libs/controller.c: (GST_START_TEST),
6169         (gst_controller_suite):
6170         Add unit test for the cubic interpolation mode and check everywhere
6171         if the interpolation mode could be set as expected.
6172
6173 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6174
6175         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
6176           Don't use GLib-2.10 functions, we still depend on
6177           GLib-how-old-is-it-again-2.8.
6178
6179 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6180
6181         * docs/gst/gstreamer-sections.txt:
6182         * gst/Makefile.am:
6183         * gst/gst.c:
6184         * gst/gst.h:
6185         * gst/gstparamspecs.c: (_gst_param_fraction_init),
6186         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
6187         (_gst_param_fraction_values_cmp),
6188         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
6189         * gst/gstparamspecs.h:
6190         * gst/gstvalue.c:
6191         * tests/check/Makefile.am:
6192         * tests/check/gst/.cvsignore:
6193         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
6194         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
6195         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
6196         (GST_START_TEST), (gst_param_spec_suite):
6197           API: add GstParamSpecFraction, so elements can have fraction
6198           properties without lots of painful string parsing (#444648).
6199
6200 2007-06-05  Wim Taymans  <wim@fluendo.com>
6201
6202         * gst/gstobject.c: (gst_object_class_init):
6203         Fix signal signature.
6204
6205         * gst/gstsegment.c:
6206         Add small clarification in the api docs.
6207
6208         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
6209         States are protected with object lock.
6210
6211 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6212
6213         * AUTHORS:
6214         I should probably be listed as an author by now.
6215
6216         * docs/random/release:
6217         Update the release doc
6218
6219 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
6220
6221         * gst/gstvalue.c:
6222           Make docs for gst_value_compare() mention return enums that
6223           actually exist.
6224
6225 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6226
6227         * configure.ac:
6228           Back to CVS
6229
6230 === release 0.10.13 ===
6231
6232 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
6233
6234         * configure.ac:
6235           releasing 0.10.13, "With or without you"
6236
6237 2007-05-25  Wim Taymans  <wim@fluendo.com>
6238
6239         * gst/gstbin.c: (bin_handle_async_done):
6240         Make sure that the child bin stops after completing the async state
6241         change so that the parent can continue the state change to PLAYING.
6242         Fixes #441159.
6243
6244 2007-05-25  Wim Taymans  <wim@fluendo.com>
6245
6246         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6247         (unref_data), (gst_collect_pads_remove_pad),
6248         (gst_collect_pads_check_pads):
6249         Use additional refcounting to avoid crashes when dynamically adding and
6250         removing pads. Fixes #420206.
6251
6252 2007-05-24  Wim Taymans  <wim@fluendo.com>
6253
6254         * tools/gst-launch.c: (event_loop):
6255         When buffering goes from a two digit to a single digit number, make sure
6256         to remove the old second digit by writing a blank over it.
6257
6258 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6259
6260         * libs/gst/base/gstdataqueue.c:
6261           Eliminate tabs and trailing comma in enum list; fix some typos.
6262
6263 2007-05-24  Wim Taymans  <wim@fluendo.com>
6264
6265         * tests/check/gst/gstbin.c: (GST_START_TEST):
6266         Allow refcount of 3 and 4 because some state thread might still be busy
6267         with it.
6268
6269 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6270
6271         * plugins/elements/Makefile.am:
6272         * plugins/elements/gstmultiqueue.h:
6273         * plugins/elements/gstqueue.h:
6274           These are not installed headers, no need for padding.
6275
6276 2007-05-24  Wim Taymans  <wim@fluendo.com>
6277
6278         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6279         (gst_bin_continue_func):
6280         Enable latency for next release.
6281         Restore STATE_LOCK around recalc_state that was left out during the
6282         rewrite and could result in racy behaviour when _get_state and
6283         recalc_state are run concurrently. See #440463.
6284
6285 2007-05-23  Wim Taymans  <wim@fluendo.com>
6286
6287         * tests/check/gst/gstsystemclock.c: (store_callback),
6288         (GST_START_TEST):
6289         Improve test_async_order to also work when both timers are already
6290         expired when we get scheduled to check it.
6291
6292 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6293
6294         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
6295         (gst_bin_set_property), (gst_bin_get_property),
6296         (gst_bin_remove_func), (gst_bin_handle_message_func):
6297         * gst/gstbin.h:
6298           'private' is a c++ keyword, let's not use that in header files,
6299           otherwise c++ compilers will throw a tantrum.
6300
6301 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6302
6303         * plugins/elements/gstelements.c:
6304         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
6305         (gst_file_sink_get_current_offset):
6306         * plugins/indexers/gstindexers.c: (plugin_init):
6307           Use #ifdef for HAVE_XYZ for consistency.
6308
6309         * tests/check/Makefile.am:
6310         * tests/check/elements/.cvsignore:
6311         * tests/check/elements/filesink.c: (setup_filesink),
6312         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
6313           Add some unit tests for filesink.
6314
6315 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6316
6317         Patch by: Mark Nauwelaerts <manauw at skynet be>
6318
6319         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6320         (gst_file_sink_query), (gst_file_sink_do_seek),
6321         (gst_file_sink_get_current_offset), (gst_file_sink_render):
6322         * plugins/elements/gstfilesink.h:
6323           Fix position reporting; rename data_written member to current_pos to
6324           reflect its real meaning (fixes #412648).
6325
6326 2007-05-22  Edward Hervey  <edward@fluendo.com>
6327
6328         * docs/gst/gstreamer-sections.txt:
6329         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6330         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
6331         (gst_bin_remove_func), (gst_bin_handle_message_func):
6332         * gst/gstbin.h:
6333         Add a property for bins that handle the state change of their childs.
6334         Fixes #435880
6335
6336 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
6337
6338         * libs/gst/controller/gstinterpolation.c:
6339         Use an array of the correct type when using _get_value_array with
6340         linear interpolation.
6341
6342 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
6343
6344         * gst/gstelement.c (gst_element_requires_clock,
6345           gst_element_provides_clock, gst_element_request_pad,
6346           gst_element_class_set_details, gst_element_class_set_details_simple,
6347           gst_element_default_send_event, gst_element_abort_state,
6348           gst_element_continue_state, gst_element_set_state,
6349           gst_element_set_state_func, iterator_activate_fold_with_resync):
6350         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
6351           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
6352           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
6353           gst_pad_get_range, gst_pad_pull_range):
6354         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
6355           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
6356           GstPadActivateModeFunction, GstPadChainFunction,
6357           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
6358           GstPadFixateCapsFunction, GstPadTemplate):
6359         * gst/gstpipeline.c (gst_pipeline_change_state,
6360           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
6361           gst_pipeline_set_clock, gst_pipeline_auto_clock,
6362           gst_pipeline_get_delay):
6363           Whitespace and docs fixes.
6364
6365 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6366
6367         * libs/gst/controller/gstinterpolation.c:
6368         (interpolate_trigger_get_enum_value_array),
6369         (interpolate_trigger_get_string_value_array):
6370         Add support for retrieving value arrays when using the trigger
6371         interpolation mode. 
6372
6373 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6374
6375         * libs/gst/controller/gstcontroller.c:
6376         (gst_controller_get_value_array):
6377         * libs/gst/controller/gstcontroller.h:
6378         Clarify the docs of gst_controller_get_value_array(): The array where
6379         the values should be written to must be allocated as there seems to be
6380         no way to get the size of a random GType. This doesn't change any
6381         behaviour. Also fix some typos all over the place and remove an unused,
6382         commented function that is not necessary as g_object_set() could be
6383         used instead.
6384         * tests/check/libs/controller.c: (GST_START_TEST),
6385         (gst_controller_suite):
6386         Add unit test for gst_controller_get_value_array().
6387
6388 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
6389
6390         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6391
6392         Disable part of the gst_buffer_try_new_and_alloc test, because
6393         it can happily succeed on 64-bit systems where there's more address
6394         space available.
6395
6396 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6397
6398         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6399         Add unit test for the improved caps checking from bug #421543.
6400
6401 2007-05-21  Wim Taymans  <wim@fluendo.com>
6402
6403         * docs/design/part-synchronisation.txt:
6404         Small addition.
6405
6406         * gst/gstbin.c: (gst_bin_query):
6407         * plugins/elements/gstqueue.c: (apply_segment):
6408         Improve debugging.
6409
6410         * gst/gstmessage.h:
6411         Improve docs.
6412
6413 2007-05-21  Wim Taymans  <wim@fluendo.com>
6414
6415         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6416         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
6417         (gst_pad_configure_src):
6418         Added simple version of improved caps checking. It was previously
6419         assumed that a setcaps function would check the validity of the caps but
6420         people prefer us to check caps against the template automatically. 
6421         Fixes #421543.
6422
6423 2007-05-21  Wim Taymans  <wim@fluendo.com>
6424
6425         * libs/gst/base/gstbasetransform.h:
6426         Fix macro for locking/unlocking the transform lock.
6427
6428 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6429
6430         * docs/plugins/tmpl/.cvsignore:
6431           Ignore more.
6432
6433 2007-05-18  Edward Hervey  <edward@fluendo.com>
6434
6435         * plugins/elements/gstqueue.c: (gst_queue_loop):
6436         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
6437         for the subtle art of warning a potentially blocking thread that it
6438         should check the source pad return value, and relay the information
6439         upstream.
6440
6441 2007-05-18  Edward Hervey  <edward@fluendo.com>
6442
6443         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6444         Release the queue lock !
6445
6446 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6447
6448         * docs/libs/gstreamer-libs-sections.txt:
6449         Add the two new controller functions to the appropiate places.
6450
6451 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6452
6453         reviewed by: Stefan Kost <ensonic@users.sf.net>
6454
6455         * libs/gst/controller/gstcontroller.c:
6456         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
6457         (_gst_controller_get_property), (_gst_controller_set_property),
6458         (_gst_controller_init), (_gst_controller_class_init):
6459         * libs/gst/controller/gstcontroller.h:
6460         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
6461         (gst_object_get_control_rate), (gst_object_set_control_rate):
6462         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
6463         Add API that provides sync suggestion timestamps for elements that
6464         call gst_object_sync_values() from which those elements can subdivide
6465         their processing loop to get the best results for the controlled
6466         properties. For now it just suggests last_sync + control_rate as
6467         new timestamp but this will be improved in the future.
6468
6469         While doing that change the control-rate property to a GstClockTime
6470         from guint and change it's meaning from samples to nanoseconds as
6471         the GstController doesn't know anything about sampling rate. Strictly
6472         speaking this breaks ABI but as the control-rate property didn't do
6473         anything in the past and as such couldn't be used this should be no
6474         problem.        
6475
6476 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6477
6478         reviewed by: Stefan Kost <ensonic@users.sf.net>
6479
6480         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6481         (gst_controller_unset_all):
6482         * libs/gst/controller/gstcontrollerprivate.h:
6483         * libs/gst/controller/gstinterpolation.c:
6484         (gst_controlled_property_find_control_point_node):
6485         Save last synced value from the list to continue searching from there
6486         in future syncs. This speeds everything up a bit.
6487         
6488 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6489
6490         reviewed by: Stefan Kost <ensonic@users.sf.net>
6491
6492         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
6493         (gst_control_point_find), (gst_controlled_property_new),
6494         (gst_control_point_free), (gst_controlled_property_free),
6495         (gst_controller_set), (gst_controller_set_from_list),
6496         (gst_controller_unset), (gst_controller_unset_all),
6497         (gst_controller_sync_values):
6498         * libs/gst/controller/gstcontroller.h:
6499         * libs/gst/controller/gstcontrollerprivate.h:
6500         * libs/gst/controller/gstinterpolation.c:
6501         (gst_controlled_property_find_control_point_node),
6502         (interpolate_none_get), (interpolate_trigger_get):
6503         Add a new private GstControlPoint struct which "inherits" from
6504         GstTimedValue to allow different interpolators to store internal
6505         values next to each control point. From the outside everything is
6506         still a GstControlPoint so we don't loose binary compatibility.
6507         Also fixup all the GValue handling to not leak GValues or list nodes.
6508         * tests/check/libs/controller.c: (GST_START_TEST):
6509         Free the list nodes and GValues in the controller_misc test.
6510
6511 2007-05-17  Edward Hervey  <edward@fluendo.com>
6512
6513         * gst/gstsegment.c:
6514         Small doc fix.
6515
6516 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6517
6518         * gst/gstplugin.c: (gst_plugin_load_file):
6519           If we fail to load a plugin because of unresolved symbols or missing
6520           libraries and spew a warning to stderr, we may just as well mention
6521           which plugin it was that failed to load.
6522
6523 2007-05-13  David Schleef  <ds@schleef.org>
6524
6525         * docs/Makefile.am: the gtk-doc makefile snippet correctly
6526           handles the case when ENABLE_GTK_DOC is false, and installs
6527           the prebuilt documentation.  So gtk-doc subdirs are 
6528           unconditionally enabled.  Fixes: #349099.
6529
6530 2007-05-13  David Schleef  <ds@schleef.org>
6531
6532         * gst/gstutils.h: Reword some documentation.
6533
6534 2007-05-12  David Schleef  <ds@schleef.org>
6535
6536         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
6537           do anything with the passed "module" parameter, so remove it.
6538           Allows removal of additional vestigal code.
6539
6540 2007-05-12  David Schleef  <ds@schleef.org>
6541
6542         * gst/gstplugin.c:
6543           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
6544           Switch to using g_stat() because it's more portable.
6545
6546 2007-05-12  David Schleef  <ds@schleef.org>
6547
6548         * gst/gst.c:
6549           Add GST_DISABLE_OPTION_PARSING, in order to disable option
6550           parsing for embedded systems.
6551         * gst/gstelementfactory.c:
6552           Allow gst_element_register() to be called with plugin==NULL.
6553           Did nobody notice that static elements were broken?
6554
6555 2007-05-12  Wim Taymans  <wim@fluendo.com>
6556
6557         * tools/gst-launch.c: (event_loop):
6558         Give more interesting info when buffering starts and stops.
6559         Fix case where buffering starts but we fail to update the buffering flag
6560         because the target state is not PLAYING.
6561
6562 2007-05-12  Wim Taymans  <wim@fluendo.com>
6563
6564         * plugins/elements/gstqueue.c: (gst_queue_init),
6565         (gst_queue_finalize), (update_time_level), (apply_segment),
6566         (apply_buffer), (gst_queue_locked_flush),
6567         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
6568         (gst_queue_handle_sink_event), (gst_queue_chain),
6569         (gst_queue_push_one), (gst_queue_loop):
6570         * plugins/elements/gstqueue.h:
6571         Refactor an cleanup queue a bit.
6572         Do better time level calculations that also work when the srcpad is not
6573         yet running.
6574         Remove some unneeded debug lines.
6575
6576         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
6577         Added testcase for time level measurement.
6578         Try to make some stuff more racefree.
6579
6580 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6581
6582         * gst/gsturi.c: (gst_element_make_from_uri):
6583           Don't leak plugin feature.
6584
6585         * tests/check/Makefile.am:
6586         * tests/check/gst/.cvsignore:
6587         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
6588           Add brain-dead unit test.
6589
6590 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6591
6592         Patch by: Jeroen Wouters <woutersj at gmail com>
6593
6594         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
6595           Treat protocol strings in a case-insensitive way (#437563).
6596
6597 2007-05-11  Michael Smith <msmith@fluendo.com>
6598
6599         * gst/gstplugin.c: (gst_plugin_load_file):
6600         * gst/gstregistry.c: (gst_registry_scan_path_level):
6601           Don't print a g_warning for any failure to load a shared object.
6602           Instead, push this down into gstplugin.c, and warn _only_ if we
6603           failed to open the module (i.e. failure to link).
6604           Avoids warnings on normal, working, non-plugin .so files.
6605
6606 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
6607
6608         * gst/gstplugin.c (gst_plugin_load_file):
6609         * gst/gstregistry.c (GST_CAT_DEFAULT,
6610           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
6611           Print a g_warning if there was an error when loading a plugins during
6612           registry scan. The shuld help beginners starting with gst-plugin
6613           template.
6614
6615 2007-05-10  Wim Taymans  <wim@fluendo.com>
6616
6617         * plugins/elements/gstqueue.c: (gst_queue_class_init),
6618         (update_time_level), (gst_queue_locked_flush),
6619         (gst_queue_handle_sink_event), (gst_queue_chain),
6620         (gst_queue_push_one), (gst_queue_loop):
6621         * plugins/elements/gstqueue.h:
6622         Be smarter when calculating the current amount of data in the queue by
6623         measuring the difference between start and end timestamps (in running
6624         time) inside the queue. Fixes #432876.
6625         API: GstQueue::pushing to notify elements that we are pushing data again
6626         since the running signal is rather broken for this purpose.
6627
6628 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
6629
6630         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
6631           gst_queue_base_init, gst_queue_init):
6632           use GST_BOILERPLATE
6633
6634 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
6635
6636         * win32/common/libgstreamer.def:
6637         Add new exported functions.
6638         * win32/vs6/grammar.dsp:
6639         Use grammar pre-generated files.
6640
6641 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6642
6643         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
6644
6645         * gst/Makefile.am:
6646         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
6647         * gst/gstparse.h:
6648         * gst/gstutils.c: (gst_parse_bin_from_description):
6649         * gst/gstutils.h:
6650           Maintain API and ABI when --disable-parse is used. Now that
6651           we have an appropriate error code, we can just return NULL and the
6652           appropriate error when gst_parse_launch() is used despite it having
6653           been disabled (#342564).
6654
6655         * tests/check/Makefile.am:
6656         * tests/check/pipelines/.cvsignore:
6657         * tests/check/pipelines/parse-disabled.c:
6658           Make sure these functions exist and return NULL plus a GError when
6659           --disable-parse is used.
6660
6661 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6662
6663         * tests/benchmarks/complexity.c: (main):
6664         * tests/benchmarks/mass-elements.c: (main):
6665           Set a good example and don't leak messages.
6666
6667 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
6668
6669         * docs/gst/Makefile.am:
6670         * docs/libs/Makefile.am:
6671           Correct fixxrefs options.
6672
6673         * docs/plugins/Makefile.am:
6674         * docs/plugins/gstreamer-plugins-docs.sgml:
6675         * docs/plugins/gstreamer-plugins-sections.txt:
6676         * plugins/elements/Makefile.am:
6677         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
6678         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
6679           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
6680           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
6681           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
6682           _GstCapsFilterClass, trans_class):
6683         * plugins/elements/gstelements.c (name, rank, type, _elements):
6684         * plugins/elements/gstidentity.c
6685           (gst_identity_check_imperfect_timestamp,
6686           gst_identity_check_imperfect_offset):
6687           Document capsfilter and add doc-blurb to identity.
6688
6689 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6690
6691         * libs/gst/controller/gstcontroller.c:
6692         (gst_controlled_property_set_interpolation_mode):
6693         * libs/gst/controller/gstinterpolation.c:
6694           Don't crash if someone tries to set an interpolation mode that
6695           is invalid or that isn't supported yet. Fixes #422295.
6696
6697         * tests/check/libs/controller.c: (GST_START_TEST),
6698         (gst_controller_suite):
6699           Add a test case for the above.
6700
6701 2007-05-03  Edward Hervey  <edward@fluendo.com>
6702
6703         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6704         Properly set the last_stop position on GstSegment. This will only happen
6705         if there is a buffer to push out.
6706
6707 2007-05-03  Wim Taymans  <wim@fluendo.com>
6708
6709         * libs/gst/base/gstbasetransform.c:
6710         (gst_base_transform_buffer_alloc):
6711         always_in_place does not mean that the sink and source caps are the
6712         same! Make sure we don't blindly proxy the buffer_alloc in this case.
6713
6714 2007-05-03  Wim Taymans  <wim@fluendo.com>
6715
6716         * docs/libs/gstreamer-libs-sections.txt:
6717         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6718         (gst_base_src_default_query), (gst_base_src_get_range):
6719         * libs/gst/base/gstbasesrc.h:
6720         API: gst_base_src_query_latency(). Added method so that subclasses can
6721         easily get the latency values of the base source class.
6722
6723 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
6724
6725         * tools/gst-inspect.c (print_implementation_info):
6726         Remove 0.8 cruft.
6727
6728 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
6729
6730         * tools/Makefile.am:
6731         * tools/gst-launch.1.in:
6732           Don't create a customised man page based on the host architecture,
6733           describe the default registry path generically. That way the man
6734           page is the same for all architectures and packagers have one
6735           multilib issue less to deal with. Fixes #434926.
6736
6737 2007-05-02  Wim Taymans  <wim@fluendo.com>
6738
6739         * gst/gstpad.c:
6740         Fix documentation as spotted by rg on IRC. 
6741
6742 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
6743
6744         * gst/gstutils.c:
6745           Improve docs for gst_element_{link,unlink}.
6746
6747 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
6748
6749         * docs/design/part-events.txt:
6750         * docs/design/part-overview.txt:
6751         * gst/gstevent.c:
6752         * gst/gsturi.c:
6753         * gst/gsturi.h:
6754         * libs/gst/base/gstbasesink.c:
6755           Typo fixes; minor docs addition.
6756
6757 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6758
6759         * docs/gst/gstreamer-sections.txt:
6760         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
6761         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
6762         * gst/gsturi.h:
6763         API: Add gst_uri_protocol_is_supported(), which checks if a sink
6764         or src that supports a given URI protocol exists.
6765
6766 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6767
6768         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6769         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6770         Set the location to NULL if "file://" is set as URI. Otherwise
6771         some random previous URI would still be set if "file://" is
6772         set on an already used filesink/filesrc.
6773
6774 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6775
6776         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6777         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6778         Special case the "file://" URI as as this is used by some
6779         applications to test with gst_element_make_from_uri if there's
6780         an element that supports the URI protocol.
6781         Also move the g_path_is_absolute() check for the location part
6782         of the URI to also check this for "file://localhost/bla" URIs.
6783
6784 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
6785
6786         * docs/gst/gstreamer-sections.txt:
6787         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
6788         * gst/gstbuffer.h:
6789         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6790         (gst_buffer_suite):
6791           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
6792
6793 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
6794
6795         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6796         (gst_registry_binary_load_pad_template),
6797         (gst_registry_binary_load_plugin),
6798         (gst_registry_binary_read_cache):
6799         * gst/gstregistrybinary.h:
6800           Implement no-mmap alternative for registry reading. Do code cleanups.
6801           Add more comments about avoiding strdups for all text data. Comments
6802           welcome.
6803
6804 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
6805
6806         * gst/gstregistrybinary.h (GstBinaryPluginElement,
6807           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
6808           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
6809           Comment structs and reformat to fix the build (that stuff should go
6810           into a priv. header).
6811
6812 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
6813
6814         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
6815         (gst_registry_binary_load_feature):
6816         * gst/gstregistrybinary.h:
6817           Refactor so that we can implement multiple features. Add support for
6818           TypeFindFactory features.
6819
6820 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
6821
6822         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
6823
6824         * configure.ac:
6825           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
6826
6827 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
6828
6829         * gst/gstbin.c: (gst_bin_element_set_state),
6830         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
6831         (bin_handle_async_done), (gst_bin_handle_message_func):
6832           Fix build with --gst-disable-gst-debug
6833
6834 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
6835
6836         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
6837           Make sure streaming has finished before calling the ::stop() vfunc,
6838           since that vfunc might clear state which is being used in the
6839           streaming thread. This fixes a race that caused crashes in
6840           audioresample when shutting down a pipeline (#420106).
6841
6842 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6843
6844         * docs/gst/gstreamer-sections.txt:
6845           That was one byte missing.
6846
6847 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6848
6849         * configure.ac:
6850         * docs/gst/gstreamer-sections.txt:
6851         * gst/Makefile.am:
6852         * gst/gstconfig.h.in:
6853         * gst/gstobject.c: (gst_object_class_init),
6854         (gst_signal_object_class_init):
6855         * gst/gstobject.h:
6856           2nd attempt to have a xml-less build as a joined effort of #413123
6857           and #421480.
6858
6859 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * docs/design/draft-tagreading.txt:
6862           Added open issues/thoughts to draft.
6863
6864 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6865
6866         * gst/parse/grammar.tab.pre.c:
6867         * gst/parse/grammar.tab.pre.h:
6868         * gst/parse/lex._gst_parse_yy.pre.c:
6869         Update the prebuild parser sources.
6870
6871 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6872
6873         * gst/parse/Makefile.am:
6874         And now fix the building of the flex sources. Now everything should
6875         work as expected.
6876
6877 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6878
6879         * gst/parse/Makefile.am:
6880         Now hopefully fix the build failures by setting proper rule
6881         dependencies and moving instead of copying.
6882
6883 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6884
6885         * tests/benchmarks/complexity.gnuplot:
6886         * tests/benchmarks/complexity.scm:
6887         * tests/benchmarks/mass-elements.gnuplot:
6888         * tests/benchmarks/mass-elements.scm:
6889           Total licensification.
6890
6891 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6892
6893         * gst/parse/Makefile.am:
6894           Fix the build by correcting the rule that gave wrong files to flex.
6895
6896 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6897
6898         * tests/benchmarks/complexity.c:
6899         * tests/benchmarks/mass-elements.c:
6900           Change licence to LGPL as granted by Benjamin and Andy.
6901
6902 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6903
6904         * gst/parse/Makefile.am:
6905         Add correct grammar.tab.h dependency if compiling without new enough
6906         flex. Fixes #431150.
6907
6908 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
6909
6910         * gst/parse/Makefile.am:
6911         Fix typo and use outdated sources if the flex/bison sources are newer
6912         than the pregenerated ones but flex is too old. Print a warning in
6913         that case. This should fix the build on the build bot.
6914
6915 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
6916
6917         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
6918         * gst/parse/Makefile.am:
6919         * gst/parse/grammar.y:
6920         * gst/parse/parse.l:
6921         Make the parser reentrant and recursively callable. This requires flex
6922         >= 2.5.31, for older versions pregenerated sources are used as we
6923         can't bump the build dependency. Finally fixes #349180.
6924
6925         * gst/gstparse.c: (gst_parse_launch):
6926         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
6927         now anyway.
6928
6929         * docs/gst/Makefile.am:
6930         * docs/gst/Makefile.am:
6931         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
6932         (__gst_parse_strfree), (__gst_parse_link_new),
6933         (__gst_parse_link_free), (__gst_parse_chain_new),
6934         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
6935         (gst_parse_element_set), (gst_parse_free_link),
6936         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
6937         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
6938         (_gst_parse_launch):
6939         * gst/parse/grammar.tab.pre.h:
6940         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
6941         (yy_get_previous_state), (yy_try_NUL_trans), (input),
6942         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
6943         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
6944         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
6945         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
6946         (_gst_parse_yypop_buffer_state),
6947         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
6948         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
6949         (yy_fatal_error), (_gst_parse_yyget_extra),
6950         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
6951         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
6952         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
6953         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
6954         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
6955         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
6956         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
6957         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
6958         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
6959         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
6960         (_gst_parse_yyfree):
6961         If the installed flex version is too old use pre-generated parser
6962         sources. These pre-generated parser sources are always updated when
6963         the actual flex/bison sources change but require everybody who wants
6964         to change something in the parser to have flex >= 2.5.31 installed.
6965
6966 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
6967
6968         * common/m4/gst-gettext.m4:
6969         * gst/gst-i18n-lib.h:
6970           Make --disable-nls to work
6971
6972 2007-04-17  Wim Taymans  <wim@fluendo.com>
6973
6974         * gst/gstconfig.h.in:
6975         Revert previous change that broke the build.
6976
6977 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
6978
6979         * configure.ac:
6980         * gst/Makefile.am:
6981         * gst/gstconfig.h.in:
6982           Drop libxml2 dependency when building with 
6983           --enable-binary-registry --disable-loadsave
6984
6985 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
6986
6987         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6988         (gst_registry_binary_read_cache):
6989         * gst/gstregistrybinary.h:
6990           Remove unnecessary <sys/mman.h> include which broke the win32 build
6991           with MingW; move includes from header file to .c file, even if the
6992           header file isn't installed; use g_strerror() where UTF-8 strings
6993           are expected, such as in GST_DEBUG messages.
6994
6995 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6996
6997         * docs/libs/gstreamer-libs-sections.txt:
6998         Remove bogus addition for API I didn't end up keeping.
6999
7000         * libs/gst/base/gstbasesrc.h:
7001         Mention Since: 0.10.13 in the documentation.
7002
7003         Add the API keyword to the previous ChangeLog entry.
7004
7005 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7006
7007         * docs/libs/gstreamer-libs-sections.txt:
7008         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7009         (gst_base_src_default_prepare_seek_segment),
7010         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
7011         * libs/gst/base/gstbasesrc.h:
7012         Allow basesrc derived classes to execute seeks in other formats
7013         by providing a prepare_seek_segment vmethod. Sub-classes can choose
7014         to prepare the GstSegment in any format that their perform_seek method
7015         will be able to understand. The default implementation provides the
7016         old behaviour of attempting to convert the seek offsets to the 
7017         configured native format.
7018
7019         API: basesrc::prepare_seek_segment vmethod.
7020
7021 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7022
7023         * gst/gstelement.c: (gst_element_get_state_func):
7024         Don't output the same debug statement twice.
7025
7026         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
7027         (gst_adapter_peek), (gst_adapter_take_buffer):
7028         Optimise the case where we have buffers at the head of the queue that
7029         can be joined quickly (because they're contiguous sub-buffers) by
7030         merging them together rather than copying data out into new memory.
7031
7032         * gst/parse/grammar.y:
7033         * tests/check/pipelines/parse-launch.c:
7034         Fix a leak in an error path for parse_launch, and add a check 
7035         for it to the testsuite.
7036
7037 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7038
7039         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7040           Don't deadlock when releasing a pad - gst_pad_set_active may try
7041           and take the multiqueue lock too.
7042
7043 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7044
7045         * gst/gsterror.c: (_gst_core_errors_init):
7046         * gst/gsterror.h:
7047           API: add GST_CORE_ERROR_DISABLED (#392804).
7048
7049 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7050
7051         * docs/faq/gst-uninstalled:
7052           don't get empty paths on the PATH variables
7053         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
7054           Don't format for the uncommon terminal width of 84 characters.
7055
7056 2007-04-06  Wim Taymans  <wim@fluendo.com>
7057
7058         * gst/gstpipeline.c: (reset_stream_time),
7059         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
7060         Only try to select a different pipeline clock when we went back to
7061         PAUSED and not when we merely got flushed.
7062
7063 2007-04-05  Michael Smith  <msmith@fluendo.com>
7064
7065         * tools/gst-launch.1.in:
7066           fractions are better supported in gstreamer than ractions, so
7067           suggest using those.
7068
7069 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
7072
7073         * po/LINGUAS:
7074         * po/da.po:
7075           Added Danish translation.
7076
7077 2007-04-05  Wim Taymans  <wim@fluendo.com>
7078
7079         * libs/gst/base/gstbasesink.c:
7080         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
7081         Fix leak caused when refusing newsegment after EOS.
7082
7083         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7084         (gst_fake_sink_init), (gst_fake_sink_set_property),
7085         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
7086         (gst_fake_sink_render), (gst_fake_sink_change_state):
7087         * plugins/elements/gstfakesink.h:
7088         Add num-buffers property to make the element generate EOS after a
7089         configurable amount of buffers.
7090         API: fakesink::num-buffers property.
7091
7092         * tests/check/elements/fakesink.c: (GST_START_TEST),
7093         (fakesink_suite):
7094         Fix GstBus leak in test.
7095         Test for fakesink num-buffers.
7096
7097 2007-04-05  Wim Taymans  <wim@fluendo.com>
7098
7099         * libs/gst/base/gstbasesink.c:
7100         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
7101         (gst_base_sink_change_state):
7102         Don't accept anything after an EOS, return UNEXPECTED instead.
7103
7104         * tests/check/elements/fakesink.c: (GST_START_TEST),
7105         (fakesink_suite):
7106         Unit test for new EOS behaviour.
7107
7108 2007-04-05  Wim Taymans  <wim@fluendo.com>
7109
7110         * gst/gstelement.c: (gst_element_get_request_pad):
7111         Make padtemplates also work when they don't contain %s or %d.
7112
7113 2007-04-05  Wim Taymans  <wim@fluendo.com>
7114
7115         * docs/gst/gstreamer-sections.txt:
7116         * gst/gstclock.c: (gst_clock_adjust_unlocked),
7117         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
7118         * gst/gstclock.h:
7119         Improve _adjust_unlocked() so that it overflows less.
7120         Add gst_clock_unadjust_unlocked to convert from external time to
7121         internal time based on calibration.
7122         Add some more debug.
7123         API: GstClock::gst_clock_unadjust_unlocked()
7124
7125 2007-04-03  Wim Taymans  <wim@fluendo.com>
7126
7127         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7128
7129         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7130         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
7131         when releasing sink pad. Fixes #425400.
7132
7133 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
7134
7135         * docs/random/ensonic/dynlink.txt:
7136           More work on proposal for new core api.
7137
7138         * docs/libs/gstreamer-libs-sections.txt:
7139         * libs/gst/base/gstbasetransform.h:
7140           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
7141           
7142         * libs/gst/controller/gstcontroller.c:
7143         (on_object_controlled_property_changed),
7144         (gst_controller_sync_values),
7145         (gst_controller_set_interpolation_mode):
7146         * libs/gst/controller/gstcontroller.h:
7147           Less verbose logging add docs for unimplemented parts and correctly
7148           return when using unavailable parts.
7149
7150 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7151
7152         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
7153         Move all the debug to the CLOCK category, and associate it with
7154         the clock object.
7155
7156 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7157
7158         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
7159         Make take_buffer a bit quicker by removing redundant checks
7160         caused by calling gst_adapter_take.
7161
7162 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7163
7164         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
7165           Don't leak GCond.
7166
7167         * tests/check/Makefile.am:
7168         * tests/check/elements/.cvsignore:
7169         * tests/check/elements/multiqueue.c: (setup_multiqueue),
7170         (GST_START_TEST), (multiqueue_suite):
7171           Add some dead simple unit tests for the 'multiqueue' element
7172           (some bits don't work yet and are disabled for now).
7173
7174 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7175
7176         * gst/gstelement.c: (gst_element_get_request_pad),
7177         (gst_element_class_get_request_pad_template):
7178           Make gst_element_get_request_pad() create request pads only for
7179           request pad templates and not for, say, sometimes pad templates.
7180
7181 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
7182
7183         * docs/design/draft-klass.txt:
7184           Add example that needs more thinking.
7185         
7186         * docs/design/draft-missing-plugins.txt:
7187           More thoughts about wrapper plugins.
7188         
7189         * docs/random/ensonic/embedded.txt:
7190         * docs/random/ensonic/profiling.txt:
7191           More design work.
7192
7193 2007-03-25  Wim Taymans  <wim@fluendo.com>
7194
7195         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
7196         (gst_base_src_loop):
7197         Only push the segment events in the PLAYING state for live sources.
7198
7199 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
7200
7201         * gst/gstpipeline.c: (gst_pipeline_change_state):
7202         Modify the clock distribution path in PAUSED->PLAYING so that we 
7203         never attempt to choose a new clock unless we're actually leaving
7204         the PAUSED state for the first time. This prevents choosing a
7205         different clock when the state_change gets called for a 2nd time due
7206         to some element doing an async state change.
7207
7208 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7209
7210         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
7211         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
7212         (gst_pad_chain_unchecked), (gst_pad_push):
7213         Revert last commit. This needs some more thoughts.
7214
7215 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7216
7217         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
7218         (gst_pad_chain_unchecked), (gst_pad_push):
7219         Check in set_caps if the caps are compatible with the pad and remove
7220         two functions that are redundant now. Fixes #421543.
7221
7222 2007-03-22  Wim Taymans  <wim@fluendo.com>
7223
7224         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7225         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
7226         Unref some more to make valgrind happy.
7227
7228 2007-03-22  Wim Taymans  <wim@fluendo.com>
7229
7230         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
7231         (gst_system_clock_id_wait_jitter),
7232         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
7233         Fix anoying regression that survived a few releases. When adding an
7234         async entry while blocking on a sync entry, the sync entry will unblock
7235         but still be busy, so it should continue to wait instead of returning
7236         _BUSY to the app.
7237         Add some comments here and there.
7238
7239         * tests/check/gst/gstsystemclock.c: (mixed_thread),
7240         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
7241         Add testcase for this.
7242
7243 2007-03-22  Wim Taymans  <wim@fluendo.com>
7244
7245         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
7246         Handle errors from the clock sync better, only UNSCHEDULED indicates a
7247         WRONG_STATE and can silently pause the task. All other cases should
7248         error out.
7249
7250 2007-03-22  Wim Taymans  <wim@fluendo.com>
7251
7252         Patch by: Ville Syrjala <syrjala at sci dot fi>
7253
7254         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
7255         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
7256         Improve debugging.
7257
7258 2007-03-21  Michael Smith  <msmith@fluendo.com>
7259
7260         * docs/pwg/advanced-types.xml:
7261           Fix some errors in the typefinding docs pointed out on irc.
7262
7263 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
7264
7265         * libs/gst/base/gstbasesrc.c:
7266         Clarify FIXME comment in the face of having added unlock_stop()
7267
7268 2007-03-21  Wim Taymans  <wim@fluendo.com>
7269
7270         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
7271         Prepare for release where we warn against possible app breakage in the
7272         case of live pipelines along with an env var to enable/disable live
7273         preroll mode (GST_COMPAT=[no-]live-preroll).
7274
7275 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7276
7277         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
7278         So we should use correct constants for checking for None offset.
7279
7280 2007-03-20  Wim Taymans  <wim@fluendo.com>
7281
7282         * docs/design/part-block.txt:
7283         Mention the fact that the newly switched element should be set to at
7284         least PAUSED.
7285
7286 2007-03-20  Wim Taymans  <wim@fluendo.com>
7287
7288         * gst/gst.c:
7289         Fix compilation with registry disabled as spotted by Saur.
7290
7291 2007-03-20  Wim Taymans  <wim@fluendo.com>
7292
7293         Patch by: Olivier Crete <tester at tester dot ca>
7294
7295         * gst/gstelement.c: (gst_element_sync_state_with_parent):
7296         Look at the pending state too when syncing the element state to the
7297         parent. Fixes #420133.
7298
7299 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
7300
7301         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7302         (gst_base_sink_change_state):
7303         * libs/gst/base/gstbasesink.h:
7304         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7305         (gst_base_src_default_event), (gst_base_src_unlock_stop),
7306         (gst_base_src_deactivate):
7307         * libs/gst/base/gstbasesrc.h:
7308         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
7309         for sub-classes to correctly clear any state they set trying to
7310         unlock, such as clearing out unlock commands from a command fd.
7311         API: basesrc::unlock_stop
7312         API: basesink::unlock_stop
7313
7314         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
7315         (gst_fd_sink_render), (gst_fd_sink_unlock),
7316         (gst_fd_sink_unlock_stop):
7317         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
7318         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
7319         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
7320
7321         Implement unlock_stop in fdsrc and fdsink.
7322         Implement seeking in fdsrc when a seekable fd is passed, as in
7323         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
7324
7325 2007-03-19  Wim Taymans  <wim@fluendo.com>
7326
7327         Patch by: Evan Nemerson <evan at coeus dash group dot com>
7328
7329         * gst/gstelement.c: (gst_element_class_init):
7330         Fix pad-added and pad-removed signal signatures so that the pad type is
7331         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
7332
7333 2007-03-19  Wim Taymans  <wim@fluendo.com>
7334
7335         * docs/gst/gstreamer-sections.txt:
7336         Add new element field and method.
7337
7338         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7339         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
7340         (gst_bin_recalc_state), (gst_bin_get_state_func),
7341         (gst_bin_element_set_state), (gst_bin_change_state_func),
7342         (gst_bin_continue_func), (bin_bus_handler),
7343         (bin_push_state_continue), (bin_handle_async_start),
7344         (bin_handle_async_done), (gst_bin_handle_message_func):
7345         Make async state changes a bit smarter by using new ASYNC_START and
7346         ASYNC_DONE messages. This reduces the number of times we run the state
7347         recalculation thread.
7348         Don't change state of element with a pending ASYNC_START message.
7349         Deprecate STATE_DIRTY messages.
7350         
7351         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
7352         (gst_element_get_state_func), (gst_element_continue_state),
7353         (gst_element_lost_state), (gst_element_set_state_func),
7354         (gst_element_change_state):
7355         * gst/gstelement.h:
7356         Keep the state that was last set by the app in a new element field.
7357         Don't allow state changes when handling an element event.
7358         Post ASYNC_START and ASYNC_DONE messages.
7359         Change lost_state so that we go to PAUSED and wait for the parent to set
7360         us to PLAYING again (so latency calculation can be performed)
7361         Export gst_element_change_state() method so that subclasses can use it.
7362         API: gst_element_change_state()
7363         API: GST_STATE_TARGET
7364
7365         * gst/gstpipeline.c: (gst_pipeline_class_init),
7366         (reset_stream_time), (gst_pipeline_change_state),
7367         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
7368         Using the new ASYNC_START message we can reset the base_time when
7369         needed. This can then be used to implement base_time redistribution in
7370         flushing seeks so that we can remove the explicit seek handling.
7371         Perform latency query and configuration when going to PLAYING.
7372
7373         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7374         (gst_base_sink_query), (gst_base_sink_change_state):
7375         Post new ASYNC_START/ASYNC_DONE messages.
7376
7377         * tests/check/generic/sinks.c: (GST_START_TEST):
7378         Fix test because the bin will not set the async element to PLAYING right
7379         away.
7380
7381         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
7382         Make the message check a little stronger.
7383         Handle ASYNC messages.
7384
7385         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
7386         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
7387         Expect ASYNC_DONE messages.
7388
7389 2007-03-19  Wim Taymans  <wim@fluendo.com>
7390
7391         * docs/gst/gstreamer-sections.txt:
7392         * gst/gstmessage.c: (gst_message_new_async_start),
7393         (gst_message_new_async_done), (gst_message_parse_info),
7394         (gst_message_parse_async_start):
7395         * gst/gstmessage.h:
7396         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
7397         support.
7398
7399 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7400
7401         * tools/gst-inspect.c:
7402         (print_plugin_automatic_install_info_codecs):
7403           Now that we don't check for the 'Codec' keyword any longer in the
7404           klass, we shouldn't spew a warning if the klass isn't a decoder or
7405           encoder (since it might be a Source/Network, for example).
7406
7407 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7408
7409         * tools/gst-inspect.c:
7410         (print_plugin_automatic_install_info_codecs):
7411           Don't require decoder/demuxer/depayloader elements or
7412           encoder/muxer/paylader elements to have 'Codec' as part of their
7413           factory class string when introspecting a plugin's capabilities.
7414           draft-klass.txt mentions that it might be removed in future, and
7415           flump3dec doesn't have it as part of its class string, so chances
7416           are others might also not have it.
7417
7418 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7419
7420         * po/af.po:
7421         * po/az.po:
7422         * po/bg.po:
7423         * po/ca.po:
7424         * po/cs.po:
7425         * po/de.po:
7426         * po/en_GB.po:
7427         * po/fr.po:
7428         * po/it.po:
7429         * po/nb.po:
7430         * po/nl.po:
7431         * po/ru.po:
7432         * po/sq.po:
7433         * po/sr.po:
7434         * po/sv.po:
7435         * po/tr.po:
7436         * po/uk.po:
7437         * po/vi.po:
7438         * po/zh_CN.po:
7439         * po/zh_TW.po:
7440           Update translations from translation project
7441
7442 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
7443
7444         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
7445         (gst_child_proxy_set_property):
7446           Invert precondition check to be alike the ones in the mimiced gobject
7447           api.
7448
7449 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
7450
7451         * docs/design/draft-tagreading.txt:
7452         * docs/random/ensonic/audiobaseclasses.txt:
7453           Do some Architect work.
7454
7455         * gst/gstobject.c: (gst_object_set_name):
7456           Add a WARNING.
7457
7458         * gst/gstpad.c:
7459           Add docs that point from gst_pad_get_range to gst_pad_pull_range
7460
7461 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
7462
7463         * gst/gstsystemclock.c: (gst_system_clock_init),
7464         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
7465         Defer starting the async system clock thread until the first async
7466         wait is scheduled. Fixes #414986.
7467
7468 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7469
7470         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
7471         (gst_single_queue_free):
7472           Fix small leak (free GstSingleQueue structure too, not only contents).
7473
7474 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
7475
7476         * gst/gstbin.c:(gst_bin_add):
7477         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
7478         * win32/common/libgstbase.def:
7479         * win32/common/libgstreamer.def:
7480         Add new exported functions.
7481
7482 2007-03-09  Wim Taymans  <wim@fluendo.com>
7483
7484         * docs/plugins/gstreamer-plugins-sections.txt:
7485         Fix GstTee docs.
7486
7487 2007-03-09  Wim Taymans  <wim@fluendo.com>
7488
7489         * docs/gst/gstreamer-sections.txt:
7490         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
7491         * gst/gstbuffer.h:
7492         Add metadata copy functions. Fixes #393099.
7493         API: gst_buffer_copy_metadata()
7494
7495         * gst/gstutils.c: (gst_buffer_stamp):
7496         * libs/gst/base/gstbasetransform.c:
7497         (gst_base_transform_prepare_output_buffer):
7498         Use new metadata copy functions.
7499
7500 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7501
7502         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7503         (gst_identity_init), (gst_identity_check_perfect),
7504         (gst_identity_check_imperfect_timestamp),
7505         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
7506         (gst_identity_set_property), (gst_identity_get_property):
7507         * plugins/elements/gstidentity.h:
7508         Separate out check-imperfect-timestamp and check-imperfect-offset.
7509         Put back check-perfect as it was to keep compatibility.
7510
7511 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
7512
7513         * gst/gstelement.c: (gst_element_dispose):
7514         There's no need to warn if VOID_PENDING is not NONE here, as
7515         long as the state is NULL it's ok, and that's checked immediately
7516         above.
7517
7518 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7519
7520         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7521         Fix check for perfect stream to ignore buffers with -1 
7522         offsets/offset ends when checking data contiguity.
7523
7524 2007-03-08  Wim Taymans  <wim@fluendo.com>
7525
7526         * tools/gst-launch.c: (event_loop):
7527         Print INFO messages.
7528
7529 2007-03-08  Wim Taymans  <wim@fluendo.com>
7530
7531         * libs/gst/base/gstbasetransform.c:
7532         (gst_base_transform_sink_eventfunc),
7533         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7534         (gst_base_transform_activate):
7535         * libs/gst/base/gstbasetransform.h:
7536         Add support for dropping buffers with custom GstFlowReturn.
7537         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
7538         buffers or dropped buffers.
7539
7540         * docs/libs/gstreamer-libs-sections.txt:
7541         docs for new custom return code.
7542
7543         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7544         Use drop support in base class to implement drop-probability.
7545
7546 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7547
7548         * gst/gst.c: (load_plugin_func):
7549         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
7550         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7551         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7552           Remove newlines at end of debug log strings.
7553
7554 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7555
7556         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7557         Only post bus message at max, once per buffer received.
7558
7559 2007-03-07  Wim Taymans  <wim@fluendo.com>
7560
7561         * docs/design/Makefile.am:
7562         * docs/design/part-synchronisation.txt:
7563         Add doc about synchronisation
7564
7565         * docs/design/draft-latency.txt:
7566         * docs/design/part-TODO.txt:
7567         * docs/design/part-clocks.txt:
7568         * docs/design/part-events.txt:
7569         * docs/design/part-gstbus.txt:
7570         * docs/design/part-gstpipeline.txt:
7571         * docs/design/part-live-source.txt:
7572         * docs/design/part-messages.txt:
7573         * docs/design/part-overview.txt:
7574         * docs/design/part-streams.txt:
7575         * docs/design/part-trickmodes.txt:
7576         Documentation updates.
7577
7578 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7579
7580         * gstreamer.doap:
7581         Update the doap file.
7582
7583 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7584
7585         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7586         Rename non-perfect to imperfect for Mike and for the sanctity of the
7587         language.
7588         Also make sure bus message gets emitted for data-incontiguities.
7589
7590 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7591
7592         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
7593         (gst_identity_start):
7594         * plugins/elements/gstidentity.h:
7595         Emit bus message if check-perfect is true and we encounter a
7596         non-perfect stream between 2 consecutive buffers.
7597         Fixes #415394.
7598
7599 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7600
7601         * configure.ac:
7602         Back to CVS
7603
7604 === release 0.10.12 ===
7605
7606 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
7607
7608         * configure.ac:
7609           releasing 0.10.12, "Inevitable Demise"
7610
7611 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
7612
7613         * configure.ac:
7614          Version 0.10.11.2 (0.10.12 pre-release)
7615          Bump libtool versioning.
7616
7617 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
7618
7619         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7620           Log flow-names and not numbers.
7621
7622 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7623
7624         * configure.ac:
7625           Convert to new AG_GST style.
7626
7627 2007-02-28  Wim Taymans  <wim@fluendo.com>
7628
7629         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
7630         Don't unref query twice.
7631
7632 2007-02-28  Wim Taymans  <wim@fluendo.com>
7633
7634         * gst/gstvalue.c: (gst_value_transform_object_string),
7635         (_gst_value_initialize):
7636         Implement GstObject -> string transform so we print object names
7637         when serializing GValues containing GstObjects.
7638
7639 2007-02-28  Wim Taymans  <wim@fluendo.com>
7640
7641         * docs/gst/gstreamer-sections.txt:
7642         Add new stuff to docs.
7643
7644 2007-02-28  Wim Taymans  <wim@fluendo.com>
7645
7646         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
7647         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
7648         (gst_base_sink_change_state):
7649         Improve latency query code.
7650         Don't leak latency events.
7651
7652         * tests/check/gst/gstbin.c: (GST_START_TEST):
7653         Improve debugging.
7654
7655 2007-02-28  Wim Taymans  <wim@fluendo.com>
7656
7657         * gst/gstelement.c: (gst_element_message_full),
7658         (gst_element_get_state_func):
7659         * gst/gstelement.h:
7660         Improve docs a little. Added Since: for new macro.
7661
7662         * gst/gstobject.c: (gst_object_sink):
7663         * gst/gstpipeline.c: (gst_pipeline_change_state),
7664         (gst_pipeline_set_new_stream_time):
7665         * gst/gstpipeline.h:
7666         Improve debugging and docs.
7667
7668         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7669         Improve debugging.
7670
7671 2007-02-28  Wim Taymans  <wim@fluendo.com>
7672
7673         * gst/gstelement.c: (gst_element_message_full),
7674         (gst_element_set_locked_state), (gst_element_get_state_func),
7675         (gst_element_change_state):
7676         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
7677         Documentation updates.
7678         Small code cleanups.
7679
7680         * gst/gstmessage.c: (gst_message_new_info),
7681         (gst_message_parse_info):
7682         * gst/gstmessage.h:
7683         API: gst_message_new_info()
7684         API: gst_message_parse_info()
7685         Add INFO message create and parse code.
7686
7687 2007-02-28  Wim Taymans  <wim@fluendo.com>
7688
7689         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
7690         (bin_query_latency_done):
7691         Also report the live parameter of a latency query.
7692
7693 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7694
7695         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
7696           Copy the current generic/states example from -base and adapt so
7697           we can use the exact same code everywhere.
7698           Check a STATES_IGNORE_ELEMENTS env var which can be used
7699           to ignore certain element factories for this test, which is
7700           what is being done in -base
7701         * tests/check/Makefile.am:
7702           Mention this environment variable.
7703
7704 2007-02-27  Wim Taymans  <wim@fluendo.com>
7705
7706         * docs/gst/gstreamer-sections.txt:
7707         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7708         (gst_bus_timed_pop), (gst_bus_pop):
7709         * gst/gstbus.h:
7710         API: gst_bus_timed_pop()
7711         Implement gst_bus_timed_pop() to do a blocking timed wait for a
7712         message to arrive on the bus.
7713
7714         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
7715         (gst_bus_suite):
7716         Two unit tests for new _timed_pop() function.
7717
7718 2007-02-23  Wim Taymans  <wim@fluendo.com>
7719
7720         * gst/gstpipeline.c: (gst_pipeline_change_state),
7721         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
7722         Don't ref a NULL clock in _provide_clock_func().
7723         Don't allow an INVALID delay.
7724         Don't try to calculate base_time with an invalid start_time.
7725         Also distribute and notify a NULL clock when it was selected.
7726
7727         * tools/gst-launch.c: (event_loop):
7728         Don't crash when a NULL clock was selected in the pipeline.
7729
7730 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7731
7732         * docs/design/Makefile.am:
7733         * docs/design/draft-missing-plugins.txt:
7734         * docs/random/draft-missing-plugins.txt:
7735           Some small updates: update plugin system identifier prefix
7736           ('gstreamer.net' to 'gstreamer'), mention our new install
7737           API in libgstbaseutils rather than libgimme-codec, add
7738           reference to the online docs.
7739
7740 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7741
7742         * win32/common/config.h:
7743           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
7744           use moap cl ci to only check in what is mentioned in the ChangeLog.
7745
7746 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7747
7748         * docs/gst/gstreamer-sections.txt:
7749         * gst/gstelement.h:
7750           Fix up documentation to link to the correct GstGError section.
7751           Add GST_ELEMENT_INFO macro since someone else added a Info message.
7752
7753 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7754
7755         * tools/gst-launch.c: (event_loop):
7756           Make sure that we actually show the important message part of a
7757           warning message.
7758           No need to check if the gerror is not NULL to free; first of all
7759           g_free accepts NULL; and second the default error handler would
7760           segfault if gerror was NULL.
7761
7762 2007-02-21  Wim Taymans  <wim@fluendo.com>
7763
7764         * docs/gst/gstreamer-sections.txt:
7765         Removed docs as well.
7766
7767 2007-02-21  Wim Taymans  <wim@fluendo.com>
7768
7769         * gst/gstmessage.c: (gst_message_parse_duration):
7770         * gst/gstmessage.h:
7771         Remove new messages for release.
7772
7773 2007-02-20  Wim Taymans  <wim@fluendo.com>
7774
7775         * docs/design/part-gstghostpad.txt:
7776         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
7777         (gst_ghost_pad_new_full):
7778         Make the ghostpad a parent of the internal pad again for better backward
7779         compatibility. Don't write code that relies on this however.
7780
7781         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7782         (gst_pad_link_check_hierarchy):
7783         Require that parents should be GstElements in the hierarchy check.
7784
7785 2007-02-20  Wim Taymans  <wim@fluendo.com>
7786
7787         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
7788         (gst_bin_change_state_func), (bin_query_min_max_init),
7789         (bin_query_latency_fold), (bin_query_latency_done),
7790         (gst_bin_query):
7791         Improve debug info.
7792         Implement latency query.
7793
7794 2007-02-20  Wim Taymans  <wim@fluendo.com>
7795
7796         * docs/design/part-gstghostpad.txt:
7797         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
7798         (gst_ghost_pad_internal_do_activate_push),
7799         (gst_ghost_pad_internal_do_activate_pull),
7800         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7801         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
7802         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
7803         Do not set the internal pad as a parent anymore so we can avoid
7804         hierarchy linking errors when the ghostpad has no parent yet. This also
7805         fixes failed activation because of unlinked internal pads, which in
7806         turn fixes the impossible case where you have to activate a pad before
7807         you can add it to a running element.
7808         Also fix the docs.
7809
7810         * gst/gstpad.c: (pre_activate), (post_activate),
7811         (gst_pad_set_active), (gst_pad_activate_pull),
7812         (gst_pad_activate_push), (gst_pad_check_pull_range):
7813         Add some more debug info.
7814         Mark activation mode in pre_activate so that we don't try to activate in
7815         endless loops. Fixes #385084.
7816
7817 2007-02-19  Wim Taymans  <wim@fluendo.com>
7818
7819         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
7820         (gst_base_transform_check_get_range):
7821         Implement a checkgetrange function instead of relying on the default
7822         core behaviour that assumes we can operate in pull mode if we have a
7823         getrange function. First step at fixing #385084.
7824
7825 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
7826
7827         * gst/gstchildproxy.h:
7828         * libs/gst/base/gstbasesink.h:
7829         * libs/gst/base/gstbasesrc.h:
7830         * libs/gst/base/gstbasetransform.h:
7831         More docs coverage and some ChangeLog surgery (add missing names)
7832
7833 2007-02-15  Wim Taymans  <wim@fluendo.com>
7834
7835         * docs/design/part-TODO.txt:
7836         * docs/design/part-activation.txt:
7837         * docs/design/part-block.txt:
7838         * docs/design/part-buffering.txt:
7839         * docs/design/part-clocks.txt:
7840         * docs/design/part-element-source.txt:
7841         * docs/design/part-events.txt:
7842         * docs/design/part-gstbin.txt:
7843         * docs/design/part-gstbus.txt:
7844         * docs/design/part-gstpipeline.txt:
7845         * docs/design/part-live-source.txt:
7846         * docs/design/part-messages.txt:
7847         * docs/design/part-overview.txt:
7848         * docs/design/part-qos.txt:
7849         * docs/design/part-query.txt:
7850         * docs/design/part-states.txt:
7851         * docs/design/part-trickmodes.txt:
7852         Some doc updates. Start renaming from stream_time to running_time where
7853         it was used wrongly.
7854
7855 2007-02-15  Wim Taymans  <wim@fluendo.com>
7856
7857         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
7858         Answer LATENCY query.
7859
7860 2007-02-15  Wim Taymans  <wim@fluendo.com>
7861
7862         * tests/check/gst/gstevent.c: (event_probe), (test_event),
7863         (GST_START_TEST):
7864         Improve debugging.
7865
7866 2007-02-15  Wim Taymans  <wim@fluendo.com>
7867
7868         * gst/gstpad.c: (gst_pad_get_internal_links_default),
7869         (gst_pad_dispatcher):
7870         Improve debugging of default pad dispatcher and query functions.
7871
7872 2007-02-15  Wim Taymans  <wim@fluendo.com>
7873
7874         * docs/gst/gstreamer-sections.txt:
7875         Remove old unused method.
7876
7877 2007-02-13  Wim Taymans  <wim@fluendo.com>
7878
7879         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7880         Fix check
7881
7882 2007-02-13  Wim Taymans  <wim@fluendo.com>
7883
7884         * docs/design/part-seeking.txt:
7885         Some small update.
7886
7887         * gst/gstsegment.c: (gst_segment_set_seek):
7888         Revert old bogus change that should make seeking work again.
7889
7890 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
7891
7892         * docs/random/ensonic/dynlink.txt:
7893         * docs/random/ensonic/interfaces.txt:
7894         * docs/random/ensonic/receipies.txt:
7895           Possible dynamic reconnection api, plus some type fixes the other two
7896           docs.
7897
7898 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
7899
7900         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7901         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7902         Also check for an absolute path following file:// in the filesrc
7903         element. Remove redundant check and call g_path_is_absolute() on the
7904         unescaped location.
7905
7906 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
7907
7908         * docs/design/draft-klass.txt:
7909           Add existing category analysis.
7910           
7911         * gst/gstcaps.c:
7912           Fix doc example, framerate is a fraction.
7913
7914 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
7915
7916         * configure.ac:
7917         * docs/gst/Makefile.am:
7918         * docs/gst/gstreamer-sections.txt:
7919         * docs/libs/Makefile.am:
7920           Erm, forgot a bunch of --extra-dir.
7921
7922 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
7923
7924         * configure.ac:
7925         * docs/gst/Makefile.am:
7926         * docs/libs/Makefile.am:
7927         * docs/plugins/Makefile.am:
7928           Add crossreferences to glib/gobject docs.
7929
7930 2007-02-12  Wim Taymans  <wim@fluendo.com>
7931
7932         * docs/design/draft-latency.txt:
7933         Small update.
7934
7935         * docs/libs/gstreamer-libs-sections.txt:
7936         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7937         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
7938         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
7939         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
7940         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
7941         (gst_base_sink_get_position), (gst_base_sink_query),
7942         (gst_base_sink_change_state):
7943         * libs/gst/base/gstbasesink.h:
7944         API: gst_base_sink_query_latency() to let subclasses query the upstream
7945         latency.
7946         API: gst_base_sink_get_latency() to let subclasses query the configured
7947         latency in the sink.
7948         Implement query and set latency.
7949         Update some docs.
7950         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
7951         don't continue preroll when we are flushing. Fixes #405284.
7952
7953         * tests/check/pipelines/stress.c: (change_state_timeout),
7954         (quit_timeout), (GST_START_TEST), (stress_suite):
7955         Test for #405284.
7956
7957 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
7958
7959         Patch by: René Stadler <mail at renestadler de>
7960
7961         * docs/gst/gstreamer-sections.txt:
7962         * gst/gsttaglist.c: (_gst_tag_initialize):
7963         * gst/gsttaglist.h:
7964           API: add GST_TAG_REFERENCE_LEVEL (#403597).
7965
7966 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
7967
7968         * docs/libs/Makefile.am:
7969           Fix path to core docs.
7970
7971         * gst/gstbin.c: (gst_bin_get_by_interface),
7972         (gst_bin_iterate_all_by_interface):
7973           Refix docs by also renaming 'interface' to 'iface' in implementation.
7974
7975         * docs/gst/gstreamer-sections.txt:
7976         * gst/gstcaps.c:
7977         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
7978         * gst/gstchildproxy.h:
7979         * gst/gstelementfactory.c:
7980         * gst/gstpadtemplate.h:
7981         * libs/gst/controller/gstcontroller.c:
7982         (gst_controlled_property_new):
7983           Document more.
7984
7985 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
7986
7987         * gst/gstbin.h:(gst_bin_get_by_interface),
7988         (gst_bin_iterate_all_by_interface):
7989         Replace interface parameter name by iface as interface is 
7990         a reserved keyword in Visual Studio for C++ projects so it removes
7991         a build error for application developpers using VS.
7992         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
7993         Fix a bug on Windows in uri format check. Now the prefix checked
7994         is file:// and next we check if the path after file:// is absolute.
7995         * win32/common/libgstbase.def:
7996         * win32/common/libgstdataprotocol.def:
7997         * win32/common/libgstgstreamer.def:
7998         Add new exported functions.
7999
8000 2007-02-09  Andy Wingo  <wingo@pobox.com>
8001
8002         * tests/check/pipelines/simple-launch-lines.c
8003         (simple_launch_lines_suite, test_tee): Disable tee test until I
8004         have time to fix it :-(
8005
8006         * tests/check/Makefile.am (noinst_HEADERS): 
8007         * tests/check/libs/libsabi.c: 
8008         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
8009         * tests/check/gst/gstabi.c: 
8010         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
8011
8012         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
8013         tests for push and pull tee behavior.
8014
8015         * plugins/elements/gsttee.h: 
8016         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
8017         mark as deprecated as well as unimplemented. It was a crack idea.
8018         Add support for tee operating in pull mode, off by default.
8019
8020         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
8021         normal-case logs down to LOG, raise errors to WARNING.
8022         (gst_registry_xml_read_cache): Don't log before calling a function
8023         that logs.
8024
8025         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
8026         exit (registry finalize).
8027         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
8028         DEBUG log when we emit signals that people don't even have the
8029         chance to connect to.
8030         (gst_registry_scan_path_level): Less logging in the normal case.
8031
8032 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8033
8034         Patch by: Michal Benes <michal dot benes at itonis dot tv>
8035
8036         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8037         Correctly generate EOS for non-seekable files. We don't have a total
8038         length for them and would get an unexpected end of file if we only
8039         special-cased for regular files. (Fixes: #404569)
8040
8041 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8042
8043         * tests/check/elements/filesrc.c: (GST_START_TEST),
8044         (filesrc_suite):
8045         Add unit test for the GstURIHandler interface in filesrc. This also
8046         tests the newly added file://localhost/foo/bar support.
8047
8048 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8049
8050         * gst/gstelementfactory.h:
8051           The klass string is not a hierarchy. Add reference to the design doc
8052           for more information and common types.
8053
8054 2007-02-02  Wim Taymans  <wim@fluendo.com>
8055
8056         * gst/gstquery.c: (gst_query_new_latency):
8057         Remove old structure field.
8058
8059 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
8060
8061         * tools/gst-launch.1.in:
8062           Give example for network streaming (#351998)
8063
8064 2007-02-02  Wim Taymans  <wim@fluendo.com>
8065
8066         * docs/gst/gstreamer-sections.txt:
8067         Add docs for new methods.
8068
8069         * gst/gstevent.c: (gst_event_new_latency),
8070         (gst_event_parse_latency):
8071         * gst/gstevent.h:
8072         Add new LATENCY event to configure latency in a pipeline.
8073         API: gst_event_new_latency
8074         API: gst_event_parse_latency
8075
8076         * gst/gstmessage.c: (gst_message_new_buffering),
8077         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
8078         (gst_message_new_latency), (gst_message_parse_buffering),
8079         (gst_message_parse_lost_preroll):
8080         * gst/gstmessage.h:
8081         Added messages used in draft-latency.
8082         API: gst_message_new_lost_preroll
8083         API: gst_message_parse_lost_preroll
8084         API: gst_message_new_prerolled
8085         API: gst_message_new_latency
8086
8087         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
8088         (gst_query_parse_latency):
8089         * gst/gstquery.h:
8090         Implemented new latency query as in design doc.
8091         API: gst_query_new_latency
8092         API: gst_query_set_latency
8093         API: gst_query_parse_latency
8094
8095 2007-02-02  Wim Taymans  <wim@fluendo.com>
8096
8097         * docs/design/draft-latency.txt:
8098         Slight redesign to allow for dynamic latency adjustments.
8099
8100         * docs/design/part-negotiation.txt:
8101         Fix some typos.
8102
8103 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
8104
8105         reviewed by: Wim Taymans <wim@fluendo.com>
8106
8107         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8108         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8109         Allow file://localhost/foo/bar URLs and correctly fail for every other
8110         hostname that one sets. This was gnomevfssrc is linked for those if
8111         installed as it can handle it (#403172)
8112
8113 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8114
8115         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8116
8117         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8118         (unref_data), (gst_collect_pads_add_pad_full):
8119         * libs/gst/base/gstcollectpads.h:
8120         Don't put the previously added destroy notify in the GstCollectData
8121         struct as all it's padding is already used and we don't want to break
8122         ABI. Instead put in the pad's GObject data for now. This should be
8123         cleaned up for 0.11 (#402393).
8124
8125 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8126
8127         reviewed by: Wim Taymans <wim@fluendo.com>
8128
8129         * docs/libs/gstreamer-libs-sections.txt:
8130         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8131         (unref_data), (gst_collect_pads_add_pad),
8132         (gst_collect_pads_add_pad_full):
8133         * libs/gst/base/gstcollectpads.h:
8134         API: Add function to specify a destroy notification for custom
8135         GstCollectData when adding new pads in GstCollectPads (#402393).
8136
8137 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
8138
8139         * po/sv.po:
8140           Update Swedish translation (#378255).
8141
8142 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8143
8144         * docs/design/draft-klass.txt:
8145           Fix the previous change, this is a list of categories and not a hierarchy.
8146
8147 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8148
8149         * docs/design/draft-klass.txt:
8150           Add info about how to get a list of used classes.
8151
8152 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
8153
8154         * plugins/elements/gsttypefindelement.c:
8155         (gst_type_find_element_chain_do_typefinding),
8156         (gst_type_find_element_change_state):
8157           Don't leak found caps in chain function (no idea why that never
8158           showed up as a leak anywhere).
8159
8160 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
8161
8162         * gst/gstplugin.h:
8163           Fix and expand GstPluginDesc API docs.
8164
8165 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8166
8167         * gst/gstcaps.c:
8168         * gst/gstelementfactory.c:
8169         * gst/gstpadtemplate.h:
8170           api doc fixes
8171
8172         * libs/gst/controller/gstcontroller.c:
8173         (gst_controlled_property_new):
8174         * tests/examples/controller/audio-example.c:
8175           comment fixes
8176
8177 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8178
8179         * configure.ac:
8180           comment about refining the xml deps
8181
8182         * docs/manuals.mak:
8183           comments about moving away from jade for docs
8184         
8185         * gst/gst.c:
8186           recommit the ifdefs to use the binary registry
8187         
8188         * gst/gstbin.c: (gst_bin_change_state_func):
8189           this break is obsolete
8190
8191         * gst/gstelementfactory.h:
8192           better GST_ELEMENT_DETAILS docs, add comment about translation
8193
8194         * gst/gstinfo.h:
8195           remove eol slash
8196
8197         * gst/gstobject.c: (gst_signal_object_get_type):
8198           add G_UNLIKELY as usual
8199
8200         * gst/gstpad.c: (gst_pad_event_default):
8201           add fall trhu comment
8202
8203         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8204         (gst_registry_binary_initialize_magic),
8205         (gst_registry_binary_save_string),
8206         (gst_registry_binary_save_pad_template),
8207         (gst_registry_binary_save_feature),
8208         (gst_registry_binary_save_plugin),
8209         (gst_registry_binary_write_cache),
8210         (gst_registry_binary_check_magic),
8211         (gst_registry_binary_load_pad_template),
8212         (gst_registry_binary_load_feature),
8213         (gst_registry_binary_load_plugin),
8214         (gst_registry_binary_read_cache):
8215           comment typo and formatting
8216
8217         * gst/gstutils.c: (gst_element_state_get_name),
8218         (gst_element_state_change_return_get_name):
8219           remove obsolete breaks
8220
8221         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8222           add FIXME 0.11 and remove cpp comment
8223
8224 2007-01-29  Edward Hervey  <edward@fluendo.com>
8225
8226         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8227         Fix print statement in an even more portable way.
8228
8229 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
8230
8231         * docs/gst/gstreamer-sections.txt:
8232         * gst/gstutils.h:
8233           API: add GST_ROUND_DOWN_* macros (#401781).
8234
8235 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
8236
8237         * docs/gst/gstreamer.types.in:
8238         * gst/gstregistry.c: (gst_registry_class_init):
8239           Document registry signals and make gtk-doc pick them up (#401381).
8240
8241 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8242
8243         * docs/pwg/building-testapp.xml:
8244           Add some audioconverts and audioresample to the pipeline, and some
8245           more comments and error handling.
8246
8247 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8248
8249         * docs/manual/manual.xml:
8250         * docs/pwg/pwg.xml:
8251           Fix typo (#400987).
8252
8253 2007-01-26  Wim Taymans  <wim@fluendo.com>
8254
8255         * gst/gstcaps.c: (gst_static_caps_get):
8256         Init caps flags too.
8257
8258 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
8259
8260         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
8261
8262         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8263         If not using mmap'ed files try to seek to the end instead of the
8264         start to determine whether we can seek at all. This fixes the case
8265         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
8266         seeks for everything afterwards fail. Fixes #400656
8267
8268 2007-01-25  Wim Taymans  <wim@fluendo.com>
8269
8270         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
8271         Add some refcount debugging.
8272         Make gst_static_caps_get threadsafe, which is needed when autoplugging
8273         in multiple streaming threads.
8274
8275 2007-01-25  Wim Taymans  <wim@fluendo.com>
8276
8277         Patch by: David Schleef <ds at schleef dot org>
8278
8279         * docs/libs/gstreamer-libs-sections.txt:
8280         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
8281         * libs/gst/base/gstadapter.h:
8282         API: gst_adapter_copy() that can reduce the amount of memcpy when
8283         getting data from the adapter. Fixes #388201.
8284
8285 2007-01-25  Edward Hervey  <edward@fluendo.com>
8286
8287         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8288         In print statements, "%x" is for guint. Fixes build on macosx.
8289
8290 2007-01-24  Edward Hervey  <edward@fluendo.com>
8291
8292         * plugins/elements/gstmultiqueue.c:
8293         (gst_multi_queue_loop):
8294         Small fix.
8295         (single_queue_overrun_cb), (single_queue_underrun_cb),
8296         (single_queue_check_full), (gst_single_queue_new):
8297         Implement single queue growth system.
8298         This uses the extra-size properties, and will grow single queues by
8299         that much if one goes full whereas there are others empty. This is
8300         called extra-mode in the code.
8301         When a single queue's levels go back below the initial max-size
8302         limits, it is no longer in extra-mode. This is to ensure we don't
8303         consume too much memory.
8304         Fixes #399875
8305
8306 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
8307
8308         * gst/gst.c: (gst_init_get_option_group):
8309           Make warning about late g_thread_init() calls a bit more explicit,
8310           so that it's more obvious to application developers what they need
8311           to do if a user files a bug against their application.
8312
8313 2007-01-22  Edward Hervey  <edward@fluendo.com>
8314
8315         * plugins/elements/gstmultiqueue.c:
8316         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
8317         Remove previous hack of unsetting the flushing flag for the source pad
8318         instead of activating it. Instead, fix the source pad activate function
8319         so that it no longer depends on having a parent set or not.
8320
8321 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
8322
8323         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
8324
8325         * docs/manual/basics-bus.xml:
8326           Fix example code, gst_element_unref() doesn't exist any longer.
8327
8328 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
8329
8330         Patch by: Mark Nauwelaerts <manauw at skynet be>
8331
8332         * gst/gstpad.c:
8333           Fix two docs typoes (#399094).
8334
8335 2007-01-19  Edward Hervey  <edward@fluendo.com>
8336
8337         * docs/faq/gst-uninstalled:
8338         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
8339         depending on libgstbaseutils can work in uninstalled environment.
8340
8341 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
8342
8343         * gst/gsttaglist.h:
8344         * gst/gsttagsetter.c:
8345         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
8346         statement for new tag.
8347
8348 2007-01-17  Edward Hervey  <edward@fluendo.com>
8349
8350         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
8351         When dynamically creating single queues, activate sinkpad before adding
8352         it.
8353         We should be doing the same thing for the source pad, but we can't
8354         since it would call a method which needs the parent to be set in order
8355         to work propertly. Instead of activating the source pad, we just unset
8356         the flushing flag, which is the minimal requirement for adding a pad
8357         to an element in a state greater than READY.
8358
8359 2007-01-17  Edward Hervey  <edward@fluendo.com>
8360
8361         * docs/faq/gst-uninstalled:
8362         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
8363         Mac OS X.
8364
8365 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
8366
8367         * tests/check/gst/gstabi.c:
8368         * tests/check/gst/struct_hppa.h:
8369         * tests/check/libs/libsabi.c:
8370         * tests/check/libs/struct_hppa.h:
8371           Add ABI structs for HPPA (see #393796).
8372
8373 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
8374
8375         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8376           Actually write ABI structs to the file specified in the GST_ABI
8377           environment variable, as the message we print claims we would.
8378
8379 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8380
8381         * tests/check/gst/gsttask.c:
8382           Fix header comment.
8383
8384 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8385
8386         * gst/gsttaglist.c: (_gst_tag_initialize):
8387           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
8388           previous two entries.
8389
8390 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8391
8392         * docs/gst/gstreamer-sections.txt:
8393         * gst/gsttaglist.c: (_gst_tag_initialize):
8394         * gst/gsttaglist.h:
8395           Add tag support for beat-per-minute.
8396
8397 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8398
8399         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8400         (gst_registry_binary_initialize_magic),
8401         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
8402         (gst_registry_binary_save_pad_template),
8403         (gst_registry_binary_save_feature),
8404         (gst_registry_binary_save_plugin),
8405         (gst_registry_binary_write_cache),
8406         (gst_registry_binary_check_magic),
8407         (gst_registry_binary_load_pad_template),
8408         (gst_registry_binary_load_feature),
8409         (gst_registry_binary_load_plugin),
8410         (gst_registry_binary_read_cache):
8411         * gst/gstregistrybinary.h:
8412           Use glib types, cleanup comments, impement interfaces and uri-types.
8413
8414 2007-01-13  Andy Wingo  <wingo@pobox.com>
8415
8416         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
8417         getrange() to return buffers with other caps, while we fix
8418         demuxers and typefind, or otherwise change part-negotiation.txt.
8419
8420 2007-01-12  Andy Wingo  <wingo@pobox.com>
8421
8422         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
8423         Factor start/stop into this private function instead of partially
8424         in activate functions and partially in the change_state function.
8425         Fixes setup before the element has changed from READY->PAUSED, as
8426         is the case in pull-mode pipelines.
8427         (gst_base_transform_sink_activate_push)
8428         (gst_base_transform_src_activate_pull): Refactor to use
8429         gst_base_transform_activate().
8430         (gst_base_transform_change_state): Removed, not needed any more.
8431
8432         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8433         Truncate before fixating.
8434         
8435         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8436         Don't set_caps() if the result of fixating is ANY, as it's not
8437         supported, and not necessary in the case of a link with no
8438         template caps on either side. Fixes tests/check/libs/basesrc in
8439         some pull-mode tests.
8440
8441         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
8442         (gst_base_transform_init, gst_base_transform_sink_activate_push)
8443         (gst_base_transform_src_activate_pull): 
8444         Track the activation mode.
8445         (gst_base_transform_setcaps): In pull mode, when activating the
8446         src pad, after activating the sink pad, activate the sink pad's
8447         peer, as discussed in part-negotiation.txt.
8448
8449         * libs/gst/base/gstbasesrc.h: 
8450         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
8451         vmethod, as in basesink.
8452
8453         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
8454
8455         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
8456         mode, first proxy the setcaps to the peer pad.
8457         (gst_base_sink_pad_fixate): Add a fixate function that calls the
8458         new fixate vmethod.
8459         (gst_base_sink_default_activate_pull): Rename from
8460         gst_base_sink_activate_pull.
8461         (gst_base_sink_negotiate_pull): New function, performs negotiation
8462         in pull mode before calling ::activate_pull().
8463         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
8464         vmethod instead of the default implementation. I have no idea how
8465         this worked before. Negotiate before calling activate_pull.
8466
8467         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
8468         sink pads in pull mode. In addition to being correct, fixes
8469         filesrc ! decodebin ! identity ! fakesink.
8470         (gst_pad_get_range, gst_pad_pull_range): Don't call
8471         gst_pad_set_caps() if the caps changes; instead error out with
8472         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
8473
8474 2007-01-12  Andy Wingo  <wingo@pobox.com>
8475
8476         * docs/design/part-negotiation.txt: Update with more policy.
8477
8478 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8479
8480         * libs/gst/check/gstbufferstraw.h:
8481         * libs/gst/check/gstcheck.h:
8482           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
8483           belongs.
8484
8485 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8486
8487         * tests/check/Makefile.am:
8488         * tests/check/gst/.cvsignore:
8489         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
8490         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
8491         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
8492         (GST_START_TEST), (gst_tag_setter_suite):
8493           Add minimal unit test for beforementioned GstTagSetter bug.
8494
8495 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8496
8497         Patch by: René Stadler <mail at renestadler dot de>
8498
8499         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
8500           gst_tag_list_merge() returns a new list, so it's not the best idea
8501           to ingore its return value. Effectively meant that tags could only
8502           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
8503           Also add function guard to require a non-NULL taglist as input (has
8504           always been so due to gst_tag_list_copy(), just making it explicit).
8505
8506 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8507
8508         * docs/random/draft-missing-plugins.txt:
8509           Some additions: mention new API that is supposed to be used at the
8510           various stages; short blob about new gst-inspect introspection
8511           option; mention potential future problem with plugins that have
8512           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
8513
8514 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8515
8516         * tools/gst-inspect.c:
8517         (print_plugin_automatic_install_info_codecs),
8518         (print_plugin_automatic_install_info_protocols),
8519         (print_plugin_automatic_install_info), (main):
8520         Add --print-plugin-auto-install-info option to gst-inspect, so we can
8521         introspect plugin files and get machine-parsable output that corresponds
8522         to the last bit of the missing-plugin installer string (small gotcha:
8523         doesn't take into account ranks).
8524
8525 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
8526
8527         * configure.ac:
8528         * docs/gst/gstreamer-sections.txt:
8529         * gst/Makefile.am:
8530         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
8531         (gst_registry_lookup_locked):
8532         * gst/gstregistry.h:
8533         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8534         (gst_registry_binary_initialize_magic),
8535         (gst_registry_binary_save_string),
8536         (gst_registry_binary_save_pad_template),
8537         (gst_registry_binary_save_feature),
8538         (gst_registry_binary_save_plugin),
8539         (gst_registry_binary_write_cache),
8540         (gst_registry_binary_check_magic),
8541         (gst_registry_binary_load_pad_template),
8542         (gst_registry_binary_load_feature),
8543         (gst_registry_binary_load_plugin),
8544         (gst_registry_binary_read_cache):
8545         * gst/gstregistrybinary.h:
8546         * gst/gstregistryxml.c: (load_feature),
8547         (gst_registry_xml_read_cache):
8548           commit binary registry (disabled by default, see #359653)
8549
8550 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8551
8552         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
8553           Fix 'make check' too.
8554
8555 2007-01-10  Andy Wingo  <wingo@pobox.com>
8556
8557         * docs/design/part-negotiation.txt: Fix a typo, add a couple
8558         notes.
8559         
8560         * docs/design/part-negotiation.txt: Update with, um, one way that
8561         pull-mode negotiation might work?
8562
8563         * gst/gstpad.h: 
8564         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
8565         that the pad must be a src pad; makes sense to call it the other
8566         way in pull mode, and the logic is symmetric anyway.
8567
8568 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
8569
8570         * plugins/elements/gstfilesink.c:
8571           Include <stdio.h> for fseeko().
8572
8573 2007-01-10  Wim Taymans  <wim@fluendo.com>
8574
8575         * gst/gstevent.c:
8576         * gst/gstevent.h:
8577         Reserve LATENCY event.
8578
8579 2007-01-09  Wim Taymans  <wim@fluendo.com>
8580
8581         * docs/design/draft-latency.txt:
8582         Updates.
8583
8584 2007-01-09  Wim Taymans  <wim@fluendo.com>
8585
8586         * docs/design/draft-latency.txt:
8587         Updates.
8588
8589         * gst/gstelement.h:
8590         * gst/gststructure.c:
8591         * gst/gsttrace.c:
8592         Small typo fixes.
8593
8594 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8595
8596         * tests/check/.cvsignore:
8597           Ignore test-registry.xml as well.
8598
8599 2007-01-09  Wim Taymans  <wim@fluendo.com>
8600
8601         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8602         unref data at the end when we are done with the pad.
8603
8604 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
8605
8606         * docs/gst/gstreamer-sections.txt:
8607         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
8608         (init_post), (gst_deinit), (gst_update_registry):
8609         * gst/gst.h:
8610           API: add gst_update_registry() (#391296).
8611
8612         * tests/check/Makefile.am:
8613         * tests/check/gst/gstregistry.c:
8614         * tests/check/gst/.cvsignore:
8615           Simple unit test for the above.
8616
8617 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
8618
8619         * gst/gstregistry.c: (gst_registry_scan_path_level):
8620           Plugin extension on HP-UX is .sl, add that to the list of approved
8621           plugin extensions (see #393796).
8622
8623         * tests/check/gst/gstpad.c: (GST_START_TEST):
8624           ulong => gulong. Fixes compilation with HP-UX compiler.
8625
8626         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8627           Fix compilation if valgrind headers are not available.
8628
8629 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
8630
8631         * win32/common/libgstreamer.def: 
8632           Add new exported function.
8633         * win32/vs6/libgstbase.dsp: 
8634           Add gstdataqueue.c to the build.
8635         * win32/vs6/libgstcoreelements.dsp:
8636           Add gstmultiqueue.c to the build.
8637         
8638 2007-01-06  Andy Wingo  <wingo@pobox.com>
8639
8640         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
8641         activate_pull(), providing for a way to specialize the process of
8642         spawning a thread to pull on the sink pad. There is a default
8643         implementation.
8644
8645         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
8646         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
8647         (gst_base_sink_init): Renamed pad activation functions (inserting
8648         "_pad" in their names). Refactor to use the new activate_pull
8649         vmethod, as appropriate.
8650         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
8651         default activate_pull function to start a task pulling from the
8652         sink pad, as before.
8653
8654         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
8655         on the pads if necessary, as in push()/chain(). Update docs.
8656         Shouldn't affect existing pull() usage as it is currently only
8657         being used on buffers without caps.
8658
8659 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8660
8661         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8662         (init_pre):
8663           Call g_thread_init() first thing in gst_init() / gst_check_init().
8664           When initialisation is done via gst_init_get_option_group() and
8665           GOption parsing, issue a warning if the GLib thread system has not
8666           been initialised yet by the time gst_init_get_option_group() is
8667           called, as it's quite likely other GLib functions such as
8668           g_option_context_new() have been called already then, and
8669           g_thread_init() must be called before any other GLib function. The
8670           application in question must be fixed in that case, since memory
8671           corruption might happen otherwise.
8672           We issue the warning because even if the GLib folks decide to work
8673           around the problem on their end in future, this is still an issue
8674           with all GLib versions >= 2.10.0, so we should warn until we depend
8675           on a GLib version we know to be safe.
8676           Update documentation as well.
8677           Closes bug #391278.
8678
8679 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8680
8681         * tools/gst-inspect.c: (main):
8682         * tools/gst-launch.c: (main):
8683         * tools/gst-typefind.c: (main):
8684         * tools/gst-xmlinspect.c: (main):
8685           Call g_thread_init() really really early, before any other GLib
8686           function (see #342564 and recent discussion on gtk-devel-list).
8687
8688 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8689
8690         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
8691
8692         * gst/gst_private.h:
8693         * gst/gstconfig.h.in:
8694         * gst/gstinfo.h:
8695           On win32, all the __declspec stuff for symbol exporting is
8696           apparently only needed with MSVC, but doesn't work with MingW.
8697           Fixes compilation with MingW and #391909.
8698
8699 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8700
8701         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
8702           Change some GST_ERROR_OBJECT that aren't really errors to
8703           GST_WARNING_OBJECT in order to reduce terminal spam.
8704
8705 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
8706
8707         * tests/check/Makefile.am:
8708           disable test again, as there seem to be still race problems
8709
8710 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
8711
8712         * tests/check/Makefile.am:
8713         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8714         (GST_START_TEST), (queue_suite):
8715           enable queue test again, add tests for the leaky behaviour
8716
8717 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
8718
8719         * configure.ac:
8720         * tests/examples/Makefile.am:
8721           Compile adapter test/example only if the required headers are
8722           available (fixes #391915).
8723
8724 2007-01-01  David Schleef  <ds@schleef.org>
8725
8726         * gst/gstplugin.c:
8727           Restore the previous signal handler for SIGSEGV instead of
8728           setting to default, since we may have stolen it away from
8729           someone.  (i.e., Mono)
8730
8731 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
8732
8733         * docs/random/draft-missing-plugins.txt:
8734           Some small additions and clarifications.
8735
8736 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
8737
8738         * gst/gstregistryxml.c: (gst_registry_save_escaped):
8739           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
8740           since that can lead to random memory corruptions and crashes
8741           (may or may not be related to #383244, #386711, and #386711).
8742
8743 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8744
8745         * tests/check/.cvsignore:
8746         * tests/check/Makefile.am:
8747           sync .cvsignome and CLEANFILES
8748
8749 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8750
8751         * tests/check/Makefile.am:
8752           fix distcheck
8753
8754 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8755
8756         * docs/design/part-states.txt:
8757           two tiny additional comments
8758         
8759         * gst/gststructure.c:
8760           doc fixing
8761
8762         * tests/check/Makefile.am:
8763         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8764         (GST_START_TEST):
8765           disable test for now, unless it gets fixed
8766
8767 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8768
8769         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8770         (GST_START_TEST):
8771           fix race in underrun test
8772
8773 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8774
8775         * tests/check/elements/.cvsignore:
8776           ignore more
8777
8778         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8779         (GST_START_TEST):
8780           try to narrow test failure
8781
8782 2006-12-21  David Schleef  <ds@schleef.org>
8783
8784         * plugins/elements/gstfakesrc.c:
8785           Use g_random_int_range(), since it produces better random
8786           numbers in a range than almost-correct floating point code.
8787
8788 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8789
8790         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8791         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8792         (gst_check_teardown_sink_pad):
8793           do not automatically (de)activate pads
8794
8795         * tests/check/Makefile.am:
8796         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8797         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
8798           add new, yet simple tests for queue
8799
8800         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
8801         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
8802         * tests/check/elements/filesrc.c: (cleanup_filesrc),
8803         (GST_START_TEST):
8804         * tests/check/elements/identity.c: (cleanup_identity):
8805           consistent pad (de)activation
8806
8807 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
8808
8809         Patch by: Sebastian Dröge  <slomo ubuntu com>
8810
8811         * libs/gst/base/gstcollectpads.c:
8812           Fix two doc typos (#387866).
8813
8814 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
8815
8816         * docs/manual/advanced-dparams.xml:
8817           Fix typo (g_object_control_properties() doesn't exist).
8818
8819 2006-12-19  Edward Hervey  <edward@fluendo.com>
8820
8821         * gst/gstsegment.c: (gst_segment_set_seek):
8822         Fine tune the cases where the segment start/stop values are really
8823         updated.
8824         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8825         Add tests for the return values of gst_segment_set_seek().
8826
8827 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
8828
8829         * gst/gst.c:
8830           Docs typo fix.
8831
8832         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8833         (gst_queue_init):
8834           Fix incorrect documentation and flesh it out a bit more.
8835           Set default values for the max properties on the GParamSpec as well,
8836           so it shows up correctly in gst-inspect.
8837
8838 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
8839
8840         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
8841           Correct docs of queue, add more detail and crosslink it more.
8842
8843 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8844
8845         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8846           Print additional debug info when the stream isn't perfectly
8847           timestamped; don't try to use invalid durations.
8848
8849 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8850
8851         * docs/design/Makefile.am:
8852           Dist new design docs.
8853
8854 2006-12-16  Wim Taymans  <wim@fluendo.com>
8855
8856         Patch by: Sjoerd Simons <sjoerd at luon dot net>
8857
8858         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
8859         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8860         (gst_collect_pads_stop), (gst_collect_pads_event),
8861         (gst_collect_pads_chain):
8862         * libs/gst/base/gstcollectpads.h:
8863         Add refcounting to the collectpads data so we can track when it's safe
8864         to free the data. Fixes #383382.
8865
8866 2006-12-15  Wim Taymans  <wim@fluendo.com>
8867
8868         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8869         (gst_collect_pads_remove_pad):
8870         Automatically activate/deactivate pads when they are added to a
8871         started/stoped collectpads.
8872
8873 2006-12-15  Wim Taymans  <wim@fluendo.com>
8874
8875         * gst/gstelement.c: (gst_element_add_pad):
8876         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8877         * gst/gstpad.c: (gst_pad_init):
8878         Set pads to FLUSHING when they are created. Check, warn and fix when a
8879         demuxer adds an inactive pad to itself when running. Fixes #339326.
8880
8881 2006-12-15  Wim Taymans  <wim@fluendo.com>
8882
8883         * gst/gstelement.c: (gst_element_class_init),
8884         (gst_element_default_send_event), (gst_element_send_event),
8885         (gst_element_default_query), (gst_element_query):
8886         Expose default element send_event and query handling as vmethods that
8887         subclasses can chain up to.
8888
8889 2006-12-15  Wim Taymans  <wim@fluendo.com>
8890
8891         * gst/gstelement.c: (gst_element_set_state_func):
8892         Small documentation fixes.
8893
8894 2006-12-15  Wim Taymans  <wim@fluendo.com>
8895
8896         * docs/design/draft-latency.txt:
8897         Checked in draft for handling latency in pipelines.
8898
8899 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8900
8901         * Makefile.am:
8902         * gstreamer.doap:
8903         * gstreamer.spec.in:
8904           adding .doap file
8905
8906 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
8907
8908         * gst/gst.c: (init_pre), (init_post):
8909           init_pre() and init_post() might be called via our GOptionGroup or
8910           from gst_init(), and we should skip both of them if we've already
8911           been initialised, otherwise we will init some things twice or add
8912           two default log functions.
8913
8914 2006-12-13  Edward Hervey  <edward@fluendo.com>
8915
8916         * docs/manual/basics-bus.xml:
8917         No, gst_main_loop does not exist. Its g_main_loop.
8918         Discovered by somebody who abused the copy-paste technique of coding :)
8919
8920 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
8921
8922         * gst/gstghostpad.c:
8923           Log ghostpad debug stuff to the GST_PADS category as well rather
8924           than just to the default category.
8925
8926 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
8927
8928         * configure.ac:
8929         * gst/gst.c: (init_pre):
8930           Add some basic system details such as OS and architecture
8931           to the debug output if possible, courtesy of uname().
8932
8933 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
8934
8935         * docs/gst/running.xml:
8936           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
8937           environment variables.
8938
8939 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
8940
8941         * tests/check/gst/gstbin.c: (GST_START_TEST):
8942         It is acceptable to have a refcount of 2 or 3 at this point in the
8943         test, because the pipeline might be just posting its state_change
8944         message. The next line then waits for that message to appear using
8945         bus_poll, so that should be fine too.
8946
8947 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
8948
8949         * gst/gst.c: (ensure_current_registry_forking):
8950         Ignore EINTR when reading from the child registry pipe.
8951         Explicitly ignore the return value from close, since it makes no
8952         difference.
8953
8954         * gst/gstminiobject.c: (gst_mini_object_ref),
8955         (gst_mini_object_unref):
8956         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
8957
8958         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
8959         When removing cached plugins, remove their features too, so they're
8960         not visible after they've disappeared.
8961
8962         * gst/gstutils.c: (prepare_link_maybe_ghosting):
8963         In the unlikely case that we are linking pads with no parents, don't
8964         crash trying to get the non-existent parent bin.
8965
8966         * gst/parse/grammar.y:
8967         Output debug in the PIPELINE category
8968
8969 2005-03-08  Wim Taymans  <wim@fluendo.com>
8970
8971         Patch by: René Stadler <mail at renestadler dot de>
8972
8973         * gst/gstclock.c: (gst_clock_new_periodic_id):
8974         Reject invalid clock times for interval of periodic ids.
8975         Fixes ##383506.
8976
8977 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
8978
8979         * gst/gstelementfactory.c: (gst_element_factory_create):
8980         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8981         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
8982         * tools/gst-inspect.c: (print_element_info):
8983         Fix refcounting of gst_plugin_feature_load to match the docs. 
8984         Fixes: #380129
8985
8986 2006-12-07  Wim Taymans  <wim@fluendo.com>
8987
8988         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
8989         (gst_base_sink_get_position):
8990         Improve debugging of events.
8991
8992 2006-12-07  Wim Taymans  <wim@fluendo.com>
8993
8994         Patch by: René Stadler <mail at renestadler dot de>
8995
8996         * gst/gstclock.c: (gst_clock_id_wait):
8997         Make period ids add the interval to the origial requested time instead
8998         of the possibly updated time which can be wrong when there are multiple
8999         waiters for the same id. Fixes #382592.
9000
9001         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
9002         (gst_system_clock_id_wait_jitter_unlocked),
9003         (gst_system_clock_id_wait_jitter):
9004         Fix restart in the async notify thread when an async entry is added to
9005         the front of the list. Fixes #381492. 
9006
9007         * tests/check/gst/gstsystemclock.c: (store_callback),
9008         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
9009         Added test for multiple async waits.
9010         Added test for async wait order.
9011
9012 2006-12-07  Wim Taymans  <wim@fluendo.com>
9013
9014         * gst/gstbin.c: (gst_bin_query):
9015         Add some more docs about the POSITION query.
9016
9017 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9018
9019         * configure.ac:
9020         Bump version nano - back to CVS.
9021
9022 === release 0.10.11 ===
9023
9024 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
9025
9026         * configure.ac:
9027           releasing 0.10.11, "Love never runs on time"
9028
9029 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
9030
9031         * win32/common/libgstbase.def:
9032         * win32/common/libgstreamer.def:
9033         * win32/vs8/libgstbase.vcproj:
9034         * win32/vs8/libgstcoreelements.vcproj:
9035         * win32/vs8/libgstreamer.vcproj:
9036         Fix compilation on win32 under VS8
9037         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9038         Partially fixes #381175
9039
9040 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
9041
9042         * gst/gstvalue.c: (gst_value_compare_fraction):
9043         If someone is foolish enough to compare 2 fractions with denominator =
9044         0, return UNORDERED rather than aborting.
9045
9046 2006-11-28  Edward Hervey  <edward@fluendo.com>
9047
9048         * libs/gst/base/Makefile.am:
9049         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
9050         (gst_data_queue_base_init), (gst_data_queue_class_init),
9051         (gst_data_queue_init), (gst_data_queue_new),
9052         (gst_data_queue_cleanup), (gst_data_queue_finalize),
9053         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
9054         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
9055         (gst_data_queue_is_empty), (gst_data_queue_is_full),
9056         (gst_data_queue_set_flushing), (gst_data_queue_push),
9057         (gst_data_queue_pop), (gst_data_queue_drop_head),
9058         (gst_data_queue_set_property), (gst_data_queue_get_property):
9059         * libs/gst/base/gstdataqueue.h:
9060         New GstDataQueue object for threadsafe queueing. Most useful for
9061         elements that need some queueing functionnality.
9062         * docs/libs/gstreamer-libs-docs.sgml:
9063         * docs/libs/gstreamer-libs-sections.txt:
9064         Insert documentation for GstDataQueue
9065         * plugins/elements/Makefile.am:
9066         * plugins/elements/gstelements.c:
9067         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
9068         (gst_multi_queue_class_init), (gst_multi_queue_init),
9069         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
9070         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
9071         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
9072         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
9073         (gst_multi_queue_loop), (gst_multi_queue_chain),
9074         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
9075         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
9076         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
9077         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
9078         (wake_up_next_non_linked), (compute_next_non_linked),
9079         (single_queue_overrun_cb), (single_queue_underrun_cb),
9080         (single_queue_check_full), (gst_single_queue_new):
9081         * plugins/elements/gstmultiqueue.h:
9082         New multiqueue element, using GstDataQueue. Used for queuing multiple
9083         streams.
9084         Closes #344639 and #347785
9085
9086 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
9087
9088         * docs/pwg/advanced-types.xml:
9089           add more missing type details
9090
9091         * tools/gst-run.c: (main):
9092           remove unused variable
9093
9094 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
9095
9096         * docs/libs/Makefile.am:
9097         * docs/libs/gstreamer-libs.types:
9098           add types of base classes to enable gobject specific stuff in the docs
9099
9100         * docs/random/ensonic/embedded.txt:
9101           more ideas about isolating platform specific things
9102
9103 2006-11-20  Wim Taymans  <wim@fluendo.com>
9104
9105         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
9106
9107         * libs/gst/check/gstcheck.h:
9108         Fix compilation and running against 0.9.4. Fixes #377332.
9109
9110 2006-11-20  Wim Taymans  <wim@fluendo.com>
9111
9112         * gst/gstsegment.c: (gst_segment_set_seek),
9113         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
9114         (gst_segment_to_running_time):
9115         Fix boundary checking in to_running_time() and to_stream_time().
9116         Fixes #377183.
9117
9118         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9119         stream and running time can now be calculated for the complete
9120         clipped segment.
9121
9122 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
9123
9124         * gst/gstpad.c: (gst_pad_push_event):
9125           Can't access event structure after giving away ownership of
9126           the event.
9127
9128 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
9129
9130         * docs/random/ensonic/embedded.txt:
9131         * docs/random/ensonic/profiling.txt:
9132         * docs/random/ensonic/receipies.txt:
9133           more thinking
9134
9135 2006-11-13  Wim Taymans  <wim@fluendo.com>
9136
9137         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9138
9139         * gst/gstpad.c:
9140         Fix documentation for gst_pad_dispatcher. Fixes #374475.
9141
9142 2006-11-13  Wim Taymans  <wim@fluendo.com>
9143
9144         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
9145
9146         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9147         Store new length in segment duration so we don't keep on calling the
9148         potentially expensize get_size() call. Fixes #370865.
9149
9150 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
9151
9152         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
9153
9154         * win32/common/libgstreamer.def:
9155           Add two missing symbols (#366492).
9156
9157 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
9158
9159         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
9160         (gst_adapter_take_buffer):
9161         Fix format string to use all its arguments.
9162         Remove useless >= check on a guint
9163
9164 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9165
9166         * tests/examples/adapter/.cvsignore:
9167         Ignore build file as commanded by the build-bot
9168
9169 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9170
9171         * tests/examples/adapter/Makefile.am:
9172         * tests/examples/adapter/adapter_test.c: (run_test_take),
9173         (run_test_take_buffer), (run_tests), (main):
9174
9175         Add new files from the previous commit
9176
9177 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9178
9179         * Makefile.am:
9180         * configure.ac:
9181         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
9182         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
9183         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
9184         * libs/gst/base/gstadapter.h:
9185         * tests/check/libs/adapter.c: (create_and_fill_adapter),
9186         (GST_START_TEST), (gst_adapter_suite):
9187         * tests/examples/Makefile.am:
9188         Do some optimisation work in GstAdapter to avoid copies in more cases.
9189         It could still do slightly better by merging buffers when
9190         gst_buffer_is_span_fast is true, but is already faster. 
9191
9192         Also, avoid traversing a single-linked list to append each incoming 
9193         buffer inside the adapter.
9194
9195         Add simple test app that times the adapter behaviour in different
9196         situations, and extend the unit test to check that bytes enter and
9197         exit the adapter in their original order.
9198
9199 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9200
9201         * docs/random/draft-missing-plugins.txt:
9202           Update: use element message instead of adding a new message
9203           type to the core; don't provide GStreamer API to initiate the
9204           plugin download, just provide API to compose the strings needed
9205           and let an external libgimmestuff handle the rest.
9206
9207 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
9208
9209         * tools/gst-inspect.c: (print_element_properties_info):
9210         Print a string instead of 'unknown type' for GValueArray properties
9211
9212 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
9213
9214         * docs/random/draft-missing-plugins.txt:
9215         More small fixes.
9216
9217 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9218
9219         * tests/examples/typefind/typefind.c: (type_found), (main):
9220           Make typefind element example work again (#371894); add a
9221           license header.
9222
9223 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9224
9225         * docs/random/draft-missing-plugins.txt:
9226           Commit initial draft about how to deal with missing plugins,
9227           needs work (API too).
9228
9229 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
9230
9231         * docs/pwg/advanced-types.xml:
9232           documents the new caps elements (see #363118)
9233
9234 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9235
9236         * gst/gstplugin.c: (gst_plugin_load_file):
9237         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
9238         (gst_file_src_map_region), (gst_file_src_start):
9239         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
9240         (gst_file_index_commit):
9241           Use g_strerror() instead of strerror() - we want UTF-8.
9242
9243 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9244
9245         Patch by: Peter Kjellerstedt <pkj at axis com>
9246
9247         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9248           Another printf fix (#371493).
9249
9250 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9251
9252         * tests/check/gst/gsttag.c:
9253           relicence (okay with author=company)
9254
9255 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9256
9257         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9258         (gst_pad_push_event):
9259           Enhance debug and improve docs
9260         
9261         * gst/gsturi.c:
9262           Fix docs
9263
9264 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9265
9266         * docs/random/ensonic/distributed.txt:
9267         * docs/random/ensonic/profiling.txt:
9268           more ideas
9269
9270 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9271
9272         * docs/gst/gstreamer-sections.txt:
9273           add new API and fix the build
9274           
9275         * gst/gstbin.c: (gst_bin_recalc_state):
9276         * gst/gstelement.c: (gst_element_message_full),
9277         (gst_element_get_state_func), (gst_element_set_state_func):
9278           use new API and improve logging
9279         
9280         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9281         * gst/gstutils.h:
9282           API: add function to get StateChangereturn names to improve logs 
9283
9284 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9285
9286         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9287           I'm considering shooting the next person to put strerror stuff
9288           in the translateable part of the message.
9289
9290 2006-11-03  Wim Taymans  <wim@fluendo.com>
9291
9292         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9293         Get the type and printf conversion specifiers right.
9294
9295 2006-11-03  Wim Taymans  <wim@fluendo.com>
9296
9297         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9298
9299         * gst/gstpad.c: (gst_pad_init), (pre_activate),
9300         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
9301         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
9302         Some small cleanups. Improve debugging.
9303         * gst/gstpad.h:
9304         Signal all waiting threads with a broadcast instead of just one.
9305         Fixes #369942.
9306
9307 2006-11-03  Wim Taymans  <wim@fluendo.com>
9308
9309         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
9310         (gst_fd_src_create):
9311         Add some debugging. 
9312         Only update fd when it's different from the old.
9313
9314 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9315
9316         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
9317           Printf fixes for PPC/OSX, take two (#369366).
9318
9319 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9320
9321         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
9322
9323         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9324         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9325         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
9326           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
9327           don't cast to long long for portability reasons, but use
9328           GLib's types instead.
9329
9330 2006-10-30  Michael Smith  <msmith@fluendo.com>
9331
9332         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
9333           Get the arguments to lseek() the right way around.
9334           Fixes 367677.
9335
9336 2006-10-30  Wim Taymans  <wim@fluendo.com>
9337
9338         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
9339
9340         * gst/gstinfo.h:
9341         _declspec should be __declspec (two underscores, not one). Fixes 366572.
9342
9343 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9344
9345         Patch by: Kjartan Maraas  <kmaraas at gnome org>
9346
9347         * docs/design/part-MT-refcounting.txt:
9348         * docs/random/wtay/capsnego2-docs:
9349         * gst/gstclock.c:
9350         * gst/gstxml.c:
9351           Typo fixes (#366212).
9352
9353 2006-10-28  Wim Taymans  <wim@fluendo.com>
9354
9355         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9356
9357         * gst/gst.c:
9358         * win32/common/libgstbase.def:
9359         * win32/common/libgstreamer.def:
9360         * win32/vs8/libgstbase.vcproj:
9361         * win32/vs8/libgstcontroller.vcproj:
9362         Add needed entries in .def files.
9363         Use HAVE_UNISTD_H.
9364         Rearrange def files in vs8 solutions. Fixes #366286.
9365
9366 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9367
9368         * win32/common/gstconfig.h:
9369           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
9370           hand-made win32 gstconfig.h. Fixes #366321.
9371
9372 2006-10-27  Wim Taymans  <wim@fluendo.com>
9373
9374         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
9375         (gst_ghost_pad_new_full):
9376         Make acceptcaps return TRUE when we don't have a target, just like
9377         setcaps does.
9378
9379 2006-10-27  Wim Taymans  <wim@fluendo.com>
9380
9381         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9382         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
9383
9384 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
9385
9386         * gst/gststructure.c: (gst_structure_id_set_value):
9387           If someone tries to set a non-UTF8 string field on a structure,
9388           don't just print a warning, but also ignore the request and do
9389           not change/add that field to the structure.
9390
9391         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9392           Test for the above.
9393
9394 2006-10-25  David Schleef  <ds@schleef.org>
9395
9396         * gst/gstinfo.c:
9397           g_hash_table_insert() needs a cast to a non-const pointer duh.
9398
9399 2006-10-25  David Schleef  <ds@schleef.org>
9400
9401         * gst/gstinfo.c:
9402         * gst/gstinfo.h:
9403           Change name parameter of _gst_debug_register_funcptr to const
9404           to reflect the constness of its use in the function as well
9405           as to quiet a gcc warning.
9406
9407 2006-10-25  Edward Hervey  <edward@fluendo.com>
9408
9409         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9410         Don't push the buffer if it's empty.
9411         Closes #363095
9412
9413 2006-10-24  Wim Taymans  <wim@fluendo.com>
9414
9415         * gst/gstevent.h:
9416         Add small comment.
9417
9418         * libs/gst/base/gstbasetransform.c:
9419         (gst_base_transform_sink_eventfunc):
9420         Debug segment values *after* updating them as this is more
9421         interesting.
9422
9423 2006-10-23  Wim Taymans  <wim@fluendo.com>
9424
9425         * docs/design/part-events.txt:
9426         Update some docs.
9427
9428         * docs/design/part-block.txt:
9429         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9430         (gst_pad_push_event):
9431         Revert BLOCKING patch, it tries to be smart without really having a
9432         clear idea what or how. So, now we discard all FLUSHING events again on
9433         a blocking pad. Should fix gnonlin again.
9434
9435 2006-10-23  Wim Taymans  <wim@fluendo.com>
9436
9437         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9438
9439         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9440         (gst_base_src_start), (gst_base_src_activate_push):
9441         Make sure size is always initialized. Fixes #364388.
9442
9443 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
9444
9445         * docs/random/ensonic/distributed.txt:
9446           add some ideas about doing distributed processing
9447
9448         * docs/random/ensonic/profiling.txt:
9449           get_rusage look promising
9450
9451 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9452
9453         * docs/manual/basics-helloworld.xml:
9454           Add a cast in example to fix compile warning
9455
9456 2006-10-18  Wim Taymans  <wim@fluendo.com>
9457
9458         * gst/gstsegment.c: (gst_segment_set_last_stop),
9459         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9460         Relax arg checking again, -1 is allowed.
9461
9462 2006-10-18  Wim Taymans  <wim@fluendo.com>
9463
9464         * gst/gstsegment.c: (gst_segment_set_last_stop),
9465         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9466         _set_last_stop() must be with a value != -1
9467         A _TYPE_SET to -1 means seek to 0.
9468         Calc last_stop correctly for negative rates.
9469         Make sure we work with positive durations when updating a segment.
9470
9471 2006-10-18  Wim Taymans  <wim@fluendo.com>
9472
9473         * docs/design/part-live-source.txt:
9474         * gst/gstclock.h:
9475         Small docs fixes.
9476
9477 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
9478
9479         * gst/gstbuffer.h:
9480           Add an explicit cast to GstBuffer** to keep old code that added an
9481           explicit cast to GstMiniObject** for gst_mini_object_replace()
9482           compiling without warning.
9483
9484 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9485
9486         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
9487           check for validity of dates
9488
9489 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9490
9491         * docs/gst/gstreamer-sections.txt:
9492           Forgot this one, makes gtk-doc shut up.
9493
9494 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9495
9496         Patch by: Peter Kjellerstedt <pkj at axis com>
9497
9498         * gst/gstobject.h:
9499           Don't define xmlNodePtr to gpointer if the core was built with
9500           --disable-loadsave and --disable-registry, this will break
9501           applications that want to use libxml2 but are buildling against a
9502           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
9503           instead so we don't have to mess with the libxml2 namespace
9504           (#361675).
9505
9506 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9507
9508         * gst/gstbuffer.h:
9509           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
9510           type-punned pointer warnings.
9511
9512 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
9513
9514         * gst/gstelement.h:
9515           Add casts to the correct return type to state <=> state transition
9516           macros.
9517
9518 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
9519
9520         * docs/design/part-live-source.txt:
9521           describe howto handle latency
9522         
9523         * docs/random/ensonic/profiling.txt:
9524           more ideas
9525
9526         * tools/gst-plot-timeline.py:
9527           fix log parsing for solaris, remove unused function
9528
9529 2006-10-16  Wim Taymans  <wim@fluendo.com>
9530
9531         * docs/design/part-trickmodes.txt:
9532         * gst/gstevent.c:
9533         Update some docs regarding reverse playback.
9534
9535 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9536
9537         Patch by: Marcus Granado  <mrc dot gran at gmail com>
9538
9539         * win32/vs8/grammar.vcproj:
9540           Error out with a warning if glib-genmarshal.exe is not in path,
9541           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
9542
9543 2006-10-13  Wim Taymans  <wim@fluendo.com>
9544
9545         * gst/gstsegment.c: (gst_segment_set_seek):
9546         When seeking to stop -1, set last_stop (current position) to the
9547         duration of the segment.
9548
9549 2006-10-13  Wim Taymans  <wim@fluendo.com>
9550
9551         * gst/gstelement.h:
9552         Clarify _NO_PREROLL a bit more.
9553
9554         * gst/gstevent.c:
9555         Fix docs.
9556
9557         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
9558         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
9559         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
9560         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
9561         due to wrong locking order. Fixes #361769.
9562         Remove some redundant/misplaced checks in pad_block.
9563
9564         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9565         For negative rates, count backwards from the duration.
9566
9567 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9568
9569         * gst/gsterror.c: (_gst_library_errors_init):
9570           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
9571           up with something better).
9572
9573 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9574
9575         * win32/vs6/libgstreamer.dsp:
9576         * win32/vs7/libgstreamer.vcproj:
9577         * win32/vs8/libgstreamer.vcproj:
9578           Don't reference glib-compat.c which is currently not used and not
9579           disted; add gstquark.c which was recently added. Fixes #361730.
9580
9581 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9582
9583         * win32/common/libgstbase.def:
9584         * win32/common/libgstcontroller.def:
9585         * win32/common/libgstreamer.def:
9586           Add gst_caps_merge() and a bunch of other recently-added functions.
9587           Fixes #361732.
9588
9589 2006-10-11  Wim Taymans  <wim@fluendo.com>
9590
9591         * docs/plugins/gstreamer-plugins.args:
9592         * docs/plugins/inspect/plugin-coreelements.xml:
9593         * docs/plugins/inspect/plugin-coreindexers.xml:
9594         Update element args.
9595
9596         * gst/gstsystemclock.c:
9597         Small comment update.
9598
9599         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
9600         (gst_tee_request_new_pad), (gst_tee_release_pad),
9601         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
9602         (gst_tee_sink_activate_pull):
9603         * plugins/elements/gsttee.h:
9604         Some tee loving:
9605         Add default property defines.
9606         Implement release pad function.
9607         Give properties better blubs etc.
9608         Activate pads before adding them to a running tee.
9609         Do simple buffer_alloc on the first requested pad.
9610         Post error when activation fails.
9611
9612 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
9613
9614         * gst/gst.c: (ensure_current_registry_forking):
9615           Check return value of write() to make compiler happy.
9616
9617 2006-10-11  Wim Taymans  <wim@fluendo.com>
9618
9619         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9620
9621         * plugins/elements/gstqueue.c: (gst_queue_chain):
9622         Recheck queue filledness after signalling the overrun when we're about
9623         to leak downstream because we released the lock when emitting the signal
9624         and the queue could be empty again. Fixes #352345.
9625
9626 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
9627
9628         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
9629           Fix refcounting here too, just like we did for _new_valist() a few
9630           days ago (#357180) (thanks to René Stadler). Also remove all those
9631           'Since: 0.9' from the gtk-doc blobs.
9632
9633         * tests/check/libs/controller.c: (controller_refcount_new_list),
9634         (gst_controller_suite):
9635           Unit test for the above.
9636
9637 2006-10-10  Wim Taymans  <wim@fluendo.com>
9638
9639         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
9640
9641         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
9642         (gst_pad_save_thyself):
9643         Update some docs.
9644         Write pad direction in XML output. Fixes #345496.
9645
9646 2006-10-10  Wim Taymans  <wim@fluendo.com>
9647
9648         Patch by: René Stadler <mail at renestadler dot de>
9649
9650         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9651         (gst_controller_new_list), (_gst_controller_dispose),
9652         (_gst_controller_finalize), (_gst_controller_class_init):
9653         Take ref to controlled object so that it cannot disappear. 
9654         Fixes #357432.
9655
9656 2006-10-10  Wim Taymans  <wim@fluendo.com>
9657
9658         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9659         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9660         (gst_check_teardown_sink_pad):
9661         Activate/deactivate pads in setup/teardown respectively.
9662
9663 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9664
9665         Patch by: Josep Torra Valles <josep@fluendo.com>
9666
9667         * gst/Makefile.am:
9668         Cast values when making gstenumtypes.h.  This pacifies Forte
9669         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
9670         in the enumeration.
9671
9672 2006-10-09  Wim Taymans  <wim@fluendo.com>
9673
9674         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
9675         Rename some more @cur to @start to fix docs. 
9676
9677         * gst/gstsegment.c: (gst_segment_set_seek):
9678         Fix typo.
9679         time and start must always stay in sync as defined in design doc.
9680
9681         * gst/gsttaglist.c: (gst_tag_list_is_empty):
9682         Rename param to fix docs.
9683
9684         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9685         Check that start and time are in sync.
9686
9687         * tests/check/pipelines/parse-launch.c:
9688         (gst_parse_test_element_change_state):
9689         Activate pad before adding to the element.
9690
9691 2006-10-09  Wim Taymans  <wim@fluendo.com>
9692
9693         * docs/design/part-qos.txt:
9694         Fix typo.
9695
9696         * gst/gstevent.c:
9697         * gst/gstevent.h:
9698         Update seek event docs regarding negative rates.
9699         Rename @cur to @start. 
9700
9701         * gst/gstsegment.c: (gst_segment_set_seek):
9702         * gst/gstsegment.h:
9703         Update set_seek docs regarding negative rates.
9704         Correctly update last_stop to @stop when dealing with negative
9705         rates.
9706         Rename @cur to @start. 
9707
9708         * tests/check/gst/gstpad.c: (GST_START_TEST):
9709         Activate pads before trying to use them.
9710
9711         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9712         (gst_segment_suite):
9713         Add simple check for segments and negative rates.
9714
9715 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9716
9717         * gst/gsttaglist.c: (gst_tag_list_is_empty):
9718         * gst/gsttaglist.h:
9719         * docs/gst/gstreamer-sections.txt:
9720           API: add gst_tag_list_is_empty() (#360467).
9721
9722         * tests/check/gst/gsttag.c: (GST_START_TEST):
9723           And a test case.
9724
9725 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9726
9727         * gst/gstmessage.h:
9728         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
9729         a value that doesn't fit on enumeration.
9730
9731 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9732
9733         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9734         Remove local debugging system and use Gstreamer's instead.
9735
9736 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9737
9738         Patch by: Josep Torra Valles <josep@fluendo.com>
9739
9740         * common/m4/gst-error.m4:
9741         Disable warning of statement not reached on Forte.
9742         * gst/gstmessage.h:
9743         Fix warning on Forte (value doesn't fit on enumeration).
9744         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
9745         Fix warning on Forte (value doesn't fit on enumeration).
9746         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9747         DEBUG macro says it takes minimum of 2 args and so Forte
9748         complains about the use with just 1 arg.
9749         * plugins/elements/gstfdsink.c:
9750         * plugins/elements/gstfdsrc.c:
9751         * plugins/elements/gstfilesink.c:
9752         * plugins/elements/gstfilesrc.c:
9753         Use correct return type for the uri handler implementations.
9754
9755         All these fix warnings in Forte.  Fixes bug #360860.
9756
9757 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9758
9759         * gst/gstelement.h:
9760           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
9761           format string, so don't use G_GNUC_PRINTF for those versions.
9762
9763 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
9764
9765         * gst/gsttaglist.c: (gst_is_tag_list):
9766         * gst/gsttaglist.h:
9767           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
9768
9769         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9770           Small test for the above.
9771
9772 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
9773
9774         * gst/gsttaglist.h:
9775           Less tabs, more spaces.
9776
9777 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
9778
9779         * gst/gstinfo.h:
9780           Those two function declarations do actually belong there, revert
9781           commit from yesterday that turned them intro macros.
9782
9783 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9784
9785         Patch by: Josep Torra Valles <josep@fluendo.com>
9786
9787         * gst/gst.c: (gst_init_get_option_group):
9788         Fix empty declaration and type mismatch.
9789         * gst/gstbin.c: (gst_bin_change_state_func):
9790         Fix type mismatch.
9791         * gst/gstelement.c: (gst_element_continue_state),
9792         (gst_element_set_state_func), (gst_element_change_state),
9793         (gst_element_change_state_func):
9794         Fix type mismatches.
9795         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
9796         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
9797         Cast as appropriate.
9798         * gst/gstobject.c: (gst_class_signal_connect):
9799         Cast as appropriate.  The function pointer parameter really
9800         has the wrong type but would break API if we change it.
9801         * gst/gstquery.c:
9802         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
9803         order of including string.h.
9804         * gst/gstutils.c: (gst_element_state_get_name):
9805         Remove unreachable line.
9806         * gst/gstxml.c: (gst_xml_parse_doc):
9807         Fix type mismatch.
9808         All these caught by Forte.
9809
9810 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9811
9812         Patch by: Josep Torra Valles <josep@fluendo.com>
9813
9814         * common/m4/gst-error.m4:
9815         Fixed bug #360151.
9816         We need to disable warnings on Forte for empty declarations
9817         due to gst-indent adding ;s to lines that just use macros
9818         where the macro actually doesn't need a ; at end to end
9819         statement.
9820
9821 2006-10-06  Wim Taymans  <wim@fluendo.com>
9822
9823         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
9824         (gst_file_sink_close_file), (gst_file_sink_event),
9825         (gst_file_sink_render):
9826         Add some FIXME for the NEWSEGMENT handling.
9827
9828 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9829
9830         * gst/parse/grammar.y:
9831         Remove static function gst_parse_element_lock as all it does
9832         is return.  Looks like cruft from 0.8.
9833
9834 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9835
9836         Patch by: Josep Torra Valles <josep@fluendo.com>
9837
9838         * common/m4/gst-error.m4:
9839         * configure.ac:
9840         * libs/gst/net/Makefile.am:
9841         Fix a compilation issue with Forte on Solaris.  inet_aton is in
9842         libresolv.
9843
9844 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
9845
9846         * gst/gstpad.c: (pre_activate):
9847         * gst/gstregistry.c: (gst_registry_scan_path_level):
9848         * gst/gstregistryxml.c: (load_plugin):
9849         * libs/gst/controller/gstcontroller.c:
9850         (gst_controlled_property_set_interpolation_mode):
9851         * libs/gst/dataprotocol/dataprotocol.c:
9852         (gst_dp_packet_from_event_1_0):
9853         * libs/gst/net/gstnetclientclock.c:
9854         (gst_net_client_clock_observe_times):
9855         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9856           Printf fixes.
9857
9858 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
9859
9860         * configure.ac:
9861         * docs/gst/gstreamer-sections.txt:
9862         * gst/gstconfig.h.in:
9863         * gst/gstelement.h:
9864         * gst/gstinfo.h:
9865           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
9866           whether we can use G_GNUC_PRINTF in other header files and at
9867           least check the printf format/arguments of debug messages and
9868           GST_ELEMENT_ERROR messages when the printf extension is not
9869           being used.
9870           Replace more tabs with spaces in gstinfo.h and remove two spurious
9871           function declarations in GST_DISABLE_DEBUG part with macros.
9872
9873 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
9874
9875         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
9876           More docs for the sync-message signal (mention that it is not
9877           emitted by default); log message structures of messages posted on
9878           the bus as well.
9879
9880 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
9881
9882         * gst/gst.c: (ensure_current_registry_forking):
9883         Use a pipe pair to receive status results from the forked child, and
9884         ignore the result from waitpid. Fixes #355499
9885
9886 2006-10-02  Wim Taymans  <wim@fluendo.com>
9887
9888         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9889         (gst_ghost_pad_suite):
9890         Fix leak in check.
9891
9892 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9893
9894         * gst/gstpad.c:
9895           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
9896
9897 2006-10-02  Edward Hervey  <edward@fluendo.com>
9898
9899         * docs/design/part-block.txt:
9900         Further explain the use of flushing on blocked pads.
9901         * docs/gst/gstreamer-sections.txt:
9902         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9903         (gst_pad_push_event):
9904         * gst/gstpad.h:
9905         Added new GstPadFlag : GST_PAD_BLOCKING.
9906         Adds the notion of pads really blocking, which enables to properly
9907         handle FLUSH_START/FLUSH_STOP events on blocked pads.
9908         Fixes #358999
9909         API: gst_pad_is_blocking()
9910         API: GST_PAD_IS_BLOCKING() macro
9911         API: GST_PAD_BLOCKING GstPadFlag
9912         
9913 2006-10-02  Wim Taymans  <wim@fluendo.com>
9914
9915         Patch by: mrcgran <mrc.gran at gmail dot com>
9916
9917         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
9918         Filter the proxied caps against the padtemplate if we have one.
9919
9920         * gst/gstquery.c: (gst_query_new_segment):
9921         Add include for gstinfo.h so that compilation with
9922         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
9923
9924 2006-10-02  Wim Taymans  <wim@fluendo.com>
9925
9926         Patch by: Alessandro Decina  <alessandro at nnva org>
9927
9928         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
9929         (gst_file_sink_set_location), (gst_file_sink_open_file),
9930         (gst_file_sink_close_file), (gst_file_sink_event),
9931         (gst_file_sink_render):
9932         Set file to NULL when closing filesink so that we can set a new filename
9933         in READY. Fixes #358613.
9934
9935 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9936
9937         Patch by: Alessandro Decina  <alessandro at nnva org>
9938
9939         * gst/gstevent.c: (_gst_event_copy):
9940           Fix gst_mini_object_make_writable() and gst_event_copy() for events
9941           with event structures by setting the parent refcount address of the
9942           copied structure to the address of the refcount member of the newly
9943           copied event rather than the address of the refcount member of the
9944           original event. Fixes #358737.
9945
9946         * tests/check/gst/gstevent.c: (GST_START_TEST):
9947           Unit test for the above.
9948
9949 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
9950
9951         * docs/design/Makefile.am:
9952           Dist some more files.
9953
9954 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9955
9956         * tests/check/libs/controller.c: (GST_START_TEST),
9957         (gst_controller_suite):
9958           Add test for the previous fix; add some more tests
9959           for correct refcounting behaviour; fix a few leaks
9960           in test cases; call gst_controller_init() at start
9961           of all tests.
9962
9963 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9964
9965         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9966         (gst_controller_set_from_list):
9967           Don't g_return_val_if_fail() on timed values with invalid timestamps
9968           inside a critical section without unlocking the mutex. Spotted by
9969           René Stadler. (#357617)
9970           Also, fix up refcounting properly: when returning an existing
9971           controller, we should increase the reference only once and not
9972           once per property and when trying to control a property again
9973           we should also increase the refcount.
9974
9975 2006-09-29  Wim Taymans  <wim@fluendo.com>
9976
9977         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9978         * libs/gst/net/gstnettimeprovider.c:
9979         (gst_net_time_provider_thread):
9980         Stop reading commands when EOF as well.
9981
9982         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9983         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9984         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9985         Unify description of the dump property.
9986
9987 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9988
9989         * tests/examples/manual/.cvsignore:
9990         OK, so it's actually cvsignore that needs changing. Stop laughing.
9991
9992 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9993
9994         * tests/examples/manual/Makefile.am:
9995         Gah, declare vars *before* using them
9996
9997 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9998
9999         * gst/gst.c: (init_pre), (scan_and_update_registry),
10000         (ensure_current_registry_nonforking),
10001         (ensure_current_registry_forking), (ensure_current_registry),
10002         (init_post), (gst_debug_help), (gst_deinit):
10003         * gst/gst_private.h:
10004         * gst/gstregistry.c: (gst_registry_finalize),
10005         (gst_registry_remove_features_for_plugin_unlocked),
10006         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10007         (gst_registry_scan_path),
10008         (_priv_gst_registry_remove_cache_plugins),
10009         (_priv_gst_registry_cleanup):
10010         * gst/gstregistry.h:
10011         Re-commit the registry changes, along with an extra fix:
10012           When a cached plugin is encountered at a different file path,
10013           update the stored path in the registry cache so that the parent
10014           process knows where it actually is now when it re-reads the registry
10015           cache. Fixes the thing that broke distcheck with the previous commit.
10016
10017         * tests/check/Makefile.am:
10018         Clean up files named 'core' too when running make clean.
10019
10020         * tests/examples/manual/Makefile.am:
10021         Set up a registry path for running these tests, and clean it properly
10022         for distcheck.
10023
10024 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10025
10026         * configure.ac:
10027         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
10028         want gmodule-no-export-2.0.pc instead so that we don't drag in
10029         --export-dynamic on every project that links to GStreamer.
10030
10031         Also, make our export regex only match the start of symbols, rather 
10032         than any symbol that contains '_gst' somewhere.
10033
10034         * libs/gst/check/Makefile.am:
10035         The libgstcheck we build does however need export-dynamic, as it
10036         produces some symbols that don't match our _gst... style regex.
10037         Fixes: #318031
10038
10039 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10040
10041         * gst/gst.c: (init_pre), (scan_and_update_registry),
10042         (ensure_current_registry_nonforking),
10043         (ensure_current_registry_forking), (ensure_current_registry),
10044         (init_post), (gst_debug_help), (gst_deinit):
10045         * gst/gst_private.h:
10046         * gst/gstregistry.c: (gst_registry_finalize),
10047         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10048         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
10049         (_gst_registry_cleanup):
10050         * gst/gstregistry.h:
10051           Revert previous change until I figure out why it breaks distcheck.
10052
10053 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10054
10055         * gst/gst.c: (init_pre), (scan_and_update_registry),
10056         (ensure_current_registry_nonforking),
10057         (ensure_current_registry_forking), (ensure_current_registry),
10058         (init_post), (gst_debug_help), (gst_deinit):
10059
10060           Make init_pre and init_post take the full complement of GOptionFunc
10061           args so they can return useful GErrors. Make the registry updating
10062           functions do so.
10063
10064           Call _priv_gst_registry_remove_cache_plugins after scanning files to
10065           ensure that the registry we're about to write out doesn't contain
10066           stale information about old-deleted plugin files.
10067
10068           Make _priv_gst_registry_remove_cache_plugins return a boolean so
10069           that deletion of plugin files is considered a registry change.
10070
10071         * gst/gst_private.h:
10072         * gst/gstregistry.c: (gst_registry_finalize),
10073         (gst_registry_remove_features_for_plugin_unlocked),
10074         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10075         (gst_registry_scan_path),
10076         (_priv_gst_registry_remove_cache_plugins),
10077         (_priv_gst_registry_cleanup):
10078         * gst/gstregistry.h:
10079         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
10080         by adding _priv prefix, so that they won't appear in the global
10081         symbol table. They still do atm though because of #318031. Move the
10082         prototypes to gst_private.h
10083
10084         When removing a plugin, remove all features for that plugin too. 
10085         Fixes #340878.
10086
10087 2006-09-27  Wim Taymans  <wim@fluendo.com>
10088
10089         * docs/random/moving-plugins:
10090         Make it clear that the "compiled-in descriptions" really mean
10091         the element details.
10092
10093         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10094         (gst_base_sink_wait_preroll):
10095         Update docs.
10096
10097         * docs/libs/gstreamer-libs-sections.txt:
10098         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10099         (gst_base_src_get_range), (gst_base_src_activate_push):
10100         * libs/gst/base/gstbasesrc.h:
10101         Added function to block while waiting for PLAYING, this function
10102         is used by live sources that block on the clock.
10103         API: gst_base_src_wait_playing()
10104
10105 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10106
10107         Patch by: Peter Kjellerstedt <pkj at axis com>
10108
10109         * Makefile.am:
10110           gst-element-check.m4 is generated and should therefore be
10111           copied from the build dir rather than the source dir (#357593).
10112           'make distcheck' hasn't noticed this because we were disting
10113           the file as well, so stop doing that.
10114
10115 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10116
10117         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10118           Add some tests for gst_caps_intersect().
10119
10120         * tools/gst-launch.c: (event_loop):
10121           Print all buffering percentages we get, even the 100% one.
10122
10123 2006-09-26  Wim Taymans  <wim@fluendo.com>
10124
10125         * tools/gst-inspect.c: (print_element_properties_info),
10126         (print_signal_info):
10127         Fix printing of flags to match the look of enums.
10128
10129 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10130
10131         * gst/gstelementfactory.c:
10132           Fix typo in docs blurb.
10133
10134 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10135
10136         * gst/gsturi.c: (search_by_entry):
10137           Don't assert/crash here if a uri handler doesn't return any
10138           supported protocols. The list of protocols could be generated
10139           dynamically at runtime or at plugin registration, and an error
10140           in the underlying library shouldn't be fatal (#353301).
10141
10142 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10143
10144         * gst/gstinfo.c:
10145           Fix warning if HAVE_PRINTF_EXTENSION is undefined
10146           (spotted by Peter Kjellerstedt).
10147
10148 2006-09-23  Wim Taymans  <wim@fluendo.com>
10149
10150         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
10151
10152         * libs/gst/base/gstbasesrc.c:
10153         (gst_base_src_default_check_get_range), (gst_base_src_start),
10154         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10155         (gst_base_src_change_state):
10156         Match _start/_stop calls in the activate functions. Remove redundant
10157         _stop call from the state change function. Fixes #356910.
10158         Turn failure DEBUG into ERROR. 
10159
10160 2006-09-22  Wim Taymans  <wim@fluendo.com>
10161
10162         * docs/design/part-buffering.txt:
10163         * gst/gstmessage.c: (gst_message_new_buffering),
10164         (gst_message_parse_buffering):
10165         Update docs about buffering.
10166
10167         * docs/design/part-trickmodes.txt:
10168         Fix typo.
10169
10170 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
10171
10172         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10173         (gst_controller_new_list):
10174           Ref instances when returning them again (fixes #357180)
10175
10176 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10177
10178         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
10179           Don't forget to release proxy lock when there's an error.
10180
10181 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
10182
10183         * gst/gstcaps.h:
10184           Add extra initialisers for Caps things, to fix some plugin warnings
10185           when using -Wextra
10186
10187 2006-09-18  Wim Taymans  <wim@fluendo.com>
10188
10189         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10190           Also set template on the internal pad so that a getcaps from the 
10191           target pad returns the template caps.
10192
10193 2006-09-18  Wim Taymans  <wim@fluendo.com>
10194
10195         * gst/gstelement.c: (gst_element_post_message),
10196         (gst_element_dispose):
10197         Use _DEBUG_OBJECT some more.
10198
10199         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10200         Avoid typechecks.
10201
10202         * tools/gst-launch.c: (main):
10203         If the toplevel element is not a GstPipeline, it must be put in a
10204         pipeline so that a bus and clock is selected.
10205
10206 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10207
10208         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10209           JITTER, RATE, and LATENCY query should be handled by the
10210           default case and not by the CONVERT query code.
10211
10212 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10213
10214         * gst/gstformat.c: (gst_format_register):
10215           Fix locking order (must take lock before using n_values).
10216
10217         * gst/gstvalue.c: (gst_value_serialize_enum),
10218         (gst_value_deserialize_enum_iter_cmp),
10219         (gst_value_deserialize_enum):
10220           Fix serialisation/deserialisation of custom registered GstFormats.
10221
10222         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10223           Unit test for custom format serialisation/deserialisation.
10224
10225 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
10226
10227         * docs/pwg/building-boiler.xml:
10228         * plugins/elements/gstcapsfilter.c:
10229         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
10230         section.
10231
10232 2006-09-16  Edward Hervey  <edward@fluendo.com>
10233
10234         * libs/gst/base/gstbasetransform.c:
10235         (gst_base_transform_buffer_alloc):
10236         Check if requested caps are the same as the sinks caps IF
10237         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
10238         is FALSE.
10239         This fixes the renegotiation issues stated in #352827.
10240
10241 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10242
10243         * configure.ac:
10244         * docs/manual/advanced-autoplugging.xml:
10245         * tests/examples/Makefile.am:
10246         * tests/examples/manual/.cvsignore:
10247         * tests/examples/manual/Makefile.am:
10248         * tests/examples/manual/extract.pl:
10249           Extract the manual examples again like we used to do.
10250           Fix one of them.
10251
10252 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10253
10254         * win32/common/config.h:
10255           update for version
10256
10257 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
10258
10259         * gst/gsterror.c:
10260           Documents how to receive errors.
10261
10262 2006-09-15  Wim Taymans  <wim@fluendo.com>
10263
10264         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
10265         (event_loop), (main):
10266         Added some comments here and there.
10267         Post an application message when an interrupt is caught instead of doing
10268         an uncontrolled state change.
10269         Clean up the event loop.
10270         Handle buffering messages, pause/resume the pipeline.
10271         Make shutdown because of an interrupt more reliable.
10272
10273 2006-09-15  Wim Taymans  <wim@fluendo.com>
10274
10275         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10276         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
10277         (gst_base_sink_preroll_object):
10278         Make sure that our internal state is correct when we commit our state
10279         asynchronously. This solves a race where a state change to PLAYING
10280         could cause the sink to remain blocked in preroll in some situations.
10281
10282 2006-09-15  Wim Taymans  <wim@fluendo.com>
10283
10284         * tools/gst-inspect.c: (print_element_properties_info),
10285         (print_signal_info):
10286         List flags as hex so it's easier to deal with.
10287
10288 2006-09-15  Wim Taymans  <wim@fluendo.com>
10289
10290         * docs/libs/gstreamer-libs-sections.txt:
10291         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
10292         (gst_base_sink_do_sync):
10293         * libs/gst/base/gstbasesink.h:
10294         Expose logic to wait for preroll so that subclasses such as audiosink
10295         can also use this method.
10296         API: gst_base_sink_wait_preroll()
10297
10298 2006-09-15  Wim Taymans  <wim@fluendo.com>
10299
10300         * gst/gstobject.c: (gst_object_set_parent):
10301         * gst/gstpipeline.c: (do_pipeline_seek):
10302         Small cleanups in docs and code.
10303
10304         * gst/gstsegment.c: (gst_segment_clip):
10305         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10306         if stop == start and start is in the segment, no clipping should be
10307         done. Also add a test for this.
10308
10309 2006-09-15  Wim Taymans  <wim@fluendo.com>
10310
10311         * docs/design/part-buffering.txt:
10312         * docs/gst/gstreamer-sections.txt:
10313         * gst/gstmessage.c: (gst_message_new_buffering),
10314         (gst_message_parse_buffering):
10315         * gst/gstmessage.h:
10316         Added methods to create and parse BUFFERING messages.
10317         Added preliminary docs about buffering.
10318         API: gst_message_new_buffering
10319         API: gst_message_parse_buffering
10320
10321 2006-09-06  Wim Taymans  <wim@fluendo.com>
10322
10323         * gst/gstbin.c:
10324         Update documentation.
10325
10326         * gst/gstelement.c: (gst_element_class_init),
10327         (gst_element_release_request_pad), (gst_element_set_clock),
10328         (gst_element_get_index), (gst_element_add_pad),
10329         (gst_element_remove_pad), (gst_element_get_random_pad),
10330         (gst_element_send_event), (gst_element_get_query_types),
10331         (gst_element_query), (gst_element_post_message),
10332         (gst_element_message_full), (gst_element_continue_state),
10333         (gst_element_lost_state), (gst_element_save_thyself),
10334         (gst_element_restore_thyself):
10335         Documentation updates.
10336         Rename last bit of the new-pad -> pad-added signal rename.
10337         Fix the case where an element query would only work if the source
10338         pad was linked.
10339         Avoid some useless type checking in message handling.
10340
10341         * gst/gstevent.c:
10342         * gst/gstevent.h:
10343         * gst/gstutils.c:
10344         Documentation updates.
10345
10346 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10347
10348         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10349           add an INFO line for when we actually update the fd
10350
10351 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10352
10353         * configure.ac:
10354           back to TRUNK
10355
10356 === release 0.10.10 ===
10357
10358 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
10359
10360         * configure.ac:
10361           releasing 0.10.10, "Pais"
10362
10363 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
10364
10365         * docs/manual/advanced-position.xml:
10366           Fix typo in sample code.
10367
10368 2006-09-05  Wim Taymans  <wim@fluendo.com>
10369
10370         * libs/gst/net/gstnetclientclock.c: (inet_aton),
10371         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
10372         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
10373         * libs/gst/net/gstnetclientclock.h:
10374         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10375         * libs/gst/net/gstnettimepacket.h:
10376         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
10377         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
10378         (gst_net_time_provider_thread), (gst_net_time_provider_new):
10379         * libs/gst/net/gstnettimeprovider.h:
10380         Make stuff compile on windows. Fixes #345295.
10381
10382 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10383
10384         * gst/gst.c: (ensure_current_registry_forking):
10385           Print better details when child was terminated by signal.
10386
10387 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10388
10389         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
10390           Print a warning rather than g_assert() if a plugin feature
10391           is a URI handler but returns no protocols (#353976).
10392
10393 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
10394
10395         * docs/random/moving-plugins:
10396         Fix two typos.         
10397
10398 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10399
10400         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
10401           Fix locking order, handle NULL function values properly.
10402
10403         * gst/gstinfo.h:
10404           Fix docs.
10405
10406         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
10407           Initialise variable before using it and fix debug statement to
10408           print the address of the function rather than the address of the
10409           variable on the stack holding the address of the function.
10410
10411 2006-09-01  Wim Taymans  <wim@fluendo.com>
10412
10413         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
10414         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
10415         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10416         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
10417         (gst_ghost_pad_parent_unset),
10418         (gst_ghost_pad_internal_do_activate_push),
10419         (gst_ghost_pad_internal_do_activate_pull),
10420         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10421         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10422         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10423         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
10424         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
10425         (gst_ghost_pad_new_no_target_from_template),
10426         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10427         More cleanups.
10428         Avoid needless typechecking in macros.
10429         Since the internal pad is always present and never changes, there is
10430         no need to locking or ref when retrieving it.
10431         Improve debugging a bit.
10432         Handle link errors when setting the target. Fixes #341029.
10433
10434 2006-09-01  Wim Taymans  <wim@fluendo.com>
10435
10436         * docs/libs/gstreamer-libs-sections.txt:
10437         * docs/plugins/gstreamer-plugins-sections.txt:
10438         Fix docs some more.
10439
10440         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10441         (gst_collect_pads_event):
10442         * libs/gst/base/gstcollectpads.h:
10443         Documentation updates.
10444         Free queued buffer when removing a pad.
10445
10446 2006-08-31  Michael Smith  <msmith@fluendo.com>
10447
10448         * gst/gstutils.c: (gst_element_link_pads),
10449         (gst_element_link_pads_filtered):
10450           Ensure that we set a capsfilter to NULL if we failed to link it
10451           when doing filtered linking, to avoid criticals.
10452
10453           No need to check for unreffing srcpad, which is explicly NULLed
10454           above (a trivial code cleanup).
10455
10456 2006-08-31  Wim Taymans  <wim@fluendo.com>
10457
10458         * docs/design/part-gstghostpad.txt:
10459         Update ascii art in documentation.
10460
10461         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
10462         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
10463         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10464         (gst_ghost_pad_internal_do_activate_push),
10465         (gst_ghost_pad_internal_do_activate_pull),
10466         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10467         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10468         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
10469         (gst_ghost_pad_set_target):
10470         Small cleanups and leak fixes.
10471         Remove some checks now that the internal pad is never NULL.
10472         Fix the case where linking pads without a target would create nasty
10473         criticals. Fixes #341029.
10474         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
10475         value of _set_target().
10476
10477         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10478         (gst_ghost_pad_suite):
10479         Some more tests for creating and linking untargeted ghostpads.
10480
10481 2006-08-31  Edward Hervey  <edward@fluendo.com>
10482
10483         * docs/gst/gstreamer-sections.txt:
10484         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
10485         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10486         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
10487         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
10488         (gst_ghost_pad_new_from_template),
10489         (gst_ghost_pad_new_no_target_from_template):
10490         * gst/gstghostpad.h:
10491         Refactored *_new() functions.
10492         Templates are now used as a g_object_new() parameter.
10493         Use template in _do_getcaps() if we don't have a target.
10494         Small documentation cleanups.
10495         Added two new constructors:
10496         gst_ghost_pad_new_from_template()
10497         gst_ghost_pad_new_no_target_from_template()
10498         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10499         (gst_ghost_pad_suite):
10500         Added tests for new ghostpad instanciation functions.
10501
10502         API additions: gst_ghost_pad_new_from_template,
10503         gst_ghost_pad_new_no_target_from_template
10504
10505 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
10506
10507         * docs/random/ensonic/profiling.txt:
10508           Ideas about qos profiling.
10509
10510 2006-08-29  Wim Taymans  <wim@fluendo.com>
10511
10512         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
10513         Code cleanups.
10514         Fix memleak.
10515
10516 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
10517
10518         * gst/gstxml.c:
10519           Improve and detypofy docs.
10520
10521         * tests/check/Makefile.am:
10522         * tests/check/gst/.cvsignore:
10523         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
10524           Add a basic test suite for GstXML.
10525
10526 2006-08-29  Wim Taymans  <wim@fluendo.com>
10527
10528         * gst/gstelement.c: (activate_pads), (clear_caps),
10529         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10530         Clear the pad caps when the element shut down all of the pads and
10531         is not streaming data that could modify the caps. 
10532         Fixes #352958.
10533
10534 2006-08-28  Michael Smith  <msmith@fluendo.com>
10535
10536         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10537           Revert previous change; I misunderstood single-segment mode.
10538
10539 2006-08-28  Michael Smith  <msmith@fluendo.com>
10540
10541         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10542           Unset DISCONT on buffers when using single-segment mode.
10543
10544 2006-08-28  Wim Taymans  <wim@fluendo.com>
10545
10546         * gst/gstcaps.c: (gst_caps_merge_structure):
10547         * gst/gstcaps.h:
10548         Fix docs and indentation again.
10549
10550         * tests/check/gst/gstquery.c: (GST_START_TEST):
10551         Fix leak in tests and add some more tests.
10552
10553 2006-08-28  Edward Hervey  <edward@fluendo.com>
10554
10555         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10556         Inform GstSegment of the last stop position in order for the current
10557         segment to have a proper duration if it doesn't have a specific stop
10558         position from which a duration could be calculated.
10559         This bug was noticeable when a non-flushing, non-update new segment was
10560         followed by another segment (all buffers from the new segment were being
10561         dropped).
10562
10563 2006-08-28  Wim Taymans  <wim@fluendo.com>
10564
10565         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10566         Small comment update.
10567
10568         * plugins/elements/gstidentity.c: (gst_identity_class_init),
10569         (gst_identity_transform_ip):
10570         Drop-probability is broken, mention this in the code with a 
10571         FIXME and also in the property description.
10572         Make silent also be silent about the drop messages.
10573
10574 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
10575
10576         * docs/manual/appendix-win32.xml:
10577           Remove mention of popt, we don't depend on that any
10578           longer (#353136). Add some comments pointing out that
10579           this section is slightly outdated.
10580
10581 2006-08-28  Wim Taymans  <wim@fluendo.com>
10582
10583         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10584
10585         * gst/gstquery.c: (gst_query_new_segment):
10586         * tests/check/gst/gstquery.c: (GST_START_TEST):
10587         Initialize variables when creating a new segment query.
10588         Fixes #353121.
10589
10590 2006-08-28  Wim Taymans  <wim@fluendo.com>
10591
10592         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10593
10594         * gst/gstelement.c: (gst_element_get_bus):
10595         * tests/check/gst/gstelement.c: (GST_START_TEST):
10596         Check for NULL before _reffing the bus. Fixes #353122.
10597
10598 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
10599
10600         * docs/manual/basics-bus.xml:
10601           Docs update: fix wrong callback return value explanation; add
10602           some lines about the implicit relationship between main loop
10603           and main context; remove duplicate main loop variable declaration.
10604
10605 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
10606
10607         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10608           Don't leak caps in unit test; add a few more simple
10609           checks. 
10610
10611 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
10612
10613         * docs/gst/gstreamer-sections.txt:
10614         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
10615         (gst_caps_structure_is_subset), (gst_caps_merge),
10616         (gst_caps_merge_structure):
10617         * gst/gstcaps.h:
10618         * libs/gst/base/gstbasetransform.c:
10619         (gst_base_transform_transform_caps):
10620         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10621           implement caps merging (fixes #352580)
10622
10623 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
10624
10625         * tools/Makefile.am:
10626         * tools/gst-plot-timeline.py:
10627           add debug-log plotting developer tool (#340674)
10628
10629 2006-08-23  Wim Taymans  <wim@fluendo.com>
10630
10631         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
10632         (gst_pad_stop_task):
10633         Improve debugging for task functions.
10634
10635         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
10636         (gst_task_start), (gst_task_pause), (gst_task_join):
10637         Make sure that the task function started and finished after a 
10638         join(). 
10639         Don't try to push the task function on the threadpool multiple
10640         times.
10641         Improve the g_warning message with some useful suggestions
10642         about how to fix the problem. 
10643
10644 2006-08-23  Wim Taymans  <wim@fluendo.com>
10645
10646         * gst/gstutils.c: (gst_pad_proxy_getcaps):
10647         Handle RESYNC correctly in _proxy_getcaps.
10648
10649 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
10650
10651         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
10652         (gst_xml_parse_memory), (gst_xml_get_element):
10653           Chain up to parent class in dispose function and also
10654           unref the elements in the toplevel_elements GList.
10655           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
10656           Always return a reference in gst_xml_get_element() rather
10657           than only sometimes.
10658
10659         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10660           Don't leak GstXml object.
10661
10662 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
10663
10664         * docs/gst/gstreamer-sections.txt:
10665         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
10666         (gst_caps_merge):
10667         * gst/gstcaps.h:
10668         * libs/gst/base/gstbasetransform.c:
10669         (gst_base_transform_transform_caps):
10670           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
10671           in a better way
10672
10673 2006-08-21  Edward Hervey  <edward@fluendo.com>
10674
10675         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
10676         Implement GObject::dispose virtual method in GstXML so we can free the
10677         top_elements GList.
10678
10679 2006-08-21  Wim Taymans  <wim@fluendo.com>
10680
10681         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
10682         (gst_buffer_create_sub):
10683         Copy duration/offset_end/caps when creating a subbuffer of the
10684         complete parent.
10685         Make the subbuffer read-only when we make the metadata writable for
10686         now. Fixes #351768.
10687
10688         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10689         Added check for metadata copy when creating subbuffers.
10690
10691 2006-08-21  Edward Hervey  <edward@fluendo.com>
10692
10693         * libs/gst/base/gstbasetransform.c:
10694         (gst_base_transform_buffer_alloc):
10695         Only call downstream buffer_alloc if transform element is passthrough
10696         or always_in_place. Closes #350449.
10697
10698 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10699
10700         * ChangeLog:
10701           ChangeLog surgery to add comments to previous changes
10702
10703 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10704
10705         * gst/gst.c:
10706           Add comments
10707
10708         * gst/gstpad.c: (gst_pad_set_active):
10709           Be more verbose in the log
10710
10711         * libs/gst/base/gstbasetransform.c:
10712         (gst_base_transform_transform_caps):
10713           Simplify caps to get rid of duplicates, fixes #345444
10714
10715 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10716
10717         * gst/gstvalue.c:
10718         * gst/gstvalue.h:
10719           Use these optimizations only internally.
10720
10721 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10722
10723         * gst/gstvalue.c: (gst_value_compare_list),
10724         (gst_value_compare_fraction_range),
10725         (gst_value_intersect_fraction_fraction_range),
10726         (gst_value_intersect_fraction_range_fraction_range),
10727         (gst_value_subtract_fraction_fraction_range),
10728         (gst_value_subtract_fraction_range_fraction_range),
10729         (gst_value_get_compare_func), (gst_value_compare),
10730         (gst_value_compare_with_func):
10731         * gst/gstvalue.h:
10732           Saves the expensive lookup of the compare function in many cases
10733          (#345444)
10734
10735 2006-08-18  Edward Hervey  <edward@fluendo.com>
10736
10737         * tests/check/gst/gstinfo.c: (gst_info_suite):
10738         Disable test that require gstdebug if it wasn't built in core.
10739
10740 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
10741
10742         * docs/random/ensonic/logging.txt:
10743           update ideas
10744           
10745         * gst/gstinfo.c: (gst_debug_log_default):
10746           reorder fields, save some columns, add optional color codes for log
10747           levels
10748
10749 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
10750
10751         * docs/random/ensonic/logging.txt:
10752           add ideas about making the logs a bit more useful
10753
10754 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
10755
10756         * docs/pwg/advanced-events.xml:
10757         * docs/pwg/titlepage.xml:
10758           Update for 0.10 API (#340627). Add myself
10759           to authors list.
10760
10761 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
10762
10763         * docs/libs/gstreamer-libs-docs.sgml:
10764         * docs/libs/gstreamer-libs-sections.txt:
10765         * libs/gst/check/gstbufferstraw.c:
10766           Make gstcheck stuff show up in docs (still needs to
10767           be documented properly though).
10768
10769 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
10770
10771         * docs/gst/gstreamer-sections.txt:
10772         * gst/Makefile.am:
10773         * gst/gst.c: (init_post):
10774         * gst/gst_private.h:
10775         * gst/gstquark.c: (_priv_gst_quarks_initialize):
10776         * gst/gstquark.h:
10777         * gst/gstquery.c: (gst_query_new_position),
10778         (gst_query_set_position), (gst_query_parse_position),
10779         (gst_query_new_duration), (gst_query_set_duration),
10780         (gst_query_parse_duration), (gst_query_new_convert),
10781         (gst_query_set_convert), (gst_query_parse_convert),
10782         (gst_query_new_segment), (gst_query_set_segment),
10783         (gst_query_parse_segment), (gst_query_new_seeking),
10784         (gst_query_set_seeking), (gst_query_parse_seeking):
10785         Add internal helpers for pre-registering quarks from static strings
10786         and using the quark values directly instead of looking them up when
10787         creating and parsing queries. Can be used for event construction too.
10788         Closes #350432.
10789
10790 2006-08-16  Wim Taymans  <wim@fluendo.com>
10791
10792         * gst/gstbin.c:
10793         Fix bogus docs.
10794
10795 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10796
10797         * gst/gstutils.c: (gst_util_set_value_from_string):
10798           Fix memleak (#351502).
10799
10800         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10801           Add unit test for most of gst_util_set_value_from_string()
10802           (not that one would want to encourage use of this function).
10803
10804 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10805
10806         * libs/gst/check/gstcheck.h:
10807           Use const gchar * variables in fail_unless_equals_string
10808           macro to avoid compiler warnings (and don't use tabs for
10809           indenting).
10810
10811 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10812
10813         * tools/gst-launch.c: (print_tag):
10814           More space on the left for the tag names, to cater
10815           for the 'extended comment' tag (not touching the
10816           string for the first line since it's translated).
10817
10818 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10819
10820         * libs/gst/check/gstcheck.h:
10821           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
10822           print something when they fail.
10823
10824 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10825
10826         * docs/gst/gstreamer-sections.txt:
10827         * gst/gsttaglist.c: (_gst_tag_initialize):
10828         * gst/gsttaglist.h:
10829           API: add GST_TAG_EXTENDED_COMMENT (#350935).
10830           Also change merge function for GST_TAG_COMMENT to
10831           use_first.
10832
10833 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10834
10835         * gst/gstinfo.c: (gst_debug_print_object):
10836           Make GST_PTR_FORMAT print messages as well.
10837
10838         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
10839         (GST_START_TEST), (gst_info_suite):
10840           More tests.
10841
10842 2006-08-14  Edward Hervey  <edward@fluendo.com>
10843
10844         * gst/gstelementfactory.c: (gst_element_register):
10845         If the GstElementClass doesn't have a GstElementDetails with all fields
10846         filled up correctly (longname, description AND author), then error out
10847         nicely instead of crashing.
10848
10849 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10850
10851         * gst/gststructure.c:
10852           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
10853
10854         * gst/gstvalue.h:
10855           Expand on the difference between arrays and lists as we use them.
10856           
10857 2006-08-14  Wim Taymans  <wim@fluendo.com>
10858
10859         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
10860         If the parent state change function failed, don't assume we can safely
10861         stop the source, this will be done when the pads are deactivated.
10862
10863 2006-08-14  Wim Taymans  <wim@fluendo.com>
10864
10865         * gst/gstbuffer.c:
10866         * gst/gsttask.c: (gst_task_join):
10867         Small doc updates.
10868
10869         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10870         (gst_pad_stop_task):
10871         When pad (de)activation failed for some reason, restore the old
10872         activation mode and set the pad to flushing instead of assuming the
10873         pad is deactivated.
10874         If the _task_join() failed, reinstall the task on the pad so that it can
10875         be stopped later and return an error.
10876
10877 2006-08-11  Andy Wingo  <wingo@pobox.com>
10878
10879         * configure.ac:
10880         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10881         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
10882         is only for users of API that don't want to see deprecated
10883         functions in the headers; people that want to compile out
10884         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
10885         CFLAGS. Fixes the build of multifdsink, or will soon..
10886
10887 2006-08-11  Wim Taymans  <wim@fluendo.com>
10888
10889         * docs/gst/gstreamer-sections.txt:
10890         Add GstClockClass vmethod docs.
10891
10892         * gst/gstcaps.h:
10893         Mark #endif with comment for associated #if
10894
10895         * gst/gstclock.c: (gst_clock_id_wait):
10896         * gst/gstclock.h:
10897         Add vmethod wait_jitter to avoid an unneeded _get_time() for
10898         most clock implementations.
10899         Document vmethods.
10900         Flesh out docs about resolution methods.
10901         API: GstClockClass::wait_jitter
10902
10903         * gst/gstsystemclock.c: (gst_system_clock_class_init),
10904         (gst_system_clock_async_thread),
10905         (gst_system_clock_id_wait_jitter_unlocked),
10906         (gst_system_clock_id_wait_jitter):
10907         Use base class wait_jitter variant for improved performance
10908         due to less clock polling.
10909
10910 2006-08-11  Edward Hervey  <edward@fluendo.com>
10911
10912         * gst/gst.c: (gst_init_check), (init_post):
10913         Set gst as being initialized before scanning/updating the registry,
10914         since there might be my python plugin loader that calls gst_init() and
10915         we don't want to loop back in.
10916         Closes #350879
10917
10918 2006-08-11  Wim Taymans  <wim@fluendo.com>
10919
10920         * docs/design/part-qos.txt:
10921         Bring docs in line with the code. Mostly the sign of the jitter was
10922         wrong in the docs. Fixes #349943.
10923
10924         * gst/gstclock.c:
10925         Fix the docs for the jitter.
10926
10927         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
10928         (gst_event_parse_tag), (gst_event_new_buffer_size),
10929         (gst_event_parse_buffer_size), (gst_event_parse_qos),
10930         (gst_event_new_seek), (gst_event_parse_seek),
10931         (gst_event_new_navigation):
10932         Make sure the GstStructure has no parent when creating custom
10933         events.
10934         Add some more argument checking so that we avoid 0.0 rates.
10935         Flesh out the docs for the QoS event some more.
10936
10937 2006-08-11  Wim Taymans  <wim@fluendo.com>
10938
10939         * docs/gst/gstreamer-sections.txt:
10940         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10941         (ensure_current_registry_forking), (ensure_current_registry),
10942         (parse_one_option), (parse_goption_arg), (gst_deinit),
10943         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
10944         * gst/gst.h:
10945         Doc updates.
10946         Added API and command line option to disable registry forking in
10947         addition to the environment variable.
10948         Constify some static arrays.
10949         Added some more debug.
10950         Don't deinit twice.
10951         API: gst_registry_fork_is_enabled()
10952         API: gst_registry_fork_set_enabled()
10953         API: --gst-disable-registry-fork command line option
10954         Fixes #348918.
10955
10956 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
10957
10958         * gst/gst.c: (gst_init):
10959           Fix typo in error message.
10960
10961 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
10962
10963         * libs/gst/controller/gstcontroller.h:
10964           fix ABI size-correction
10965
10966         * tests/check/libs/gdp.c: (gst_dp_suite):
10967           make tests that use deprecated API conditional
10968
10969 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
10970
10971         * docs/libs/gstreamer-libs-sections.txt:
10972         * libs/gst/controller/gstcontroller.c:
10973         (_gst_controller_get_property), (_gst_controller_set_property),
10974         (_gst_controller_init), (_gst_controller_class_init):
10975         * libs/gst/controller/gstcontroller.h:
10976         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
10977         (gst_object_set_control_rate):
10978           API: add gst_object_{s,g}et_control_rate(), add private data section,
10979           fix docs
10980
10981         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10982         * libs/gst/dataprotocol/dataprotocol.h:
10983           add deprecation guards to make gtk-doc happy and allow disabling cruft
10984
10985 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
10986
10987         * tests/check/Makefile.am:
10988         * tests/check/gst/.cvsignore:
10989           Let's enable the new unit test as well.
10990
10991 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10992
10993         * configure.ac:
10994         * docs/gst/gstreamer-sections.txt:
10995         * gst/gstconfig.h.in:
10996         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
10997         (_gst_info_printf_extension_ptr),
10998         (_gst_info_printf_extension_segment):
10999           API: add GST_SEGMENT_FORMAT, which is a printf extension we
11000           register that lets us easily dump GstSegments into debug
11001           logs (#350419).
11002
11003         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
11004         (info_segment_format_printf_extension), (gst_info_suite):
11005           Add simple unit test that logs a bunch of different segments (not
11006           valgrinded at the moment because of leaks in
11007           gst_debug_add_log_function).
11008
11009 2006-08-09  Edward Hervey  <edward@fluendo.com>
11010
11011         * libs/gst/base/gstbasetransform.c:
11012         (gst_base_transform_buffer_alloc):
11013         Even if we can't figure out the proper format to request downstream,
11014         call buffer_alloc() downstream with the input parameters without setting
11015         the caps on the srcpad. This will force negotiation in the chain
11016         function.
11017         Closes #350449
11018
11019 2006-08-08  Edward Hervey  <edward@fluendo.com>
11020
11021         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11022         Unlinking from a pad without a target is now a perfectly valid case
11023         which should NOT raise an assertion.
11024         This case would happen if a linked ghostpad its target set to NULL after
11025         it was previously linked.
11026
11027 2006-08-08  Edward Hervey  <edward@fluendo.com>
11028
11029         * tests/check/libs/gdp.c:
11030         Also comment out the test (see below).
11031
11032 2006-08-08  Edward Hervey  <edward@fluendo.com>
11033
11034         * tests/check/libs/gdp.c: (gst_dp_suite):
11035         Use the architecture information from config.h and not gcc macros
11036         in order to properly disable a test that fails on PPC64.
11037
11038 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
11039
11040         * gst/gstelement.c: (gst_element_remove_pad):
11041           Don't crash printing the warning if the pad has no parent.
11042
11043 2006-08-02  Wim Taymans  <wim@fluendo.com>
11044
11045         * libs/gst/dataprotocol/dataprotocol.c:
11046         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11047         (gst_dp_crc), (gst_dp_header_payload_length),
11048         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
11049         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
11050         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
11051         (gst_dp_event_from_packet), (gst_dp_validate_header),
11052         (gst_dp_validate_payload):
11053         Make debug category static
11054         Constify the crc table.
11055         Do some more arg checking in public functions.
11056         Fix some docs and do some small cleanups.
11057
11058         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
11059         Add some more checks to see if GDP deals with bogus input.
11060
11061 2006-07-31  Wim Taymans  <wim@fluendo.com>
11062
11063         * gst/gstvalue.c: (gst_value_compare_list):
11064         Fix GstValueList comparison code. Fixes #347293.
11065
11066         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11067         Check to test GstValueList comparison.
11068
11069 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11070
11071         * gst/gstelementfactory.c: (gst_element_factory_create):
11072         Remove unnecessary ref/unref pair
11073
11074         * gst/parse/grammar.y:
11075         Make sure to free the parse buffer on all code paths.
11076         Move a g_free up to the error handler where it's easier to see.
11077
11078         * tests/check/gst/gstevent.c: (test_event):
11079         Extending timeout for downstream travelling events to 10 seconds to
11080         hopefully avoid intermittent failure on the buildbots.
11081
11082         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
11083         Don't manually set the state of the src element - it will happen as a
11084         natural consequence of the pipeline changing state, and that way it
11085         will do it in the right order too.
11086
11087 2006-07-31  Wim Taymans  <wim@fluendo.com>
11088
11089         * libs/gst/base/gstbasetransform.c:
11090         (gst_base_transform_buffer_alloc):
11091         Use OBJECT_LOCK and refcounting to get the pad caps in the
11092         buffer_alloc function because the caps could change while we are
11093         busy with them. Fixes #349105
11094
11095 2006-07-31  Wim Taymans  <wim@fluendo.com>
11096
11097         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
11098         Protect _PAD_CAPS with OBJECT_LOCK.
11099
11100 2006-07-31  Wim Taymans  <wim@fluendo.com>
11101
11102         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11103         (gst_pad_get_property), (gst_pad_activate_pull),
11104         (gst_pad_activate_push), (gst_pad_set_blocked_async),
11105         (gst_pad_set_activate_function),
11106         (gst_pad_set_activatepull_function),
11107         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
11108         (gst_pad_set_getrange_function),
11109         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
11110         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11111         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
11112         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
11113         (gst_pad_set_acceptcaps_function),
11114         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11115         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
11116         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
11117         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
11118         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
11119         (gst_pad_configure_sink), (gst_pad_configure_src),
11120         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
11121         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
11122         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
11123         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
11124         (gst_pad_send_event):
11125         Use _DEBUG_OBJECT when it makes sense.
11126         Protect GST_PAD_CAPS with the OBJECT_LOCK.
11127         Small cleanups and code reflows.
11128         Avoid caps refcounting in _accept_caps.
11129         Refactor alloc_buffer so that the code performed on the peer is in a
11130         separate function. Also if the pad does not implement a buffer alloc
11131         function, we should still check if the pad is flushing before falling
11132         back to the default allocator.
11133
11134 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11135
11136         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11137         Make all uses of identity and fakesink have silent=true to avoid
11138         serialising every passing data structure, which is breaking tests
11139         on FC4 for some unknown reason.
11140
11141 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11142
11143         * gst/parse/Makefile.am:
11144         * gst/parse/grammar.y:
11145         * gst/parse/parse.l:
11146           Reverted previous patch as it required to bump the flex dependency to
11147           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
11148
11149 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11150
11151         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
11152
11153         * gst/parse/Makefile.am:
11154         * gst/parse/grammar.y:
11155         * gst/parse/parse.l:
11156           push & pop the state of the lexer for reentrant use case
11157           Fixes #349180
11158
11159 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
11160
11161         * libs/gst/base/gstbasesrc.h:
11162           Note in the docs that the ::newsegment vfunc is not actually used by
11163           GstBaseSrc.
11164
11165 2006-07-28  Wim Taymans  <wim@fluendo.com>
11166
11167         * libs/gst/base/gstcollectpads.c:
11168         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
11169         (gst_collect_pads_clear), (gst_collect_pads_flush),
11170         (gst_collect_pads_event), (gst_collect_pads_chain):
11171         When flushing a pad, also clear the queued buffer so that we don't
11172         accidentally use it when we shouldn't.
11173         Fix leaks by inreffing incomming buffer.
11174         Flush out queued buffers in case of errors.
11175         Fixes #347452.
11176
11177 2006-07-28  Wim Taymans  <wim@fluendo.com>
11178
11179         * docs/random/phonon-gst:
11180         Random notes about a Phonon backend.
11181
11182 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11183
11184         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11185         Extra debug output
11186         * tests/check/libs/gdp.c: (gst_dp_suite):
11187         Take a whack at fixing the ppc compile using a different define to
11188         disable the broken test.
11189
11190         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11191         Remove excess g_print()
11192
11193 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11194
11195         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
11196         Oops, meant to uncomment this line too to dampen the noise a bit.
11197
11198 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11199
11200         * gst/parse/grammar.y:
11201         * gst/parse/parse.l:
11202         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11203         (GST_START_TEST), (parse_suite):
11204         Fix some of the leaks exposed by extending the parse-launch testsuite,
11205         and move the 3 I can't figure out into a separate test that won't run
11206         the pipelines unless the appropriate line is uncommented.
11207
11208 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11209
11210         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11211           Requesting 0 bytes before the end of the file should result in
11212           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
11213           unit test.
11214
11215 2006-07-27  Wim Taymans  <wim@fluendo.com>
11216
11217         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
11218         Fix useless assert, a uint is always positive.
11219
11220         * gst/gststructure.c: (gst_structure_nth_field_name),
11221         (gst_structure_foreach), (gst_structure_map_in_place):
11222         Check input arguments for public functions to avoid obvious crashes.
11223
11224         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
11225         * plugins/elements/gstfakesink.h:
11226         Do less useless typechecking.
11227
11228 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11229
11230         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11231           Do not use mmap() by default since there are a number of error
11232           conditions that we would like to handle in a non-fatal way that
11233           will result in a SIGBUS if we use mmap(). Examples: external
11234           devices (USB harddrive, portable music player) being unplugged
11235           while in use; file on mounted CD/DVD that can't be read because
11236           the medium is partly damaged. Fixes #348455 and #348475.
11237
11238 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11239
11240         * gst/gstquery.h:
11241         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
11242         rates are a gdouble
11243
11244 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
11245
11246         * gst/gstregistry.c:
11247           Move big documentation comment into class section header, so that it
11248           appears in the API docs.
11249
11250 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11251
11252         * docs/gst/gstreamer-sections.txt:
11253         Oops. Commit the docs additions too for new API.
11254         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
11255
11256 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11257
11258         * gst/gststructure.c: (gst_structure_id_set),
11259         (gst_structure_id_set_valist):
11260         * gst/gststructure.h:
11261         Add API for setting values into structures without performing
11262         a quark lookup, if the appropriate quark is already known.
11263
11264         API: gst_structure_id_set
11265         API: gst_structure_id_set_valist
11266
11267         * gst/parse/grammar.y:
11268         * gst/parse/parse.l:
11269         Remove some dead code shown by the coverage information.
11270         Don't throw a critical g_warning when encountering a syntax error,
11271         just warn and let the normal error path handle it.
11272
11273         * plugins/elements/gstelements.c:
11274         Bump the rank of filesink up to PRIMARY so that it is preferred over
11275         gnomevfssink for file:// sink uri's
11276
11277         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11278         (GST_START_TEST), (run_delayed_test),
11279         (gst_parse_test_element_base_init),
11280         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
11281         (gst_parse_test_element_change_state),
11282         (gst_register_parse_element), (parse_suite):
11283         Beef up the tests for parse syntax to check that more error cases
11284         fail as they are supposed to. Increases the test coverage a bit.
11285
11286 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
11287
11288         * docs/manual/basics-elements.xml:
11289           Fix gst_element_link() example.
11290
11291         * gst/gstutils.c:
11292           Mention in API docs that one should usually gst_bin_add()
11293           elements to a bin or pipeline before doing the linking.
11294           
11295 2006-07-26  Wim Taymans  <wim@fluendo.com>
11296
11297         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
11298         (gst_subbuffer_get_type), (gst_buffer_create_sub):
11299         Avoid function call for known types by keeping the buffer and
11300         subbuffer GType global.
11301
11302         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11303         Random silly optimisations in read() path.
11304
11305 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11306
11307         * tools/gst-launch.c: (main):
11308           If the top-level of the parse is a normal bin, it doesn't do the
11309           right logic to run as a top-level element, so place it inside a
11310           pipeline.
11311
11312 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
11313
11314         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
11315           Remove superfluous g_object_notify() calls, GObject does
11316           that for us automatically.
11317
11318 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
11319
11320         * gst/gstinfo.h:
11321           on Win32, use dllspec to export the debug category symbols
11322
11323 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
11324
11325         * gst/gsttaglist.c: (_gst_tag_initialize):
11326           Allow more than one GST_TAG_IMAGE per taglist.
11327
11328 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11329
11330         * gst/gstminiobject.c:
11331           update docs
11332         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
11333         (gst_fd_src_create):
11334           log recurring events at LOG level
11335           add more debug for when the fd gets set
11336
11337 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11338
11339         * gst/gstparse.c: (gst_parse_launch):
11340           Also remove reentrance checks if flex is MT safe (#348179)
11341          Fix my empty ChangeLog entry below
11342
11343 2006-07-21  Andy Wingo  <wingo@pobox.com>
11344
11345         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
11346
11347         * libs/gst/check/Makefile.am
11348         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
11349         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
11350         * libs/gst/check/gstbufferstraw.h:
11351         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
11352         functions, thus proving I am still a GStreamer haxor. OK I wrote
11353         them a long time ago, but anyways.
11354
11355 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11356
11357         * configure.ac:
11358         * gst/gstparse.c: (gst_parse_launch):
11359           Check for flex version and omit mutex if we have a MT save flex
11360           (fixes #348179)
11361
11362 2006-07-21  Wim Taymans  <wim@fluendo.com>
11363
11364         * gst/gstparse.c: (gst_parse_launch):
11365         Protect recursive calls to _parse with a recursive mutex
11366         and busy flag.
11367
11368 2006-07-21  Wim Taymans  <wim@fluendo.com>
11369
11370         * tests/check/gst/gstpad.c: (GST_START_TEST):
11371         Fix leak in test.
11372
11373 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
11374
11375         * gst/gstparse.c: (gst_parse_launch):
11376           Do not hang on recursive usage of gst_parse_launch()
11377
11378 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11379
11380         * gst/gsttaglist.c:
11381           Add some more docs, comments and FIXME 0.11s here and there
11382           and also fix some typos.
11383
11384 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11385
11386         * gst/gstsegment.h:
11387           Convert tabs to spaces for better readability. 
11388
11389 2006-07-20  Edward Hervey  <edward@fluendo.com>
11390
11391         * tests/check/libs/gdp.c: (gst_dp_suite):
11392         the test_buffer test fails at line 140 on ppc64 at the following
11393         check:
11394         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
11395                 GST_BUFFER_FLAG_IN_CAPS),
11396                 "GST_BUFFER_IN_CAPS flag should have been copied !");
11397         See bug #348114 for more details.
11398
11399 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
11400
11401         * docs/pwg/advanced-scheduling.xml:
11402         * gst/gstpad.c:
11403           Fix typos (#348000).
11404
11405 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
11406
11407         * docs/pwg/intro-basics.xml:
11408           Fix wrong links (#347927).
11409
11410 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
11411
11412         * gst/gstregistry.h:
11413         * gst/gstregistryxml.c: (load_feature),
11414         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
11415         * win32/common/config.h:
11416           make --disable-index work (#342564)
11417
11418 2006-07-18  Wim Taymans  <wim@fluendo.com>
11419
11420         Patch by: Peter Kjellerstedt <pkj at axis dot com>
11421
11422         * gst/Makefile.am:
11423         * gst/gsttrace.h:
11424         The attached patch adds two missing defines to gsttrace.h when tracing
11425         is disabled.  It also corrects one existing define.
11426         Fixes #347756.
11427
11428 2006-07-17  Wim Taymans  <wim@fluendo.com>
11429
11430         * docs/gst/gstreamer-sections.txt:
11431         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
11432         * gst/gst.h:
11433         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
11434         Add two functions to check and change the SIGSEGV behaviour
11435         when loading plugins.
11436         Don't mess with the SIGSEGV handler when we were told not to.
11437         Fixes #347794.
11438         API: gst_segtrap_is_enabled
11439         API: gst_segtrap_set_enabled
11440
11441 2006-07-14  Wim Taymans  <wim@fluendo.com>
11442
11443         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11444         * tests/check/elements/filesrc.c: (GST_START_TEST):
11445         Revert fix for regression in #347408 after release.
11446
11447 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
11448
11449         Patch by: Antoine Tremblay <hexa00 at gmail com>
11450
11451         * gst/gstutils.c: (gst_element_unlink):
11452           Free iterator when done (#347311).
11453
11454         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11455           And add a test case for this.
11456
11457 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
11458
11459         * configure.ac:
11460         Bump nano back to CVS
11461
11462 === release 0.10.9 ===
11463
11464 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
11465
11466         * configure.ac:
11467           releasing 0.10.9, "On the road again"
11468
11469 2006-07-13  Wim Taymans  <wim@fluendo.com>
11470
11471         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11472         * tests/check/elements/filesrc.c: (GST_START_TEST):
11473         Revert pull-0 fix for release. Disable check. Fixes #347408.
11474
11475 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11476
11477         * libs/gst/dataprotocol/dataprotocol.c:
11478         (gst_dp_event_from_packet_1_0):
11479           Fixes #347337: failure to deserialize event packets with
11480           empty payload (only event type)
11481
11482 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11483
11484         * gst/Makefile.am:
11485           do not install a .c file in the header directory
11486
11487 2006-07-13  Edward Hervey  <edward@fluendo.com>
11488
11489         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11490         GhostPad no longer implicitely use the padtemplates of the targets.
11491         Fixes #347384
11492
11493 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
11494
11495         * gst/gstvalue.c: (gst_value_compare_list),
11496         (gst_value_compare_array), (_gst_value_initialize):
11497         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11498         Make GstValueArray comparison be order dependent as designed.
11499         Add checks for value lists and value array comparisons.
11500         Fixes #347221
11501
11502 2006-07-11  Edward Hervey  <edward@fluendo.com>
11503
11504         * gst/gstbin.c: (activate_pads),
11505         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
11506         (gst_bin_change_state_func):
11507         (de)activate src pads before calling state_change on the childs.
11508         This is to avoid the case where a src ghostpad is blocked (holding the
11509         stream lock), which would block the deactivation of the ghostpad's
11510         target pad.
11511         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
11512         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
11513         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
11514         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11515         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11516         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11517         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11518         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
11519         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
11520         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11521         (gst_ghost_pad_class_init),
11522         (gst_ghost_pad_internal_do_activate_push),
11523         (gst_ghost_pad_internal_do_activate_pull),
11524         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11525         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11526         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
11527         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
11528         GhostPads now create their internal GstProxyPad at creation (and not
11529         when they're linked, as it was being done previously).
11530         The internal and target pads are linked straight away.
11531         The data will also travel through the other pad in order to make
11532         pad blocking and probes non-hackish (the probe/block now really happens
11533         on the GhostPad and not on the target).
11534         * gst/gstpad.c: (gst_pad_set_blocked_async),
11535         (gst_pad_link_prepare), (gst_pad_push_event):
11536         Remove previous ghostpad cruft.
11537         * gst/gstutils.c: (gst_pad_add_data_probe),
11538         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11539         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11540         (gst_pad_remove_buffer_probe):
11541         Remove previous ghost pad cruft.
11542         Added more detailed debug statements.
11543         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11544         Fix the testsuite for refcounting changes.
11545         The comments about who has references were correct, but the refcount
11546         being checked wasn't the same (!?!).
11547
11548         Fixes #341029
11549
11550 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11551
11552         * docs/gst/gstreamer-sections.txt:
11553         * gst/gstconfig.h.in:
11554         More docs for configuration options, add docs to gtk-doc.
11555
11556 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11557
11558         * gst/Makefile.am:
11559         * gst/gstconfig.h.in:
11560         * win32/common/config.h:
11561         Fix build when disabling tracing (fixes #344016). Also start to document
11562         the defines that disable the sub-systems.
11563
11564 2006-07-10  Edward Hervey  <edward@fluendo.com>
11565
11566         * gst/gst.c: (ensure_current_registry_forking):
11567         let's make valgrind happy...
11568
11569 2006-07-09  Wim Taymans  <wim@fluendo.com>
11570
11571         * gst/gstelement.c: (activate_pads),
11572         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11573         Better pad activation code: Reset the collect value too on resync.
11574         Add some comments.
11575
11576 2006-07-09  Wim Taymans  <wim@fluendo.com>
11577
11578         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
11579         (gst_pad_activate_push):
11580         Use some more macros where it makes sense.
11581         Allow pad mode switching instead of asserting. When a pad
11582         is activated in one mode and we activate it in another, 
11583         deactivate it first before activating it in a different mode.
11584         Fixes #329198.
11585
11586 2006-07-08  Andy Wingo  <wingo@pobox.com>
11587
11588         * tools/gst-launch.c (main): Handle err == NULL.
11589
11590         * gst/gst.c (init_post, ensure_current_registry)
11591         (ensure_current_registry_forking)
11592         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
11593         factoring out the registry scanning into separate functions. Don't
11594         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
11595         Better environment var name/interface suggestions accepted.
11596
11597 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11598
11599         * gst/gstobject.c: (gst_object_set_name_default),
11600         (gst_object_set_name):
11601           Random micro-optimisation: don't use a hash table
11602           with strings as keys and the usual strdup/strcmp
11603           involved, but rather just use the GQuark of the
11604           type name as key, since it needs to be looked up
11605           anyway to get the type name string.
11606
11607         * tests/check/gst/gstobject.c: (GST_START_TEST):
11608           Fix various leaks.
11609
11610 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11611
11612         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
11613         (gst_bin_iterate_all_by_interface):
11614           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
11615           GTypes are gulongs and thus the top 4 bytes might be cut
11616           off on some platforms when doing GPOINTER_TO_INT, leading
11617           to invalid GTypes and bad things happening (see RH bug #179654).
11618           Also add a check to make sure the type passed in is really
11619           an interface type.
11620
11621 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11622
11623         * .cvsignore:
11624           Ignore more.
11625
11626 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11627
11628         * Makefile.am:
11629         * configure.ac:
11630         * gst-element-check.m4:
11631         * gst-element-check.m4.in:
11632           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
11633           instead of the unversioned gst-inspect (#324176, #168659).
11634
11635 2006-07-06  Wim Taymans  <wim@fluendo.com>
11636
11637         * gst/gstmessage.h:
11638         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
11639         warnings.
11640
11641 2006-07-06  Wim Taymans  <wim@fluendo.com>
11642
11643         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11644         (gst_base_src_wait), (gst_base_src_update_length),
11645         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
11646         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
11647         (gst_base_src_loop), (gst_base_src_start),
11648         (gst_base_src_activate_pull):
11649         Update docs.
11650         blocksize == 0 now means the default blocksize when working in push
11651         based mode.
11652         Remove some pointless asserts in _wait function.
11653         Fix offset/length calculations and EOS handling. We can now pull 0
11654         bytes as well, which is allowed.
11655         use _check_get_range() to decide if we can operate in _pull based
11656         mode.
11657         Fix refcounting leak when check_get_range function was not 
11658         implemented.
11659         API GstBaseSrc::blocksize range can be 0 too now (default)
11660
11661         * tests/check/elements/filesrc.c: (GST_START_TEST),
11662         (filesrc_suite):
11663         Added check to test _get_range() behaviour.
11664
11665 2006-07-06  Wim Taymans  <wim@fluendo.com>
11666
11667         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11668         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
11669         (gst_pad_pull_range):
11670         * gst/gstpad.h:
11671         Lots of comments and docs added to the pad functions.
11672         Flesh out the expected behaviour of the get_range() functions.
11673
11674 2006-07-06  Wim Taymans  <wim@fluendo.com>
11675
11676         * gst/gstbus.h:
11677         * gst/gstclock.h:
11678         * gst/gstevent.h:
11679         * gst/gstiterator.h:
11680         * gst/gstpad.h:
11681         * gst/gstplugin.h:
11682         * gst/gsttask.h:
11683         Remove comma at end of enumerator list. 
11684
11685 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
11686
11687         * win32/common/libgstbase.def:
11688         * win32/common/libgstdataprotocol.def:
11689         * win32/common/libsgtreamer.def:
11690         Add new exported functions.
11691
11692 2006-07-05  Wim Taymans  <wim@fluendo.com>
11693
11694         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
11695         Add some more docs here and there.
11696
11697 2006-07-05  Wim Taymans  <wim@fluendo.com>
11698
11699         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
11700         (gst_base_sink_loop), (gst_base_sink_get_position):
11701         When operating in pull mode update the offset so that we
11702         read sequentially.
11703
11704 2006-07-05  Wim Taymans  <wim@fluendo.com>
11705
11706         * gst/gstregistryxml.c: (read_string):
11707         Avoid strdup. (will happen in libxml, but hey!)
11708
11709         * gst/gsturi.c:
11710         Add some more docs.
11711
11712 2006-07-05  Wim Taymans  <wim@fluendo.com>
11713
11714         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
11715         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
11716         (gst_buffer_suite):
11717         No point in checking if the size of the subbuffer > 0, the
11718         code handles it correclty as demonstrated by unit test.
11719         Also add a unit test for the zero sized _new_and_alloc and
11720         _copy. Fixes #346663.
11721
11722 2006-07-05  Wim Taymans  <wim@fluendo.com>
11723
11724         * libs/gst/base/gstbasetransform.c:
11725         (gst_base_transform_prepare_output_buffer),
11726         (gst_base_transform_buffer_alloc),
11727         (gst_base_transform_handle_buffer):
11728         Make sure the buffer we pass to transform_ip has a refcount of
11729         1 and thus is writable. Fixes #343196
11730
11731 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
11732
11733         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11734         (gst_file_src_init), (gst_file_src_set_property),
11735         (gst_file_src_get_property), (gst_file_src_map_region):
11736         * plugins/elements/gstfilesrc.h:
11737         Add "sequential" property, off by default, to use madvise and hint
11738         to the kernel that sequential access is desired.
11739         Touch all retrieved pages by default to ensure they are pulled
11740         into memory. (Closes #345720)
11741
11742 2006-07-03  Wim Taymans  <wim@fluendo.com>
11743
11744         * docs/design/part-block.txt:
11745         * docs/design/part-dynamic.txt:
11746         Small docs updates.
11747
11748 2006-07-03  Wim Taymans  <wim@fluendo.com>
11749
11750         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
11751         (gst_caps_unref), (gst_static_caps_get),
11752         (gst_caps_append_structure):
11753         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
11754         Use GSlice when the glib we build against is >= 2.10
11755
11756 2006-07-03  Wim Taymans  <wim@fluendo.com>
11757
11758         * gst/gstelement.c: (gst_element_pads_activate):
11759         Small cleanup in pad activation code.
11760
11761 2006-07-03  Wim Taymans  <wim@fluendo.com>
11762
11763         Patch by: Peter Kjellerstedt <pkj at axis dot com>
11764
11765         * gst/gst-i18n-app.h:
11766         * gst/gst-i18n-lib.h:
11767         * tools/gst-inspect.c: (print_signal_info):
11768         The attached patch will make the inclusion of gettext.h unconditional in
11769         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
11770         libintl.h in tools/gst-inspect.c.
11771         This allows use of --disable-nls again and fixes #344642.
11772
11773 2006-07-03  Edward Hervey  <edward@fluendo.com>
11774
11775         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
11776         Implement pad blocking on events according to part-block.txt.
11777         More comments on behaviour.
11778         * tests/check/gst/gstevent.c: (test_event):
11779         Send event to peer pad of blocked pad (else it will block).
11780
11781 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11782
11783         * libs/gst/check/gstcheck.c: (gst_check_message_error),
11784         (gst_check_run_suite):
11785           if we get the wrong message, give us the types as string
11786         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11787           Fix a translatable
11788         * tests/check/elements/filesrc.c: (GST_START_TEST):
11789           add a test for trying to open a non-existing file
11790
11791 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11792
11793         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11794           add a test for adding self
11795
11796 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11797
11798         * libs/gst/check/gstcheck.h:
11799           add some assert_ as alias for fail_unless_*
11800         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
11801           increase test coverage
11802
11803 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11804
11805         * Makefile.am:
11806           include lcov.mak for lcov coverage generation
11807         * tools/Makefile.am:
11808           add to CLEANFILES
11809
11810 2006-07-02  Edward Hervey  <edward@fluendo.com>
11811
11812         * tests/check/elements/.cvsignore:
11813         moaping
11814
11815 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11816
11817         * configure.ac:
11818           don't set CFLAGS and friends for gcov, done from GST_GCOV now
11819         * tests/check/Makefile.am:
11820           clean up gcov files
11821
11822 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11823
11824         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
11825           remove gst_caps_simplify; it was not declared and not used
11826           and deprecated in 0.8
11827
11828 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11829
11830         * docs/faq/gst-uninstalled:
11831           don't put empty paths on PYTHONPATH
11832         * docs/gst/gstreamer-sections.txt:
11833           remove some symbols that are not there
11834
11835 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11836
11837         * gst/gstcaps.c: (gst_caps_compare_structures):
11838           whitespace fixes
11839         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11840         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11841           add more tests
11842
11843 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11844
11845         * libs/gst/dataprotocol/Makefile.am:
11846           build dataprotocol test by linking to the lib, instead of
11847           compiling the source, so we get coverage
11848         * tests/check/Makefile.am:
11849         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
11850         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
11851           add a test for filesrc
11852
11853 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11854
11855         * tests/check/gst/gststructure.c: (GST_START_TEST),
11856         (gst_structure_suite):
11857           Push coverage from 59.04% to 70.00%
11858
11859 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11860
11861         * tests/check/Makefile.am:
11862           gst-inspect every element; this makes sure that we also get
11863           coverage on element's get/set functions
11864
11865 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11866
11867         * configure.ac:
11868           set CFLAGS and friends to -O0 if gcov is being used
11869           add GCOV LIBS
11870         * gst/Makefile.am:
11871         * libs/gst/base/Makefile.am:
11872         * libs/gst/check/Makefile.am:
11873         * libs/gst/controller/Makefile.am:
11874         * libs/gst/dataprotocol/Makefile.am:
11875         * libs/gst/net/Makefile.am:
11876         * plugins/elements/Makefile.am:
11877         * plugins/indexers/Makefile.am:
11878           add makefile rules to generate gcov data and clean up
11879         * tests/check/Makefile.am:
11880           add a coverage target that generates an html overview
11881           of coverage data
11882
11883 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11884
11885         * tests/check/elements/fakesink.c:
11886         * tests/check/elements/fakesrc.c:
11887         * tests/check/elements/fdsrc.c:
11888         * tests/check/elements/identity.c:
11889         * tests/check/generic/sinks.c: (gst_sinks_suite):
11890         * tests/check/generic/states.c:
11891         * tests/check/gst/gst.c:
11892         * tests/check/gst/gstabi.c:
11893         * tests/check/gst/gstbin.c:
11894         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
11895         * tests/check/gst/gstbus.c: (gst_bus_suite):
11896         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11897         * tests/check/gst/gstelement.c:
11898         * tests/check/gst/gstevent.c: (gst_event_suite):
11899         * tests/check/gst/gstghostpad.c:
11900         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
11901         * tests/check/gst/gstmessage.c: (gst_message_suite):
11902         * tests/check/gst/gstminiobject.c:
11903         * tests/check/gst/gstobject.c:
11904         * tests/check/gst/gstpad.c:
11905         * tests/check/gst/gstpipeline.c:
11906         * tests/check/gst/gstplugin.c:
11907         * tests/check/gst/gstquery.c: (gst_query_suite):
11908         * tests/check/gst/gstsegment.c: (gst_segment_suite):
11909         * tests/check/gst/gststructure.c:
11910         * tests/check/gst/gstsystemclock.c:
11911         * tests/check/gst/gsttag.c:
11912         * tests/check/gst/gsttask.c: (gst_task_suite):
11913         * tests/check/gst/gstutils.c:
11914         * tests/check/gst/gstvalue.c:
11915         * tests/check/libs/adapter.c:
11916         * tests/check/libs/basesrc.c:
11917         * tests/check/libs/collectpads.c:
11918         * tests/check/libs/controller.c:
11919         * tests/check/libs/gdp.c: (gst_dp_suite):
11920         * tests/check/libs/gstnetclientclock.c:
11921         * tests/check/libs/gstnettimeprovider.c:
11922         * tests/check/libs/libsabi.c: (libsabi_suite):
11923         * tests/check/libs/typefindhelper.c:
11924         * tests/check/pipelines/cleanup.c:
11925         * tests/check/pipelines/parse-launch.c:
11926         * tests/check/pipelines/simple-launch-lines.c:
11927         * tests/check/pipelines/stress.c: (stress_suite):
11928           use the new macro
11929
11930 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11931
11932         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
11933         * libs/gst/check/gstcheck.h:
11934           create a macro and function so that the simple unit test
11935           case can be just one macro to create main()
11936
11937 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
11938
11939         * gst/gstbin.c: (gst_bin_restore_thyself):
11940         * gst/gstxml.c: (gst_xml_make_element):
11941           Fix deserialisation from XML. Set parent manually
11942           instead of using gst_bin_add(), since gst_bin_add()
11943           will unlink all pads of the element being added.
11944           Fixes #341667.
11945
11946 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
11947
11948         Patch by: Peter Kjellerstedt <pkj at axis com>
11949
11950         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
11951           Fix missing g_strdup() and double free when using the
11952           --gst-plugin-load command line option (#346097).
11953
11954 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
11955
11956         * gst/gstinfo.c:
11957           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
11958
11959         * libs/gst/net/gstnetclientclock.c:
11960         * libs/gst/net/gstnettimeprovider.c:
11961           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
11962
11963 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
11964
11965         * docs/manual/advanced-dataaccess.xml:
11966           Fix buffer probe example compilation in
11967           ADM (#345708).
11968         
11969 2006-06-22  Edward Hervey  <edward@fluendo.com>
11970
11971         * gst/gstelement.c: (gst_element_pads_activate):
11972         We need to deactivate src pads first and then sink pads.
11973         The reason is the src pads might be blocking while holding the streaming
11974         lock, so we need to deactivate them first so that deactivating the sink
11975         pads doesn't block (since it will require the streaming lock).
11976
11977 2006-06-22  Wim Taymans  <wim@fluendo.com>
11978
11979         * libs/gst/base/gstbasetransform.c:
11980         (gst_base_transform_buffer_alloc):
11981         Forgot to remove two unneeded unrefs.
11982         Simplify a check _is_equal allready checks the obvious case.
11983
11984 2006-06-22  Wim Taymans  <wim@fluendo.com>
11985
11986         * docs/design/part-block.txt:
11987         Some docs about what pad_block should do.
11988
11989 2006-06-22  Wim Taymans  <wim@fluendo.com>
11990
11991         * gst/gstcaps.c: (gst_caps_replace):
11992         Fix crasher when passed NULL. Doc clarification.
11993         Optimize for the trivial case.
11994
11995         * gst/gstpipeline.c: (gst_pipeline_change_state):
11996         Small cleanups.
11997
11998         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11999         Small documentation cleanup.
12000
12001         * libs/gst/base/gstbasetransform.c:
12002         (gst_base_transform_buffer_alloc):
12003         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
12004         is what we need and it avoids a whole lot of redundant 
12005         refcount operations.
12006
12007 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
12008
12009         Patch by: Philip Jägenstedt  <philip at lysator liu se>
12010
12011         * docs/manual/advanced-dataaccess.xml:
12012           Fix 'Embedding static elements' section to use
12013           GST_PLUGIN_DEFINE_STATIC (#345607).
12014
12015 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12016
12017         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
12018           Attempt to 'fix' spuriously failing test case: it seems like the
12019           timeout of half a second is simply too small when the system is under
12020           load otherwise, and the timeout doesn't really seem to serve any
12021           particular purpose here. Give the pipeline a few seconds to preroll
12022           first, and then give it another half a second to go from PAUSED to
12023           PLAYING and marshal the message into the main thread.
12024
12025 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12026
12027         * tools/gst-feedback-m.m:
12028           Don't only use unversioned tools, try versioned tools as well
12029           (#345086).
12030
12031 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12032
12033         * gst/gstbus.c: (gst_bus_class_init):
12034           Fix some typos, make docs more explicit.
12035
12036 2006-06-20  Wim Taymans  <wim@fluendo.com>
12037
12038         * tests/check/gst/gstghostpad.c: (block_callback),
12039         (GST_START_TEST), (gst_ghost_pad_suite):
12040         Added some more ghostpad tests, mainly blocking
12041         and probes.
12042
12043 2006-06-16  Wim Taymans  <wim@fluendo.com>
12044
12045         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12046         (gst_file_sink_close_file), (gst_file_sink_do_seek),
12047         (gst_file_sink_event), (gst_file_sink_render):
12048         * plugins/elements/gstfilesink.h:
12049         Check if we can seek in the file instead of assuming
12050         we always can. Post an error when we are asked to seek in a
12051         non-seekable file (like a fifo). Fixes #343312.
12052         Some cleanups.
12053
12054 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12055
12056         * tools/gst-launch.1.in:
12057           Un-garble (fourcc) bit in filtered caps section.
12058
12059 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12060
12061         * docs/manual/advanced-autoplugging.xml:
12062         * docs/manual/basics-helloworld.xml:
12063         * docs/manual/highlevel-components.xml:
12064           Don't leak bus reference in sample code.
12065
12066 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
12067
12068         * autogen.sh:
12069           Add default for new --enable-plugin-docs switch.
12070
12071         * configure.ac:
12072           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
12073           Fixes #344039.
12074
12075         * docs/Makefile.am:
12076           Use new ENABLE_PLUGIN_DOCS conditional.
12077
12078 2006-06-14  Wim Taymans  <wim@fluendo.com>
12079
12080         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
12081         Make it clear with a FIXME and a real define what the #if 0
12082         previously disabled.
12083
12084 2006-06-14  Wim Taymans  <wim@fluendo.com>
12085
12086         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12087         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12088         * libs/gst/base/gstbasetransform.c:
12089         (gst_base_transform_sink_eventfunc):
12090         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12091         Don't randomly and silently reset a segment when the format 
12092         changes as this is a bug somewhere upstream. Fixes #330379.
12093
12094 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
12095
12096         Patch by: Wouter Paesen  <wouter at kangaroot net>
12097
12098         * libs/gst/controller/gstcontroller.c:
12099         (gst_controlled_property_new):
12100           Fix controlling of float properties (#344849).
12101
12102         * tests/check/libs/controller.c:
12103         (gst_test_mono_source_get_property),
12104         (gst_test_mono_source_set_property),
12105         (gst_test_mono_source_class_init), (GST_START_TEST):
12106           While we're at it, add some float stuff to unit test.
12107
12108 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12109
12110         * docs/README:
12111         * docs/images/gdp-header.svg:
12112           add a gdp image
12113         * docs/libs/Makefile.am:
12114         * docs/libs/gdp-header.png:
12115         * libs/gst/dataprotocol/dataprotocol.c:
12116           add it to the API docs
12117         * docs/manual/intro-motivation.xml:
12118           fix typo
12119
12120 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12121
12122         * gst/gst.c: (scan_and_update_registry), (init_post):
12123           If the fork()'ed child process can't write the updated registry cache
12124           file to disk for some reason, make it exit with a failure exit code,
12125           so that the parent can then re-scan the plugins itself and update the
12126           registry structures in memory and work with that (rather than failing
12127           when creating elements because seemingly no plugins are available).
12128           Refactor registry scanning code into separate function for this and
12129           also separate fork() and non-fork() code paths. Fixes #344748.
12130
12131 2006-06-13  Wim Taymans  <wim@fluendo.com>
12132
12133         * docs/manual/advanced-dataaccess.xml:
12134         Fix wrong PluginDesc. Fixes #344755.
12135
12136 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12137
12138         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12139           Fix silly bug that prevented us from creating
12140           ~/.gstreamer-0.10 and writing the registry in one
12141           go (the first call to g_mkstemp() would overwrite the
12142           placeholder in the template string, so the second call
12143           to g_mkstemp() after creating the missing directory
12144           would then error out with 'invalid argument').
12145
12146 2006-06-13  Edward Hervey  <edward@fluendo.com>
12147
12148         * gst/gst.c: (init_post):
12149         Free string.
12150
12151 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12152
12153         * gst/glib-compat-private.h:
12154         * gst/glib-compat.c:
12155         * gst/glib-compat.h:
12156         * gst/gstvalue.c: (gst_value_serialize_flags):
12157           remove GLib 2.6 compatibility code
12158
12159 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
12160
12161         * gst/parse/Makefile.am:
12162           Fix build with 'make -j N' even more (#340016).
12163
12164 2006-06-12  Wim Taymans  <wim@fluendo.com>
12165
12166         * docs/gst/gstreamer-sections.txt:
12167         Fix docs.
12168
12169 2006-06-12  Wim Taymans  <wim@fluendo.com>
12170
12171         * gst/gstsegment.c: (gst_segment_set_duration),
12172         (gst_segment_set_last_stop), (gst_segment_set_seek),
12173         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
12174         (gst_segment_to_running_time), (gst_segment_clip):
12175         Use G_UNLIKELY to help the compiler a bit.
12176
12177 2006-06-12  Wim Taymans  <wim@fluendo.com>
12178
12179         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12180
12181         * gst/gstevent.c: (gst_event_get_type):
12182         * gst/gstmessage.c:
12183         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12184         (gst_pad_push):
12185         constify quark registration strings. Fixes #344115
12186         Avoid unneeded type checking is _pad_push() by internally
12187         calling gst_pad_chain_unchecked().
12188
12189 2006-06-12  Wim Taymans  <wim@fluendo.com>
12190
12191         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
12192         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
12193         (gst_subbuffer_finalize), (gst_buffer_create_sub),
12194         (gst_buffer_is_span_fast), (gst_buffer_span):
12195         Init _type for consistency.
12196         Use _FLAGS macro to avoid type check.
12197         Avoid unneeded type checks in subbufer code.
12198
12199 2006-06-12  Wim Taymans  <wim@fluendo.com>
12200
12201         * gst/gst.c: (gst_debug_help):
12202         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
12203         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12204         (gst_plugin_feature_list_free):
12205         * gst/gstregistry.c: (gst_registry_add_plugin),
12206         (gst_registry_add_feature), (gst_registry_plugin_filter),
12207         (gst_registry_feature_filter), (gst_registry_find_plugin),
12208         (gst_registry_find_feature), (gst_registry_get_plugin_list),
12209         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
12210         * gst/gstregistryxml.c: (load_feature),
12211         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
12212         * gst/gstminiobject.c: (gst_mini_object_unref),
12213         (gst_mini_object_replace), (gst_value_mini_object_free),
12214         (gst_value_mini_object_copy):
12215         Use _CAST macros to avoid unneeded type checking.
12216         Added some more G_UNLIKELY.
12217
12218 2006-06-12  Wim Taymans  <wim@fluendo.com>
12219
12220         * gst/gstbuffer.h:
12221         Avoid unneeded type checking.
12222         API: GST_BUFFER_IS_DISCONT
12223
12224         * gst/gstminiobject.h:
12225         Avoid type check in flag accessor.
12226
12227         * gst/gstelementfactory.h:
12228         * gst/gstplugin.h:
12229         * gst/gstpluginfeature.h:
12230         Add _CAST macros.
12231         API: GST_ELEMENT_FACTORY_CAST
12232         API: GST_PLUGIN_CAST
12233         API: GST_PLUGIN_FEATURE_CAST
12234
12235 2006-06-12  Wim Taymans  <wim@fluendo.com>
12236
12237         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
12238         (gst_object_unref):
12239         Add G_UNLIKELY in type registration.
12240         Avoid type check in _ref/_unref since that is also
12241         done in glib.
12242
12243 2006-06-12  Wim Taymans  <wim@fluendo.com>
12244
12245         * gst/gsterror.c: (gst_g_error_get_type):
12246         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12247         (gst_static_pad_template_get_type):
12248         * gst/gsttaglist.c: (gst_tag_list_get_type):
12249         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
12250         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
12251         * gst/gsturi.c: (gst_uri_handler_get_type):
12252         * gst/gstvalue.c: (gst_date_get_type):
12253         * gst/gstxml.c: (gst_xml_get_type):
12254         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
12255         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12256         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
12257         Add G_UNLIKELY in type registration.
12258
12259 2006-06-12  Wim Taymans  <wim@fluendo.com>
12260
12261         * tools/gst-inspect.c: (print_signal_info):
12262         Properly print enum values.
12263
12264 2006-06-12  Wim Taymans  <wim@fluendo.com>
12265
12266         * gst/gstinfo.c: (gst_debug_set_active),
12267         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
12268         * gst/gstinfo.h:
12269         Add some G_[UN]LIKELY.
12270         Maintain __gst_debug_min to avoid formatting the arguments of
12271         debug messages that will be dropped anyway to avoid a lot of 
12272         overhead from the debugging system.
12273
12274 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12275
12276         * po/POTFILES.in:
12277         * po/POTFILES.skip:
12278           add missing files containing translatable strings, tell intltool about
12279           one exception
12280
12281 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12282
12283         * tests/check/libs/.cvsignore:
12284         add test-binary to ignore list
12285
12286 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12287
12288         * docs/libs/gstreamer-libs-docs.sgml:
12289         reorder (put dp into a chapter) and indent
12290
12291 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12292
12293         * configure.ac:
12294           back to HEAD
12295
12296 === release 0.10.8 ===
12297
12298 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
12299
12300         * configure.ac:
12301           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
12302
12303 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12304
12305         * gst/gst.c: (init_post):
12306           move pid declaration to declaration block
12307
12308 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12309
12310         * gst/gst.c: (init_post):
12311           use _exit() instead of exit() in our forked child; this ensures
12312           that none of the registered exit handlers from whatever is using
12313           GStreamer get executed.  This fixes gnome-mixer-applet failing
12314           to load, because ORBit would shut down.
12315           Spotted by: Edward Hervey  <edward@fluendo.com>
12316           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
12317           Fixes #344474
12318
12319 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12320
12321         * configure.ac:
12322           back to TRUNK
12323
12324 === release 0.10.7 ===
12325
12326 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
12327
12328         * configure.ac:
12329           releasing 0.10.7, "Soepeke, ik zie ou"
12330
12331 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12332
12333         * configure.ac:
12334         * po/af.po:
12335         * po/az.po:
12336         * po/bg.po:
12337         * po/ca.po:
12338         * po/cs.po:
12339         * po/de.po:
12340         * po/en_GB.po:
12341         * po/fr.po:
12342         * po/it.po:
12343         * po/nb.po:
12344         * po/nl.po:
12345         * po/ru.po:
12346         * po/sq.po:
12347         * po/sr.po:
12348         * po/sv.po:
12349         * po/tr.po:
12350         * po/uk.po:
12351         * po/vi.po:
12352         * po/zh_CN.po:
12353         * po/zh_TW.po:
12354         * win32/common/config.h:
12355           0.10.6.2 prerelease
12356
12357 2006-06-07  Wim Taymans  <wim@fluendo.com>
12358
12359         * gst/gstindex.c: (gst_index_gtype_resolver):
12360         * tools/gst-xmlinspect.c: (print_plugin_info):
12361         Fix leak spotted by coverity checker. Fixes #343827
12362         Fix another other leak found by paolo borelli.
12363
12364 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12365
12366         * libs/gst/dataprotocol/dataprotocol.c:
12367         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12368         (gst_dp_version_get_type), (gst_dp_init),
12369         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
12370         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
12371         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
12372         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
12373         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
12374         (gst_dp_packetizer_free):
12375         * libs/gst/dataprotocol/dataprotocol.h:
12376           API: add a GstDPPacketizer object, and create/free functions
12377           API: add GstDPVersion enum
12378           Add 1.0 event function that uses the string serialization
12379           Serialize more useful buffer flags
12380           Fixes #343988
12381
12382 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12383
12384         * tests/check/Makefile.am:
12385         * tests/check/gst/gstabi.c:
12386         * tests/check/gst/struct_ppc64.h:
12387         * tests/check/libs/libsabi.c:
12388         * tests/check/libs/struct_ppc64.h:
12389           add ppc64 structure sizes
12390
12391 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12392
12393         * tests/check/Makefile.am:
12394         * tests/check/gst/gstabi.c:
12395         * tests/check/gst/struct_x86_64.h:
12396         * tests/check/libs/libsabi.c:
12397         * tests/check/libs/struct_x86_64.h:
12398           generate and add structure size lists for x86_64
12399
12400 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12401
12402         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
12403         * libs/gst/check/gstcheck.h:
12404           factor out the method from tests that checks size of structures,
12405           and add code to generate the header containing these sizes
12406         * tests/check/gst/gstabi.c: (GST_START_TEST):
12407         * tests/check/gst/struct_i386.h:
12408         * tests/check/libs/libsabi.c: (GST_START_TEST):
12409         * tests/check/libs/struct_i386.h:
12410           use it
12411
12412 2006-06-06  Michael Smith  <msmith@fluendo.com>
12413
12414         * gst/gstsegment.h:
12415           Don't use c++-style comments, fixes #343929
12416
12417 2006-06-05  Edward Hervey  <edward@fluendo.com>
12418
12419         * gst/gst.c:
12420         plugin_paths is not used if we build without registry support.
12421
12422         * gst/gstsegment.c: (gst_segment_copy): 
12423         _copy() was always returning NULL...
12424
12425 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12426
12427         * libs/gst/dataprotocol/dataprotocol.c:
12428         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12429         (gst_dp_packet_from_event):
12430           factor out CRC code
12431
12432 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12433
12434         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
12435           make sure we unset caps
12436
12437 2006-06-02  Michael Smith  <msmith@fluendo.com>
12438
12439         * libs/gst/check/gstcheck.c: (gst_check_init),
12440         (gst_check_chain_func):
12441         * libs/gst/check/gstcheck.h:
12442           Add a cond/mutex to the check support lib, signal this whenever we
12443           add to the buffers list. This will allow tests to not busy-wait on
12444           the buffer-list.
12445
12446 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12447
12448         * libs/gst/dataprotocol/dataprotocol.c:
12449         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12450         (gst_dp_packet_from_event):
12451           factor out some common header init code
12452
12453 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12454
12455         * docs/libs/gstreamer-libs-sections.txt:
12456         * docs/libs/tmpl/gstdataprotocol.sgml:
12457         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
12458         * libs/gst/dataprotocol/dataprotocol.h:
12459           API: make gst_dp_crc() public
12460
12461 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12462
12463         * plugins/indexers/gstindexers.c: (plugin_init):
12464         conditionally register fileindexer (fixes #343598)
12465
12466 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12467
12468         * gst/gsttagsetter.h:
12469         Can't cast ifaces to a class
12470
12471         * libs/gst/net/gstnetclientclock.h:
12472         * libs/gst/net/gstnettimeprovider.h:
12473         * plugins/elements/gstfakesink.h:
12474         * plugins/elements/gstfakesrc.h:
12475         * plugins/elements/gstfdsink.h:
12476         * plugins/elements/gstfdsrc.h:
12477         * plugins/elements/gstfilesink.h:
12478         * plugins/elements/gstfilesrc.h:
12479         * plugins/elements/gstidentity.h:
12480         * plugins/elements/gstqueue.h:
12481         * plugins/elements/gsttee.h:
12482         * plugins/indexers/gstfileindex.c:
12483         * plugins/indexers/gstmemindex.c:
12484         * tests/old/examples/plugins/example.h:
12485         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
12486
12487 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12488
12489         * libs/gst/dataprotocol/dataprotocol.c:
12490         (gst_dp_header_from_buffer):
12491           make sure we zero the whole ABI-compatible area
12492
12493 2006-06-01  Wim Taymans  <wim@fluendo.com>
12494
12495         Patch by: Alessandro Decina <alessandro at nnva dot org>
12496
12497         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
12498         Make sure the EOS flag is cleared from pads after a flush
12499         or stop. Fixes #343538.
12500
12501         * tests/check/libs/collectpads.c: (GST_START_TEST),
12502         (gst_collect_pads_suite):
12503         Added test for collectpads reusage after EOS.
12504
12505 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
12506
12507         * gst/gst.c:
12508          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
12509         * win32/common/libgstbase.def:
12510          export gst_collect_pads_set_flushing
12511         * win32/common/libgstreamer.def:
12512          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
12513          gst_value_fraction_multiply
12514         * win32/vs6/gst_inspect.dsp:
12515          add a link to intl.lib
12516
12517 2006-05-30  Wim Taymans  <wim@fluendo.com>
12518
12519         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12520         (gst_collect_pads_chain):
12521         Handle the case where a pad is removed from the collection
12522         that could cause the other pads to become collectable.
12523
12524 2006-05-30  Wim Taymans  <wim@fluendo.com>
12525
12526         * gst/gstelement.c:
12527         Clarify the use of _release_request_pad() and
12528         _get_request_pad() a bit better.
12529
12530         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
12531         (gst_adapter_take_buffer):
12532         Fix some doc and comment typos.
12533
12534 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12535
12536         * docs/gst/gstreamer-sections.txt:
12537         * docs/libs/gstreamer-libs-sections.txt:
12538           add declared symbols
12539
12540 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
12541
12542         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12543         Add debug that can be enabled using a #define at the top of the file,
12544         for dumping stats about how late/early we were when waking up from
12545         waiting on the clock.
12546
12547 2006-05-30  Wim Taymans  <wim@fluendo.com>
12548
12549         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
12550         When rebuilding the pad list, don't leak the previous list.
12551
12552 2006-05-30  Wim Taymans  <wim@fluendo.com>
12553
12554         Patch by: Lutz Mueller <lutz at topfrose dot de>
12555
12556         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12557         (gst_base_src_get_query_types), (gst_base_src_update_length):
12558         Publish supported query types.
12559         Update last_stop field in get_range mode so the position
12560         query works. Fixes #342321.
12561
12562 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
12563
12564         * docs/gst/gstreamer-sections.txt:
12565         * gst/gsttaglist.c: (_gst_tag_initialize):
12566         * gst/gsttaglist.h:
12567           API: add GST_TAG_PREVIEW_IMAGE (#343341).
12568
12569 2006-05-30  Wim Taymans  <wim@fluendo.com>
12570
12571         Patch by: Alessandro Decina <alessandro at nnva dot org>
12572
12573         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
12574         Unlock mutex when removing an unknown pad.
12575         Fixes #343334.
12576
12577         * tests/check/Makefile.am:
12578         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
12579         (push_event), (setup), (teardown), (GST_START_TEST),
12580         (gst_collect_pads_suite), (main):
12581         Added collecpads check, disabled for now as check crashes for
12582         some reason.
12583
12584 2006-05-29  Wim Taymans  <wim@fluendo.com>
12585
12586         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
12587         Don't leak pads lists.
12588
12589 2006-05-29  Wim Taymans  <wim@fluendo.com>
12590
12591         * docs/libs/gstreamer-libs-sections.txt:
12592         * libs/gst/base/gstcollectpads.c:
12593         (gst_collect_pads_set_flushing_unlocked),
12594         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12595         (gst_collect_pads_stop):
12596         * libs/gst/base/gstcollectpads.h:
12597         API: gst_collect_pads_set_flushing()
12598         Added api to set the pads to flushing, useful for seeking
12599         code in elements using collectpads.
12600         Clear segment when receiving a flush.
12601
12602 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
12603
12604         * gst/gst.c: (add_path_func), (init_post):
12605           Don't scan registry paths passed via --gst-plugin-path immediately
12606           (will crash, because absolutely nothing is set up and no types are
12607           registered etc.); do this later in init_post(). Fixes #343057.
12608
12609 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12610
12611         * gst/gst.c: (init_post):
12612           if we have fork, fork while reading/rebuilding the registry
12613           so the parent doesn't take the hit of having all plugins loaded
12614           in memory.  Fixes #342777.
12615         * configure.ac:
12616           Check if we have fork()
12617         * win32/common/config.h.in:
12618           no fork() on win32
12619
12620 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
12621
12622         * plugins/elements/gstelements.c:
12623         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12624         (gst_file_src_init), (gst_file_src_set_property),
12625         (gst_file_src_get_property), (gst_file_src_start):
12626         * plugins/elements/gstfilesrc.h:
12627           API: GstFileSrc::use-mmap
12628
12629         Add a use-mmap property to enable easier testing of all code paths.
12630         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
12631         in the absence of gnomevfssrc. (Closes #340501)
12632
12633 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12634
12635         * tools/gst-inspect.c:
12636         Add missing include, removes warning of ngettext not being defined on
12637         some arches.
12638
12639 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
12640
12641         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12642         Handle NULL input and output pointers silently as a failed conversion,
12643         rather than g_warnings.
12644
12645 2006-05-25  Wim Taymans  <wim@fluendo.com>
12646
12647         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
12648         Initialize variable before using. Fixes #342820.
12649
12650 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
12651
12652         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
12653           Fix off-by-one bug that would only allow peeks of N-1 bytes
12654           from the start even if the buffer to typefind on contains
12655           in fact N bytes of data (makes vorbis typefinding from a
12656           vorbis identification header buffer work).
12657
12658         * tests/check/Makefile.am:
12659         * tests/check/libs/.cvsignore:
12660         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
12661         (gst_typefindhelper_suite), (main), (foobar_typefind),
12662         (plugin_init):
12663           Add very basic unit test for gst_type_find_helper_for_buffer()
12664           that checks for the problem fixed above.
12665
12666 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12667
12668         * tools/gst-inspect.c: (print_interfaces),
12669         (print_element_properties_info), (print_element_list), (main):
12670           add more translatable strings
12671
12672 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
12673
12674         Patch by: Julien Moutte  <julien at moutte net>
12675
12676         * docs/gst/gstreamer-sections.txt:
12677           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
12678           
12679         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
12680         (gst_fake_sink_preroll):
12681         * plugins/elements/gstfakesink.h:
12682           API: Add new GstFakeSink::preroll-handoff signal (#337100).
12683
12684 2006-05-23  Wim Taymans  <wim@fluendo.com>
12685
12686         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
12687         * gst/gstpad.h:
12688         Added _CUSTOM error and success GstFlowReturn that can be
12689         used be elements internally. 
12690         Added macro to check for SUCCESS flowreturns.
12691         API: GST_FLOW_CUSTOM_SUCCESS
12692         API: GST_FLOW_CUSTOM_ERROR
12693         API: GST_FLOW_IS_SUCCESS
12694
12695         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
12696         Added check for GstFlowReturn sanity.
12697
12698 2006-05-23  Wim Taymans  <wim@fluendo.com>
12699
12700         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
12701
12702         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12703         (gst_collect_pads_event):
12704         clear/reset segment info in FLUSH_STOP.
12705         Fixes #336929.
12706
12707 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
12708
12709         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
12710         (gst_collect_pads_check_collected):
12711         Flush queued buffer on _stop(), fixes playing again (#342454)
12712
12713 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12714
12715         * tests/check/gst/gststructure.c: (GST_START_TEST),
12716         (gst_structure_suite):
12717           add a test for a complete structure
12718
12719 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
12720
12721         * docs/faq/developing.xml:
12722         * docs/faq/faq.xml:
12723         * docs/faq/troubleshooting.xml:
12724         * docs/faq/using.xml:
12725           Some minor FAQ updates that won't change the fact that
12726           our FAQ is badly structured, full of information hardly
12727           anyone new to GStreamer needs to know and lacking lots
12728           of information people constantly ask for.
12729           
12730 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
12731
12732         * gst/gstpad.c: (gst_pad_set_caps):
12733           Short-circuit gst_pad_set_caps if setting the existing
12734           caps pointer again, and avoid printing debug and 
12735           reffing/unreffing the caps.
12736
12737         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12738           There's actually no need to set the caps before pushing -
12739           the acceptcaps method will handle it anyway.
12740
12741 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
12742
12743         * docs/gst/gstreamer-sections.txt:
12744         * win32/common/libgstreamer.def:
12745         * gst/gstutils.c: (gst_element_seek_simple):
12746         * gst/gstutils.h:
12747           API: add gst_element_seek_simple() (#342238).
12748
12749 2006-05-18  Edward Hervey  <edward@fluendo.com>
12750
12751         * gst/gsttypefind.c: (gst_type_find_get_type):
12752         * gst/gsttypefind.h:
12753         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
12754         registered for GstTypeFind pointers. This allows wrapping the structure
12755         in bindings (i.e. gst-python).
12756
12757 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
12758
12759         * gst/gsttagsetter.c:
12760           Docs additions and fixes (see #339918).
12761
12762 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12763
12764         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12765         The caps intersection algorithm can produce multiple copies of the
12766         caps. Until that is fixed, we need to simplify the result to be
12767         sure whether the allowed caps are fixed or not.
12768
12769         * plugins/elements/gstqueue.c: (gst_queue_init),
12770         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
12771         (gst_queue_push_one):
12772         Proxied buffer alloc should not set the caps on the source pad.
12773         When pushing buffers, we always accept the caps change that triggers.
12774         This prevents negotiation errors caused by caps changing mid-stream 
12775         and then being refused on our source pad (because upstream is now
12776         refusing those caps).
12777
12778 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
12779
12780         * tests/examples/helloworld/helloworld.c: (main):
12781           Must plug audioconvert and audioresample between decoder
12782           and audio sink.
12783
12784 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
12785
12786         * gst/gstregistryxml.c: (read_string), (load_pad_template),
12787         (load_feature), (load_plugin):
12788         Allow empty strings for some of the plugin fields so we don't 
12789         drop valid plugin entries that were written out correctly
12790         (Fixes #341479)
12791
12792 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
12793         
12794         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12795           Use g_remove and g_rename instead of remove and rename that don't 
12796           handle utf8 characters. rename was failing for users who had specific
12797           characters in their name then the registry was built at each 
12798           gstreamer init.
12799         * win32/vs6/gst_inspect.dsp:
12800         * win32/vs6/gst_launch.dsp:
12801         * win32/vs6/libgstbase.dsp:
12802         * win32/vs6/libgstcoreelements.dsp:
12803         * win32/vs6/libgstreamer.dsp:
12804           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
12805           build of libgstreamer and clean unused libraries in projects link 
12806           settings.
12807
12808 2006-05-17  Edward Hervey  <edward@fluendo.com>
12809
12810         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12811         The queue is not responsible for pushing an EOS when receiving a fatal
12812         flow error. It's up to the real element driving the pipeline to do that.
12813
12814 2006-05-16  Edward Hervey  <edward@fluendo.com>
12815
12816         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12817         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
12818         buffer returned a fatal error. It should just send an EOS and stop
12819         its task.
12820         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
12821         when pushing buffers on the queue and will be able to handle the event.
12822
12823 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
12824
12825         * docs/manual/basics-bins.xml:
12826         * docs/manual/basics-init.xml:
12827           Fix typos and minor errors in sample code (#341856).
12828
12829 2006-05-16  Wim Taymans  <wim@fluendo.com>
12830
12831         * docs/design/part-qos.txt:
12832         Fix indexes in formulas to make more sense.
12833
12834 2006-05-15  Wim Taymans  <wim@fluendo.com>
12835
12836         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12837         Don't report POSITION based on clock time if sync is
12838         disabled in a sink.
12839
12840 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
12841
12842         * gst/gstobject.h:
12843           Add cast to make compiler happy - refcount variable was a gint
12844           in GstObject but is a guint in GObject and g_atomic_int_get()
12845           wants a gint *.
12846
12847 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12848
12849         * gst/parse/Makefile.am:
12850           chain commands using &&, which also makes parallel make work
12851
12852 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
12853
12854         * docs/gst/gstreamer-sections.txt:
12855         * gst/gstevent.c:
12856         * gst/gstevent.h:
12857         * gst/gstmessage.h:
12858           Minor docs fixes.
12859
12860 === release 0.10.6 ===
12861
12862 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
12863
12864         * configure.ac:
12865           releasing 0.10.6, "Take the cannoli"
12866
12867 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12868
12869         * tools/gst-launch.c: (print_tag):
12870           Fix use of uninitialized variable in the hypothetical
12871           case that some broken plugin creates a GST_TAG_IMAGE
12872           tag containing a NULL buffer (#341667).
12873
12874 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12875
12876         * tools/gst-launch.c: (print_tag):
12877           Print something more intelligible for image tags when
12878           using the -t switch (#341556).
12879
12880 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12881
12882         * Makefile.am:
12883           updates for win32
12884         * configure.ac:
12885           define GST_MAJORMINOR so we have it available in win32/common/config.h
12886           Possibly remove it from our Makefile.am files later
12887         * win32/common/config.h:
12888         * win32/common/config.h.in:
12889           added GST_MAJORMINOR
12890         * win32/common/gstenumtypes.c: (register_gst_resource_error):
12891         * win32/common/gstversion.h:
12892           updated
12893
12894 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
12895
12896         * win32/MANIFEST:
12897           Update win32 files listing.
12898         * win32/common/gstversion.h:
12899           Add GST_MAJORMINOR definition.
12900         * win32/common/libgstreamer.def:
12901           Add new exported functions.
12902           
12903 2006-05-12  Michael Smith  <msmith@fluendo.com>
12904
12905         * gst/gstplugin.c: (gst_plugin_load_file):
12906           If an so file has no plugin entry point, unload the module.
12907
12908 2006-05-11  Wim Taymans  <wim@fluendo.com>
12909
12910         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
12911         (gst_queue_set_property):
12912         Don't forget to signal the _chain or _loop function 
12913         when the queue size or thresholds change since that might
12914         cause them to make progres again.
12915
12916 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
12917
12918         * gst/gstclock.c: (gst_clock_class_init):
12919         * gst/gstindex.c: (gst_index_class_init):
12920         * gst/gstobject.c: (gst_object_class_init):
12921         * gst/gstpad.c: (gst_pad_class_init):
12922         * gst/gstpipeline.c: (gst_pipeline_class_init):
12923         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12924         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
12925         * libs/gst/base/gstbasetransform.c:
12926         (gst_base_transform_class_init):
12927         * libs/gst/net/gstnetclientclock.c:
12928         (gst_net_client_clock_class_init):
12929         * libs/gst/net/gstnettimeprovider.c:
12930         (gst_net_time_provider_class_init):
12931         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
12932         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12933         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12934         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
12935         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12936         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
12937         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12938         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12939         * plugins/elements/gsttee.c: (gst_tee_class_init):
12940         * tests/old/examples/plugins/example.c: (gst_example_class_init):
12941         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12942           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
12943
12944 2006-05-11  Wim Taymans  <wim@fluendo.com>
12945
12946         * gst/gstbuffer.c: (_gst_buffer_initialize):
12947         Register subbufer along with the buffer type so that
12948         it does not accidentally gets registered from N
12949         different streaming threads in a non threadsafe way.
12950
12951 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
12952
12953         * gst/gstbuffer.h:
12954         * gst/gstevent.h:
12955         * gst/gstmessage.h:
12956           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
12957           gst_event_ref() and gst_message_ref() functions again
12958           (ugly hack, please do fix if there's a better way besides
12959           overrides.txt, which doesn't seem to work).
12960
12961 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12962
12963         * libs/gst/check/gstcheck.h:
12964           add an assert for setting state to avoid lots of repetitive code
12965           in the future
12966
12967 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12968
12969         * gst/gstvalue.c: (gst_value_serialize_flags):
12970           fix a leak if no flags are set
12971         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12972           fix leak in tests
12973
12974 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
12975
12976         * docs/manual/basics-pads.xml:
12977           Expand a bit on caps and filtered links and update
12978           examples that were still using the no longer existing
12979           gst_pad_link_filtered() (#338206).
12980
12981 2006-05-10  Wim Taymans  <wim@fluendo.com>
12982
12983         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
12984         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
12985         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12986         (gst_collect_pads_stop):
12987         * libs/gst/base/gstcollectpads.h:
12988         No need to call _stop in _finalize.
12989         Iterate the main pad list in _finalize.
12990         Added some more debug.
12991         Free lists and data in the right order.
12992         Also free data whem doing _remove_pad when stopped for
12993         backward compatibility protect ::started with PAD_LOCK as
12994         well.
12995
12996 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12997
12998         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
12999         (gst_structure_parse_value):
13000           add some comments
13001           rename a method so that it actually says what it does better
13002
13003 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13004
13005         * gst/gstevent.c: (_gst_event_initialize):
13006         * gst/gstformat.c: (_gst_format_initialize):
13007           make sure some essential types used by events are registered
13008           as part of gst_init()
13009         * gst/gstvalue.c: (gst_value_serialize_flags):
13010           if no flags are set, serialize them to a value that represents NONE
13011           so that deserializing them works
13012         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13013           add tests for serialization and deserialization of flags
13014
13015 2006-05-10  Wim Taymans  <wim@fluendo.com>
13016
13017         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
13018         (gst_collect_pads_collect_range), (gst_collect_pads_available),
13019         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
13020         (gst_collect_pads_event), (gst_collect_pads_chain):
13021         Update docs.
13022         Better debug info.
13023         Catch and return errors from the collect function
13024         Refuse data on eos pads.
13025
13026 2006-05-10  Edward Hervey  <edward@fluendo.com>
13027
13028         * gst/gstinterface.h:
13029         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
13030         GInterface type checking.
13031         They were previously using non-defined macros.
13032
13033 2006-05-09  Wim Taymans  <wim@fluendo.com>
13034
13035         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
13036         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
13037         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
13038         (gst_collect_pads_start), (gst_collect_pads_stop),
13039         (gst_collect_pads_peek), (gst_collect_pads_pop),
13040         (gst_collect_pads_available), (gst_collect_pads_read),
13041         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
13042         (gst_collect_pads_is_collected), (gst_collect_pads_event),
13043         (gst_collect_pads_chain):
13044         * libs/gst/base/gstcollectpads.h:
13045         Clean up the mess that is collectpads, add comments and
13046         FIXMEs where needed.
13047         Maintain a separate pad list so we can add pads while
13048         collecting the other ones. For this we need a new separate 
13049         lock (see comics).
13050         Fix memory leak in finalize.
13051         Refactor some weird code to set/unset pad flushing flags, mark
13052         with comments.
13053         Don't crash in _available, _read, _flush when we're EOS.
13054
13055         * tests/check/libs/.cvsignore:
13056         Ignore adapter check binary.
13057
13058 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13059
13060         * gst/gstindex.c: (gst_index_resolver_get_type):
13061         * plugins/elements/gstfakesink.c:
13062         (gst_fake_sink_state_error_get_type):
13063         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13064         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
13065         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
13066           Const-ify GEnumValue arrays.
13067
13068 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13069
13070         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13071           Add test case for flags + gst_buffer_make_metadata_writable().
13072
13073 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13074
13075         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
13076           gst_buffer_make_metadata_writable() should maintain the
13077           buffer flags (those that make sense at least) (see #340859).
13078
13079 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13080
13081         * tools/gst-inspect.c:
13082         * tools/gst-launch.c:
13083         * tools/gst-typefind.c:
13084         * tools/gst-xmlinspect.c:
13085         * tools/tools.h:
13086           Fix up includes: need to include stdlib.h in tools.h for exit().
13087
13088 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13089
13090         * gst/gsttaglist.c: (_gst_tag_initialize):
13091         * gst/gsttaglist.h:
13092           API: add GST_TAG_IMAGE tag (#340721).
13093
13094 2006-05-08  Wim Taymans  <wim@fluendo.com>
13095
13096         * gst/gstquery.c:
13097         Added some docs for the segment query.
13098
13099 2006-05-08  Wim Taymans  <wim@fluendo.com>
13100
13101         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13102         (gst_base_src_loop), (gst_base_src_change_state):
13103         Always push non-flushing serialized events in the streaming 
13104         thread.
13105
13106 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13107
13108         * gst/gsterror.c: (_gst_stream_errors_init):
13109           Add a missing error string.
13110
13111 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
13112
13113         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
13114         Add applied_rate to the debug
13115
13116         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
13117         Copy applied_rate into the outgoing NEWSEGMENT event
13118
13119 2006-05-08  Wim Taymans  <wim@fluendo.com>
13120
13121         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
13122
13123         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
13124         (gst_base_sink_change_state):
13125         call ::unlock before taking the PREROLL_LOCK so we can safely
13126         handle elements that lock in ::render.
13127         Fixes #340174.
13128
13129 2006-05-08  Edward Hervey  <edward@fluendo.com>
13130
13131         * autogen.sh: (CONFIGURE_DEF_OPT): 
13132         Darwin's libtoolize is in fact called glibtoolize.
13133         Adding glibtoolize to the list of accepted names for libtoolize.
13134
13135 2006-05-08  Wim Taymans  <wim@fluendo.com>
13136
13137         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13138         Unify error handling, don't post an error message
13139         when a push() returns EOS but perform our normal EOS
13140         handling code. Fixes #340772.
13141
13142 2006-05-08  Wim Taymans  <wim@fluendo.com>
13143
13144         * docs/design/part-overview.txt:
13145         Make upsteam/downstream concepts more clear.
13146         Give an example of serialized/non-serialized events.
13147
13148         * docs/design/part-events.txt:
13149         * docs/design/part-streams.txt:
13150         Mention applied_rate.
13151
13152         * docs/design/part-trickmodes.txt:
13153         Mention applied rate, flesh out some more use cases.
13154
13155         * gst/gstevent.c: (gst_event_new_new_segment),
13156         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
13157         (gst_event_parse_new_segment_full), (gst_event_new_tag),
13158         (gst_event_parse_tag), (gst_event_new_buffer_size),
13159         (gst_event_parse_buffer_size), (gst_event_new_qos),
13160         (gst_event_parse_qos), (gst_event_parse_seek),
13161         (gst_event_new_navigation):
13162         * gst/gstevent.h:
13163         Add applied_rate field to NEWSEGMENT event.
13164         API: gst_event_new_new_segment_full()
13165         API: gst_event_parse_new_segment_full()
13166
13167         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
13168         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
13169         (gst_segment_to_stream_time), (gst_segment_to_running_time):
13170         * gst/gstsegment.h:
13171         Add applied_rate to GstSegment structure.
13172         Make calculation of stream_time and running_time more correct
13173         wrt rate/applied_rate.
13174         Add some more docs.
13175         API: GstSegment::applied_rate field
13176         API: gst_segment_set_newsegment_full();
13177
13178         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13179         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
13180         * libs/gst/base/gstbasetransform.c:
13181         (gst_base_transform_sink_eventfunc),
13182         (gst_base_transform_handle_buffer):
13183         Parse and use applied_rate in the GstSegment field.
13184
13185         * tests/check/gst/gstevent.c: (GST_START_TEST):
13186         Add check for applied_rate field.
13187
13188         * tests/check/gst/gstsegment.c: (GST_START_TEST),
13189         (gstsegments_suite):
13190         Add more checks for various GstSegment operations.
13191
13192 2006-05-08  Wim Taymans  <wim@fluendo.com>
13193
13194         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13195         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
13196         (gst_base_sink_get_position), (gst_base_sink_change_state):
13197         Store the sync time of the buffer end position separatly in a
13198         new variable eos_rtime so we can properly sync the EOS event.
13199         Fixes #340697.
13200         Fix the docs for gst_base_sink_set_qos_enabled().
13201         Don't set segment start to invalid value when we receive a 
13202         non TIME newsegment.
13203         get closer to handling position reporting for negative rates 
13204         correctly.
13205
13206 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13207
13208         * gst/gstcaps.c:
13209         Docs about how to print caps for debug purposes.
13210
13211         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
13212         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
13213
13214 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13215
13216         * gst/gstelement.c:
13217           use full enum names and preprend a '%' in docs strings to make recent 
13218           gtk-doc turn that into a link
13219
13220 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13221
13222         * docs/manual/basics-bins.xml:
13223         * docs/manual/basics-bus.xml:
13224         * docs/manual/basics-pads.xml:
13225           Some typo fixes, some additions, some clarifications. 
13226
13227 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13228
13229         * tools/gst-inspect.c: (main):
13230         * tools/gst-launch.c: (main):
13231         * tools/gst-run.c: (main):
13232         * tools/gst-typefind.c: (main):
13233         * tools/gst-xmlinspect.c: (main):
13234           Use the string passed to g_option_context_new() for
13235           what it's intended for - the program name is already
13236           printed elsewhere.
13237
13238 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13239
13240         * tools/Makefile.am:
13241         * tools/gst-inspect.c: (main):
13242         * tools/gst-launch.c: (main):
13243         * tools/gst-xmlinspect.c: (main):
13244         * tools/tools.h:
13245           Add back --version command line option (#340460).
13246
13247         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
13248           Add --version option and use GOption for argument parsing; refactor a
13249           bit; accept directories as arguments and recurse into them; lastly,
13250           print a decent error message when things go wrong.
13251
13252 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13253
13254         * docs/manual/basics-bins.xml:
13255         Don't mention GstThread (#340611)
13256         * docs/manual/basics-elements.xml:
13257         Update link to GObject tutorial (#340607)
13258         
13259 2006-05-05  Wim Taymans  <wim@fluendo.com>
13260
13261         * gst/gstbuffer.h:
13262         * gst/gstminiobject.c:
13263         Add note about refcounting and miniobject/buffer writeability
13264         to docs. Fixes #340604
13265
13266         * gst/gstelementfactory.h:
13267         Added some explanation about @klass.
13268
13269 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13270
13271         * docs/manual/intro-motivation.xml:
13272         * docs/manual/manual.xml:
13273         Avoid CORBA & Bonobo references (#340598)
13274
13275 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13276
13277         * docs/manual/basics-bus.xml:
13278         * docs/manual/basics-pads.xml:
13279         Fix up some inaccuracies and omissions (#340609)
13280         
13281 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13282
13283         * gst/gstghostpad.c:
13284           Small typo in docs (#340625)
13285
13286 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13287
13288         * gst/parse/Makefile.am:
13289           Make 'make -j' proof (see #340698).
13290
13291 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13292
13293         * configure.ac:
13294           Require GLib-2.8 here as well.
13295
13296 2006-05-05  Wim Taymans  <wim@fluendo.com>
13297
13298         * gst/glib-compat.c:
13299         * gst/gst.c: (init_pre):
13300         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13301         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
13302         (gst_object_dispatch_properties_changed):
13303         * gst/gstobject.h:
13304         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13305         * gst/gststructure.c: (gst_structure_set_valist):
13306         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13307         Remove pre glib2.8 compatibility, fixes #340508
13308
13309 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13310
13311         * gst/gsttaglist.h:
13312           Mention type of tags in doc blurbs.
13313
13314 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
13315
13316         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13317         (gst_pad_configure_src), (gst_pad_push):
13318         Restore acceptcaps checking behaviour now that good plugins have
13319         been released.
13320
13321 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13322
13323         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
13324
13325         * gst/gst.c:
13326         * gst/gstbus.c:
13327         * gst/gstclock.c:
13328         * gst/gstevent.c:
13329         * gst/gstformat.c:
13330         * gst/gstmessage.c:
13331         * gst/gstparse.c:
13332         * gst/gstquery.c:
13333         * gst/gstutils.c:
13334         * gst/parse/Makefile.am:
13335         * libs/gst/base/gstadapter.c:
13336         * libs/gst/base/gstbasesrc.c:
13337         * libs/gst/base/gstpushsrc.c:
13338         * libs/gst/base/gsttypefindhelper.c:
13339         * plugins/elements/gstfakesrc.c:
13340         * plugins/elements/gstidentity.c:
13341           Make sure gstprivate.h and/or config.h are
13342           always included first, otherwise some of our
13343           defines (like _FILE_OFFSET_BITS) might be
13344           redefined in the system headers. Fixes build
13345           on opensolaris (#340016).
13346
13347 2006-05-04  Wim Taymans  <wim@fluendo.com>
13348
13349         * docs/libs/gstreamer-libs-sections.txt:
13350         API: addition: gst_adapter_take_buffer()
13351         
13352         * libs/gst/base/gstadapter.c: (gst_adapter_push),
13353         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
13354         (gst_adapter_available_fast):
13355         * libs/gst/base/gstadapter.h:
13356         Prepare for optimizing the hell out of this hugely inefficient
13357         piece of code. 
13358         Added gst_adapter_take_buffer() so we can at least start thinking
13359         about subbuffering and merging.
13360         Added some comments.
13361
13362         * tests/check/Makefile.am:
13363         * tests/check/libs/adapter.c: (GST_START_TEST),
13364         (gst_adapter_suite), (main):
13365         Added GstAdapter check.
13366
13367 2006-05-04  Wim Taymans  <wim@fluendo.com>
13368
13369         * docs/design/part-overview.txt:
13370         Fix some typos, add blurb about buffer flags.
13371
13372 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13373
13374         * docs/libs/gstreamer-libs-sections.txt:
13375           make sure GstBaseTransformClass shows up in the docs
13376         * libs/gst/base/gstbasetransform.c:
13377         * libs/gst/base/gstbasetransform.h:
13378           move docs so gtk-doc picks it up now
13379
13380 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13381
13382         * docs/libs/gstreamer-libs-sections.txt:
13383           add missing symbols to docs
13384
13385 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13386
13387         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13388           back out the newsegment handling change, see #340060 for ongoing
13389           discussion
13390
13391 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
13392
13393         * tools/gst-run.c: (get_candidates), (main):
13394           Fix wrong g_file_test() usage (see glib docs for why it doesn't
13395           work); fix typo in error message. Fixes #340079.
13396
13397 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13398
13399         * common/Makefile.am:
13400         * docs/Makefile.am:
13401         * docs/faq/Makefile.am:
13402         * docs/gst/Makefile.am:
13403         * docs/libs/Makefile.am:
13404         * docs/manual/Makefile.am:
13405         * docs/plugins/Makefile.am:
13406         * docs/pwg/Makefile.am:
13407         * docs/slides/Makefile.am:
13408         * docs/upload.mak:
13409         * common/upload.mak:
13410           move upload.mak to common
13411
13412 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13413
13414         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13415           add more asserts on refcounts
13416           do more cleanup at end of tests
13417           fix test leaks showing in FC5
13418
13419 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
13420
13421         * plugins/elements/gsttypefindelement.c:
13422         (gst_type_find_element_handle_event):
13423         reverted wrong change and reflowed code to avoid others falling into
13424         this trap
13425
13426 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13427
13428         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13429           fix changelog entry about last collectpads change,
13430           add notes about proper fix
13431
13432 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13433
13434         * gst/gst.c:
13435         * gst/gstregistry.c: (gst_registry_scan_path_level),
13436         (gst_registry_scan_path):
13437         * gst/gstregistry.h:
13438           only write out registry if it has changed, fixes #338339
13439
13440 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13441
13442         * gst/gstbin.c:
13443         * gst/gstpipeline.c:
13444         * plugins/elements/gstcapsfilter.c:
13445         * plugins/elements/gstfakesink.c:
13446         * plugins/elements/gstfakesrc.c:
13447         * plugins/elements/gstfdsink.c:
13448         * plugins/elements/gstfdsrc.c:
13449         * plugins/elements/gstfilesink.c:
13450         * plugins/elements/gstfilesrc.c:
13451         * plugins/elements/gstidentity.c:
13452         * plugins/elements/gstqueue.c:
13453         * plugins/elements/gsttee.c:
13454         * plugins/elements/gsttypefindelement.c:
13455         (gst_type_find_element_handle_event):
13456           make GstElementDetails const
13457
13458 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13459
13460         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
13461         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13462         (gst_collect_pads_is_collected), (gst_collect_pads_event):
13463           more detailed debug and formatting cleanup,
13464           forward newsegments to src-pad (so that e.g. adder not eats them)
13465
13466 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13467
13468         * gst/gstutils.c: (gst_element_link_pads):
13469           cleanup double code
13470
13471 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13472
13473         * libs/gst/controller/gstcontroller.c:
13474         (gst_controller_sync_values):
13475           some little tuning
13476         * tests/check/libs/controller.c: (GST_START_TEST),
13477         (gst_controller_suite):
13478           a new test for live value handling
13479
13480 2006-04-28  Wim Taymans  <wim@fluendo.com>
13481
13482         * gst/gstutils.c: (push_and_ref):
13483         Added some more docs.
13484         Fix refcount issue whith gst_element_found_tags() helper 
13485         function. Fixes #338335
13486
13487         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13488         Added testsuite for gst_element_found_tags().
13489
13490 2006-04-28  Michael Smith  <msmith@fluendo.com>
13491
13492         * gst/gstvalue.c: (gst_value_serialize_flags):
13493           Avoid NULL dereference when trying to serialize flags containing
13494           invalid values.
13495
13496 2006-04-28  Michael Smith  <msmith@fluendo.com>
13497
13498         * plugins/elements/gsttypefindelement.c:
13499         (gst_type_find_element_handle_event):
13500           If we get EOS before any data is accumulated, don't use
13501           uninitialised local variables.
13502
13503 2006-04-28  Michael Smith  <msmith@fluendo.com>
13504
13505         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13506         (gst_dp_event_from_packet):
13507           Fixes in reading/writing events over GDP (not currently used?) - 
13508           dereferencing NULL events for unknown/invalid event types, memory
13509           leak, and change g_warning to GST_WARNING.
13510
13511 2006-04-28  Wim Taymans  <wim@fluendo.com>
13512
13513         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
13514         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13515         (gst_base_sink_get_position), (gst_base_sink_change_state):
13516         When frame dropping is enabled, we should not ignore frames
13517         without a duration.
13518         Update some documentation.
13519
13520 2006-04-28  Wim Taymans  <wim@fluendo.com>
13521
13522         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13523         (gst_base_src_send_event), (gst_base_src_change_state):
13524         Documentation updates.
13525
13526 2006-04-28  Wim Taymans  <wim@fluendo.com>
13527
13528         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
13529         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
13530         handle EAGAIN, EINTR and short writes correctly. Also clean
13531         up some error cases, avoid a deadlock on bad file descriptors and
13532         use GST_DEBUG_OBJECT.
13533         Fixes #339843
13534
13535 2006-04-28  Wim Taymans  <wim@fluendo.com>
13536
13537         * gst/gstvalue.c: (gst_value_serialize_buffer),
13538         (gst_value_deserialize_buffer):
13539         Don't try to serialize a GValue with a NULL buffer. 
13540         Fixes #339821.
13541
13542         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13543         Added check for serialisation of NULL buffers.
13544
13545 2006-04-28  Wim Taymans  <wim@fluendo.com>
13546
13547         * gst/gstminiobject.c: (gst_value_take_mini_object):
13548         Taking a NULL miniobject is valid, fix the case where
13549         we try to unref the NULL miniobject.
13550
13551 2006-04-28  Wim Taymans  <wim@fluendo.com>
13552
13553         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13554
13555         * gst/gstbin.c: (gst_bin_handle_message_func):
13556         Update docs.
13557         Don't leak bin refcount when a state recalc is
13558         in progress and we delay another one #339808.
13559
13560 2006-04-28  Wim Taymans  <wim@fluendo.com>
13561
13562         * docs/design/part-TODO.txt:
13563         Mention QoS as an ongoing work item.
13564
13565         * docs/design/part-buffering.txt:
13566         New doc about buffering that needs to be fleshed out
13567         at some point.
13568
13569         * docs/design/part-qos.txt:
13570         More QoS policy for decoders/demuxers/transforms
13571
13572         * docs/design/part-trickmodes.txt:
13573         Small update.
13574
13575 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13576
13577         * configure.ac:
13578           back to HEAD
13579
13580 === release 0.10.5 ===
13581
13582 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
13583
13584         * configure.ac:
13585           releasing 0.10.5, "Fogo"
13586
13587 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13588
13589         patch by: Wim Taymans
13590
13591         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13592         (gst_pad_configure_src), (gst_pad_push):
13593         * gst/gstpipeline.c: (gst_pipeline_init):
13594           Fix internal data flow errors.  Fixes #338711.
13595
13596 2006-04-12  Wim Taymans  <wim@fluendo.com>
13597
13598         * tests/check/gst/gstelement.c: (GST_START_TEST):
13599         Don't leak the factory.
13600
13601 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13602
13603         * configure.ac:
13604         * win32/common/config.h:
13605           prerelease
13606
13607 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
13608
13609         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13610         (gst_controller_unset_all):
13611           Free allocated GstTimedValues when freeing list nodes.
13612           Should fix leaks 'make check-valgrind' complains about.
13613
13614         * win32/common/libgstcontroller.def:
13615           Add gst_controller_unset_all.
13616
13617 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
13618
13619         * docs/libs/gstreamer-libs-sections.txt:
13620         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13621         (gst_controller_unset_all):
13622         * libs/gst/controller/gstcontroller.h:
13623         API: Added new method gst_controller_unset_all()
13624         fixed gst_controller_unset()
13625         * tests/check/libs/controller.c: (GST_START_TEST),
13626         (gst_controller_suite):
13627         Added two testcases for new and fixed method
13628
13629 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
13630
13631         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
13632           MSG_DONTWAIT is not defined on Cygwin, so work
13633           around that (fixes #317048).
13634           
13635 2006-04-11  Wim Taymans  <wim@fluendo.com>
13636
13637         * gst/gstelementfactory.c: (gst_element_register),
13638         (gst_element_factory_create), (gst_element_factory_make):
13639         Some cleanups.
13640         Fixed a FIXME.
13641         Updated docs (Fixes #131079)
13642
13643         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13644         Small cleanups.
13645
13646         * tests/check/gst/gstelement.c: (GST_START_TEST),
13647         (gst_element_suite):
13648         Added testcase for elementfactory class field.
13649
13650 2006-04-10  Wim Taymans  <wim@fluendo.com>
13651
13652         * gst/gstsegment.c:
13653         Added some more docs.
13654
13655         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
13656         (gst_base_sink_reset_qos):
13657         Calculate more accurate rate values.
13658
13659 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
13660
13661         * gst/gst_private.h:
13662           add a new #ifdef to use __declspec(dllimport) only for
13663           other modules and not for gstreamer core
13664         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
13665           use gst_guint64_to_gdouble for conversion
13666         * win32/common/libgstreamer.def:
13667           add new exported functions
13668         * win32/vs6/gst_inspect.dsp:
13669         * win32/vs6/gst_launch.dsp:
13670         * win32/vs6/libgstbase.dsp:
13671         * win32/vs6/libgstcontroller.dsp:
13672         * win32/vs6/libgstcoreelements.dsp:
13673         * win32/vs6/libgstdataprotocol.dsp:
13674         * win32/vs6/libgstnet.dsp:
13675           update project files
13676
13677 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
13678
13679         * gst/gstbuffer.c: (gst_subbuffer_class_init):
13680         * gst/gstclock.c: (gst_clock_class_init):
13681         * gst/gstelement.c: (gst_element_class_init):
13682         * gst/gstindex.c: (gst_index_class_init):
13683         * gst/gstindexfactory.c: (gst_index_factory_class_init):
13684         * gst/gstobject.c: (gst_object_class_init),
13685         (gst_signal_object_class_init):
13686         * gst/gstpad.c: (gst_pad_class_init):
13687         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
13688         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
13689         * gst/gstregistry.c: (gst_registry_class_init):
13690         * gst/gstsystemclock.c: (gst_system_clock_class_init):
13691         * gst/gsttask.c: (gst_task_class_init):
13692         * gst/gstxml.c: (gst_xml_class_init):
13693         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13694         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13695         (gst_base_src_loop):
13696         * libs/gst/controller/gstcontroller.c:/
13697         (_gst_controller_class_init):
13698         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13699         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
13700         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
13701         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13702         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13703         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
13704
13705 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
13706
13707         * gst/gstpad.c: (gst_pad_link):
13708           Must set peer pads before calling the link function, otherwise
13709           a task started from a link function might get a flow-not-linked
13710           result when trying to push because the other thread where the
13711           linking happens hasn't had a chance to set the peers yet. This
13712           might happen for example when a queue gets linked to a downstream
13713           element, as queue starts a streaming task when its source pad
13714           gets linked. Happens in real life when playing back flac/musepack
13715           files in playbin (#332390).
13716           
13717 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
13718
13719         * gst/gstindex.h:
13720         * gst/gstxml.h:
13721         * libs/gst/base/gstadapter.h:
13722         * libs/gst/base/gstbasesink.h:
13723         * libs/gst/base/gstbasesrc.h:
13724         * libs/gst/base/gstbasetransform.h:
13725         * libs/gst/base/gstcollectpads.h:
13726         * libs/gst/base/gstpushsrc.h:
13727         Fix broken GObject macros
13728
13729 2006-04-07  Wim Taymans  <wim@fluendo.com>
13730
13731         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13732         Initialize start and stop times, thanks valgrind.
13733
13734 2006-04-07  Wim Taymans  <wim@fluendo.com>
13735
13736         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13737         Be a bit nicer to badly behaving upstream elements that expect
13738         us to deal with non TIME segments and timestamps (such as fakesrc
13739         in the testsuite).
13740
13741 2006-04-07  Wim Taymans  <wim@fluendo.com>
13742
13743         * gst/gstbus.c:
13744         Small documentation clarification about the signal watch.
13745
13746         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13747         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
13748         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13749         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13750         (gst_base_sink_get_position_last),
13751         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
13752         Convert and store timestamps in stream time and running time, the
13753         raw timestamps are not useful, also document this better.
13754         Use different window sizes for good and bad QoS observations so
13755         we react to badness a little quicker.
13756         Keep track of the amount of rendered and dropped buffers.
13757         Send QoS timestamps in running time.
13758
13759         * libs/gst/base/gstbasetransform.c:
13760         (gst_base_transform_sink_eventfunc),
13761         (gst_base_transform_handle_buffer):
13762         Compare QoS timestamps against running time.
13763
13764 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
13765
13766         * gst/gstpad.c:
13767           Typo fixes in docs.
13768
13769 2006-04-06  Michael Smith  <msmith@fluendo.com>
13770
13771         * gst/gstpad.c: (gst_pad_set_property):
13772           Use g_value_get_object() instead of g_value_dup_gst_object(),
13773           to avoid double-reffing the pad template (which we then sink,
13774           so this worked previously if (and only if) the pad template
13775           was floating.
13776
13777         * gst/gstpadtemplate.c: (gst_pad_template_init),
13778         (gst_pad_template_pad_created):
13779           Never return floating references to pad templates, create
13780           them as initially-sunken.
13781
13782           Document an extra function (and make this stop sinking our
13783           pad template, since that is now guaranteed to do nothing,
13784           since we created it sunken).
13785
13786         * gst/gstghostpad.c:
13787           Fix docs typo.
13788
13789 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
13790
13791         * gst/gstinfo.c: (__gst_in_valgrind):
13792           Add some newlines.
13793
13794         * plugins/elements/gsttypefindelement.c:
13795         (gst_type_find_element_chain):
13796           Don't leak buffer caps.
13797
13798 2006-04-06  Michael Smith  <msmith@fluendo.com>
13799
13800         * gst/parse/grammar.y:
13801           Fix a leak in parse-launch for any source-or-sink named element 
13802           references used.
13803
13804         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13805           Unref the pipeline if it exists after we've failed parsing.
13806
13807 2006-04-05  Michael Smith  <msmith@fluendo.com>
13808
13809         * gst/gstpipeline.c: (gst_pipeline_init):
13810           When we create a pipeline bus, initially create it in flushing mode.
13811           Fixes leaks in at least one test, and makes a new pipeline work the
13812           same as one that has gone to READY and then back to NULL.
13813
13814         * gst/gstelement.c:
13815           Typo fix in docs.
13816
13817 2006-04-05  Michael Smith  <msmith@fluendo.com>
13818
13819         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13820           Unref a pad we reffed.
13821         * tests/check/gst/gstutils.c: (GST_START_TEST):
13822           Unref bins
13823
13824 2006-04-05  Michael Smith  <msmith@fluendo.com>
13825
13826         * gst/gstquery.c: (gst_query_set_formats),
13827         (gst_query_set_formatsv):
13828           Fix leaking GValues in queries, as shown by valgrind/testsuite.
13829
13830 2006-04-05  Michael Smith  <msmith@fluendo.com>
13831
13832         * tests/check/generic/sinks.c: (GST_START_TEST):
13833           Fix a variety of memleaks in sinks check, which are only sometimes 
13834           shown by running the tests under valgrind (weird?).
13835
13836 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
13837
13838         * docs/version.entities.in:
13839           Fix the substituted entity name after thomas' changes on the
13840           weekend.
13841
13842 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
13843
13844         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
13845         VALGRIND_PRINTF
13846         
13847 2006-04-05  Andy Wingo  <wingo@pobox.com>
13848
13849         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
13850
13851         * libs/gst/base/gstbasetransform.c
13852         (gst_base_transform_sink_eventfunc): When resetting our segment on
13853         FLUSH_STOP, also update the flag saying we haven't seen a
13854         newsegment.
13855
13856 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13857
13858         Patch by: Paolo Borelli  <pborelli at katamail dot com>
13859
13860         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13861         (gst_plugin_check_license):
13862           minor clean-ups: G_DEFINE_TYPE already takes care of the
13863           parent_class stuff, no need to do it twice. Mark array of
13864           license strings as constant. (#337103)
13865           
13866 2006-04-04  Michael Smith  <msmith@fluendo.com>
13867
13868         * tools/gst-inspect.c: (print_element_list):
13869           Free the right plugin list; fixes a memory leak.
13870
13871 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13872
13873         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
13874
13875         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13876           Don't error out on empty buffers (#336945).
13877           
13878 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
13879
13880         * docs/libs/gstreamer-libs-sections.txt:
13881         * gst/gsttaglist.c:
13882         * libs/gst/base/gstbasesink.c:
13883         * libs/gst/base/gstbasesink.h:
13884         * libs/gst/base/gstbasesrc.c:
13885         * libs/gst/base/gstbasesrc.h:
13886           Documentation updates. Make BaseSink and BaseSrc docs contain the
13887           class structure so that people can actually see the prototypes for
13888           virtual functions they're supposed to be overriding.
13889
13890 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13891
13892         * plugins/elements/gsttypefindelement.c:
13893         (gst_type_find_element_chain):
13894           More debug info; when skipping typefinding, send cached
13895           events in all cases.
13896
13897 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13898
13899         * configure.ac:
13900           use new AS_VERSION and AS_NANO macros
13901         * gst/gst-i18n-lib.h:
13902         * gst/gst.c:
13903         * gst/gsterror.c:
13904         * gst/gstversion.h.in:
13905         * win32/common/config.h:
13906         * win32/common/config.h.in:
13907           update accordingly
13908
13909 2006-03-31  Michael Smith  <msmith@fluendo.com>
13910
13911         * plugins/elements/gsttypefindelement.c:
13912         (gst_type_find_element_chain):
13913           Do not typefind content if the buffers already have caps.
13914           Neccesary for icydemux (#333657), and the right thing to do anyway.
13915
13916 2006-03-30  Wim Taymans  <wim@fluendo.com>
13917
13918         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13919         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
13920         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
13921         (gst_base_sink_record_qos_observation),
13922         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13923         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13924         (gst_base_sink_change_state):
13925         More QoS measurements as described in the design doc.
13926         Get rid of ringbuffer with observations, running average is
13927         more simple and equally good.
13928         Calculates valid proportion now.
13929         Added beginning of flood measurement.
13930
13931 2006-03-29  Wim Taymans  <wim@fluendo.com>
13932
13933         * docs/design/part-qos.txt:
13934         * gst/gstclock.c:
13935         Small documentation updates and additions.
13936
13937 2006-03-29  Wim Taymans  <wim@fluendo.com>
13938
13939         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13940         (gst_base_src_send_event), (gst_base_src_loop),
13941         (gst_base_src_change_state):
13942         Perform the EOS logic when we reach the segment stop position.
13943         Fix compilation on gcc4.1
13944
13945 2006-03-29  Wim Taymans  <wim@fluendo.com>
13946
13947         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
13948
13949         * plugins/elements/gstqueue.c: (gst_queue_init),
13950         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13951         (gst_queue_set_property):
13952         * plugins/elements/gstqueue.h:
13953         In queue, when EOS is received, if minimum threshold > max_size -
13954         current_level, there is chance that queue blocks forever in conditional
13955         item del wait. This is because the queue is not emptied completely due
13956         to minimum threshold.  Here is another approach. Instead of setting
13957         cur_levels to max in EOS, just zero all minimum threshold levels. This
13958         should make sure that queue gives out all data. When going to READY
13959         (stop) state, just reset the original minimum threshold levels.
13960         Fixes #336336.
13961
13962 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
13963
13964         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
13965         (gst_type_find_element_handle_event),
13966         (gst_type_find_element_send_cached_events),
13967         (gst_type_find_element_change_state):
13968         * plugins/elements/gsttypefindelement.h:
13969           When typefinding is done in push mode, we should cache
13970           events we receive during typefinding instead of just
13971           dropping them (e.g. newsegment, custom events from
13972           dvdreadsrc etc.) and then send them out once we've
13973           determined the type of the stream (and decodebin
13974           has had a chance to plug in a decoder/demuxer).
13975           
13976 2006-03-27  Wim Taymans  <wim@fluendo.com>
13977
13978         * docs/design/part-qos.txt:
13979         First QoS ideas.
13980
13981 2006-03-27  Wim Taymans  <wim@fluendo.com>
13982
13983         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
13984
13985         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13986         (gst_base_src_send_event), (gst_base_src_change_state):
13987         Handle element seek correctly when we are streaming.
13988         Fixes #326998.
13989
13990 2006-03-24  Michael Smith  <msmith@fluendo.com>
13991
13992         * docs/faq/gst-uninstalled:
13993           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
13994           allow you to correctly run intalled applications built against old 
13995           core, using plugins that require updated core (e.g. running
13996           installed totem against a full uninstalled gstreamer stack)
13997
13998 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
13999
14000         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14001         more debug details
14002
14003 2006-03-24  Wim Taymans  <wim@fluendo.com>
14004
14005         * docs/gst/gstreamer-sections.txt:
14006         Rearrange the order of the methods so that related methods
14007         are grouped together in sections.
14008
14009 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14010
14011         * gst/gstelement.c:
14012           Little clarification in the docs
14013
14014 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14015
14016         * docs/README:
14017         formatting fix
14018         * plugins/elements/gstidentity.c:
14019         * plugins/elements/gstqueue.c:
14020         * plugins/elements/gsttee.c:
14021         * plugins/elements/gsttypefindelement.c:
14022         GST_ELEMENT_DETAILS formatting
14023
14024 2006-03-24  Wim Taymans  <wim@fluendo.com>
14025
14026         * libs/gst/base/gstbasesink.h:
14027         Only add fields, not insert or we break ABI.
14028
14029 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14030
14031         * win32/common/libgstbase.def:
14032         * win32/common/libgstreamer.def:
14033           Update, add recently added functions.
14034
14035 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14036
14037         * docs/gst/gstreamer-sections.txt:
14038         * gst/gstutils.c: (gst_pad_query_peer_position),
14039         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
14040         * gst/gstutils.h:
14041           API: add some new utility functions:
14042            - gst_pad_query_peer_position()
14043            - gst_pad_query_peer_duration()
14044            - gst_pad_query_peer_convert()
14045           
14046 2006-03-23  Wim Taymans  <wim@fluendo.com>
14047
14048         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14049         (gst_base_sink_init), (gst_base_sink_finalize),
14050         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
14051         (gst_base_sink_set_property), (gst_base_sink_get_property),
14052         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
14053         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14054         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
14055         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14056         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14057         (gst_base_sink_preroll_object), (gst_base_sink_event),
14058         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
14059         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
14060         (gst_base_sink_query), (gst_base_sink_change_state):
14061         Decouple max-lateness and the fact that QoS messages are generated
14062         with a new property (qos).
14063         added API: GstBaseSink::async_play()
14064         Add vmethod so subclasses can be notified of ASYNC playing
14065         state changes.
14066         Collect timestamp start and stop to report better current
14067         position in EOS/PLAYING/PAUSED/READY/NULL.
14068         Refactor QoS/frame dropping and other measurements.
14069         API: GstBaseSrc::qos
14070         Fixes #326311
14071
14072         * libs/gst/base/gstbasesink.h:
14073         Added Private struct.
14074         API: gst_base_sink_set_qos_enabled()
14075         API: gst_base_sink_is_qos_enabled()
14076
14077 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14078
14079         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14080           If compiling against GLib-2.8 or newer, try to read the
14081           registry file using GMappedFile first before falling back
14082           to fopen() + fread() (#332151).
14083
14084 2006-03-22  Wim Taymans  <wim@fluendo.com>
14085
14086         * gst/gstinfo.c: (gst_debug_set_active),
14087         (gst_debug_category_set_threshold):
14088         Disable debugging unless explicitly activated.
14089         Fixes #335480.
14090
14091 2006-03-22  Wim Taymans  <wim@fluendo.com>
14092
14093         * gst/gstelement.c: (gst_element_set_locked_state),
14094         (gst_element_dispose):
14095         Cleanup the error case.
14096
14097         * gst/gstobject.c: (gst_object_dispose):
14098         print a critical when some object was disposed with
14099         a parent, also revive the object since it might
14100         crash the parent.
14101
14102 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
14103
14104         * tools/gst-launch.1.in:
14105           Fix another typo.
14106
14107 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14108
14109         * configure.ac:
14110         * tests/check/Makefile.am:
14111           disable some tests when we don't have a registry
14112         * tests/check/gst/gstutils.c: (gst_utils_suite):
14113           don't build the part that needs parsing
14114
14115 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14116
14117         * gst/Makefile.am
14118         * tests/examples/Makefile.am:
14119           fix --disable-parse build
14120
14121 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14122
14123         * tools/gst-feedback.1.in:
14124           Fix typo: s/feeback/feedback/ (#133494).
14125
14126 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14127
14128         * tools/Makefile.am:
14129         * tools/gst-launch.1.in:
14130           Add FILES section and correct entry about GST_REGISTRY_PATH
14131           environment variable (#133495; #133494).
14132
14133 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14134
14135         * tools/Makefile.am:
14136         * tools/gst-md5sum.1.in:
14137         * tools/gst-md5sum.c:
14138           Remove gst-md5sum and man page (the md5sink element
14139           required was removed ages ago)
14140
14141 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14142
14143         * gst/gststructure.c: (gst_structure_id_set_value):
14144           Make sure that string fields in structures/taglists
14145           contain valid UTF-8 - we don't want to pass rubbish to
14146           applications because of a buggy plugin (cp. #334167).
14147
14148 2006-03-21  Edward Hervey  <edward@fluendo.com>
14149
14150         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14151         (gst_bin_handle_message_func):
14152         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
14153         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
14154         (gst_element_set_bus_func):
14155         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
14156         * gst/gstminiobject.c: (gst_value_set_mini_object),
14157         (gst_value_take_mini_object):
14158         * gst/gstpad.c: (gst_pad_set_pad_template):
14159         * gst/gstpipeline.c: (gst_pipeline_dispose),
14160         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14161         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
14162         (gst_collect_pads_chain):
14163         * libs/gst/net/gstnettimeprovider.c:
14164         (gst_net_time_provider_set_property):
14165         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
14166         It's in fact all issues with gst_*object_replace().
14167
14168 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14169
14170         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
14171         
14172         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14173         * pkgconfig/gstreamer-check.pc.in:
14174           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
14175
14176 2006-03-21  Edward Hervey  <edward@fluendo.com>
14177
14178         * gst/gstbuffer.h:
14179         * gst/gstevent.h:
14180         * gst/gstmessage.h:
14181         gst_[buffer|event|message]_ref() macros are replaced by a static
14182         inline functions because gcc-4.1 will about if the return value
14183         isn't used.
14184         * tests/check/gst/gstevent.c: (event_probe):
14185         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
14186
14187 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
14188
14189         * gst/gstutils.h:
14190         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
14191         the type' case. (Closes: #335195 for now). In the future, when we
14192         depend on GLib 2.10, we could also intern the type name using
14193         g_intern_static_string()
14194
14195 2006-03-20  Wim Taymans  <wim@fluendo.com>
14196
14197         * gst/gstbin.c: (gst_bin_handle_message_func),
14198         (bin_query_max_init), (bin_query_position_fold),
14199         (bin_query_position_done), (gst_bin_query):
14200         Position query should also take max of all streams.
14201
14202 2006-03-20  Wim Taymans  <wim@fluendo.com>
14203
14204         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14205         (gst_fake_src_finalize):
14206         Fix leaks in fakesrc.
14207
14208         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
14209         Fix leaks in the testcase.
14210
14211 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
14212
14213         * gst/gst_private.h:
14214           add win32 specific import decoration(__declspec(dllimport)) 
14215           for all extern GstDebugCategory * variables
14216         * win32/common/libgstbase.def:
14217         * win32/common/libgstcontroller.def:
14218         * win32/common/libgstreamer.def:
14219           Add some exports, remove empty lines
14220         * win32/common/libgstdataprotocol.def:
14221         * win32/common/libgstdataprotocol.dsp:
14222         * win32/common/libgstnet.def:
14223         * win32/common/libgstnet.dsp:
14224           new project files and exportation files added
14225         
14226 2006-03-19  Wim Taymans  <wim@fluendo.com>
14227
14228         * tests/check/libs/basesrc.c: (eos_event_counter):
14229         Use proper return value for probe.
14230
14231 2006-03-17  Wim Taymans  <wim@fluendo.com>
14232
14233         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14234         (gst_pad_push):
14235         Don't leak buffers, caps and pads on negotiation errors.
14236
14237 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
14238
14239         * docs/faq/cvs.xml:
14240         * docs/faq/dependencies.xml:
14241         * docs/faq/developing.xml:
14242         * docs/faq/faq.xml:
14243         * docs/faq/general.xml:
14244         * docs/faq/getting.xml:
14245         * docs/faq/legal.xml:
14246         * docs/faq/troubleshooting.xml:
14247         * docs/faq/using.xml:
14248         Faq review and update.
14249
14250 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
14251
14252         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14253         (gst_pad_push):
14254         Don't pound the cpu to pieces by checking get_caps when accept_caps
14255         is called with the same caps as the pad already has.
14256         Use GST_DEBUG_OBJECT when outputting caps change information.
14257
14258 2006-03-15  Wim Taymans  <wim@fluendo.com>
14259
14260         * gst/gstclock.c: (gst_clock_class_init):
14261         Fix docs.
14262
14263 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
14264
14265         * gst/gstbuffer.h:
14266         Documentation fix.
14267
14268         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
14269         (gst_pad_accept_caps), (gst_pad_configure_sink),
14270         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
14271         Make the default acceptcaps behaviour be to check the requested 
14272         caps against the gst_pad_get_caps output. 
14273
14274         Ensure that gst_pad_accept_caps is used to check caps when a pad
14275         doesn't have a setcaps function, so that pads automatically refuse 
14276         caps that they don't allow in their pad template. (Fixes #332986)
14277
14278         When a buffer with attached caps is pushed, ensure that the source 
14279         pad receives those caps even if the element didn't call
14280         gst_pad_set_caps first.
14281
14282 2006-03-15  Wim Taymans  <wim@fluendo.com>
14283
14284         * libs/gst/base/gstadapter.c:
14285         Add some docs.
14286
14287 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
14288
14289         * win32/common/libgstbase.def:
14290         * win32/common/libgstcontroller.def:
14291         * win32/common/libgstreamer.def:
14292           Add a whole bunch of missing functions (#334434).
14293
14294 2006-03-14  Wim Taymans  <wim@fluendo.com>
14295
14296         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14297         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
14298         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
14299         Better debug info when we receive a segment event.
14300         Reorganize a bit so we can pass the get_times() results around.
14301         Use the segment format when calculating the running time.
14302         Don't do QoS is sync is disabled or we have no clock or the
14303         element does not want us to sync to the clock.
14304         Don't drop buffers if QoS is disabled for now.
14305
14306 2006-03-14  Wim Taymans  <wim@fluendo.com>
14307
14308         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
14309         Marked the stats property as unimplemented so people don't get
14310         wild ideas.
14311         Add debug message when regression goes wrong.
14312         Added some more docs.
14313
14314 2006-03-14  Wim Taymans  <wim@fluendo.com>
14315
14316         * gst/gstsegment.c: (gst_segment_to_stream_time):
14317         Return correct return type in case of errors.
14318
14319 2006-03-14  Wim Taymans  <wim@fluendo.com>
14320
14321         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
14322           Don't segfault on invalid formats.
14323
14324 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14325
14326         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14327           Can't use gst_segment_to_running_time() when the segment
14328           is not in GST_TIME_FORMAT (like with filesink, for example).
14329           Stops flac encoding pipelines from spewing critical warnings
14330           at EOS (#331248).
14331           
14332 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14333
14334         * gst/gstpipeline.c: (gst_pipeline_class_init):
14335           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
14336
14337         * plugins/elements/gsttypefindelement.c:
14338         (gst_type_find_element_handle_event):
14339           Don't try to typefind empty streams.
14340
14341 2006-03-14  Wim Taymans  <wim@fluendo.com>
14342
14343         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
14344         (gst_base_sink_do_qos):
14345         Separate QoS calculation.
14346         Only drop buffers when lateness is bigger than the 
14347         duration of the buffer.
14348
14349 2006-03-13  Wim Taymans  <wim@fluendo.com>
14350
14351         * gst/gstpipeline.c: (gst_pipeline_set_property),
14352         (gst_pipeline_get_property), (do_pipeline_seek),
14353         (gst_pipeline_change_state), (gst_pipeline_set_delay),
14354         (gst_pipeline_get_delay):
14355         Don't deadlock when reading properties.
14356
14357 2006-03-13  Wim Taymans  <wim@fluendo.com>
14358
14359         * libs/gst/base/gstbasetransform.c:
14360         (gst_base_transform_class_init), (gst_base_transform_init),
14361         (gst_base_transform_sink_event),
14362         (gst_base_transform_sink_eventfunc),
14363         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
14364         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
14365         (gst_base_transform_set_property),
14366         (gst_base_transform_get_property),
14367         (gst_base_transform_change_state), (gst_base_transform_update_qos),
14368         (gst_base_transform_set_qos_enabled),
14369         (gst_base_transform_is_qos_enabled):
14370         * libs/gst/base/gstbasetransform.h:
14371         Make basetransform virtual method for src events too.
14372         Handle QOS in basetransform.
14373         API: gst_base_transform_update_qos()
14374         API: gst_base_transform_set_qos_enabled()
14375         API: gst_base_transform_is_qos_enabled()
14376
14377 2006-03-13  Wim Taymans  <wim@fluendo.com>
14378
14379         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14380         (gst_base_sink_do_sync):
14381         Small cleanups.
14382         Use QOS debug category.
14383
14384 2006-03-13  Wim Taymans  <wim@fluendo.com>
14385
14386         * plugins/elements/gstqueue.c:
14387         Very small doc update.
14388
14389 2006-03-13  Wim Taymans  <wim@fluendo.com>
14390
14391         * gst/gst_private.h:
14392         * gst/gstinfo.c: (_gst_debug_init):
14393         Added QOS debug category
14394
14395 2006-03-13  Wim Taymans  <wim@fluendo.com>
14396
14397         * docs/gst/gstreamer-sections.txt:
14398         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
14399         * gst/gstbin.h:
14400         * gst/gstbus.c: (gst_bus_class_init):
14401         * gst/gstbus.h:
14402         * gst/gstclock.c:
14403         * gst/gstelement.c: (gst_element_set_locked_state):
14404         * gst/gstsegment.c:
14405         Documentation updates.
14406
14407         * gst/gstpipeline.c: (gst_pipeline_get_type),
14408         (gst_pipeline_class_init), (gst_pipeline_init),
14409         (gst_pipeline_dispose), (gst_pipeline_set_property),
14410         (gst_pipeline_get_property), (do_pipeline_seek),
14411         (gst_pipeline_send_event), (gst_pipeline_change_state),
14412         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
14413         (gst_pipeline_get_delay):
14414         * gst/gstpipeline.h:
14415         Added methods for setting the delay.
14416         API: gst_pipeline_set_delay()
14417         API: gst_pipeline_get_delay()
14418         Add pipeline debug category
14419         Various cleanups.
14420         Updated docs.
14421         Don't reset stream time when seek failed.
14422
14423 2006-03-13  Wim Taymans  <wim@fluendo.com>
14424
14425         * docs/design/draft-klass.txt:
14426         * docs/design/part-clocks.txt:
14427         * docs/design/part-events.txt:
14428         * docs/design/part-gstbin.txt:
14429         * docs/design/part-gstpipeline.txt:
14430         * docs/design/part-messages.txt:
14431         * docs/design/part-negotiation.txt:
14432         * docs/design/part-overview.txt:
14433         * docs/design/part-preroll.txt:
14434         * docs/design/part-seeking.txt:
14435         * docs/design/part-states.txt:
14436         * docs/design/part-streams.txt:
14437         Documentation updates.
14438
14439 2006-03-12  Julien MOUTTE  <julien@moutte.net>
14440
14441         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
14442         us to leak strings...
14443
14444 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14445
14446         * libs/gst/net/gstnettimeprovider.c:
14447           fix docs
14448         * win32/common/config.h:
14449           update
14450
14451 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
14452
14453         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
14454
14455         * configure.ac:
14456           Don't check for libgnomeui (leftover from old examples
14457           that aren't built or disted any longer) (#334303).
14458           
14459 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
14460
14461         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
14462         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14463           Emit RESOURCE_NO_SPACE_LEFT error here as well when
14464           there's no space left on the device.
14465
14466 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
14467
14468         * gst/gstclock.h:
14469           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
14470           to cast the input to GstClockTime before comparing with
14471           another GstClockTime value.
14472
14473 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14474
14475         * configure.ac:
14476           back to trunk
14477
14478 === release 0.10.4 ===
14479
14480 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
14481
14482         * configure.ac:
14483           releasing 0.10.4, "Light"
14484
14485 2006-03-10  Michael Smith  <msmith@fluendo.com>
14486
14487         * libs/gst/dataprotocol/dataprotocol.c:
14488           Fix docs for dataprocotol to not get the return types completely
14489           wrong for a few functions.
14490
14491 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14492
14493         * docs/gst/gstreamer-sections.txt:
14494         * gst/gstpipeline.c: (gst_pipeline_class_init),
14495         (gst_pipeline_init), (gst_pipeline_set_property),
14496         (gst_pipeline_get_property), (gst_pipeline_change_state),
14497         (gst_pipeline_set_auto_flush_bus),
14498         (gst_pipeline_get_auto_flush_bus):
14499         * gst/gstpipeline.h:
14500           Add new API: gst_pipeline_set_auto_flush_bus() and
14501           gst_pipeline_get_auto_flush_bus() to disable automatic
14502           flushing of the pipeline's GstBus when going from READY
14503           to NULL state (#332045).
14504
14505 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14506
14507         * docs/gst/gstreamer-sections.txt:
14508         * gst/gsturi.c: (gst_uri_has_protocol):
14509         * gst/gsturi.h:
14510            Add new API: gst_uri_has_protocol() (#333779).
14511
14512 2006-03-09  Wim Taymans  <wim@fluendo.com>
14513
14514         * gst/gstclock.c: (gst_clock_entry_new),
14515         (gst_clock_id_compare_func), (gst_clock_id_wait),
14516         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
14517         (gst_clock_init), (gst_clock_get_internal_time),
14518         (gst_clock_set_master), (do_linear_regression),
14519         (gst_clock_add_observation), (gst_clock_set_property):
14520         * gst/gstclock.h:
14521         Review docs.
14522         Small cleanups.
14523         Fix a possible segfault when the window-size is made smaller.
14524         Calculate jitter before performing the clock wait. Ideally
14525         the clock implementation should calculate jitter but we need
14526         API breakage for that.
14527
14528         * gst/gstsystemclock.c: (gst_system_clock_init):
14529         Docs review.
14530         
14531         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14532         Remove leftover else
14533
14534         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
14535         (gst_systemclock_suite):
14536         Added check to test GST_CLOCK_DIFF.
14537
14538 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14539
14540         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
14541         (gst_type_find_helper_get_range):
14542           If we are provided with the size, we should implement
14543           GstTypeFind::get_length, so that typefind functions who
14544           want to can actually peek at the middle of a file.
14545
14546 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
14547
14548         * docs/manual/advanced-dataaccess.xml:
14549           Add some very very basic error checking.
14550
14551         * docs/pwg/appendix-checklist.xml:
14552           Some updates to the list of things to check when writing an element.
14553
14554 2006-03-08  Wim Taymans  <wim@fluendo.com>
14555
14556         * docs/design/part-element-transform.txt:
14557         Added some docs about the design of tranform elements.
14558
14559         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14560         (gst_base_src_loop), (gst_base_src_change_state):
14561         Mark buffers with the DISCONT flag.
14562
14563 2006-03-08  Michael Smith  <msmith@fluendo.com>
14564
14565         * gst/gstregistry.h:
14566         * gst/gstregistryxml.c: (gst_registry_save),
14567         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
14568         (gst_registry_xml_save_pad_template),
14569         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
14570         (gst_registry_xml_write_cache):
14571           Rewrite registry-saving to avoid race conditions and check for
14572           failed writes.
14573
14574 2006-03-08  Wim Taymans  <wim@fluendo.com>
14575
14576         * libs/gst/base/gstbasetransform.c:
14577         (gst_base_transform_transform_caps),
14578         (gst_base_transform_transform_size),
14579         (gst_base_transform_prepare_output_buffer),
14580         (gst_base_transform_get_unit_size),
14581         (gst_base_transform_buffer_alloc),
14582         (gst_base_transform_handle_buffer),
14583         (gst_base_transform_change_state):
14584         Cleanups, separate normal flow from errors, add sensible
14585         DEBUG lines.
14586         Don't try to renegotiate when allocating an output buffer.
14587         Also copy DISCONT buffer flag when copying a buffer.
14588         Reset the transform after we finish streaming, not during.
14589
14590 2006-03-08  Wim Taymans  <wim@fluendo.com>
14591
14592         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14593         Use last buffer timestamp in qos message.
14594
14595 2006-03-07  Wim Taymans  <wim@fluendo.com>
14596
14597         Patch by: Christophe Fergeau
14598
14599         * docs/pwg/advanced-tagging.xml:
14600         * docs/pwg/building-pads.xml:
14601           fixes #333416
14602
14603 2006-03-07  Wim Taymans  <wim@fluendo.com>
14604
14605         * docs/libs/gstreamer-libs-sections.txt:
14606         Added basesink new methods.
14607
14608         * gst/gstevent.c:
14609         * gst/gstevent.h:
14610         Docs updates. Flesh out the QoS docs.
14611
14612         * libs/gst/base/gstadapter.c:
14613         Small doc clarification about ownership and flushing.
14614
14615         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
14616         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
14617         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
14618         (gst_base_sink_get_property), (gst_base_sink_do_sync):
14619         * libs/gst/base/gstbasesink.h:
14620         API additions: 
14621         Added new methods to allow subclass to control max-lateness 
14622         and sync.
14623         Generate very basic QoS events based on last sync observation.
14624         Updated docs, fix typo, added some QoS blurb.
14625
14626         * libs/gst/base/gstbasesrc.c:
14627         Remove obsolete _get_state() calls from docs.
14628
14629 2006-03-07  Wim Taymans  <wim@fluendo.com>
14630
14631         * docs/libs/gstreamer-libs-sections.txt:
14632         * libs/gst/base/gstbasetransform.h:
14633         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
14634         Fix docs for GstBaseSrc.
14635
14636 2006-03-07  Wim Taymans  <wim@fluendo.com>
14637
14638         * docs/gst/gstreamer-sections.txt:
14639         * gst/gstbuffer.h:
14640         * gst/gstvalue.c:
14641         * libs/gst/base/gstbasetransform.h:
14642         Small documentation fixes.
14643
14644 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
14645
14646         * gst/gstvalue.c:
14647           Document thread-unsafety of gst_value_register_foo_func()
14648           when used at the same time as gst_value_foo() (#322628).
14649
14650 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
14651
14652         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
14653         (gst_push_src_check_get_range):
14654           Push sources don't support pull mode by default.
14655
14656 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
14657
14658         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14659         (gst_base_src_init), (gst_base_src_pad_check_get_range),
14660         (gst_base_src_default_check_get_range):
14661         * libs/gst/base/gstbasesrc.h:
14662           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
14663           provide default implementation, and rename
14664           gst_base_src_check_get_range() to
14665           gst_base_src_pad_check_get_range() for clarity.
14666
14667 2006-03-06  Wim Taymans  <wim@fluendo.com>
14668
14669         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14670         Make property overridable.
14671
14672 2006-03-06  Wim Taymans  <wim@fluendo.com>
14673
14674         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14675         (gst_base_sink_init), (gst_base_sink_set_property),
14676         (gst_base_sink_get_property), (gst_base_sink_do_sync):
14677         * libs/gst/base/gstbasesink.h:
14678         API addition: Make max-lateness a property.
14679
14680 2006-03-06  Wim Taymans  <wim@fluendo.com>
14681
14682         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
14683         (gst_base_sink_do_sync), (gst_base_sink_render_object):
14684         Don't ever draw a frame that is >10ms late.
14685
14686 2006-03-06  Michael Smith  <msmith@fluendo.com>
14687
14688         * gst/gstmessage.c: (_gst_message_copy):
14689           When copying a message, set the parent_refcount of the enclosed
14690           structure to point at the copy, not the original message.
14691
14692 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
14693
14694         Patch by: Christophe Fergeau
14695
14696         * gst/gstutils.h:
14697           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
14698           usable in c++ code (#333417)
14699
14700 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14701
14702         * gst/gstclock.h:
14703           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
14704
14705 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
14706
14707         * libs/gst/base/gstbasetransform.c:
14708         (gst_base_transform_transform_caps):
14709           Make sure caps are writable before passing them to
14710           gst_caps_append().
14711
14712 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
14713
14714         * gst/gsterror.h:
14715           Fix some minor docs errors.
14716
14717 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
14718
14719           Patch by: Ross Burton <ross at burtonini dot com>
14720
14721         * gst/gsterror.c: (_gst_resource_errors_init):
14722         * gst/gsterror.h:
14723           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
14724
14725 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
14726
14727         * gst/gst.c:
14728         Add a check and output a g_warning when GStreamer is built
14729         against GLib 2.6 but running against 2.8 or higher, and vice 
14730         versa. (Closes: #323542)
14731
14732 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
14733
14734         * gst/parse/parse.l:
14735           Commit patch for parse_launch syntax from #331255. Removes 
14736           support for quoted strings and mimetypes when writing filtered 
14737           caps. See the bug report for more details - I'm pretty sure this
14738           obscure feature is not in use by _anyone_ anywhere.
14739
14740           With this simple change, the size of the gstreamer.so here 
14741           drops from 2193KB to 1565KB.
14742
14743 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14744
14745         * plugins/elements/gsttypefindelement.h:
14746         * plugins/elements/gsttypefindelement.c:
14747         (gst_type_find_element_src_event), (start_typefinding),
14748         (stop_typefinding), (gst_type_find_element_handle_event),
14749         (gst_type_find_element_chain),
14750         (gst_type_find_element_chain_do_typefinding):
14751           Use gst_type_find_helper_for_buffer() for chain-based
14752           typefinding.
14753
14754 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14755
14756         * plugins/elements/gsttypefindelement.c:
14757         (gst_type_find_element_class_init),
14758         (gst_type_find_element_set_property),
14759         (gst_type_find_element_get_property):
14760           Deprecate "maximum" property (not only was it only taken into
14761           account for typefinding in push-mode anyway, it also was never
14762           actually possible to set it in the first place because the
14763           property was registered with the numeric property ID for the
14764           "minimum" property). Register "maximum" property correctly,
14765           for the sake of future copy'n'pasters. Remove some cruft
14766           from property get/set functions.
14767
14768 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14769
14770         * plugins/elements/gsttypefindelement.c:
14771         (gst_type_find_element_activate):
14772           Use gst_type_find_helper_get_range() here, so we
14773           can honour the "minimum" property and also emit
14774           the signal with the correct probability of the found caps.
14775
14776 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
14777
14778         * docs/libs/gstreamer-libs-sections.txt:
14779         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
14780         (helper_find_suggest), (gst_type_find_helper_get_range),
14781         (gst_type_find_helper):
14782         * libs/gst/base/gsttypefindhelper.h:
14783           New API: gst_type_find_helper_get_range() (#333042).
14784
14785 2006-03-02  Michael Smith  <msmith@fluendo.com>
14786
14787         * gst/gstregistryxml.c: (load_feature):
14788           Asserting on a failure to read part of the registry is Not Cool.
14789           Just log a warning and return NULL (which is already handled)
14790
14791 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
14792
14793         * win32/common/libgstbase.def:
14794           added export of gst_type_find_helper_for_buffer
14795         * win32/common/libgstbase.def:
14796           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
14797           gst_ghost_pad_get_target
14798
14799 2006-02-28  Wim Taymans  <wim@fluendo.com>
14800
14801         * docs/design/draft-klass.txt:
14802         We use Filter now.
14803         Added Connector to mark elements that are only used to
14804         allow pipeline connections.
14805         Moved Debug to extra feature since most of them are 
14806         functionally something else.
14807
14808 2006-02-28  Wim Taymans  <wim@fluendo.com>
14809
14810         * docs/design/draft-klass.txt:
14811         Some updates and clarifications.
14812
14813 2006-02-28  Wim Taymans  <wim@fluendo.com>
14814
14815         * docs/design/draft-klass.txt:
14816         Proposal for klass field values.
14817
14818         * docs/design/part-streams.txt:
14819         Start of a doc describing stream anatomy.
14820
14821 2006-02-28  Wim Taymans  <wim@fluendo.com>
14822
14823         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
14824         Help the compiler a bit with type registration.
14825         Use existing forward cod path instead of duplicating it when 
14826         handling a message.
14827         
14828         * gst/gstbus.c: (gst_bus_get_type):
14829         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
14830         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
14831         * gst/gstclock.c: (gst_clock_get_type):
14832         * gst/gstelement.c: (gst_element_get_type),
14833         * gst/gstelementfactory.c: (gst_element_factory_get_type):
14834         * gst/gstindexfactory.c: (gst_index_factory_get_type):
14835         * gst/gstminiobject.c: (gst_mini_object_get_type):
14836         * gst/gstpad.c: (gst_pad_get_type):
14837         * gst/gstsegment.c: (gst_segment_get_type):
14838         * gst/gststructure.c: (gst_structure_get_type):
14839         * gst/gstsystemclock.c: (gst_system_clock_get_type):
14840         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
14841         * gst/gstvalue.c:
14842         Help compiler with type registration.
14843
14844         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
14845         Small doc update.
14846
14847 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14848
14849         * plugins/elements/gsttypefindelement.c:
14850         (gst_type_find_element_handle_event):
14851           When we get an EOS event and have not found a type yet
14852           (most likely because we had not yet accumulated
14853           TYPE_FIND_MIN_SIZE of data yet), try to determine the
14854           type given the data we have so far. Fixes typefinding
14855           for very short streams again, most notably quicktime
14856           redirections as used on Apple's trailer site (#331701).
14857
14858 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14859
14860         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
14861         (gst_type_find_helper):
14862           Try typefinding factories with the highest rank first.
14863
14864 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14865
14866         * docs/libs/gstreamer-libs-docs.sgml:
14867         * docs/libs/gstreamer-libs-sections.txt:
14868         * libs/gst/base/gsttypefindhelper.c:
14869           Add section for typefind helper and add documentation
14870           for the old and the new function.
14871
14872 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14873
14874         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
14875         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
14876         (gst_type_find_helper_for_buffer):
14877         * libs/gst/base/gsttypefindhelper.h:
14878           New API: gst_type_find_helper_for_buffer() (#332723).
14879           
14880 2006-02-27  Michael Smith  <msmith@fluendo.com>
14881
14882         Patch by: Loïc Minier
14883
14884         * configure.ac:
14885         * docs/Makefile.am:
14886         * docs/slides/Makefile.am:
14887           prevent CVS directories getting disted.
14888
14889 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14890
14891         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
14892           Use the REFCOUNTING category for caps refcounting.
14893           
14894 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
14895
14896         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14897           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
14898
14899 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
14900
14901         * plugins/elements/gsttypefindelement.c:
14902         (gst_type_find_element_activate):
14903           Use gst_pad_check_pull_range() before _activate_pull()
14904           to avoid unnecessary open/close (see #331690).
14905
14906 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14907
14908         * gst/gstutils.c:
14909           Docs enhancement: make it crystal clear what the
14910           gst_pad_add_*_probe() callbacks should look like.
14911
14912 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14913
14914         * libs/gst/base/gstbasesrc.c:
14915           Document how applications can stop recording from
14916           live sources (see #330996).
14917
14918 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14919
14920         * tests/check/Makefile.am:
14921         * tests/check/libs/basesrc.c: (eos_event_counter),
14922         (basesrc_eos_events_pull), (basesrc_eos_events_push),
14923         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
14924         (gst_basesrc_suite), (main):
14925           ... and add some tests for the base source EOS stuff.
14926
14927 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14928
14929         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
14930           Test case originally showed the problem fixed below,
14931           but was then amended. Add checks back at the place
14932           where they used to be.
14933
14934 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14935
14936         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14937         (gst_base_src_init), (gst_base_src_loop),
14938         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14939         (gst_base_src_change_state):
14940         * libs/gst/base/gstbasesrc.h:
14941           Don't unconditionally send EOS when going from PAUSED to
14942           READY state, esp. make sure we don't send two EOS events
14943           in some cases (e.g. one when reaching EOS and one when
14944           going from PAUSED to READY). Also, we don't want to send
14945           EOS events when operating in pull mode. However, we do
14946           want to send an EOS event when shutting down a live
14947           source explicitly, for example (fixes #330996).
14948           
14949 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14950
14951         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
14952           Update src->read_position after a seek when not using mmap.
14953           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
14954
14955 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
14956
14957         * gst/Makefile.am:
14958         * gst/gstparse.h:
14959         * gst/gstutils.c:
14960         * gst/gstutils.h:
14961         Make things work with --disable-parse as they do with 
14962         --disable-load-save - the symbols involved disappear, but the
14963         header is still installed and GST_DISABLE_PARSE is included via
14964         gstconfig.h
14965
14966 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14967
14968         * libs/gst/base/gstbasetransform.c:
14969         (gst_base_transform_change_state): Fix a stupid bug. I was 
14970         sure I compiled that.
14971
14972 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14973
14974         * gst/gstpad.c: (gst_pad_set_blocked_async):
14975         * gst/gstutils.c: (gst_pad_add_data_probe),
14976         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14977         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14978         (gst_pad_remove_buffer_probe): Make those function act on the
14979         ghostpad target when it's a ghostpad. (Closes #331727)
14980
14981 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14982
14983         * libs/gst/base/gstbasetransform.c:
14984         (gst_base_transform_change_state): Make basetransform reusable.
14985         (Closes #331898)
14986
14987 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
14988
14989         * docs/random/release:
14990         Move the current documentation of how to do a release to the top
14991         of the file.
14992
14993         * gst/gstbin.c: (gst_bin_class_init),
14994         (gst_bin_handle_message_func):
14995         Allow multiple state-recalculation threads. (Closes #328873)
14996
14997 2006-02-19  Julien MOUTTE  <julien@moutte.net>
14998
14999         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
15000         * gst/gstpad.c: (gst_pad_set_event_function),
15001         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15002         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
15003         2 strings. You can't use the STR_NULL macro on that.
15004
15005 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
15006
15007         * gst/gstpad.c: (gst_pad_set_event_function),
15008         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15009         (gst_pad_set_getcaps_function)
15010         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
15011           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
15012           So now, we can use --gst-debug-level=5 on Windows
15013         * win32/common/libgstcontroller.def:
15014           Added export of gst_controller_init
15015         * win32/vs6/libgstcontroller.dsp:
15016           Fixed Release post build configuration
15017
15018 2006-02-17  Wim Taymans  <wim@fluendo.com>
15019
15020         * tests/check/gst/gstquery.c: (GST_START_TEST):
15021         Added another check.
15022
15023 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
15024
15025         * plugins/elements/gsttypefindelement.c: (find_peek):
15026           We can do peeks at non-zero offsets, as long as they
15027           fall within the buffer we have.
15028
15029 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
15030
15031         * tests/check/Makefile.am:
15032         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
15033         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
15034         (parse_suite), (main):
15035           Add testsuite for parse launch syntax
15036
15037 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
15038
15039         * plugins/elements/gsttypefindelement.c:
15040         (gst_type_find_element_chain):
15041           When typefinding is unsuccessful in the chain function, don't
15042           error out immediately. Only error out with NO_CAPS_FOUND if
15043           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
15044           otherwise simply wait for more data so we can try typefinding
15045           again with more data later. Also, don't attempt to typefind
15046           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
15047           this should improve typefinding from network sources where the
15048           size of the first buffer can be somewhat random.
15049
15050 2006-02-14  Wim Taymans  <wim@fluendo.com>
15051
15052         * docs/gst/gstreamer-sections.txt:
15053         * gst/gstpadtemplate.c:
15054         * gst/gstpadtemplate.h:
15055         Fix padtemplate docs, fixes #328805.
15056
15057 2006-02-14  Wim Taymans  <wim@fluendo.com>
15058
15059         * tools/gst-launch.c: (main):
15060         NO_PREROLL is not an ERROR so don't send confusing messages
15061         to the user.
15062
15063 2006-02-14  Wim Taymans  <wim@fluendo.com>
15064
15065         Patch by: Torsten Schoenfeld
15066
15067         * gst/gstregistry.c: (gst_registry_get_default),
15068         (_gst_registry_cleanup):
15069         Protect default registry with lock and ref/sink it.
15070         Fixes #324818
15071
15072 2006-02-14  Wim Taymans  <wim@fluendo.com>
15073
15074         * gst/gstbuffer.c:
15075         * gst/gstquery.c: (gst_query_list_add_format),
15076         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15077         (gst_query_parse_formats_nth):
15078         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15079         Docs fixes.
15080
15081 2006-02-14  Wim Taymans  <wim@fluendo.com>
15082
15083         * docs/gst/gstreamer-sections.txt:
15084         Reworked query docs.
15085
15086         * gst/gstquery.c: (gst_query_new_formats),
15087         (gst_query_list_add_format), (gst_query_set_formats),
15088         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15089         (gst_query_parse_formats_nth):
15090         * gst/gstquery.h:
15091         Flesh out formats query, added some new methods.
15092         Fix part of #324398.
15093
15094         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
15095         Added query creation tests.
15096
15097 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
15098
15099         * gst/gstpad.c: (fixate_value):
15100         Add a default fixation for fraction lists.
15101
15102 2006-02-13  Wim Taymans  <wim@fluendo.com>
15103
15104         * gst/gsttask.c: (gst_task_init), (gst_task_func),
15105         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
15106         (gst_task_join):
15107         * gst/gsttask.h:
15108         Detect and warn for obvious deadlocks. fixes #320340
15109         Fix error case where lock was not released.
15110
15111         * tests/check/Makefile.am:
15112         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
15113         (task_func), (gst_element_suite), (main):
15114         Add task check.
15115
15116 2006-02-13  Wim Taymans  <wim@fluendo.com>
15117
15118         * docs/gst/gstreamer-sections.txt:
15119         * gst/gstbus.c:
15120         Add new functions to docs.
15121
15122 2006-02-13  Wim Taymans  <wim@fluendo.com>
15123
15124         * docs/design/part-TODO.txt:
15125         Updated TODO list, basesrc supports seeking to non-bytes
15126         formats.
15127
15128         * docs/design/part-element-sink.txt:
15129         Update docs.
15130
15131         * gst/gstbin.c: (bin_replace_message),
15132         (gst_bin_handle_message_func):
15133         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
15134         * gst/gstevent.c: (gst_event_finalize):
15135         * gst/gstpad.c: (gst_pad_event_default_dispatch),
15136         (gst_pad_send_event):
15137         Use shiny new _TYPE_NAME macros.
15138
15139         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15140         Move debug statement up.
15141
15142         * gst/gstelement.c: (gst_element_set_locked_state):
15143         Add some debugging.
15144
15145 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
15146
15147         * docs/gst/gstreamer-sections.txt:
15148         * gst/gstmessage.h:
15149         * gst/gstquery.h:
15150           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
15151           macros (#330906). Also, document the already existing
15152           GST_QUERY_TYPE macro.
15153
15154 2006-02-13  Wim Taymans  <wim@fluendo.com>
15155
15156         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
15157         (event_probe), (GST_START_TEST):
15158         Only events up to the pipeline EOS are counted, there are
15159         some more when going to NULL currently which we don't care
15160         about for now.
15161
15162 2006-02-13  Wim Taymans  <wim@fluendo.com>
15163
15164         * gst/gstpad.c: (gst_pad_send_event):
15165         Correctly check flushing and emit probes. fixes #330125
15166
15167 2006-02-10  Andy Wingo  <wingo@pobox.com>
15168
15169         * gst/gstbus.c (gst_bus_class_init): Declare our private data
15170         structure.
15171         (gst_bus_init): Cache the location of the private data in the
15172         instance structure.
15173         (gst_bus_enable_sync_message_emission) 
15174         (gst_bus_disable_sync_message_emission): Implement new public
15175         functions.
15176         (gst_bus_post): Emit the sync-message signal if the user asked for
15177         it. Fixes #330684.
15178
15179         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
15180         location of the bus-private structure.
15181         (gst_bus_enable_sync_message_emission)
15182         (gst_bus_disable_sync_message_emission): API addition
15183
15184 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
15185
15186         Patch by: Vincent Torri
15187
15188         * docs/pwg/building-boiler.xml:
15189         PWG patch from #326800
15190
15191 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
15192
15193         * configure.ac:
15194         * docs/Makefile.am:
15195         * docs/design/Makefile.am:
15196           Dist design docs.
15197
15198 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15199
15200         * configure.ac:
15201           back to CVS
15202
15203 === release 0.10.3 ===
15204
15205 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
15206
15207         * configure.ac:
15208           releasing 0.10.3, "Like a virgin"
15209
15210 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15211
15212         * configure.ac:
15213           2nd prerelease of 0.10.3
15214           Bump libtool versioning.
15215
15216 2006-02-07  Andy Wingo  <wingo@pobox.com>
15217
15218         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
15219         update last_stop if we're in TIME format and the timestamp is
15220         valid.
15221
15222         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
15223         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
15224         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
15225         If we get a new newsegment with a different format, adapt
15226         accordingly.
15227
15228         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
15229         of 0. Not a problem, really.
15230
15231         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
15232         warn if sync=true.
15233
15234 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
15235
15236         * configure.ac:
15237           Prelease of 0.10.3
15238
15239 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
15240
15241         * win32/vs7:
15242           project files updated to the default vs7 configuration
15243         * win32/common/libgstbase.def:
15244         * win32/common/libgstreamer.def:
15245           added new symbols,
15246           removed empty lines,
15247           sorted all exported symbols alphabetically
15248         * win32/common/dirent.c:
15249         * win32/common/dirent.h:
15250         * win32/common/gchar.h:
15251           use windows line end.
15252           
15253 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15254
15255         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
15256           Send EOS event when stopping.
15257
15258 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15259
15260         * docs/README:
15261           Tell folks what to do if the plugin-foobar.xml file
15262           hasn't been generated for a newly-added plugin.
15263
15264 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15265
15266         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15267         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15268         (gst_collect_pads_start), (gst_collect_pads_stop),
15269         (gst_collect_pads_event): Collectpads now holds a reference
15270         to the GstPad that was added. Indeed we don't want to look
15271         at pads that might just go away with no warning...
15272
15273 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15274
15275         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
15276         (gst_collect_pads_start), (gst_collect_pads_stop),
15277         (gst_collect_pads_event), (gst_collect_pads_chain):
15278         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
15279         Mark Nauwelaerts's patch on bug #328491.
15280
15281 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15282
15283         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
15284         (gst_utils_suite):
15285           Add some simple tests for gst_parse_bin_from_description() and
15286           gst_bin_find_unconnected_pad() (#329069).
15287
15288 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15289
15290         * tools/gst-launch.c: (event_loop), (main):
15291           Catch errors during preroll (#320084).
15292
15293 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
15294
15295         * plugins/elements/gsttypefindelement.c:
15296         (gst_type_find_element_activate):
15297           Post TYPE_NOT_FOUND error message when typefinding
15298           is unsuccessful in the activate function as well.
15299
15300 2006-02-02  Wim Taymans  <wim@fluendo.com>
15301
15302         * docs/design/part-element-sink.txt:
15303         Updated doc.
15304
15305 2006-02-02  Wim Taymans  <wim@fluendo.com>
15306
15307         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15308         (gst_base_sink_render_object),
15309         (gst_base_sink_queue_object_unlocked):
15310         Only keep track of prerollable items when we are 
15311         prerolling.
15312         Before rendering after preroll, always check if we
15313         have queued items.
15314         Added some more debugging.
15315
15316 2006-02-02  Wim Taymans  <wim@fluendo.com>
15317
15318         * gst/gstelement.c: (gst_element_continue_state),
15319         (gst_element_set_state_func), (gst_element_change_state):
15320         Fixed #326576, been running this for quite some time with
15321         no regressions at all.
15322
15323 2006-02-02  Wim Taymans  <wim@fluendo.com>
15324
15325         * common/gst.supp:
15326         Added more suppressions
15327
15328 2006-02-02  Wim Taymans  <wim@fluendo.com>
15329
15330         * docs/design/part-element-sink.txt:
15331         Updated document.
15332
15333         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15334         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
15335         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
15336         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15337         (gst_base_sink_do_sync), (gst_base_sink_render_object),
15338         (gst_base_sink_preroll_object),
15339         (gst_base_sink_queue_object_unlocked),
15340         (gst_base_sink_queue_object), (gst_base_sink_event),
15341         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
15342         (gst_base_sink_loop), (gst_base_sink_activate_pull),
15343         (gst_base_sink_get_position), (gst_base_sink_change_state):
15344         * libs/gst/base/gstbasesink.h:
15345         Totally refactored matching the design doc.
15346         Use two segments, one to clip incomming buffers and another to
15347         perform sync.
15348         Handle queueing correctly, bypass the queue when playing.
15349         Make EOS cancelable.
15350         Handle errors correctly when operating in pull based mode.
15351
15352         * tests/check/elements/fakesink.c: (GST_START_TEST),
15353         (fakesink_suite):
15354         Added new check for sinks.
15355
15356 2006-02-02  Wim Taymans  <wim@fluendo.com>
15357
15358         * gst/gstsegment.c: (gst_segment_clip):
15359         No reason to refuse to clip when start == -1
15360
15361 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
15362
15363         * docs/README:
15364         * docs/manual/intro-basics.xml:
15365         * docs/manual/intro-preface.xml:
15366         * docs/manual/manual.xml:
15367         * docs/pwg/advanced-dparams.xml:
15368         * docs/pwg/intro-basics.xml:
15369         * docs/pwg/intro-preface.xml:
15370         * docs/pwg/pwg.xml:
15371           describe dparams (controller) for plugins
15372           unify docs a little more
15373
15374 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
15375
15376         * docs/gst/gstreamer-sections.txt:
15377         * gst/gstutils.c: (element_find_unconnected_pad),
15378         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
15379         * gst/gstutils.h:
15380           Add new API: gst_parse_bin_from_description() and
15381           gst_bin_find_unconnected_pad() (#329069).
15382
15383 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
15384
15385         * docs/manual/README:
15386           uncover a nasty detail of the docs build
15387
15388 2006-01-31  Wim Taymans  <wim@fluendo.com>
15389
15390         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
15391         Don't cache duration messages if we're not going to use or
15392         free them.
15393
15394 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
15395
15396         * docs/manual/advanced-dparams.xml:
15397         * docs/pwg/advanced-dparams.xml:
15398           more dparam docs
15399         * gst/gstindex.c:
15400           fix docs
15401         * libs/gst/controller/lib.c: (gst_controller_init):
15402           init just once
15403
15404 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
15405
15406         * gst/gstelement.c: (gst_element_message_full):
15407           also show file/line/func if no additional debug was given
15408
15409 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
15410         
15411         * win32/vs7/grammar.vcproj:
15412           activate copy of autogenerated files for Release mode
15413
15414 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15415         
15416         * win32/common/libgstreamer.def:
15417           export gst_value_compare
15418
15419 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
15420
15421         * plugins/elements/Makefile.am:
15422         * plugins/elements/gstelements.c:
15423         * plugins/elements/gstfdsink.c: (_do_init),
15424         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
15425         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
15426         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
15427         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
15428         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
15429         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
15430         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
15431         * plugins/elements/gstfdsink.h:
15432         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
15433
15434 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
15435
15436         * docs/manual/advanced-dparams.xml:
15437           describe controller
15438         * docs/manual/advanced-position.xml:
15439         * docs/manual/basics-init.xml:
15440         * docs/manual/manual.xml:
15441         * docs/manual/titlepage.xml:
15442         * docs/pwg/pwg.xml:
15443         * docs/pwg/titlepage.xml:
15444           cleanup xml (more to come)
15445         * libs/gst/controller/gstcontroller.c:
15446           fix typo
15447
15448 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15449         
15450         * win32/vs6/grammar.dsp:
15451           add autogen of gstmarshal.c,h for Release mode
15452                 
15453 2006-01-30  Wim Taymans  <wim@fluendo.com>
15454
15455         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15456         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
15457         (gst_base_sink_handle_object), (gst_base_sink_event),
15458         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
15459         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15460         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
15461         (gst_base_sink_deactivate), (gst_base_sink_activate),
15462         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15463         (gst_base_sink_query), (gst_base_sink_change_state):
15464         Basesink cleanups, remove some old code.
15465         Handle the case where a subclass can preroll in the render
15466         method (mostly audiosinks).
15467         Handle more events.
15468         Remove some locks around variables that are now protected
15469         with the PREROLL_LOCK (clock_id, flushing, ..).
15470         Optimize position query some more, do correct locking.
15471         Remove old code to push queue in state change, this is not
15472         needed anymore since preroll blocks on all prerollable items 
15473         now.
15474         Almost implemented as described in design doc.
15475
15476 2006-01-30  Wim Taymans  <wim@fluendo.com>
15477
15478         * tests/check/gst/gstbin.c: (GST_START_TEST):
15479         Wait for refcount to settle down before checking.
15480
15481 2006-01-30  Wim Taymans  <wim@fluendo.com>
15482
15483         * docs/design/part-element-sink.txt:
15484         Pseudo code overview of desired sink behaviour regarding
15485         preroll.
15486
15487 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15488         * win32/vs6/grammar.dsp:
15489           fix some bugs in Release mode for autogenerated files
15490                 
15491 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15492         * win32/common/libgstbase.def:
15493         * win32/common/libgstreamer.def:
15494           export some new symbols: gst_base_src_set_format,
15495           gst_iterator_next, gst_structure_set_valist
15496
15497 2006-01-29  Julien MOUTTE  <julien@moutte.net>
15498
15499         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
15500         Set pad functions unconditionally. Fixes #329105.
15501
15502 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15503         * win32/vs8:
15504           add vs8 project files created by Sergey Scobich
15505
15506 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
15507
15508         * gst/gstutils.c: (gst_element_unlink_pads):
15509         Don't leak pad references.
15510
15511         * tests/check/elements/fakesink.c: (GST_START_TEST):
15512         * tests/check/generic/sinks.c: (GST_START_TEST):
15513         * tests/check/generic/states.c: (GST_START_TEST):
15514         * tests/check/gst/gstbin.c: (GST_START_TEST):
15515         * tests/check/gst/gstcaps.c: (GST_START_TEST):
15516         * tests/check/gst/gstelement.c: (GST_START_TEST):
15517         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15518         * tests/check/gst/gstiterator.c: (GST_START_TEST):
15519         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15520         Fix a bunch of leaks. Make generic/sinks.c
15521         use a bit less cpu by slowing the buffer rate
15522         between fakesrc and fakesink.
15523         
15524 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
15525         * gst/gstcaps.c:
15526         * gst/gstelement.c: (gst_element_send_event):
15527         * gst/gstevent.c:
15528         * gst/gstinfo.c:
15529         * gst/gstiterator.c:
15530         * gst/gstiterator.h:
15531         * gst/gstpad.c: (gst_pad_send_event):
15532         * gst/gststructure.c:
15533         * gst/gsturi.c:
15534         * gst/gstutils.c:
15535         * gst/gstvalue.c:
15536         * libs/gst/base/gstadapter.c:
15537           doc fixes, to link to function, just write gst_cool_function(), don't
15538           prefix with '#'
15539
15540 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15541
15542         * plugins/elements/gsttee.c: (gst_tee_do_push),
15543         (gst_tee_handle_buffer):
15544         Always prefer an actual return value from a src
15545         pad in place of NOT_LINKED. This means we return
15546         WRONG_STATE when all src pads are WRONG_STATE
15547         instead of NOT_LINKED.
15548
15549         Lock when replacing the last message to prevent
15550         racing with the get_property method.
15551
15552         Add debug output
15553
15554 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15555
15556         * tests/check/Makefile.am:
15557         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
15558         (main):
15559         Add a very simple check that should have caught the memleak I fixed
15560         last night (if not for the slice allocator hiding it)
15561
15562 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15563
15564         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15565         (gst_bin_remove_func), (gst_bin_handle_message_func),
15566         (bin_query_duration_fold), (bin_query_generic_fold):
15567         Clean up references to the clock provider when disposed or when
15568         handling a clock-lost message from it.
15569
15570         Unref sinks when performing a query via gst_iterator_fold, as the
15571         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
15572
15573         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
15574         (gst_clock_set_master):
15575         Drop our reference to the master clock, if any, when we are disposed.
15576
15577         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
15578         Chain up in dispose. 
15579
15580 2006-01-26  Wim Taymans  <wim@fluendo.com>
15581
15582         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15583         Add some debugging.
15584
15585 2006-01-26  Julien MOUTTE  <julien@moutte.net>
15586
15587         * plugins/elements/gsttee.c: (gst_tee_do_push),
15588         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
15589         handles pad being NOT_LINKED or in WRONG_STATE.
15590
15591 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15592
15593         * win32/MANIFEST:
15594           more updating
15595
15596 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15597
15598         * win32/MANIFEST:
15599           remove obsolete entry
15600
15601 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15602
15603         * docs/gst/gstreamer-sections.txt:
15604         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
15605         (gst_bin_iterate_sources), (gst_bin_send_event):
15606         * gst/gstbin.h:
15607         * gst/gstelement.c: (gst_element_send_event):
15608         * gst/gstevent.c:
15609         * gst/gstpad.c: (gst_pad_send_event):
15610           added code for downstream events, reviewed docs in gstevent.c
15611
15612 2006-01-25  Julien MOUTTE  <julien@moutte.net>
15613
15614         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15615         We only query position using the clock in the playing state.
15616         Query peer in the other cases.
15617         * win32/common/config.h: Updates.
15618
15619 2006-01-24  Wim Taymans  <wim@fluendo.com>
15620
15621         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15622         A clock entry that is scheduled for the exact time of the
15623         clock is still in time.
15624
15625         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15626         (gst_base_sink_do_sync):
15627         Add some more debug info.
15628
15629 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
15630
15631         * win32/vs7:
15632           Add new vs7 project files and solution.
15633
15634 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
15635
15636         * win32/vs7:
15637           all files removed as they were out-dated.
15638
15639 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15640
15641         * docs/random/release:
15642           update notes
15643         * gst/gstbin.c: (gst_bin_init):
15644         * gst/gstbus.c: (gst_bus_new):
15645         * gst/gstbus.h:
15646         * gst/gstpipeline.c: (gst_pipeline_init):
15647           use gst_bus_new(), improve logging, fix docs
15648         * win32/common/config.h:
15649           update for cvs build
15650
15651 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15652
15653         * autogen.sh:
15654           up required version of automake to 1.7
15655
15656 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
15657
15658         * win32/common/libgstreamer.def:
15659           export gst_buffer_is_metadata_writable
15660
15661 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
15662
15663         * docs/gst/gstreamer-sections.txt:
15664         * gst/gstevent.h:
15665           Add gst_event_replace() (#327001)
15666
15667 2006-01-20  Wim Taymans  <wim@fluendo.com>
15668
15669         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15670         Make it actually compile too..
15671
15672 2006-01-20  Wim Taymans  <wim@fluendo.com>
15673
15674         * gst/gstcaps.c:
15675         Clarify behaviour of _is_equal() when passing NULL parameters.
15676
15677         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15678         (gst_pad_set_caps):
15679         Cleanups. Don't unref NULL caps.
15680         When setting the same caps, protect caps of the pad with
15681         proper lock.
15682         Use full functionality of _is_equal() when comparing caps.
15683
15684 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
15685
15686         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15687         Don't loop infinitely if there are no buffers to present. Partially
15688         fixes #327197, but collectpads is just broken for reusing elements
15689         to do multiple encodes atm.
15690
15691 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
15692
15693         * tools/gst-inspect.c: (print_element_features):
15694         * tools/gst-xmlinspect.c: (main):
15695         URL_HANDLER is not a plugin feature we can search for in
15696         the registry.
15697
15698 2006-01-19  Edward Hervey  <edward@fluendo.com>
15699
15700         * gst/gstelement.c: (gst_element_pads_activate): 
15701         When activating, do src pads first, then sink pads.
15702         When de-activating, do sink pads first, then src pads.
15703
15704 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15705
15706         * docs/gst/gstreamer-sections.txt:
15707         Add gst_index_add_associationv to the docs
15708
15709 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15710
15711         * gst/gstevent.c:
15712           Fix docs typo
15713
15714         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
15715         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
15716           Do some refactoring. Doesn't actually change functionality,
15717           but makes landing the DRAIN event easier later.
15718
15719 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
15720
15721         * docs/pwg/advanced-scheduling.xml:
15722           Update from 0.9.x to 0.10 API and make example a bit
15723           clearer.
15724
15725 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15726
15727         * docs/gst/gstreamer-sections.txt:
15728         Add gst_buffer_(is|make)_metadata_writable methods.
15729
15730 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15731
15732         * docs/design/part-sparsestreams.txt:
15733         Update sparse streams doc, hopefully for greater clarity
15734
15735 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
15736
15737         * docs/design/part-events.txt:
15738         Remove mention of FILLER events.
15739         Add DRAIN event.
15740
15741         * docs/design/part-sparsestreams.txt:
15742         Write some things about using NEWSEGMENT to keep sparse streams
15743         flowing.
15744
15745 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
15746
15747         * gst/gstbin.c: (gst_bin_dispose):
15748           Guard gst_object_unref call against a NULL object (dispose
15749           can theoretically be called multiple times).
15750           
15751 2006-01-18  Wim Taymans  <wim@fluendo.com>
15752
15753         * gst/gstbin.c: (gst_bin_element_set_state):
15754         * gst/gstclock.c: (gst_clock_id_wait):
15755         Added some more debug info.
15756
15757         * libs/gst/base/gstadapter.c:
15758         Added more docs.
15759
15760         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15761         (gst_base_sink_do_sync), (gst_base_sink_chain):
15762         Added some comments.
15763
15764 2006-01-18  Wim Taymans  <wim@fluendo.com>
15765
15766         * tests/check/Makefile.am:
15767         * tests/check/elements/fakesink.c: (chain_async_buffer),
15768         (chain_async), (chain_async_return), (GST_START_TEST),
15769         (fakesink_suite), (main):
15770         Added fakesink test that checks prerolling and clipping
15771         behaviour.
15772
15773         * tests/check/gst/gstutils.c: (GST_START_TEST):
15774         Make check run faster so that buildbots don't timeout.
15775
15776 2006-01-18  Wim Taymans  <wim@fluendo.com>
15777
15778         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15779         (gst_base_sink_do_sync):
15780         Some cleanups.
15781         When the sink finishes blocking on the preroll buffer, it can
15782         immediatly render it instead of rendering when the next buffer
15783         arrives.
15784
15785 2006-01-18  Wim Taymans  <wim@fluendo.com>
15786
15787         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
15788         (gst_base_sink_get_property), (gst_base_sink_do_sync),
15789         (gst_base_sink_chain):
15790         Small cleanups.
15791         GST_ELEMENT_CLOCK and sync are protected with LOCK.
15792         Don't store _last_stop if the buffer is dropped.
15793
15794 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
15795
15796         * plugins/elements/gsttypefindelement.c:
15797         (gst_type_find_element_class_init):
15798           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
15799           object method handler that sets the caps on the pad and we want
15800           that to happen before we emit the signal (fixes e.g. feeding a
15801           plain text file to decodebin).
15802
15803 2006-01-18  Christian Schaller  <Christian@fluendo.com>
15804
15805         * gst/gstplugin.c: Add MPL and Proprietary as license options
15806
15807 2006-01-18  Andy Wingo  <wingo@pobox.com>
15808
15809         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
15810         symbol was exported before, it appears this was just an oversight.
15811         Fixes #168703.
15812         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
15813
15814         * gst/gstindex.c (gst_index_add_associationv): Changed int in
15815         prototype to gint. OK since this prototype was not in the header.
15816
15817 2006-01-17  Andy Wingo  <wingo@pobox.com>
15818
15819         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
15820         registry while we remove plugins.
15821
15822         * tools/gst-inspect.c (print_element_info): Don't unref the
15823         factory arg, that should be the responsibility of whatever code
15824         received the ref. Fixes a double-free when called from
15825         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
15826         (main): Unref the factory if we have one.
15827         (print_element_list): No change -- relies on the
15828         plugin_feature_list_free to free the list of features.
15829
15830 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
15831
15832         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15833         (gst_buffer_make_metadata_writable):
15834         * gst/gstbuffer.h:
15835         * libs/gst/base/gstbasetransform.c:
15836         (gst_base_transform_prepare_output_buf):
15837         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15838         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15839           Replace gst_buffer_(make|is)_metadata_writable patch now
15840           that the release is out.
15841
15842 2006-01-17  Andy Wingo  <wingo@pobox.com>
15843
15844         * gst/gstregistry.c: Reflow design comment. Update so as to speak
15845         in the present tense without reference to versions.
15846
15847         * gst/gstregistry.c (gst_registry_add_plugin)
15848         (gst_registry_remove_plugin, gst_registry_remove_feature)
15849         (gst_registry_find_feature, gst_registry_get_feature_list)
15850         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
15851         (gst_registry_lookup, gst_registry_scan_path)
15852         (_gst_registry_remove_cache_plugins)
15853         (gst_registry_get_feature_list_by_plugin): Add argument
15854         validation.
15855
15856 === release 0.10.2 ===
15857
15858 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
15859
15860         * configure.ac:
15861           releasing 0.10.2, "If man is five"
15862
15863 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15864
15865         * gst/gstbuffer.c:
15866         * gst/gstbuffer.h:
15867         * libs/gst/base/gstbasetransform.c:
15868         (gst_base_transform_prepare_output_buf):
15869         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15870         * tests/check/gst/gstbuffer.c: (gst_test_suite):
15871           Back out patch until after the release.
15872
15873 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15874
15875         * gst/gstminiobject.c:
15876           Spelling fix in docs.
15877         * ChangeLog - remove conflict indicator
15878
15879 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15880
15881         Reviewed By: Andy Wingo
15882
15883         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15884         (gst_buffer_make_metadata_writable):
15885         * gst/gstbuffer.h:
15886           Add gst_buffer_(is|make)_metadata_writable as analogues of
15887           gst_buffer_(is|make)_writable.
15888
15889         * libs/gst/base/gstbasetransform.c:
15890         (gst_base_transform_prepare_output_buf):
15891         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15892           Use name gst_buffer_(is|make)_metadata_writable functions.
15893
15894         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15895           Test gst_buffer_(is|make)_metadata_writable
15896         
15897           (Closes: #324162)
15898
15899 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15900
15901         * docs/manual/Makefile.am:
15902           don't do parallel make
15903         * configure.ac:
15904           AC_SUBST HOST_CPU
15905         * win32/common/config.h.in:
15906           add generations for HOST_CPU and GST_MAJORMINOR
15907         * win32/common/config.h:
15908           commit generated result
15909
15910 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
15911
15912         * docs/manual/appendix-integration.xml:
15913           Update GNOME integration section to use gst_init_get_option_group()
15914           instead of the old popt stuff (#322911). Also, GNOME applications
15915           should  now use gconf*sink and gconf*src instead of the old gconf
15916           helper lib we had.
15917
15918 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
15919
15920
15921         * docs/gst/gstreamer-docs.sgml:
15922         * docs/gst/gstreamer-sections.txt:
15923         * docs/libs/gstreamer-libs-sections.txt:
15924           add new API entries to the docs
15925         * libs/gst/controller/Makefile.am:
15926         * libs/gst/controller/gstcontroller.c:
15927         * libs/gst/controller/gstcontroller.h:
15928         * libs/gst/controller/gstcontrollerprivate.h:
15929         * libs/gst/controller/gsthelper.c:
15930         * libs/gst/controller/gstinterpolation.c:
15931           move private structs to private header
15932         * po/README:
15933           gstreamer-0.7 -> gstreamer-0.10
15934         * tests/check/libs/struct_i386.h:
15935           remove private structs
15936
15937 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15938
15939         * plugins/indexers/Makefile.am:
15940           Fixes as part of #317048
15941
15942 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15943
15944         * plugins/indexers/Makefile.am:
15945           fix #316086 - compilation when mmap is missing
15946
15947 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
15948
15949         * libs/gst/base/gstbasesink.c:
15950           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
15951           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
15952         * win32/common/config.h:
15953           added some defines GST_MAJORMINOR and HOST_CPU
15954         * win32/common/libgstbase.def:
15955         * win32/common/libgstreamer.def:
15956           added some exported functions.
15957
15958 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
15959
15960         * libs/gst/controller/gstcontroller.c:
15961         (gst_controlled_property_set_interpolation_mode),
15962         (gst_controlled_property_new):
15963         * libs/gst/controller/gstcontroller.h:
15964         * libs/gst/controller/gstinterpolation.c:
15965         (interpolate_none_get_string_value_array):
15966           make G_TYPE_STRING controlable
15967
15968 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
15969
15970         * tools/README:
15971         * tools/gst-feedback.1.in:
15972         * tools/gst-inspect.1.in:
15973         * tools/gst-launch.1.in:
15974         * tools/gst-md5sum.1.in:
15975         * tools/gst-typefind.1.in:
15976         * tools/gst-xmlinspect.1.in:
15977         * tools/gst-xmllaunch.1.in:
15978           cleanup man-pages, remove reference to gst-register, document env-vars
15979
15980 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
15981
15982         * gst/gstbuffer.c: (gst_buffer_span):
15983           gst_buffer_span should copy the timestamp of the first buffer
15984           if they were both originally overlapping subbuffers of the 
15985           same parent, using the same logic as the 'slow copy' case.
15986
15987 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
15988
15989         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
15990           Need to awaken ALL the pads when we pop a buffer, otherwise
15991           collectpads only works when there is 2 input streams.
15992
15993 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
15994
15995         * docs/random/ensonic/media-device-daemon.txt:
15996           more ideas (dbus)
15997         * gst/gstbuffer.c:
15998           fix doc example, add clarification
15999         * tools/gst-launch.1.in:
16000           add initial info about GST_PLUGIN_PATH, needs more work
16001
16002 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
16003
16004         * docs/manual/basics-bins.xml:
16005         * docs/manual/basics-elements.xml:
16006         * docs/manual/intro-basics.xml:
16007           Some more minor docs additions and updates.
16008
16009 2006-01-11  Wim Taymans  <wim@fluendo.com>
16010
16011         * docs/manual/basics-bins.xml:
16012         * docs/manual/basics-elements.xml:
16013         Some small fixes as pointed out by Ser-ver on IRC.
16014
16015 2006-01-10  Edward Hervey  <edward@fluendo.com>
16016
16017         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16018         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
16019         the single-segment mode.
16020
16021 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
16022
16023         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16024
16025         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
16026         (gst_base_src_perform_seek), (gst_base_src_send_event),
16027         (gst_base_src_set_property), (gst_base_src_get_property),
16028         (gst_base_src_loop), (gst_base_src_start),
16029         (gst_base_src_activate_push):
16030         * libs/gst/base/gstbasesrc.h:
16031           Name (private) union; makes Sun's Forte compiler happy (#324900).
16032
16033 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
16034
16035         * README:
16036           gst-register is gone.
16037
16038 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16039
16040         * gst/gstvalue.c: (_gst_value_initialize):
16041           make the G_TYPE_DATE instantiation work if debug is disabled
16042
16043 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
16044
16045         * gst/gstmessage.c: (gst_message_parse_tag),
16046         (gst_message_parse_error), (gst_message_parse_warning):
16047           Don't crash when return location for error/warning debug
16048           string is NULL; add fact that return locations can be
16049           NULL to docs where appropriate.
16050
16051 2006-01-05  Wim Taymans  <wim@fluendo.com>
16052
16053         * gst/gstplugin.c: (gst_plugin_load_file):
16054         Replace strdup by g_strdup.
16055
16056 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16057
16058         * docs/pwg/advanced-types.xml:
16059           fix doc borkage
16060
16061 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16062
16063         submitted by: Abel Cheung
16064
16065         * po/LINGUAS:
16066         * po/zh_TW.po:
16067           Added Chinese (traditional) translation
16068
16069 2006-01-04  Wim Taymans  <wim@fluendo.com>
16070
16071         * docs/manual/basics-pads.xml:
16072         * docs/plugins/Makefile.am:
16073         * docs/plugins/gstreamer-plugins-docs.sgml:
16074         * docs/plugins/gstreamer-plugins-sections.txt:
16075         * docs/pwg/advanced-clock.xml:
16076         * docs/pwg/advanced-scheduling.xml:
16077         * docs/pwg/advanced-types.xml:
16078         * plugins/elements/gstfdsink.c:
16079         * plugins/elements/gstfdsrc.c:
16080         * plugins/elements/gstfdsrc.h:
16081         * plugins/elements/gstidentity.c: (gst_identity_class_init):
16082         * plugins/elements/gstidentity.h:
16083         * plugins/elements/gstqueue.h:
16084         * plugins/elements/gsttee.c:
16085         * plugins/elements/gsttee.h:
16086         * plugins/elements/gsttypefindelement.c:
16087         (gst_type_find_element_class_init):
16088         * plugins/elements/gsttypefindelement.h:
16089         Small updates to various docs.
16090         Added core plugins to docs.
16091
16092 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16093
16094         * common/gst.supp:
16095           add a suppression for liboil's uninitialized variable
16096
16097 2006-01-02  James Livingston  <jrl at ids dot org dot au>
16098
16099         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16100
16101         * gst/gstutils.h:
16102           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
16103           macro, so that gcc doesn't complain if the -Wmissing-prototypes
16104           compiler switch is being used (#325429).
16105
16106 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
16107
16108         * gst/gstbin.c: (gst_bin_query):
16109           Disable duration query caching in bins until it gets
16110           fixed (see #324807).
16111
16112 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16113
16114         * tools/gst-inspect.c: (print_element_properties_info):
16115           Handle properties of POINTER and BOXED type.
16116
16117 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16118
16119         * gst/gst.c: (init_post):
16120           Init tags stuff and some other things before loading
16121           any static plugins (there may be other static plugins
16122           than just the GStreamer ones, and they may want to
16123           register their own tags or formats or whatever, and
16124           preferably without segfaulting).
16125
16126         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
16127           Print at least a warning in the debug logs if we drop a
16128           query just because we don't know how to adjust the value
16129           in the particular format.
16130
16131 2005-12-24  David Schleef  <ds@schleef.org>
16132
16133         * tools/gstreamer-completion:
16134           Replacement for gst-complete written in sh and sed.  Only
16135           completes names of features, but that's 90% of what I want
16136           it for.  Properties are not available in registry.xml.  (Maybe
16137           they should be...)
16138
16139 === release 0.10.1 ===
16140
16141 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
16142
16143         * configure.ac:
16144           releasing 0.10.1, "Nollaig chridheil"
16145
16146 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
16147
16148         * docs/faq/cvs.xml:
16149           Add missing quote, should be make ERROR_CFLAGS="".
16150
16151 2005-12-20  Wim Taymans  <wim@fluendo.com>
16152
16153         * docs/design/part-trickmodes.txt:
16154         More documentation on trickmodes.
16155
16156 2005-12-20  Edward Hervey  <edward@fluendo.com>
16157
16158         * gst/gstcaps.c: (gst_static_caps_get_type):
16159         * gst/gstcaps.h:
16160           API addition: GST_TYPE_STATIC_CAPS
16161         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
16162         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
16163         * gst/gstpadtemplate.h:
16164           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
16165         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
16166         bindings.
16167
16168 2005-12-18  Wim Taymans  <wim@fluendo.com>
16169
16170         * libs/gst/base/gstadapter.c:
16171         * libs/gst/base/gstadapter.h:
16172         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16173         (gst_base_sink_get_position):
16174         * libs/gst/base/gstbasesink.h:
16175         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16176         (gst_base_src_default_query), (gst_base_src_default_do_seek),
16177         (gst_base_src_do_seek), (gst_base_src_perform_seek),
16178         (gst_base_src_send_event), (gst_base_src_update_length),
16179         (gst_base_src_get_range), (gst_base_src_loop),
16180         (gst_base_src_start):
16181         * libs/gst/base/gstbasesrc.h:
16182         * libs/gst/base/gstbasetransform.h:
16183         * libs/gst/base/gstcollectpads.h:
16184         * libs/gst/base/gstpushsrc.c:
16185         * libs/gst/base/gstpushsrc.h:
16186         * libs/gst/dataprotocol/dataprotocol.c:
16187         * libs/gst/dataprotocol/dataprotocol.h:
16188         * libs/gst/net/gstnetclientclock.h:
16189         * libs/gst/net/gstnettimeprovider.h:
16190         Documentation updates.
16191
16192 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
16193
16194         * docs/manual/basics-helloworld.xml:
16195           Remove superfluous closing bracket in helloworld example.
16196
16197 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
16198
16199         * tools/gst-launch.1.in:
16200           Update gst-launch man page; add a section with useful
16201           environment variables. Fixes #323882.
16202
16203 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
16204
16205         * gst/gst.c:
16206         * gst/gst_private.h:
16207           change some char* into char[]
16208
16209 2005-12-16  Wim Taymans  <wim@fluendo.com>
16210
16211         * gst/gstregistryxml.c: (load_feature):
16212         Cleanups.
16213         Don't use g_object_unref on GstObjects so that we avoid
16214         leaks on unsafe glibs.
16215
16216 2005-12-16  Wim Taymans  <wim@fluendo.com>
16217
16218         * gst/gstbin.c: (gst_bin_recalc_state):
16219         Small doc updates.
16220
16221 2005-12-16  Wim Taymans  <wim@fluendo.com>
16222
16223         * common/check.mak:
16224         Added make forever target for check.
16225
16226 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16227
16228         * gst/gst.c: (init_post):
16229           make the registry cache file HOST_CPU-dependent
16230
16231 2005-12-16  Andy Wingo  <wingo@pobox.com>
16232
16233         * plugins/elements/gstbufferstore.c
16234         (gst_buffer_store_cleared_func): Pay attention to g_list_append
16235         return value.
16236
16237         * tests/check/gst/gstobject.c
16238         (test_fake_object_name_threaded_unique): Pay attention to
16239         g_list_sort return value.
16240
16241 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
16242
16243         * tools/gst-feedback-m.m:
16244           Update for 0.9/0.10 (fixes #323870).
16245
16246 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
16247
16248         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
16249           Fix lcopy for mini objects, the mini object needs to be ref'ed.
16250           
16251         * tests/check/gst/gstminiobject.c: (my_foo_init),
16252         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
16253         (test_value_collection), (gst_mini_object_suite):
16254           Add test to ensure refcounts end up as expected when passing
16255           GstMiniObjects through g_object_get() and g_object_set().
16256
16257 2005-12-14  Julien MOUTTE  <julien@moutte.net>
16258
16259         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16260         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
16261         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
16262         of collectpads. This version removes a lot of races without
16263         touching API/ABI. Yay !
16264
16265 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
16266
16267         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
16268           Don't allow activation of a srcpad in pull_range if it has no
16269           getrange function.
16270           Change some debug statements to be a little clearer
16271
16272         * plugins/elements/gsttypefindelement.c:
16273         (gst_type_find_handle_src_query):
16274           Check that we have a peer before executing queries thereupon.
16275
16276         * tests/examples/metadata/read-metadata.c: (message_loop):
16277           Use gst_bus_pop instead of gst_bus_poll when we just want it to
16278           immediately return us any available message with 0 timeout.
16279
16280 2005-12-12  Michael Smith  <msmith@fluendo.com>
16281
16282         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
16283           Don't unref factories after calling them.
16284         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
16285         * plugins/elements/gsttypefindelement.c:
16286         (gst_type_find_element_chain):
16287           Free lists of factories after using them. Fixing typefinding memory
16288           leaks.
16289
16290 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16291
16292         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
16293         (gst_plugin_feature_load):
16294           more meaningful debug output
16295         * configure.ac:
16296         * tests/Makefile.am:
16297         * tests/old/examples/Makefile.am:
16298           make make distcheck happy again
16299
16300 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16301
16302         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16303           Catch the special case where we are operating chain-based,
16304           but the downstream peer pad has no chain function. Emit a
16305           custom error message in this case instead of letting the
16306           core generate one implying that this is some sort of core
16307           bug. It's not, it just means that whatever got plugged
16308           into the pipeline downstream when we announced the type
16309           can only operate pull-based, while our source can only
16310           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
16311           Error string has not been marked for translation yet, as
16312           it probably needs some more work first.
16313
16314         (gst_type_find_element_get_best_possibility):
16315           Add helper function to find the best of all available
16316           found possibilities that qualify given the min. threshold.
16317
16318         (gst_type_find_element_handle_event):
16319           Fix the case where we get an EOS while still in TYPEFIND
16320           mode (we want to chose the best of all possible types,
16321           not just the first type that happens to be in our unsorted
16322           list of possible types).
16323
16324         (gst_type_find_element_chain):
16325           Make sure we return GST_FLOW_ERROR when we errored out
16326           in stop_typefinding(); also, don't just find the best of
16327           all found type entries and then use the last examined
16328           type entry, but actually use the best entry.
16329
16330 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16331
16332         * tests/examples/typefind/typefind.c: (type_found):
16333         * tests/examples/xml/runxml.c: (xml_loaded):
16334           More gcc4 fixes and a mem leak fix.
16335
16336 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16337
16338         * tests/examples/xml/createxml.c: (object_saved):
16339           gcc 4 fixes
16340
16341 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16342
16343         * tests/Makefile.am:
16344           enable the examples even more
16345
16346 2005-12-12  Andy Wingo  <wingo@pobox.com>
16347
16348         * libs/gst/net/gstnettimeprovider.c
16349         (gst_net_time_provider_class_init, gst_net_time_provider_init)
16350         (gst_net_time_provider_set_property)
16351         (gst_net_time_provider_get_property):
16352         API addition: Export "active" as a GObject property.
16353         (gst_net_time_provider_thread): Only respond to time queries if
16354         the time provider is active.
16355
16356         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
16357         NetTimeProvider, preserving binary compat.
16358
16359 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16360
16361         * tests/examples/controller/audio-example.c: (main):
16362         * tests/examples/launch/Makefile.am:
16363           convert comments again
16364
16365 2005-12-12  Wim Taymans  <wim@fluendo.com>
16366
16367         * libs/gst/base/gstpushsrc.c:
16368         Fix typo.
16369
16370 2005-12-12  Wim Taymans  <wim@fluendo.com>
16371
16372         * docs/libs/gstreamer-libs-sections.txt:
16373         Added new symbol to docs.
16374
16375         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16376         (gst_base_src_init), (gst_base_src_set_format),
16377         (gst_base_src_default_query), (gst_base_src_query),
16378         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
16379         (gst_base_src_perform_seek), (gst_base_src_send_event),
16380         (gst_base_src_default_event), (gst_base_src_event_handler),
16381         (gst_base_src_set_property), (gst_base_src_get_property),
16382         (gst_base_src_wait), (gst_base_src_do_sync),
16383         (gst_base_src_update_length), (gst_base_src_get_range),
16384         (gst_base_src_check_get_range), (gst_base_src_loop),
16385         (gst_base_src_default_negotiate), (gst_base_src_start),
16386         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16387         (gst_base_src_change_state):
16388         * libs/gst/base/gstbasesrc.h:
16389         Implement seeking to other formats than _BYTES.
16390         Implement more seeking methods correctly.
16391         Doc updates.
16392         Added query vmethod.
16393         Added do_seek vmethod to make life easier for subclasses
16394         when seeking.
16395         API addition: gst_base_src_set_format()
16396
16397 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16398
16399         * tests/examples/Makefile.am:
16400           added that too
16401
16402 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16403
16404         * configure.ac:
16405         * docs/random/ensonic/media-device-daemon.txt:
16406         * tests/examples/controller/.cvsignore:
16407         * tests/examples/controller/Makefile.am:
16408         * tests/examples/controller/audio-example.c: (main):
16409         * tests/examples/helloworld/.cvsignore:
16410         * tests/examples/helloworld/Makefile.am:
16411         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
16412         * tests/examples/launch/.cvsignore:
16413         * tests/examples/launch/Makefile.am:
16414         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
16415         * tests/examples/metadata/.cvsignore:
16416         * tests/examples/metadata/Makefile.am:
16417         * tests/examples/metadata/read-metadata.c: (message_loop),
16418         (make_pipeline), (print_tag), (main):
16419         * tests/examples/queue/.cvsignore:
16420         * tests/examples/queue/Makefile.am:
16421         * tests/examples/queue/queue.c: (event_loop), (main):
16422         * tests/examples/typefind/.cvsignore:
16423         * tests/examples/typefind/Makefile.am:
16424         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
16425         (main):
16426         * tests/examples/xml/.cvsignore:
16427         * tests/examples/xml/Makefile.am:
16428         * tests/examples/xml/createxml.c: (object_saved), (main):
16429         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
16430         * tests/old/examples/Makefile.am:
16431         * tests/old/examples/TODO:
16432         * tests/old/examples/controller/.cvsignore:
16433         * tests/old/examples/controller/Makefile.am:
16434         * tests/old/examples/controller/audio-example.c:
16435         * tests/old/examples/helloworld/.cvsignore:
16436         * tests/old/examples/helloworld/Makefile.am:
16437         * tests/old/examples/helloworld/helloworld.c:
16438         * tests/old/examples/launch/.cvsignore:
16439         * tests/old/examples/launch/Makefile.am:
16440         * tests/old/examples/launch/mp3parselaunch.c:
16441         * tests/old/examples/launch/mp3play:
16442         * tests/old/examples/manual/Makefile.am:
16443         * tests/old/examples/metadata/Makefile.am:
16444         * tests/old/examples/metadata/read-metadata.c:
16445         * tests/old/examples/queue/.cvsignore:
16446         * tests/old/examples/queue/Makefile.am:
16447         * tests/old/examples/queue/queue.c:
16448         * tests/old/examples/typefind/.cvsignore:
16449         * tests/old/examples/typefind/Makefile.am:
16450         * tests/old/examples/typefind/typefind.c:
16451         * tests/old/examples/xml/.cvsignore:
16452         * tests/old/examples/xml/Makefile.am:
16453         * tests/old/examples/xml/createxml.c:
16454         * tests/old/examples/xml/runxml.c:
16455           applied some simple fixing to some examples
16456           re-enabled the working examples
16457
16458 2005-12-12  Wim Taymans  <wim@fluendo.com>
16459
16460         * gst/gstsegment.c: (gst_segment_init),
16461         (gst_segment_set_last_stop), (gst_segment_set_seek),
16462         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16463         (gst_segment_to_running_time):
16464         Added more documentation.
16465         Make sure the last_pos value is updated properly.
16466         Make sure to_stream_time and to_running_time don't
16467         operate on wrong values.
16468
16469         * tests/check/gst/gstsegment.c: (GST_START_TEST):
16470         Update check.
16471
16472 2005-12-12  Michael Smith  <msmith@fluendo.com>
16473
16474         * plugins/elements/gsttypefindelement.c: (free_entry),
16475         (gst_type_find_element_chain):
16476           Now that we're not leaking factories, make sure we keep references
16477           to them while we need them.
16478
16479 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16480
16481         * tests/check/gst/struct_i386.h:
16482           ifdef out the XML structs
16483
16484 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16485
16486         * gst/gstvalue.c: (gst_value_transform_double_fraction):
16487           floor is not needed, F is always positive; this obviates the
16488           need for adding -lm when building without libxml
16489
16490 2005-12-12  Wim Taymans  <wim@fluendo.com>
16491
16492         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16493         Take current playback rate into account when reporting
16494         the position.
16495
16496 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16497
16498         * docs/manual/mime-world.fig:
16499           Let's try this again, this time with a file that is
16500           actually in XFig format.
16501
16502 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16503
16504         * docs/manual/mime-world.fig:
16505           Add audioconvert element to diagram so that it
16506           matches the text and the code (fixes #319526).
16507
16508 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16509
16510         * docs/pwg/building-chainfn.xml:
16511         * docs/pwg/building-pads.xml:
16512         * docs/pwg/building-state.xml:
16513         * docs/pwg/other-source.xml:
16514           Update state change stuff for 0.10 (fixes #322969).
16515
16516 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16517
16518         * docs/manual/advanced-dataaccess.xml:
16519         * docs/manual/appendix-checklist.xml:
16520         * docs/manual/appendix-programs.xml:
16521         * docs/manual/basics-pads.xml:
16522         * docs/manual/highlevel-components.xml:
16523         * docs/manual/manual.xml:
16524           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
16525           add converters in front of pipelines; remove curly
16526           brackets for threads stuff, they no longer exist; use
16527           GST_TYPE_FRACTION for framerates; update some pieces of
16528           code to 0.10, but there's plenty more to do.
16529
16530         * docs/manual/appendix-porting.xml:
16531           Expand on asynchroneous state changes; s/0.9/0.10/;
16532           mention disappearance of gst_init_get_popt_table()
16533           (fixes #322916).
16534
16535 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16536
16537         * docs/faq/using.xml:
16538           Spider no longer exists, and neither does gst-launch-ext.
16539           Update examples to use decodebin and playbin and put
16540           converters in front of sinks (fixes #323726).
16541
16542 2005-12-09  Michael Smith  <msmith@fluendo.com>
16543
16544         * plugins/elements/gsttypefindelement.c: (find_peek),
16545         (gst_type_find_element_chain):
16546           Fix leaking element factories in typefinding.
16547           Fix problem where we forgot about a probable type on non-seekable
16548           files, and thus later mis-typefound it.
16549
16550 2005-12-09  Michael Smith  <msmith@fluendo.com>
16551
16552         * common/m4/gst-makecontext.m4:
16553         * common/m4/gst-mcsc.m4:
16554         * configure.ac:
16555         * win32/common/config.h:
16556         * win32/common/config.h.in:
16557           Remove makecontext stuff; not used in 0.10 and causes problems on
16558           HPUX according to bug #322441
16559
16560 2005-12-07  Wim Taymans  <wim@fluendo.com>
16561
16562         * tests/check/Makefile.am:
16563         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
16564         (main):
16565         * tests/check/libs/struct_i386.h:
16566         Added ABI check for libs
16567
16568 2005-12-07  Wim Taymans  <wim@fluendo.com>
16569
16570         * tests/check/Makefile.am:
16571         And add the struct_i386.h to dist.
16572
16573 2005-12-07  Wim Taymans  <wim@fluendo.com>
16574
16575         * tests/check/Makefile.am:
16576         * tests/check/gst/.cvsignore:
16577         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
16578         (main):
16579         * tests/check/gst/struct_i386.h:
16580         Added check for ABI compatibility.
16581
16582 2005-12-07  Wim Taymans  <wim@fluendo.com>
16583
16584         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16585         (gst_fake_src_get_times), (gst_fake_src_create):
16586         Fix broken sync option, fixes #323259
16587
16588 2005-12-07  Wim Taymans  <wim@fluendo.com>
16589
16590         * gst/gstbuffer.c:
16591         Small docs update.
16592
16593         * gst/gstcaps.c: (gst_caps_is_equal):
16594         Don't assert on NULL <--> X. Fixes #323260
16595
16596         * gst/gstminiobject.c: (gst_mini_object_replace):
16597         If we're doing atomic operations, we might just as well use
16598         the proper way to get an atomic pointer.
16599
16600         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16601         Clean up debugging.
16602
16603 2005-12-07  Michael Smith  <msmith@fluendo.com>
16604
16605         * gst/parse/grammar.y:
16606           Remove handling of { } for threads.
16607
16608 2005-12-06  David Schleef  <ds@schleef.org>
16609
16610         * libs/gst/base/gstbasetransform.c: speling fix.
16611
16612 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16613
16614         * docs/libs/tmpl/gstdataprotocol.sgml:
16615         * docs/random/omega/testing/gstobject.c:
16616         * gst/gst.c:
16617         * gst/gstclock.c:
16618         * gst/gstelement.c:
16619         * gst/gstelementfactory.c:
16620         * gst/gsterror.c:
16621         * gst/gstevent.c:
16622         * gst/gstghostpad.c:
16623         * gst/gstinfo.c:
16624         * gst/gstpadtemplate.c:
16625         * gst/gstregistryxml.c:
16626         * gst/gsttaglist.c:
16627         * gst/gsttagsetter.c:
16628         * gst/gsttypefind.c:
16629         * gst/gstvalue.c:
16630         * libs/gst/base/gstbasesrc.c:
16631         * libs/gst/net/gstnetclientclock.c:
16632         * libs/gst/net/gstnettimeprovider.c:
16633         * plugins/elements/gstfakesrc.c:
16634         * plugins/elements/gstfdsrc.c:
16635         * plugins/elements/gstfilesrc.c:
16636         * plugins/elements/gstidentity.c:
16637         * plugins/elements/gstqueue.c:
16638         * plugins/elements/gsttypefindelement.c:
16639         * plugins/indexers/gstfileindex.c:
16640         * plugins/indexers/gstmemindex.c:
16641         * tests/check/gst/gsttag.c:
16642         * tests/old/examples/cutter/cutter.c:
16643         * tests/old/examples/mixer/mixer.c:
16644         * tests/old/examples/xml/runxml.c: (main):
16645         * tests/old/testsuite/caps/normalisation.c:
16646         * tests/old/testsuite/debug/global.c:
16647         * tests/old/testsuite/parse/parse1.c:
16648         * tools/gst-xmlinspect.c:
16649         * win32/common/dirent.c:
16650           expand tabs
16651
16652 === release 0.10.0 ===
16653
16654 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16655
16656         * configure.ac:
16657           releasing 0.10.0, "Maroilles"
16658
16659 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16660
16661         submitted by: Funda Wang <fundawang@linux.net.cn>
16662
16663         * po/LINGUAS:
16664         * po/zh_CN.po:
16665           added Chinese (Traditional) translation
16666
16667 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16668
16669         * docs/gst/gstreamer-sections.txt:
16670         * docs/libs/tmpl/gstdataprotocol.sgml:
16671         * docs/random/thomasvs/TODO:
16672         * gst/gstutils.c:
16673         * gst/gstutils.h:
16674           fix docs
16675
16676 2005-12-05  Andy Wingo  <wingo@pobox.com>
16677
16678         patch by: Wim Taymans <wim@fluendo.com>
16679
16680         * libs/gst/base/gstbasetransform.c
16681         (gst_base_transform_prepare_output_buf)
16682         (gst_base_transform_buffer_alloc):
16683         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
16684         alloc_buffer_and_set_caps.
16685
16686         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
16687         set_caps on the source pad.
16688         (gst_pad_alloc_buffer_and_set_caps): New function, does what
16689         alloc_buffer used to do. Fixes #322874.
16690
16691         * docs/gst/gstreamer-sections.txt: 
16692         * docs/design/part-negotiation.txt: 
16693         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
16694         changes.
16695
16696 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16697
16698         patch by: Sebastien Moutte
16699
16700         * win32/MANIFEST:
16701         * win32/common/config.h.in:
16702         * win32/vs6/libgstcontroller.dsp:
16703           win32 build fixes
16704
16705 2005-12-05  Wim Taymans  <wim@fluendo.com>
16706
16707         * gst/gstcaps.c: (gst_caps_is_equal):
16708         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16709         (gst_fake_src_create):
16710         Back out previous code changes, leave doc updates, file bugs 
16711         instead. 
16712
16713 2005-12-05  Wim Taymans  <wim@fluendo.com>
16714
16715         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16716         (gst_fake_src_get_times), (gst_fake_src_create):
16717         * plugins/elements/gstfakesrc.h:
16718         Fix broken sync code.
16719
16720 2005-12-05  Wim Taymans  <wim@fluendo.com>
16721
16722         * gst/gstcaps.c: (gst_caps_is_equal):
16723         Comparing NULL against !NULL yields different caps, not a
16724         failure.
16725
16726 2005-12-05  Wim Taymans  <wim@fluendo.com>
16727
16728         * gst/gstpipeline.c:
16729         Fix small typo in docs.
16730
16731 2005-12-05  Andy Wingo  <wingo@pobox.com>
16732
16733         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
16734
16735         * gst/gst.c (init_post): remove hard-coded 0.9 location for
16736         registries/plugins with a MAJORMINOR one.
16737         (plugin_desc): Rename library from gstcoreleements to
16738         staticelements. Fixes #323222.
16739
16740 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
16741
16742         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
16743           Change debug category to 'collectpads' from 'collect_pads'
16744           (fixes #323250).
16745
16746 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
16747
16748         patch by: Sebastien Moutte
16749
16750         * libs/gst/controller/gstinterpolation.c:
16751           use convert function for uint64/double
16752         * win32/vs6/libgstcontroller.dsp:
16753           link to GLib
16754
16755 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
16756
16757         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
16758         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
16759         * gst/gstutils.h:
16760         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16761           add tests that seem to show that the guint64/gdouble conversions
16762           are correct.
16763
16764 2005-12-02  Wim Taymans  <wim@fluendo.com>
16765
16766         * gst/gstregistry.c: (gst_registry_add_path):
16767         * gst/gstregistry.h:
16768         * gst/gstregistryxml.c:
16769         Fix docs again.
16770
16771 2005-12-02  Wim Taymans  <wim@fluendo.com>
16772
16773         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16774         (gst_util_uint64_scale_int):
16775         Small cleanup.
16776
16777         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16778         Add debug log line.
16779
16780         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
16781         Add FIXME.
16782
16783 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16784
16785         * win32/MANIFEST:
16786         * win32/common/config.h:
16787         * win32/vs6/gstreamer.dsw:
16788         * win32/vs6/libgstcoreelements.dsp:
16789         * win32/vs6/libgstelements.dsp:
16790           renamed core elements plugin
16791
16792 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16793
16794         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
16795         (get_candidates):
16796           do piece-wise major/minor comparison so 0.9 < 0.10
16797           also allow .exe extensions for tools
16798
16799 2005-12-02  Michael Smith  <msmith@fluendo.com>
16800
16801         * gst/gst.c:
16802           Escape a % to make gtkdoc happier; bug 322958.
16803
16804 === release 0.9.7 ===
16805
16806 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16807
16808         * configure.ac:
16809           releasing 0.9.7, "My Dog Has No Nose"
16810
16811 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16812
16813         * common/gst-xmlinspect.py:
16814         * configure.ac:
16815         * docs/libs/tmpl/gstdataprotocol.sgml:
16816         * docs/random/release:
16817         * po/af.po:
16818         * po/az.po:
16819         * po/bg.po:
16820         * po/ca.po:
16821         * po/cs.po:
16822         * po/de.po:
16823         * po/en_GB.po:
16824         * po/fr.po:
16825         * po/it.po:
16826         * po/nb.po:
16827         * po/nl.po:
16828         * po/ru.po:
16829         * po/sq.po:
16830         * po/sr.po:
16831         * po/sv.po:
16832         * po/tr.po:
16833         * po/uk.po:
16834         * po/vi.po:
16835         * win32/common/config.h:
16836         * win32/common/config.h.in:
16837         * win32/vs6/gst_inspect.dsp:
16838         * win32/vs6/gst_launch.dsp:
16839         * win32/vs6/libgstbase.dsp:
16840         * win32/vs6/libgstelements.dsp:
16841         * win32/vs6/libgstreamer.dsp:
16842         * win32/vs7/GStreamer.vcproj:
16843         * win32/vs7/gst-inspect.vcproj:
16844         * win32/vs7/gst-launch.vcproj:
16845         * win32/vs7/libgstbase.vcproj:
16846           bump GST_MAJORMINOR to 0.10
16847           reset libtool version
16848
16849 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16850
16851         * po/LINGUAS:
16852         * po/bg.po:
16853           Added Bulgarian translation by (Alexander Shopov)
16854
16855 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16856
16857         * tests/check/gst/gstplugin.c:
16858           fix test
16859
16860 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16861
16862         * common/gst-xmlinspect.py:
16863         * common/gtk-doc-plugins.mak:
16864         * configure.ac:
16865         * docs/Makefile.am:
16866         * docs/gst/Makefile.am:
16867         * docs/gst/gstreamer-docs.sgml:
16868         * docs/gst/gstreamer-sections.txt:
16869         * docs/gst/gstreamer.types:
16870         * docs/gst/gstreamer.types.in:
16871         * docs/plugins/Makefile.am:
16872         * docs/plugins/gstreamer-plugins-docs.sgml:
16873         * docs/plugins/gstreamer-plugins-sections.txt:
16874         * docs/plugins/gstreamer-plugins.types:
16875         * docs/plugins/inspect.stamp:
16876         * docs/plugins/inspect/plugin-coreelements.xml:
16877         * docs/plugins/inspect/plugin-coreindexers.xml:
16878         * docs/plugins/scanobj-build.stamp:
16879         * gstreamer.spec.in:
16880         * plugins/elements/Makefile.am:
16881         * plugins/elements/gstelements.c:
16882         * plugins/elements/gstfakesink.c:
16883         * plugins/elements/gstfakesrc.c:
16884         * plugins/elements/gstfilesink.c:
16885         * plugins/elements/gstfilesrc.c:
16886         * plugins/elements/gstqueue.c:
16887         * plugins/indexers/Makefile.am:
16888         * plugins/indexers/gstindexers.c:
16889           document core plugins in a separate document just like all the
16890           others
16891           rename these plugins to something starting with core
16892
16893 2005-12-01  Andy Wingo  <wingo@pobox.com>
16894
16895         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
16896         padding here before, but it missed the commit.
16897
16898 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16899
16900         * libs/gst/controller/gstinterpolation.c:
16901           whitespace prices have crashed, we should feel free to use some now
16902           use gst_guint64_to_gdouble
16903
16904 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16905
16906         * libs/gst/controller/gstcontroller.c:
16907         * libs/gst/controller/gsthelper.c:
16908         * libs/gst/controller/gstinterpolation.c:
16909         * libs/gst/controller/lib.c:
16910           wrap config.h include
16911
16912 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16913
16914         * docs/gst/gstreamer-sections.txt:
16915           update docs
16916
16917 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16918
16919         * plugins/elements/gstelements.c:
16920         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
16921         (gst_fd_sink__class_init), (gst_fd_sink__init),
16922         (gst_fd_sink__chain), (gst_fd_sink__set_property),
16923         (gst_fd_sink__get_property):
16924         * plugins/elements/gstfdsink.h:
16925         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
16926         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
16927         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
16928         (gst_fd_src_unlock), (gst_fd_src_set_property),
16929         (gst_fd_src_get_property), (gst_fd_src_create),
16930         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
16931         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
16932         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
16933         (gst_fd_src_uri_handler_init):
16934         * plugins/elements/gstfdsrc.h:
16935         * plugins/elements/gstqueue.c: (gst_queue_get_type):
16936           more anal cleanup
16937
16938 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16939
16940         * docs/gst/Makefile.am:
16941         * docs/gst/gstreamer.types.in:
16942         * gst/Makefile.am:
16943           fix the docs build
16944
16945 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16946
16947         * configure.ac:
16948         * gst/Makefile.am:
16949         * gst/gst.c:
16950         * gst/gstplugin.h:
16951         * gst/gstregistry.h:
16952         * tests/benchmarks/complexity.c:
16953         * tests/benchmarks/mass-elements.c:
16954         * tests/check/Makefile.am:
16955         * tools/Makefile.am:
16956         * tools/gst-inspect.c:
16957         * tools/gst-xmlinspect.c:
16958           various fixes to make
16959           --disable-nls --disable-registry --disable-loadsave
16960           --disable-parse --disable-gst-debug
16961           work and get the core .so down to 360444 bytes after stripping
16962
16963 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16964
16965         * Makefile.am:
16966         * configure.ac:
16967           descend into tests
16968         * docs/random/thomasvs/TODO:
16969         * tests/Makefile.am:
16970         * tests/README:
16971           add a README
16972
16973 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16974
16975         * win32/GStreamer.vcproj:
16976         * win32/MANIFEST:
16977         * win32/Makefile:
16978         * win32/Makefile.inspect:
16979         * win32/Makefile.launch:
16980         * win32/Makefile.register:
16981         * win32/README.txt:
16982         * win32/gst-inspect.vcproj:
16983         * win32/gst-launch.vcproj:
16984         * win32/gst-register.vcproj:
16985         * win32/gstelements.vcproj:
16986         * win32/gstgetbits.def:
16987         * win32/gstgetbits.vcproj:
16988         * win32/gstreamer-dbg.def:
16989         * win32/gstreamer.def:
16990         * win32/libgstbase.def:
16991         * win32/libgstbase.vcproj:
16992         * win32/link_oldruntime.c:
16993         * win32/mman.c:
16994         * win32/mman.h:
16995         * win32/mman.inl:
16996         * win32/msvc71.sln:
16997           move even more stuff, win32/ is nice and clean now
16998
16999 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17000
17001         * libs/gst/control/.cvsignore:
17002         * win32/MANIFEST:
17003         * win32/config.h:
17004         * win32/dirent.c:
17005         * win32/dirent.h:
17006         * win32/gstbytestream.def:
17007         * win32/gstbytestream.vcproj:
17008         * win32/gstconfig.h:
17009         * win32/gstenumtypes.c:
17010         * win32/gstenumtypes.h:
17011         * win32/gstoptimalscheduler.vcproj:
17012         * win32/gstversion.h:
17013         * win32/gtchar.h:
17014         * win32/testsuite/bins.vcproj:
17015         * win32/testsuite/bytestream.vcproj:
17016         * win32/testsuite/caps.vcproj:
17017         * win32/testsuite/cleanup.vcproj:
17018         * win32/testsuite/clock.vcproj:
17019         * win32/testsuite/debug.vcproj:
17020         * win32/testsuite/dlopen.vcproj:
17021         * win32/testsuite/dynparams.vcproj:
17022         * win32/testsuite/elements.vcproj:
17023         * win32/testsuite/ghostpads.vcproj:
17024         * win32/testsuite/indexers.vcproj:
17025         * win32/testsuite/negotiation.vcproj:
17026         * win32/testsuite/parse.vcproj:
17027         * win32/testsuite/plugin.vcproj:
17028         * win32/testsuite/refcounting.vcproj:
17029         * win32/testsuite/schedulers.vcproj:
17030         * win32/testsuite/states.vcproj:
17031         * win32/testsuite/tags.vcproj:
17032         * win32/testsuite/threads.vcproj:
17033           remove old win32 stuff that isn't maintained and should be
17034           reorganized
17035
17036 2005-11-30  Andy Wingo  <wingo@pobox.com>
17037
17038         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
17039         loading the gst.interfaces python module bork.
17040
17041         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
17042         available since GLib 2.2. Fixes #318031.
17043
17044 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17045
17046         * Makefile.am:
17047         * check/.cvsignore:
17048         * check/Makefile.am:
17049         * check/elements/.cvsignore:
17050         * check/elements/fakesrc.c:
17051         * check/elements/fdsrc.c:
17052         * check/elements/identity.c:
17053         * check/generic/.cvsignore:
17054         * check/generic/states.c:
17055         * check/gst-libs/.cvsignore:
17056         * check/gst-libs/controller.c:
17057         * check/gst-libs/gdp.c:
17058         * check/gst/.cvsignore:
17059         * check/gst/capslist.h:
17060         * check/gst/gst.c:
17061         * check/gst/gstbin.c:
17062         * check/gst/gstbuffer.c:
17063         * check/gst/gstbus.c:
17064         * check/gst/gstcaps.c:
17065         * check/gst/gstelement.c:
17066         * check/gst/gstevent.c:
17067         * check/gst/gstghostpad.c:
17068         * check/gst/gstiterator.c:
17069         * check/gst/gstmessage.c:
17070         * check/gst/gstminiobject.c:
17071         * check/gst/gstobject.c:
17072         * check/gst/gstpad.c:
17073         * check/gst/gstpipeline.c:
17074         * check/gst/gstplugin.c:
17075         * check/gst/gstsegment.c:
17076         * check/gst/gststructure.c:
17077         * check/gst/gstsystemclock.c:
17078         * check/gst/gsttag.c:
17079         * check/gst/gstutils.c:
17080         * check/gst/gstvalue.c:
17081         * check/net/.cvsignore:
17082         * check/net/gstnetclientclock.c:
17083         * check/net/gstnettimeprovider.c:
17084         * check/pipelines/.cvsignore:
17085         * check/pipelines/cleanup.c:
17086         * check/pipelines/simple_launch_lines.c:
17087         * check/pipelines/stress.c:
17088         * check/states/.cvsignore:
17089         * check/states/sinks.c:
17090         * configure.ac:
17091         * examples/Makefile.am:
17092         * examples/appreader/.cvsignore:
17093         * examples/appreader/Makefile.am:
17094         * examples/appreader/appreader.c:
17095         * examples/controller/.cvsignore:
17096         * examples/controller/Makefile.am:
17097         * examples/controller/audio-example.c:
17098         * examples/cutter/.cvsignore:
17099         * examples/cutter/Makefile.am:
17100         * examples/cutter/cutter.c:
17101         * examples/cutter/cutter.h:
17102         * examples/events/Makefile.am:
17103         * examples/events/seek.c:
17104         * examples/helloworld/.cvsignore:
17105         * examples/helloworld/Makefile.am:
17106         * examples/helloworld/helloworld.c:
17107         * examples/helloworld2/.cvsignore:
17108         * examples/helloworld2/Makefile.am:
17109         * examples/helloworld2/helloworld2.c:
17110         * examples/launch/.cvsignore:
17111         * examples/launch/Makefile.am:
17112         * examples/launch/mp3parselaunch.c:
17113         * examples/launch/mp3play:
17114         * examples/manual/.cvsignore:
17115         * examples/manual/Makefile.am:
17116         * examples/manual/extract.pl:
17117         * examples/metadata/Makefile.am:
17118         * examples/metadata/read-metadata.c:
17119         * examples/mixer/.cvsignore:
17120         * examples/mixer/Makefile.am:
17121         * examples/mixer/mixer.c:
17122         * examples/mixer/mixer.h:
17123         * examples/pingpong/.cvsignore:
17124         * examples/pingpong/Makefile.am:
17125         * examples/pingpong/pingpong.c:
17126         * examples/plugins/.cvsignore:
17127         * examples/plugins/Makefile.am:
17128         * examples/plugins/example.c:
17129         * examples/plugins/example.h:
17130         * examples/pwg/.cvsignore:
17131         * examples/pwg/Makefile.am:
17132         * examples/pwg/extract.pl:
17133         * examples/queue/.cvsignore:
17134         * examples/queue/Makefile.am:
17135         * examples/queue/queue.c:
17136         * examples/queue2/.cvsignore:
17137         * examples/queue2/Makefile.am:
17138         * examples/queue2/queue2.c:
17139         * examples/queue3/.cvsignore:
17140         * examples/queue3/Makefile.am:
17141         * examples/queue3/queue3.c:
17142         * examples/queue4/.cvsignore:
17143         * examples/queue4/Makefile.am:
17144         * examples/queue4/queue4.c:
17145         * examples/retag/.cvsignore:
17146         * examples/retag/Makefile.am:
17147         * examples/retag/retag.c:
17148         * examples/retag/transcode.c:
17149         * examples/thread/.cvsignore:
17150         * examples/thread/Makefile.am:
17151         * examples/thread/thread.c:
17152         * examples/typefind/.cvsignore:
17153         * examples/typefind/Makefile.am:
17154         * examples/typefind/typefind.c:
17155         * examples/xml/.cvsignore:
17156         * examples/xml/Makefile.am:
17157         * examples/xml/createxml.c:
17158         * examples/xml/runxml.c:
17159         * tests/Makefile.am:
17160         * tests/check/Makefile.am:
17161         * testsuite/.cvsignore:
17162         * testsuite/Makefile.am:
17163         * testsuite/Rules:
17164         * testsuite/caps/.cvsignore:
17165         * testsuite/caps/Makefile.am:
17166         * testsuite/caps/app_fixate.c:
17167         * testsuite/caps/audioscale.c:
17168         * testsuite/caps/caps.c:
17169         * testsuite/caps/caps.h:
17170         * testsuite/caps/caps_strings:
17171         * testsuite/caps/compatibility.c:
17172         * testsuite/caps/deserialize.c:
17173         * testsuite/caps/enumcaps.c:
17174         * testsuite/caps/eratosthenes.c:
17175         * testsuite/caps/filtercaps.c:
17176         * testsuite/caps/fixed.c:
17177         * testsuite/caps/fraction-convert.c:
17178         * testsuite/caps/fraction-multiply-and-zero.c:
17179         * testsuite/caps/intersect2.c:
17180         * testsuite/caps/intersection.c:
17181         * testsuite/caps/normalisation.c:
17182         * testsuite/caps/random.c:
17183         * testsuite/caps/renegotiate.c:
17184         * testsuite/caps/sets.c:
17185         * testsuite/caps/simplify.c:
17186         * testsuite/caps/string-conversions.c:
17187         * testsuite/caps/structure.c:
17188         * testsuite/caps/subtract.c:
17189         * testsuite/caps/union.c:
17190         * testsuite/debug/.cvsignore:
17191         * testsuite/debug/Makefile.am:
17192         * testsuite/debug/category.c:
17193         * testsuite/debug/commandline.c:
17194         * testsuite/debug/global.c:
17195         * testsuite/debug/output.c:
17196         * testsuite/debug/printf_extension.c:
17197         * testsuite/dlopen/.cvsignore:
17198         * testsuite/dlopen/Makefile.am:
17199         * testsuite/dlopen/dlopen_gst.c:
17200         * testsuite/dlopen/loadgst.c:
17201         * testsuite/elements/.cvsignore:
17202         * testsuite/elements/Makefile.am:
17203         * testsuite/elements/gst-inspect-check.in:
17204         * testsuite/elements/struct_i386.h:
17205         * testsuite/elements/struct_size.c:
17206         * testsuite/indexers/.cvsignore:
17207         * testsuite/indexers/Makefile.am:
17208         * testsuite/indexers/cache1.c:
17209         * testsuite/indexers/indexdump.c:
17210         * testsuite/parse/.cvsignore:
17211         * testsuite/parse/Makefile.am:
17212         * testsuite/parse/parse1.c:
17213         * testsuite/parse/parse2.c:
17214         * testsuite/plugin/.cvsignore:
17215         * testsuite/plugin/Makefile.am:
17216         * testsuite/plugin/README:
17217         * testsuite/plugin/dynamic.c:
17218         * testsuite/plugin/linked.c:
17219         * testsuite/plugin/loading.c:
17220         * testsuite/plugin/registry.c:
17221         * testsuite/plugin/static.c:
17222         * testsuite/plugin/static2.c:
17223         * testsuite/plugin/testplugin.c:
17224         * testsuite/plugin/testplugin2.c:
17225         * testsuite/plugin/testplugin2_s.c:
17226         * testsuite/plugin/testplugin_s.c:
17227         * testsuite/refcounting/.cvsignore:
17228         * testsuite/refcounting/Makefile.am:
17229         * testsuite/refcounting/bin.c:
17230         * testsuite/refcounting/element.c:
17231         * testsuite/refcounting/element_pad.c:
17232         * testsuite/refcounting/mainloop.c:
17233         * testsuite/refcounting/mem.c:
17234         * testsuite/refcounting/mem.h:
17235         * testsuite/refcounting/object.c:
17236         * testsuite/refcounting/pad.c:
17237         * testsuite/refcounting/sched.c:
17238         * testsuite/refcounting/thread.c:
17239         * testsuite/states/.cvsignore:
17240         * testsuite/states/Makefile.am:
17241         * testsuite/states/bin.c:
17242         * testsuite/states/locked.c:
17243         * testsuite/states/parent.c:
17244         * testsuite/threads/.cvsignore:
17245         * testsuite/threads/159566.c:
17246         * testsuite/threads/159852.c:
17247         * testsuite/threads/Makefile.am:
17248         * testsuite/threads/queue.c:
17249         * testsuite/threads/signals.c:
17250         * testsuite/threads/staticrec.c:
17251         * testsuite/threads/thread.c:
17252         * testsuite/threads/threadb.c:
17253         * testsuite/threads/threadc.c:
17254         * testsuite/threads/threadd.c:
17255         * testsuite/threads/threade.c:
17256         * testsuite/threads/threadf.c:
17257         * testsuite/threads/threadg.c:
17258         * testsuite/threads/threadh.c:
17259         * testsuite/threads/threadi.c:
17260           move all of these under tests
17261
17262 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17263
17264         * configure.ac:
17265         * tests/Makefile.am:
17266           fix distcheck
17267
17268 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17269
17270         * docs/gst/gstreamer-sections.txt:
17271         * tests/sched/.cvsignore:
17272         * tests/sched/Makefile.am:
17273         * tests/sched/cases/(fs-fs).xml:
17274         * tests/sched/cases/(fs-i-fs).xml:
17275         * tests/sched/cases/(fs-i-i-fs).xml:
17276         * tests/sched/cases/(fs-i-q[i-fs]).xml:
17277         * tests/sched/dynamic-pipeline.c:
17278         * tests/sched/interrupt1.c:
17279         * tests/sched/interrupt2.c:
17280         * tests/sched/interrupt3.c:
17281         * tests/sched/runtestcases:
17282         * tests/sched/runxml.c:
17283         * tests/sched/sched-stress.c:
17284         * tests/sched/sort.c:
17285         * tests/sched/testcases:
17286         * tests/sched/testcases1.tc:
17287         * tests/seeking/.cvsignore:
17288         * tests/seeking/Makefile.am:
17289         * tests/seeking/seeking1.c:
17290         * tests/threadstate/.cvsignore:
17291         * tests/threadstate/Makefile.am:
17292         * tests/threadstate/test1.c:
17293         * tests/threadstate/test2.c:
17294         * tests/threadstate/threadstate1.c:
17295         * tests/threadstate/threadstate2.c:
17296         * tests/threadstate/threadstate3.c:
17297         * tests/threadstate/threadstate4.c:
17298         * tests/threadstate/threadstate5.c:
17299           remove obsolete tests
17300         * configure.ac:
17301         * tests/bench-complexity.scm:
17302         * tests/bench-mass_elements.scm:
17303         * tests/complexity.c:
17304         * tests/complexity.gnuplot:
17305         * tests/instantiate/.cvsignore:
17306         * tests/instantiate/Makefile.am:
17307         * tests/instantiate/caps.c:
17308         * tests/mass_elements.c:
17309         * tests/network-clock-utils.scm:
17310         * tests/network-clock.scm:
17311         * tests/plot-data:
17312         First pass at cleaning up tests/ dir before moving the rest
17313         Combined with CVS surgery
17314
17315 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17316
17317         * po/POTFILES.in:
17318           queue has moved, update
17319
17320 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17321
17322         * docs/gst/gstreamer-sections.txt:
17323           remove double entries from the docs
17324         * gst/gst_private.h:
17325         * gst/gstinfo.c: (_gst_debug_init):
17326           remove the THREAD debug category
17327         * gst/Makefile.am:
17328         * gst/gstqueue.c:
17329         * gst/gstqueue.h:
17330         * docs/gst/gstreamer.types:
17331         * plugins/elements/gstqueue.c: (gst_queue_get_type),
17332         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
17333           completely move queue and fix up debugging categories
17334
17335 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17336
17337         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17338           make initialization portable, using LL is not
17339
17340 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17341
17342         * win32/common/gstconfig.h:
17343           add large padding
17344
17345 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17346
17347         * win32/common/libgstreamer.def:
17348           rename symbols; sort base section
17349
17350 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17351
17352         * gst/gstclock.c: (do_linear_regression):
17353           remove crack non-portable handrolled DEBUG macro
17354
17355 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17356
17357         * docs/random/release:
17358           update notes
17359         * win32/common/gstenumtypes.c: (register_gst_object_flags),
17360         (gst_object_flags_get_type), (register_gst_bin_flags),
17361         (gst_bin_flags_get_type), (register_gst_buffer_flag),
17362         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17363         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
17364         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
17365         (gst_caps_flags_get_type), (register_gst_clock_return),
17366         (gst_clock_return_get_type), (register_gst_clock_entry_type),
17367         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
17368         (gst_clock_flags_get_type), (register_gst_state),
17369         (gst_state_get_type), (register_gst_state_change_return),
17370         (gst_state_change_return_get_type), (register_gst_state_change),
17371         (gst_state_change_get_type), (register_gst_element_flags),
17372         (gst_element_flags_get_type), (register_gst_core_error),
17373         (gst_core_error_get_type), (register_gst_library_error),
17374         (gst_library_error_get_type), (register_gst_resource_error),
17375         (gst_resource_error_get_type), (register_gst_stream_error),
17376         (gst_stream_error_get_type), (register_gst_event_type_flags),
17377         (gst_event_type_flags_get_type), (register_gst_event_type),
17378         (gst_event_type_get_type), (register_gst_seek_type),
17379         (gst_seek_type_get_type), (register_gst_seek_flags),
17380         (gst_seek_flags_get_type), (register_gst_format),
17381         (gst_format_get_type), (register_gst_index_certainty),
17382         (gst_index_certainty_get_type), (register_gst_index_entry_type),
17383         (gst_index_entry_type_get_type),
17384         (register_gst_index_lookup_method),
17385         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
17386         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
17387         (gst_index_resolver_method_get_type), (register_gst_index_flags),
17388         (gst_index_flags_get_type), (register_gst_debug_level),
17389         (gst_debug_level_get_type), (register_gst_debug_color_flags),
17390         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
17391         (gst_iterator_result_get_type), (register_gst_iterator_item),
17392         (gst_iterator_item_get_type), (register_gst_message_type),
17393         (gst_message_type_get_type), (register_gst_mini_object_flags),
17394         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
17395         (gst_pad_link_return_get_type), (register_gst_flow_return),
17396         (gst_flow_return_get_type), (register_gst_activate_mode),
17397         (gst_activate_mode_get_type), (register_gst_pad_direction),
17398         (gst_pad_direction_get_type), (register_gst_pad_flags),
17399         (gst_pad_flags_get_type), (register_gst_pad_presence),
17400         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
17401         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
17402         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
17403         (gst_plugin_error_get_type), (register_gst_plugin_flags),
17404         (gst_plugin_flags_get_type), (register_gst_rank),
17405         (gst_rank_get_type), (register_gst_query_type),
17406         (gst_query_type_get_type), (register_gst_tag_merge_mode),
17407         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
17408         (gst_tag_flag_get_type), (register_gst_task_state),
17409         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
17410         (gst_alloc_trace_flags_get_type),
17411         (register_gst_type_find_probability),
17412         (gst_type_find_probability_get_type), (register_gst_uri_type),
17413         (gst_uri_type_get_type), (register_gst_parse_error),
17414         (gst_parse_error_get_type):
17415         * win32/common/gstenumtypes.h:
17416         * win32/common/gstversion.h:
17417           update visual studio generated files
17418
17419 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17420
17421         * win32/vs6/libgstbase.dsp:
17422         * win32/vs6/libgstelements.dsp:
17423           update project files for new locations
17424
17425 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17426
17427         * Makefile.am:
17428           remove some files
17429         * README:
17430           reinstate and update
17431         * DEVEL:
17432         * REQUIREMENTS:
17433           removed
17434         * LICENSE:
17435         * docs/random/LICENSE:
17436           moved to random
17437
17438 2005-11-30  Edward Hervey  <edward@fluendo.com>
17439
17440         * gst/gsttypefind.c: (gst_type_find_register):
17441         * gst/gsttypefind.h:
17442         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
17443         (gst_type_find_factory_dispose):
17444         * gst/gsttypefindfactory.h:
17445         Fix memory leak in GstTypeFindFactory.
17446
17447 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17448
17449         * gst/gst.c:
17450         * plugins/elements/Makefile.am:
17451         * plugins/elements/gstelements.c:
17452         * plugins/elements/gstqueue.c:
17453           move queue from core to the elements plugin
17454
17455 2005-11-29  Andy Wingo  <wingo@pobox.com>
17456
17457         * libs/gst/base/gstbasetransform.h: 
17458         * libs/gst/base/gstbasesrc.h: 
17459         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
17460
17461         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
17462         of pointers by which to pad very extensible base classes (like the
17463         ones in libs/gst/base).
17464
17465 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17466
17467         * docs/gst/gstreamer-docs.sgml:
17468         * docs/gst/gstreamer-sections.txt:
17469         * docs/libs/gstreamer-libs-docs.sgml:
17470         * docs/libs/gstreamer-libs-sections.txt:
17471           moving documentation from core to lib
17472
17473 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17474
17475         * check/Makefile.am:
17476         * configure.ac:
17477         * docs/gst/Makefile.am:
17478         * gst/Makefile.am:
17479         * gst/base/.cvsignore:
17480         * gst/base/Makefile.am:
17481         * gst/base/README:
17482         * gst/base/gstadapter.c:
17483         * gst/base/gstadapter.h:
17484         * gst/base/gstbasesink.c:
17485         * gst/base/gstbasesink.h:
17486         * gst/base/gstbasesrc.c:
17487         * gst/base/gstbasesrc.h:
17488         * gst/base/gstbasetransform.c:
17489         * gst/base/gstbasetransform.h:
17490         * gst/base/gstcollectpads.c:
17491         * gst/base/gstcollectpads.h:
17492         * gst/base/gstpushsrc.c:
17493         * gst/base/gstpushsrc.h:
17494         * gst/base/gsttypefindhelper.c:
17495         * gst/base/gsttypefindhelper.h:
17496         * gst/check/Makefile.am:
17497         * gst/check/gstcheck.c:
17498         * gst/check/gstcheck.h:
17499         * gst/net/Makefile.am:
17500         * gst/net/gstnet.h:
17501         * gst/net/gstnetclientclock.c:
17502         * gst/net/gstnetclientclock.h:
17503         * gst/net/gstnettimepacket.c:
17504         * gst/net/gstnettimepacket.h:
17505         * gst/net/gstnettimeprovider.c:
17506         * gst/net/gstnettimeprovider.h:
17507         * libs/gst/Makefile.am:
17508         * libs/gst/base/Makefile.am:
17509         * libs/gst/base/gstbasetransform.c:
17510         * libs/gst/check/Makefile.am:
17511         * plugins/elements/Makefile.am:
17512         * po/POTFILES.in:
17513           CVS surgery + support to move base, check, and net out of gst
17514           and into libs/gst
17515
17516 2005-11-29  Andy Wingo  <wingo@pobox.com>
17517
17518         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
17519
17520         * gst/gststructure.h (struct _GstStructure): Only one pointer of
17521         padding.
17522
17523         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
17524
17525         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
17526
17527         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
17528
17529         * gst/gstobject.h: (struct _GstObject): Only one pointer of
17530         padding; reduces object size by about 30%. We don't expect
17531         anything else to go into gstobject.
17532
17533         * gst/gstminiobject.h (struct _GstMiniObject)
17534         (struct _GstMiniObjectClass): Only one pointer of padding; the
17535         payload is only a pointer and two ints anyway. For the class there
17536         are only two methods as well.
17537         
17538         * gst/gstelement.h (struct _GstElementClass): Removed
17539         the state_changed signal callback, it is not used.
17540
17541 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17542
17543         * docs/gst/gstreamer.types:
17544           fix includes, though they are a little dinky
17545
17546 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17547
17548         * check/Makefile.am:
17549           look in the right place for elements, a lot more chance of
17550           success
17551         * gst/Makefile.am:
17552           remove indexers and elements subdirs
17553         * plugins/Makefile.am:
17554           make indexers conditional
17555
17556 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17557
17558         * Makefile.am:
17559         * configure.ac:
17560         * plugins/elements/Makefile.am:
17561         * plugins/elements/gstcapsfilter.c:
17562         * plugins/elements/gstfilesink.c:
17563         * plugins/elements/gstfilesrc.c:
17564         * plugins/elements/gstidentity.c:
17565         * plugins/indexers/Makefile.am:
17566           do CVS surgery and related build fixery to move elements
17567           and indexers in a new gstreamer/plugins directory, out of the
17568           gst/ directory
17569
17570 2005-11-29  Andy Wingo  <wingo@pobox.com>
17571
17572         * check/Makefile.am:
17573         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17574         * pkgconfig/gstreamer-net.pc.in:
17575         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
17576         #322257.
17577
17578 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17579
17580         * tools/Makefile.am:
17581         * tools/gst-complete.1.in:
17582         * tools/gst-complete.c:
17583         * tools/gst-compprep.1.in:
17584         * tools/gst-compprep.c:
17585           removing -compprep and -complete
17586
17587 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17588
17589         * gst/gstevent.c: (gst_event_new_new_segment),
17590         (gst_event_parse_new_segment):
17591         * gst/gstevent.h:
17592           fix #320529 - clean up new_segment API and structure.
17593           Let's hope everyone was using the methods, and not the structure.
17594
17595 2005-11-29  Edward Hervey  <edward@fluendo.com>
17596
17597         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17598         (gst_base_sink_event), (gst_base_sink_do_sync),
17599         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
17600         Properly handle non GST_FORMAT_TIME segment
17601         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17602         Properly handle non GST_FORMAT_TIME segment
17603         * gst/gstsegment.c:
17604         This function is valid if the accumulator is 0 and the format
17605         is different from the requested format.
17606         
17607 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
17608
17609         * docs/gst/gstreamer-sections.txt:
17610         Add gst_query_new_seeking and gst_query_parse_seeking to the
17611         docs.
17612
17613 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
17614
17615         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17616           Treat a pad alloc with new caps the same as if we were not
17617           negotiated, in order to allow a changing upstream output
17618           to produce a new format of data.
17619
17620 2005-11-29  Edward Hervey  <edward@fluendo.com>
17621
17622         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17623         (gst_base_transform_event), (gst_base_transform_eventfunc):
17624         The event virtual method is now properly implemented, with a default
17625         handler
17626         Sub classes should call the parent_class event method. They should
17627         return FALSE if they had a problem handling the given event, or don't
17628         want GstBaseTransform to send that even downstream
17629         * gst/elements/gstidentity.c: (gst_identity_class_init),
17630         (gst_identity_init), (gst_identity_event),
17631         (gst_identity_transform_ip), (gst_identity_set_property),
17632         (gst_identity_get_property):
17633         * gst/elements/gstidentity.h:
17634         Added the single-segment boolean property.
17635         If set to TRUE, it will output a single segment of data, starting from
17636         0, will eat up all incoming newsegment, and modify the timestamp of the
17637         buffers accordingly
17638
17639 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
17640
17641         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
17642           Don't ref NULL target pad (#322751). Improve docs.
17643
17644 2005-11-29  Michael Smith  <msmith@fluendo.com>
17645
17646         * gst/gstregistryxml.c: (load_plugin):
17647           Don't crash if we failed to load a feature from a plugin. 
17648
17649 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17650
17651         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17652         (GST_START_TEST):
17653           use more check API and less GLib API
17654
17655 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17656
17657         * Makefile.am:
17658           don't run checks if we don't have check
17659         * common/check.mak:
17660           remove the registry when running make torture
17661         * docs/gst/gstreamer-sections.txt:
17662           remove second multiply
17663         * gst/gstqueue.c: (gst_queue_loop):
17664           fix a compile warning when disabling debug
17665
17666 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17667
17668         * gst/gstinfo.h:
17669         Hey! Let's print the pad name if the pointer != NULL instead
17670         of when it == NULL :-)
17671
17672 2005-11-28  Wim Taymans  <wim@fluendo.com>
17673
17674         * check/gst/gstutils.c: (GST_START_TEST):
17675         Updated check, add some scaling accuracy checking code.
17676
17677         * gst/gstutils.c: (gst_util_div128_64),
17678         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
17679         (gst_util_uint64_scale_int):
17680         Fix 6 times faster division code. Optimize for common 
17681         1/1 and less common X/1 cases.
17682
17683 2005-11-28  Wim Taymans  <wim@fluendo.com>
17684
17685         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17686         More checks.
17687
17688         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
17689         (do_linear_regression), (gst_clock_add_observation):
17690         Cleanups.
17691         Release lock when the clock cannot be slaved.
17692         Catch the case where the regression returned an invalid denominator.
17693
17694         * gst/gstutils.c: (gst_util_div128_64_iterate),
17695         (gst_util_div128_64), (gst_util_uint64_scale_int64),
17696         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17697         Add protentially more performant non-iterative 128/64 divide function
17698         that unfortunatly does not work yet.
17699         Shortcut the trivial 0/X = 0 case.
17700         Remove the warnings on overflow.
17701
17702 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17703
17704         * gst/gstplugin.c: (gst_plugin_register_func):
17705           everything causing a plugin not to load should be at least a WARNING
17706
17707 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
17708
17709         * docs/random/ensonic/dparams.txt:
17710           some TODOs for the next dev cycle
17711         * libs/gst/controller/gstcontroller.c:
17712         (gst_controlled_property_set_interpolation_mode),
17713         (gst_controlled_property_new):
17714         * libs/gst/controller/gstcontroller.h:
17715           use base type to assign acccessor functions
17716
17717 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17718
17719         * check/Makefile.am:
17720         Oops, that should have been top_srcdir
17721
17722 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17723
17724         * check/Makefile.am:
17725         * check/elements/fdsrc.c: (GST_START_TEST):
17726         Use a cmdline define to specify the location of a file to use for
17727         testing, to avoid breaking distcheck.
17728
17729 2005-11-28  Andy Wingo  <wingo@pobox.com>
17730
17731         * gst/gstpad.c (fixate_value): Use array functions for arrays.
17732
17733 2005-11-28  Edward Hervey  <edward@fluendo.com>
17734
17735         * tools/gst-launch.c: (main):
17736         Clarify the output strings, makes it easier to translate.
17737         Fixes #322626
17738
17739 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17740
17741         * gst/Makefile.am:
17742           don't try and build net if we don't even have <sys/socket.h>
17743
17744 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
17745
17746         * check/Makefile.am:
17747         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
17748         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
17749           Add tests for fdsrc seekability
17750
17751         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
17752         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
17753         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
17754         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
17755         * gst/elements/gstfdsrc.h:
17756           fdsrc should not be a 'live' source.
17757           Implement seeking on seekable fd's.
17758
17759         * gst/gstquery.c: (gst_query_new_seeking),
17760         (gst_query_parse_seeking):
17761         * gst/gstquery.h:
17762           Implement SEEKING query functions: 
17763             *_new_seeking and *_parse_seeking
17764
17765 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
17766
17767         * gst/gstelement.c: (gst_element_dispose):
17768           don't loop forever
17769
17770         * gst/gstiterator.c:
17771         * gst/gststructure.c:
17772           doc fixes
17773
17774         * libs/gst/controller/gstcontroller.c:
17775         (gst_controlled_property_set_interpolation_mode):
17776         * libs/gst/controller/gstcontroller.h:
17777         * libs/gst/controller/gstinterpolation.c:
17778         (interpolate_none_get_enum_value_array):
17779           support controlling enums
17780
17781 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
17782
17783         * gst/gstvalue.c:
17784           Improve documentation for gst_value_union().
17785
17786         * gst/gstvalue.h:
17787           Change return value for union, intersect and subtract functions
17788           from gint to gboolean.
17789
17790 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
17791
17792         * gst/gstvalue.c: (gst_value_serialize_any_list),
17793         (gst_value_transform_any_list_string),
17794         (gst_value_deserialize_list), (gst_value_deserialize_array),
17795         (gst_value_set_int_range), (gst_value_deserialize_int_range),
17796         (gst_value_set_double_range), (gst_value_deserialize_double_range),
17797         (gst_value_set_fraction_range_full),
17798         (gst_value_deserialize_fraction_range),
17799         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
17800         (gst_value_deserialize_boolean),
17801         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
17802         (gst_value_serialize_float), (gst_value_deserialize_float),
17803         (gst_string_wrap), (gst_value_deserialize_string),
17804         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
17805         (gst_value_union_int_range_int_range),
17806         (gst_value_intersect_int_range_int_range),
17807         (gst_value_intersect_double_range_double_range),
17808         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
17809         (gst_value_subtract_int_range_int_range),
17810         (gst_value_subtract_double_double_range),
17811         (gst_value_subtract_double_range_double_range),
17812         (gst_value_deserialize_fraction):
17813         * gst/gstvalue.h:
17814           Use gint, gdouble and gchar in our API instead of int, double and
17815           char (and make usage in gstvalue.c more consistent).
17816
17817 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17818
17819         * check/Makefile.am:
17820         * libs/gst/controller/Makefile.am:
17821         * libs/gst/dataprotocol/Makefile.am:
17822           fix up Makefile.am and remove GST_ENABLE_NEW
17823
17824 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17825
17826         * configure.ac:
17827         * gst/Makefile.am:
17828         * gst/base/Makefile.am:
17829         * gst/check/Makefile.am:
17830         * gst/elements/Makefile.am:
17831         * gst/net/Makefile.am:
17832           update LDFLAGS use some more
17833
17834 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17835
17836         * common/m4/gst-doc.m4:
17837           Fixes #312589
17838
17839 2005-11-26  Edward Hervey  <edward@fluendo.com>
17840
17841         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17842         This shouldn't issue a g_warning since it returns NULL if it
17843         couldn't find the plugin, and all functions using this behave
17844         properly on a NULL return. Switching to a GST_WARNING.
17845
17846 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
17847
17848         * gst/gstbin.c: (gst_bin_handle_message_func):
17849         Don't leak clock messages.
17850
17851 2005-11-25  Wim Taymans  <wim@fluendo.com>
17852
17853         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17854         (gst_util_uint64_scale_int):
17855         Optimisations, remove unneeded vars.
17856
17857 2005-11-25  Wim Taymans  <wim@fluendo.com>
17858
17859         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17860         Added more checks for the high precision uint64 cases.
17861
17862         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17863         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17864         Implement high precision (guint64 * guint64) / guint64.
17865
17866 2005-11-24  Wim Taymans  <wim@fluendo.com>
17867
17868         * gst/base/gstbasesrc.c: (gst_base_src_query):
17869         Fix wrong percentage query.
17870
17871         * gst/gstutils.c: (gst_util_uint64_scale),
17872         (gst_util_uint64_scale_int):
17873         Add some more common cases that can be handled 
17874         efficiently to _scale.
17875
17876 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17877
17878         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
17879         (gst_mini_object_suite):
17880           don't use check calls from threads; check probably isn't
17881           threadsafe and using a lock to make it threadsafe would
17882           defeat the purpose of this check
17883         * gst/check/gstcheck.c:
17884         * gst/check/gstcheck.h:
17885           use GST_DEBUG some more
17886
17887 2005-11-24  Wim Taymans  <wim@fluendo.com>
17888
17889         * gst/gstutils.c: (gst_util_uint64_scale),
17890         (gst_util_uint64_scale_int):
17891         Chain trivial case to _scale_int.
17892
17893 2005-11-24  Wim Taymans  <wim@fluendo.com>
17894
17895         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17896         Added test for scaling.
17897
17898         * gst/gstclock.h:
17899         Small doc fix.
17900
17901         * gst/gstutils.c: (gst_util_uint64_scale_int):
17902         Implemented high precision scaling code.
17903
17904 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
17905
17906         * gst/gstinfo.h:
17907           do not crash on pad==NULL
17908
17909 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17910
17911         Patch by: Stefan Kost
17912
17913         * common/gtk-doc.mak:
17914         * docs/gst/Makefile.am:
17915         * docs/libs/Makefile.am:
17916           Fix distcheck issues for the libraries docs build
17917           Closes #319599.
17918
17919 2005-11-24  Michael Smith <msmith@fluendo.com>
17920
17921         * docs/manual/basics-helloworld.xml:
17922           Fix bug #315027: memory leak in example code in docs.
17923
17924 2005-11-24  Michael Smith <msmith@fluendo.com>
17925
17926         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17927           Unlock the PREROLL_LOCK in a failure case.
17928
17929 2005-11-24  Wim Taymans  <wim@fluendo.com>
17930
17931         * docs/gst/gstreamer-sections.txt:
17932         * gst/base/gstadapter.h:
17933         * gst/base/gstbasesink.h:
17934         * gst/base/gstbasesrc.h:
17935         * gst/base/gstbasetransform.h:
17936         * gst/base/gstpushsrc.h:
17937         * gst/elements/gstfakesink.h:
17938         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
17939         * gst/elements/gstfakesrc.h:
17940         * gst/elements/gstfilesink.h:
17941         * gst/elements/gstfilesrc.h:
17942         * gst/gst.c:
17943         * gst/gstbin.c:
17944         * gst/gstbuffer.c: (_gst_buffer_copy):
17945         * gst/gstbus.h:
17946         * gst/gstcaps.c:
17947         * gst/gstchildproxy.c:
17948         * gst/gstclock.c:
17949         * gst/gstelement.c:
17950         * gst/gstelementfactory.c:
17951         * gst/gstelementfactory.h:
17952         * gst/gstevent.c:
17953         * gst/gstghostpad.h:
17954         * gst/gstindex.h:
17955         * gst/gstinterface.h:
17956         * gst/gstminiobject.c:
17957         * gst/gstminiobject.h:
17958         * gst/gstpad.c:
17959         * gst/gstpad.h:
17960         * gst/gstpadtemplate.h:
17961         * gst/gstpipeline.h:
17962         * gst/gstpluginfeature.h:
17963         * gst/gstquery.h:
17964         * gst/gstqueue.h:
17965         * gst/gsttaglist.c:
17966         * gst/gsttaglist.h:
17967         * gst/gsttagsetter.c:
17968         * gst/gsttagsetter.h:
17969         * gst/gsttrace.c:
17970         * gst/gsttrace.h:
17971         * gst/gsttypefind.h:
17972         * gst/gsturi.h:
17973         * gst/gstvalue.c:
17974         * gst/net/gstnetclientclock.c:
17975         * gst/net/gstnetclientclock.h:
17976         * gst/net/gstnettimepacket.c:
17977         * gst/net/gstnettimeprovider.c:
17978         * gst/net/gstnettimeprovider.h:
17979         Doc fixes.
17980
17981 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17982
17983         * configure.ac: back to HEAD
17984
17985 === release 0.9.6 ===
17986
17987 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
17988
17989         * configure.ac:
17990           releasing 0.9.6, "Always On Time"
17991
17992 2005-11-23  Wim Taymans  <wim@fluendo.com>
17993
17994         * docs/gst/gstreamer-sections.txt:
17995         * gst/glib-compat.c:
17996         * gst/gsttagsetter.c:
17997         * gst/gstvalue.c:
17998         * gst/net/gstnetclientclock.c:
17999         * gst/net/gstnettimepacket.h:
18000         Doc updates.
18001
18002 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18003
18004         * docs/faq/using.xml:
18005         * docs/libs/tmpl/gstcontrol.sgml:
18006         * docs/manual/advanced-dparams.xml:
18007         * docs/manual/appendix-checklist.xml:
18008         * docs/manual/basics-elements.xml:
18009         * docs/pwg/other-source.xml:
18010         * docs/random/moving-plugins:
18011         * gst/gstpad.c:
18012         * tools/gst-launch.1.in:
18013           remove mentions of sinesrc
18014
18015 2005-11-23  Michael Smith <msmith@fluendo.com>
18016
18017         * docs/gst/gstreamer-sections.txt:
18018           Update for new API and API changes.
18019         * gst/gstobject.h:
18020           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
18021         * gst/gstvalue.c:
18022           Documentation typo fix.
18023         * gst/net/gstnettimepacket.c:
18024           Documentation fixes for arguments.
18025
18026 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
18027
18028         * gst/gststructure.c: (gst_structure_get_fraction),
18029         (gst_structure_parse_value),
18030         (gst_structure_fixate_field_nearest_fraction):
18031         * gst/gststructure.h:
18032         * gst/gstutils.c: (gst_util_uint64_scale_int):
18033         * gst/gstutils.h:
18034         * scripts/update-funcnames:
18035         API Changes. 
18036         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
18037         Make gst_structure_fixate_field_nearest_fraction take a numerator
18038         and denominator argument instead of a GValue
18039         add gst_structure_get_fraction helper function.
18040
18041 2005-11-23  Wim Taymans  <wim@fluendo.com>
18042
18043         * docs/design/part-TODO.txt:
18044         Update TODO.
18045
18046         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
18047         * gst/net/gstnetclientclock.h:
18048         Use parent fields for timeout and window_size.
18049
18050 2005-11-23  Andy Wingo  <wingo@pobox.com>
18051
18052         * check/net/gstnetclientclock.c (test_functioning): Adjust to
18053         rate_num/rate_denom change.
18054
18055         * gst/net/gstnetclientclock.c
18056         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
18057         OBJECT_LOCK. Don't call add_observation with the lock.
18058
18059         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
18060         fraction.
18061         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
18062         rate fraction.
18063         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
18064         deal with rate as a fraction whose numerator and denominator are
18065         GstClockTime values.
18066         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
18067         master; the other fields are protected by the SLAVE_LOCK.
18068         (do_linear_regression): Note that this must be called with the
18069         SLAVE_LOCK.
18070         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
18071         OBJECT_LOCK. Call set_calibration instead of touching the
18072         variables directly.
18073         (gst_clock_set_property, gst_clock_get_property): Protect
18074         master/slave parameters with the SLAVE_LOCK.
18075
18076         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
18077         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
18078         note that all of the instance variables that add_observation and
18079         the set_master functions use are protected by that lock and not
18080         the OBJECT_LOCK.
18081         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
18082
18083         * gst/gstclock.c (gst_clock_add_observation): No longer requires
18084         the caller to take the object lock.
18085
18086 2005-11-23  Wim Taymans  <wim@fluendo.com>
18087
18088         * gst/gsterror.c: (_gst_core_errors_init):
18089         * gst/gsterror.h:
18090         Add error for clock stuff.
18091
18092         * gst/gstpipeline.c: (gst_pipeline_change_state),
18093         (gst_pipeline_set_clock):
18094         Post clock error when clock cannot be used in a pipeline.
18095
18096 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
18097
18098         * docs/gst/gstreamer-sections.txt:
18099           make two symbols from gstinfo private for the docs
18100         * gst/base/gstcollectpads.h:
18101         * gst/gstutils.c:
18102           fix doc typos, update docs
18103
18104 2005-11-22  Wim Taymans  <wim@fluendo.com>
18105
18106         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18107         (gst_base_sink_wait), (gst_base_sink_do_sync),
18108         (gst_base_sink_handle_event):
18109         * gst/base/gstbasesink.h:
18110         No need to store the clock, the parent element class already
18111         has it.
18112
18113         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
18114         Updates for clock_set returning a gboolean
18115
18116         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
18117         (gst_clock_id_wait_async), (gst_clock_class_init),
18118         (gst_clock_init), (gst_clock_finalize),
18119         (gst_clock_get_internal_time), (gst_clock_get_time),
18120         (gst_clock_slave_callback), (gst_clock_set_master),
18121         (gst_clock_get_master), (do_linear_regression),
18122         (gst_clock_add_observation), (gst_clock_set_property),
18123         (gst_clock_get_property):
18124         * gst/gstclock.h:
18125         Implement master/slave. When setting a clock as a slave, a
18126         periodic timeout is scheduled to sample master and slave times.
18127         Then the slave clock is recalibrated to match offset and rate
18128         of the master clock.
18129         Update logging a bit.
18130         Add flag so that a clock can state that is cannot be slaved to
18131         another clock.
18132
18133         * gst/gstelement.c: (gst_element_set_clock):
18134         * gst/gstelement.h:
18135         The set clock returns a gboolean for when an element cannot
18136         deal with the selected clock in the pipeline. 
18137
18138         * gst/gstpipeline.c: (gst_pipeline_change_state),
18139         (gst_pipeline_set_clock):
18140         * gst/gstpipeline.h:
18141         Handle the case where the selected clock cannot be set on
18142         the pipeline.
18143
18144         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
18145         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
18146         (gst_net_client_clock_set_property),
18147         (gst_net_client_clock_get_property),
18148         (gst_net_client_clock_observe_times):
18149         * gst/net/gstnetclientclock.h:
18150         Use regression code in GstClock parent, remove duplicated
18151         functionality.
18152
18153 2005-11-22  Michael Smith <msmith@fluendo.com>
18154
18155         * gst/gstutils.c: (gst_util_clock_time_scale):
18156         * gst/gstutils.h:
18157         * docs/gst/gstreamer-sections.txt:
18158           Rename method to have extra underscore.
18159
18160 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18161
18162         * gst/elements/Makefile.am:
18163         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
18164         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18165         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18166         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
18167         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
18168         * gst/elements/gstfakesrc.h:
18169         * gst/gstqueue.c: (queue_leaky_get_type):
18170           correctly fix GEnumValues so that nick is the short lowercase
18171           dashed tag
18172         * tools/gst-inspect.c: (print_element_properties_info):
18173           also show the nick, since it's useful to use from parse_launch
18174           syntax
18175           Fixes #322139
18176
18177 2005-11-22  Michael Smith <msmith@fluendo.com>
18178
18179         * gst/gstutils.c: (gst_util_clocktime_scale):
18180         * gst/gstutils.h:
18181         * docs/gst/gstreamer-sections.txt:
18182           Add util method for scaling a clocktime by a fraction. Useful 
18183           implementation is left as an exercise for the reader.
18184
18185 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18186
18187         * gst/gstvalue.c: (gst_value_collect_fraction_range):
18188         If needed, allocate storage in the destination value during
18189         collection.
18190
18191 2005-11-22  Edward Hervey  <edward@fluendo.com>
18192
18193         * docs/gst/gstreamer-sections.txt:
18194         * gst/Makefile.am:
18195         * gst/gst.h:
18196         * gst/gsturitype.c:
18197         * gst/gsturitype.h:
18198         * gst/gstutils.c: (gst_util_set_object_arg):
18199         * tools/gst-compprep.c: (main):
18200         * tools/gst-inspect.c: (print_element_properties_info):
18201         Removed GstURI, closes bug #321061
18202
18203 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18204
18205         * check/gst/gststructure.c: (GST_START_TEST):
18206         * gst/gststructure.c: (gst_structure_parse_value):
18207           Oops, broke automatic string type parsing.
18208           Add a test to catch it in future.
18209
18210 2005-11-22  Andy Wingo  <wingo@pobox.com>
18211
18212         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
18213         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
18214         Actually rename the function implementations. Grr.
18215
18216 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18217
18218         * check/gst/capslist.h:
18219           Comment test cases
18220         * check/gst/gststructure.c: (GST_START_TEST),
18221         (gst_structure_suite):
18222           Test automatic value type detection in gst_structure_from_string.
18223         * gst/gststructure.c: (gst_structure_parse_value):
18224           Add fraction as a type we try and guess automatically in
18225           caps/structure strings.
18226
18227 2005-11-22  Andy Wingo  <wingo@pobox.com>
18228
18229         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
18230
18231         * gst/gsttagsetter.h:
18232         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
18233         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
18234         (gst_tag_setter_add_tag_valist)
18235         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
18236         _add_values, _add_valist, and _add_valist_values. Since this is an
18237         interface the function suffixes should be more explicit so
18238         language binding don't end up with element.add_valist ->
18239         gst_tag_setter_add_valist, for example. Fixes #322069.
18240
18241 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18242
18243         * check/gst/gstcaps.c: (GST_START_TEST):
18244           Extend caps string tests to check that a caps to string
18245           conversion is reversible and produces the same caps.
18246
18247         * gst/gststructure.c: (gst_structure_value_get_generic_type):
18248           Output "fraction" as the generic type fraction range, so caps
18249           serialisation and deserialisation works.
18250         * check/gst/capslist.h:
18251         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18252           Support 'MIN' and 'MAX' for deserialising fractions.
18253
18254 2005-11-22  Andy Wingo  <wingo@pobox.com>
18255
18256         * gst/gstevent.h (gst_event_new_new_segment)
18257         (gst_event_parse_new_segment, gst_event_new_buffer_size)
18258         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
18259         Renamed from *_newsegment, *_buffersize, *_notarget.
18260
18261         * scripts/update-funcnames: New script, performs the changes
18262         listed above.
18263
18264 2005-11-22  Wim Taymans  <wim@fluendo.com>
18265
18266         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18267         Make sure the GstFlowReturn is returned.
18268
18269         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
18270         (gst_bus_add_signal_watch):
18271         * gst/gstbus.h:
18272         add gst_bus_add_signal_watch_full.
18273
18274         * gst/gstplugin.c: (gst_plugin_load_file):
18275         Small style cleanup.
18276
18277 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18278
18279         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
18280           Block the fakesrc srcpad when we send an event, to avoid
18281           contention on the stream_lock causing random test failures.
18282
18283 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18284
18285         * check/gst/gstvalue.c: (GST_START_TEST):
18286         * gst/gstvalue.c: (gst_value_fraction_subtract):
18287           Fix subtraction.
18288
18289 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
18290
18291         * gst/gst.h:
18292           include "gstchildproxy.h"
18293         * gst/gstchildproxy.h:
18294         * libs/gst/controller/gstcontroller.h:
18295           use G_GNUC_NULL_TERMINATED
18296
18297 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18298
18299         * check/gst/capslist.h:
18300         * check/gst/gstcaps.c: (GST_START_TEST):
18301         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18302         * gst/gststructure.c: (gst_structure_parse_range),
18303         (gst_structure_fixate_field_nearest_fraction):
18304         * gst/gststructure.h:
18305         * gst/gstvalue.c: (gst_value_init_fraction_range),
18306         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
18307         (gst_value_collect_fraction_range),
18308         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
18309         (gst_value_set_fraction_range_full),
18310         (gst_value_get_fraction_range_min),
18311         (gst_value_get_fraction_range_max),
18312         (gst_value_serialize_fraction_range),
18313         (gst_value_transform_fraction_range_string),
18314         (gst_value_compare_fraction_range),
18315         (gst_value_deserialize_fraction_range),
18316         (gst_value_intersect_fraction_fraction_range),
18317         (gst_value_intersect_fraction_range_fraction_range),
18318         (gst_value_subtract_fraction_fraction_range),
18319         (gst_value_subtract_fraction_range_fraction),
18320         (gst_value_subtract_fraction_range_fraction_range),
18321         (gst_value_collect_fraction), (gst_value_fraction_multiply),
18322         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
18323         (gst_value_transform_string_fraction), (_gst_value_initialize):
18324         * gst/gstvalue.h:
18325           Implement fraction ranges and extend GstFraction to support
18326           arithmetic subtraction, as well as deserialization from integer
18327           strings such as "100"
18328           Add a testsuite as for int and double range set operations
18329
18330 2005-11-21  Andy Wingo  <wingo@pobox.com>
18331
18332         * gst/gsttaglist.h: 
18333         * gst/gstcaps.h: 
18334         * gst/gststructure.h: Add glib-compat.h.
18335
18336 2005-11-21  Wim Taymans  <wim@fluendo.com>
18337
18338         * gst/gstbin.c: (gst_bin_change_state_func):
18339         Fix for #321595
18340
18341 2005-11-21  Wim Taymans  <wim@fluendo.com>
18342
18343         * gst/gstsegment.h:
18344         And add a nice define too.
18345
18346 2005-11-21  Wim Taymans  <wim@fluendo.com>
18347
18348         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
18349         (gst_segment_new), (gst_segment_free), (gst_segment_init),
18350         (gst_segment_set_duration), (gst_segment_set_last_stop),
18351         (gst_segment_set_seek), (gst_segment_set_newsegment),
18352         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18353         (gst_segment_clip):
18354         * gst/gstsegment.h:
18355         Make binding friendly.
18356
18357 2005-11-21  Andy Wingo  <wingo@pobox.com>
18358
18359         * gst/gsttagsetter.h: 
18360         * gst/gsttaglist.h: 
18361         * gst/gststructure.h: 
18362         * gst/gstcaps.h: 
18363         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
18364         #319940.
18365
18366         * gst/gsterror.c (_gst_core_errors_init):
18367         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
18368         category.
18369
18370         * gst/Makefile.am (gst_headers): Add glib-compat.h.
18371         (noinst_HEADERS): noinst the -private.
18372
18373 2005-11-21  Michael Smith <msmith@fluendo.com>
18374
18375         * gst/gstplugin.h:
18376         * gst/gstregistry.h:
18377           Remove unimplemented declarations for which we can see no sensible
18378           use.
18379
18380 2005-11-21  Andy Wingo  <wingo@pobox.com>
18381
18382         * gst/gst.h: Include glib-compat.h.
18383
18384         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
18385
18386         * gst/glib-compat.c: Include the public and the private header.
18387
18388         * gst/glib-compat-private.h: Copied here from glib-compat.h.
18389
18390         * gst/gstvalue.c: 
18391         * gst/gstpad.c: 
18392         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
18393
18394         * check/gst/gstevent.c (create_custom_events): Check that
18395         FLUSH_STOP is serialized.
18396
18397         * check/elements/identity.c (event_func): 
18398         * check/elements/fakesrc.c (event_func): No stream lock, the core
18399         takes it.
18400
18401         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
18402         stream lock taking, yay.
18403
18404         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
18405         ensure that core takes the stream lock.
18406
18407         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
18408         lock name change.
18409
18410         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
18411         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
18412         it already. For the flush start we do take it though so we get the
18413         right preroll state change messages.
18414
18415         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
18416         the stream lock here, the core does it for us.
18417
18418         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
18419         GST_STREAM_GET_LOCK.
18420         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
18421         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
18422         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
18423         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
18424         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
18425         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
18426
18427         * gst/gstpad.c: Update for stream lock name change.
18428
18429         * gst/base/gstbasesink.c: Update for preroll lock name change.
18430
18431 2005-11-21  Wim Taymans  <wim@fluendo.com>
18432
18433         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
18434         (gst_clock_get_master):
18435         * gst/gstclock.h:
18436         * gst/gstsystemclock.c: (gst_system_clock_init):
18437         Convert Clock flags to object flags.
18438         Added methods to manage master/slave clocks.
18439
18440 2005-11-21  Wim Taymans  <wim@fluendo.com>
18441
18442         * check/gst/gstsegment.c: (GST_START_TEST):
18443         * docs/design/part-TODO.txt:
18444         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18445         (gst_base_sink_event), (gst_base_sink_do_sync),
18446         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
18447         (gst_base_sink_query), (gst_base_sink_change_state):
18448         * gst/base/gstbasesink.h:
18449         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18450         (gst_base_src_default_newsegment),
18451         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18452         (gst_base_src_get_range), (gst_base_src_loop),
18453         (gst_base_src_change_state):
18454         * gst/base/gstbasesrc.h:
18455         * gst/base/gstbasetransform.c:
18456         (gst_base_transform_prepare_output_buf),
18457         (gst_base_transform_event), (gst_base_transform_change_state):
18458         * gst/base/gstbasetransform.h:
18459         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
18460         (gst_collect_pads_event):
18461         * gst/base/gstcollectpads.h:
18462         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
18463         (gst_fake_src_create):
18464         * gst/elements/gstfakesrc.h:
18465         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18466         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18467         (gst_segment_set_last_stop), (gst_segment_set_seek),
18468         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18469         (gst_segment_to_running_time), (gst_segment_clip):
18470         * gst/gstsegment.h:
18471         More segment updates, replace code in plugins with segment
18472         helper functions.
18473
18474 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18475
18476         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
18477         Don't ignore sscanf results
18478
18479 2005-11-21  Andy Wingo  <wingo@pobox.com>
18480
18481         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
18482
18483         * *.h:
18484         * *.c: Ran scripts/update-macros. Oh yes.
18485
18486         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
18487         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
18488         GST_GET_LOCK, etc.
18489
18490         * scripts/update-macros: New script. Run it on your files to
18491         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
18492         well.
18493
18494 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18495
18496         * docs/gst/Makefile.am:
18497         * docs/gst/gstreamer-docs.sgml:
18498         * docs/gst/gstreamer-sections.txt:
18499         * docs/gst/gstreamer.types:
18500         * gst/gstinfo.h:
18501           more docs fixes, add new api to the docs
18502
18503 2005-11-21  Andy Wingo  <wingo@pobox.com>
18504
18505         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
18506         state_broadcast call.
18507
18508         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
18509
18510 2005-11-21  Julien MOUTTE  <julien@moutte.net>
18511
18512         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
18513         function calls for arrays.
18514
18515 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18516
18517         * docs/random/ensonic/media-device-daemon.txt:
18518           wild idea, can this be done?
18519         * docs/gst/gstreamer-sections.txt:
18520         * gst/gsterror.h:
18521         * gst/gstfilter.c:
18522         * gst/gstfilter.h:
18523         * gst/gstplugin.h:
18524         * gst/gstpluginfeature.c:
18525         * gst/gsttrace.c:
18526         * gst/gstvalue.c:
18527         * gst/gstvalue.h:
18528           doc fixes and additions
18529
18530 2005-11-21  Andy Wingo  <wingo@pobox.com>
18531
18532         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
18533         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
18534         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
18535         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
18536         private to the basesrc implementation.
18537
18538         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
18539         behalf of event function if necessary. It should no longer be
18540         necessary to take the stream lock in pad's event functions. Fixes
18541         #320299.
18542
18543 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18544         * docs/gst/gstreamer-sections.txt:
18545         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
18546         (gst_structure_fixate_field_nearest_double),
18547         (gst_structure_fixate_field_boolean):
18548         * gst/gststructure.h:
18549         * win32/common/libgstreamer.def:
18550         * win32/gstreamer.def:
18551
18552         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
18553         (#322027)
18554
18555 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18556
18557         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
18558         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
18559         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
18560         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
18561         (gst_fdsrc_uri_handler_init):
18562         * gst/elements/gstfdsrc.h:
18563           Port fd:// URI handler from 0.8 to fdsrc
18564
18565 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18566
18567         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
18568         (gst_value_serialize_fourcc):
18569         * gst/gstvalue.h:
18570           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
18571           consistent with our other format defines (#320324).
18572
18573 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18574
18575         * gst/gstvalue.c: (gst_value_is_fixed):
18576           Revert previous commit. Value lists are by definition
18577           not fixed, as they are a list of possible values.
18578
18579 2005-11-21  Andy Wingo  <wingo@pobox.com>
18580
18581         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
18582         during the stable series if we need it. Fixes #319178.
18583
18584         * gst/gstevent.c (gst_event_new_filler): Removed.
18585
18586         * check/gst/gstevent.c: Update comment about filler events.
18587
18588 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18589
18590         * gst/gstvalue.c: (gst_value_is_fixed):
18591           Should handle both value arrays and value lists.
18592
18593 2005-11-21  Andy Wingo  <wingo@pobox.com>
18594
18595         patch by: Alessandro Dessina <alessandro nnva org>
18596
18597         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
18598         functions to access arrays. Fixes #321962.
18599
18600 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18601
18602         * docs/gst/gstreamer.types:
18603           gst_collectpads_get_type => gst_collect_pads_get_type.
18604           
18605         * gst/base/gstbasetransform.c:
18606           Remove unused SIGNAL_HANDOFF enum.
18607
18608 2005-11-21  Andy Wingo  <wingo@pobox.com>
18609
18610         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
18611         the event type (upstream, downstream, serialized). Renamed
18612         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
18613         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
18614         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
18615
18616         * gst/gstevent.c: Update for new CUSTOM event names.
18617
18618         * check/gst/gstevent.c: Update check for new CUSTOM event names.
18619
18620         * gst/gstevent.h:
18621         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
18622         bug #319392.
18623
18624 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18625
18626         * docs/gst/gstreamer-sections.txt:
18627         * win32/common/libgstbase.def:
18628         * win32/libgstbase.def:
18629         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18630         (gst_collect_pads_class_init), (gst_collect_pads_init),
18631         (gst_collect_pads_finalize), (gst_collect_pads_new),
18632         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
18633         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
18634         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
18635         (gst_collect_pads_start), (gst_collect_pads_stop),
18636         (gst_collect_pads_peek), (gst_collect_pads_pop),
18637         (gst_collect_pads_available), (gst_collect_pads_read),
18638         (gst_collect_pads_flush), (gst_collect_pads_event),
18639         (gst_collect_pads_chain):
18640         * gst/base/gstcollectpads.h:
18641           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
18642           unimplemented functions as unimplemented. Add padding to
18643           GstCollectData. (#320766, #320423)
18644
18645 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18646
18647         * gst/gstmessage.c:
18648           Improve docs for DURATION message (usage of duration parameter)
18649           (#320113)
18650
18651 2005-11-20  Wim Taymans  <wim@fluendo.com>
18652
18653         * check/Makefile.am:
18654         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
18655         (main):
18656         * gst/Makefile.am:
18657         * gst/gst.h:
18658         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18659         (gst_segment_set_seek), (gst_segment_set_newsegment),
18660         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18661         (gst_segment_clip):
18662         * gst/gstsegment.h:
18663         Added segment helper structure and methods. Not fully implemented
18664         yet.
18665         Added segment check.
18666
18667 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
18668
18669         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18670           Add a deserialisation test for fractions
18671         * examples/metadata/read-metadata.c: (message_loop),
18672         (make_pipeline), (main):
18673           Fix up metadata reading sample.
18674         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18675           Debug format fix
18676         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18677           Don't try and fixate empty caps
18678         * gst/gst_private.h:
18679           Wrap in G_BEGIN_DECLS/G_END_DECLS
18680         * gst/gstvalue.c: (gst_value_collect_fraction),
18681         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
18682         (gst_value_transform_string_fraction),
18683         (gst_value_compare_fraction):
18684           Add some extra guards to ensure that we don't end up 
18685           with an invalid denominator of 0 in a gstfraction and
18686           that fractions always get reduced.
18687
18688 2005-11-20  Wim Taymans  <wim@fluendo.com>
18689
18690         * docs/gst/gstreamer-sections.txt:
18691         * gst/gstbuffer.h:
18692         * gst/gstelement.c:
18693         * gst/gstformat.c:
18694         * gst/gstformat.h:
18695         * gst/gstindex.h:
18696         * gst/gstquery.c:
18697         * gst/gstquery.h:
18698         * gst/gstvalue.c:
18699         Doc fixes.
18700
18701 2005-11-20  Wim Taymans  <wim@fluendo.com>
18702
18703         * docs/design/part-TODO.txt:
18704         * gst/gstcaps.h:
18705         Make a proper enum of the flag.
18706
18707 2005-11-19  Wim Taymans  <wim@fluendo.com>
18708
18709         * docs/design/part-TODO.txt:
18710         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
18711         (gst_format_to_quark), (gst_format_register):
18712         * gst/gstformat.h:
18713         * gst/gstquery.c: (_gst_query_initialize),
18714         (gst_query_type_get_name), (gst_query_type_to_quark),
18715         (gst_query_type_register):
18716         * gst/gstquery.h:
18717         Add type to quark and type to string conversions.
18718
18719 2005-11-19  Andy Wingo  <wingo@pobox.com>
18720
18721         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
18722         #320097.
18723
18724 2005-11-19  Wim Taymans  <wim@fluendo.com>
18725
18726         * docs/design/part-TODO.txt:
18727         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18728         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
18729         (gst_bin_handle_message_func):
18730         * gst/gstbin.h:
18731         Make message handling overridable.
18732
18733 2005-11-19  Andy Wingo  <wingo@pobox.com>
18734
18735         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
18736
18737         * gst/gstclock.h:
18738         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
18739         be a GstClockTime.
18740         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
18741         is a GstClockTime. Fixes #321710.
18742
18743         * gst/gstclock.h (GstClock): Remove offset property. Add
18744         internal_calibration and external_calibration. Fix padding. Pad
18745         also by GstClockTime so we don't run into problems.
18746
18747         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
18748         (gst_clock_get_rate_offset): Remove.
18749         (gst_clock_set_time_adjust): Remove. Fixes #321712.
18750
18751         * gst/gstutils.h:
18752         * gst/gstutils.c (g_static_rec_cond_wait)
18753         (g_static_rec_cond_timed_wait): Removed, no longer needed.
18754
18755         * gst/gstbin.c: Remove terrible continue_state prototype.
18756
18757         * gst/gstelement.h (gst_element_continue_state): Make public.
18758
18759         * gst/gstelement.h:
18760         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
18761         by continue_state. Fixes #319389.
18762
18763         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
18764         Really fixes #168438. However I don't see anywhere where the
18765         filter function is called... stupid GStreamer...
18766         
18767         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
18768         don't have a dispose function, so it won't get called when the
18769         object is unreffed, but oh well!
18770
18771         * gst/gstindex.c (gst_index_set_filter_full): New API function,
18772         allows a destroy function to be set so user_data can be freed.
18773         Fixes #168438.
18774         (gst_index_set_filter): Call gst_index_set_filter_full.
18775
18776         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
18777
18778         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
18779         string should produce an error, given the lack of a way to
18780         represent NULL strings. Fixes #165650.
18781         
18782         * gst/gstvalue.h: 
18783         * gst/gstvalue.c (gst_value_array_append_value) 
18784         (gst_value_array_prepend_value, gst_value_array_get_size) 
18785         (gst_value_array_get_value): New API, copied from
18786         gst_value_list_*, only operates on arrays.
18787         (gst_value_list_append_value, gst_value_list_prepend_value) 
18788         (gst_value_list_concat, gst_value_list_get_size) 
18789         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
18790
18791         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
18792         init_list, because it works on both.
18793         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
18794         (gst_value_copy_list_or_array): Renamed from copy_list.
18795         (gst_value_free_list_or_array): Renamed from free_list.
18796         (gst_value_collect_list_or_array): Renamed from collect_list.
18797         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
18798         (gst_value_list_or_array_peek_pointer): Renamed from
18799         list_peek_pointer.
18800         (_gst_value_array_value_table, _gst_value_list_value_table):
18801         Update value table functions.
18802         (gst_value_compare_list_or_array): Renamed from compare_list.
18803
18804         * gsttaglist.h: Whoops, foreach function returns void. Also fix
18805         some constness.
18806
18807         * gst/gsttaglist.c:
18808         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
18809         GstTagList*. Fixes #143472.
18810
18811         * gst/gststructure.h: Clarify what the foreach/map functions can
18812         or can't do to their arguments.
18813
18814 2005-11-18  Wim Taymans  <wim@fluendo.com>
18815
18816         * gst/gstclock.c: (gst_clock_set_calibration),
18817         (gst_clock_get_calibration):
18818         Doc and API fixes.
18819         Calibration can be set with internal time equal to current
18820         internal time too.
18821
18822 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18823
18824         * gst/gsterror.c:
18825         * gst/gsterror.h:
18826           document
18827
18828 2005-11-18  Andy Wingo  <wingo@pobox.com>
18829
18830         * configure.ac: 
18831         * pkgconfig/gstreamer-net.pc.in:
18832         * pkgconfig/gstreamer-net-uninstalled.pc.in:
18833         * pkgconfig/Makefile.am: Add net pkgconfig files.
18834
18835 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
18836
18837         * gst/gstcaps.c:
18838         * gst/gstghostpad.c:
18839         * gst/gsttrace.c:
18840         * gst/gstvalue.c:
18841         * gst/gstvalue.h:
18842           docs fixes
18843
18844 2005-11-18  Andy Wingo  <wingo@pobox.com>
18845
18846         * gst/net/gstnetclientclock.c: Turn off debugging.
18847
18848         * check/net/gstnetclientclock.c (test_functioning): Assert that the
18849         times connverge somewhat. Can't make a real test.
18850
18851         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
18852         integer arithmetic. Return the minimum of the domain, which can be
18853         set as "internal" for gst_clock_set_calibration.
18854         (gst_net_client_clock_observe_times): Call _set_calibration.
18855         (gst_net_client_clock_new): Call _set_calibration instead of
18856         rate_offset.
18857
18858         * check/net/gstnetclientclock.c (test_functioning): Use the right
18859         adjustment api.
18860
18861         * gst/gstclock.h:
18862         * gst/gstclock.c (gst_clock_get_calibration) 
18863         (gst_clock_set_calibration): New functions, obsolete the ones I
18864         added yesterday. Doh. Precision issues mean we have to extrapolate
18865         from a point in the more recent past than 1970.
18866         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
18867         obsolete.
18868         (gst_clock_adjust_unlocked): Use the right calibration data.
18869
18870 2005-11-18  Edward Hervey  <edward@fluendo.com>
18871
18872         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
18873         Also reset the ->current_* values in READY->PAUSED
18874
18875 2005-11-18  Andy Wingo  <wingo@pobox.com>
18876
18877         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
18878         Whoops, check the right fd. Also add some debugging.
18879         (gst_net_client_clock_observe_times): Adjust for int64 offset.
18880         (do_linear_regression): Add a crapload of debugging. Subtract off
18881         the minimum values from the input series to discard unneeded bits.
18882         Use only int arithmetic. There is still double arithmetic when
18883         calculating the intercept that needs fixing. Return boolean to
18884         indicate success; FALSE would mean the domain or range is too
18885         great. Still needs fixes.
18886
18887 2005-11-18  Wim Taymans  <wim@fluendo.com>
18888
18889         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18890         For the current position in stream time, we need to subtract
18891         accumulated time.
18892         
18893         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18894         Release lock before calling the callback function of async
18895         entries.
18896
18897 2005-11-18  Andy Wingo  <wingo@pobox.com>
18898
18899         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
18900         Port goes all the way to MAXUINT16.
18901
18902         * gst/net/gstnettimeprovider.c: Make the port range the same as
18903         for the kernel: 0 assigns, otherwise ports are less than
18904         MAXUINT16.
18905
18906         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
18907         port change.
18908
18909         * check/net/gstnetclientclock.c (test_functioning): Add the start
18910         of another test. 
18911
18912 2005-11-18  Wim Taymans  <wim@fluendo.com>
18913
18914         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18915         (gst_bin_remove_func), (bin_bus_handler):
18916         * gst/gstbin.h:
18917         Removing a clock provider from a bin, triggers a clock lost message
18918         so that a new clock will be selected.
18919         Adding a clock to a bin triggers a clock provider message.
18920         Make sure we reselect a clock when we received a clock lost message.
18921         Keep a reference to the element that provided the clock.
18922
18923 2005-11-18  Andy Wingo  <wingo@pobox.com>
18924
18925         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
18926         the clock initially so it produces values around the base time.
18927         (gst_net_client_clock_class_init): Typo fix.
18928         (gst_net_client_clock_thread): Add note on when the socket gets
18929         closed.
18930
18931 2005-11-17  Wim Taymans  <wim@fluendo.com>
18932
18933         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
18934         Free remote and local time arrays.
18935
18936 2005-11-17  Wim Taymans  <wim@fluendo.com>
18937
18938         * gst/net/gstnetclientclock.c: (do_linear_regression),
18939         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
18940         Fix compilation, uninitialized vars and a forgotten continue.
18941
18942 2005-11-17  Andy Wingo  <wingo@pobox.com>
18943
18944         * check/Makefile.am (check_PROGRAMS): 
18945         * check/net/gstnetclientclock.c: Add a most minimal test for the
18946         net client clock. More to come later.
18947
18948         * gst/net/gstnet.h: 
18949         * gst/net/Makefile.am: Add netclientclock.
18950
18951         * gst/net/gstnetclientclock.h:
18952         * gst/net/gstnetclientclock.c: New files, implement an untested
18953         GstClock that takes its time from a network time provider.
18954         Implements the algorithm in network-clock.scm.
18955
18956         * tests/network-clock.scm (*window-size*): Rename from
18957         *queue-length*.
18958         * tests/network-clock.scm (network-time): 
18959         * tests/network-clock-utils.scm (q-push): Update callers.
18960
18961 2005-11-17  Wim Taymans  <wim@fluendo.com>
18962
18963         * gst/gstbin.c: (gst_bin_provide_clock_func),
18964         (gst_bin_sort_iterator_new):
18965         And unref the child too..
18966
18967 2005-11-17  Wim Taymans  <wim@fluendo.com>
18968
18969         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
18970         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
18971         Refactor the sort iterator so it can be used while holding the
18972         LOCK too.
18973         Make clock selection select a clock closest to the source.
18974
18975 2005-11-17  Michael Smith <msmith@fluendo.com>
18976
18977         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
18978         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
18979         * gst/gstclock.h:
18980           Anonymous structs are a gcc (and some other compilers) extension, so
18981           don't use them. Since this is only for ABI-compatibility, and our
18982           API/ABI freeze is over in a few days, this whole thing will only
18983           last a few days, so don't bother trying to think up a meaningful
18984           name for the struct.
18985
18986 2005-11-17  Andy Wingo  <wingo@pobox.com>
18987
18988         * gst/gstclock.h (GstClock): Add rate and offset properties,
18989         preserving ABI stability. Add rate/offset accessors. Will file bug
18990         for the freeze break.
18991
18992         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
18993         and offset, trying to keep precision and avoiding
18994         underflow/overflow.
18995         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
18996         functions. Make gst_clock_set_time_adjust obsolete.
18997         (gst_clock_set_time_adjust): Note that this function is obsolete.
18998         Will file bug soon.
18999
19000         * gst/base/gstbasetransform.h: Make the ABI-stability hack
19001         greppable by using GST_PADDING-1+1.
19002
19003 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
19004
19005         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19006
19007         * gst/gstmessage.c: (gst_message_parse_clock_lost):
19008           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
19009
19010         * gst/gstpadtemplate.h:
19011         * gst/gstpluginfeature.h:
19012           Don't use c++ style comments in headers (#321638).
19013
19014 2005-11-16  Andy Wingo  <wingo@pobox.com>
19015
19016         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
19017         buffer.
19018
19019         * check/net/gstnettimeprovider.c: Check to see that the time
19020         provider actually provides times. Works, yo!
19021
19022 2005-11-16  Wim Taymans  <wim@fluendo.com>
19023
19024         * check/Makefile.am:
19025         Enable more tests.
19026
19027         * check/elements/fakesrc.c: (GST_START_TEST):
19028         Set element to NULL before disposing it.
19029
19030 2005-11-16  Andy Wingo  <wingo@pobox.com>
19031
19032         * gst/net/Makefile.am:
19033         * gst/net/gstnet.h:
19034         * gst/net/gstnettimeprovider.c: 
19035         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
19036         provider, include it from gstnet.h, and add it to the build.
19037
19038         * gst/net/gstnettimepacket.h: 
19039         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
19040         sending and receiving.
19041
19042 2005-11-16  Wim Taymans  <wim@fluendo.com>
19043
19044         * check/Makefile.am:
19045         Enable valgrind check.
19046
19047         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
19048         (gst_fake_src_alloc_buffer):
19049         Fix memleak.
19050
19051 2005-11-16  Wim Taymans  <wim@fluendo.com>
19052
19053         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
19054         Call parent finalize too.
19055
19056 2005-11-16  Wim Taymans  <wim@fluendo.com>
19057
19058         * check/Makefile.am:
19059         Enable valgrind check that should work fine now.
19060
19061         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19062         * gst/gstqueue.c: (gst_queue_init):
19063         Fix memleaks in pad allocation.
19064
19065 2005-11-16  Andy Wingo  <wingo@pobox.com>
19066
19067         * gst/net/Makefile.am:
19068         * gst/net/gstnet.h: New part of core to hold network elements and
19069         objects. Put in core because it exposes API that applications want
19070         to use. The library is named libgstnet-tempname right now because
19071         of the existing libgstnet in gst-plugins-base. Solution is
19072         probably to rename the one in plugins-base; will file a bug for
19073         the freeze break.
19074
19075         * gst/net/gstnettimeprovider.c: 
19076         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
19077         get_time call over the network.
19078
19079         * configure.ac: 
19080         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
19081
19082         * check/Makefile.am:
19083         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
19084         get additions shortly.
19085
19086 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19087
19088         * gst/gstpad.c: (gst_pad_new_from_static_template):
19089         * gst/gstpad.h:
19090           add gst_pad_new_from_static_template functions
19091         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
19092         (gst_check_setup_sink_pad):
19093         * gst/elements/gsttee.c: (gst_tee_init):
19094           and use them
19095
19096 2005-11-16  Wim Taymans  <wim@fluendo.com>
19097
19098         * gst/gstpad.c: (gst_pad_pause_task):
19099         Removed warning, it's not really an error either.
19100
19101 2005-11-16  Wim Taymans  <wim@fluendo.com>
19102
19103         * gst/base/gstbasetransform.c:
19104         (gst_base_transform_prepare_output_buf),
19105         (gst_base_transform_event):
19106         Check if the caps are NULL, this can happen if the element
19107         is shutting down and the pad caps are set to NULL.
19108
19109 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19110
19111         * gst/elements/gsttee.c: (gst_tee_init):
19112           fix pad template leak in tee
19113
19114 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19115
19116         * gst/glib-compat.c: (g_value_dup_gst_object):
19117         * gst/glib-compat.h:
19118         * gst/gstpad.c: (gst_pad_set_property):
19119           use gst_object_ref when setting the pad template; this will
19120           trigger the pad template leaks on GLib 2.6 and the slaves
19121
19122 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19123
19124         * gst/glib-compat.c: (gst_flags_get_first_value):
19125         * gst/glib-compat.h:
19126         * gst/gstregistryxml.c:
19127           remove functions copied from GLib 2.6
19128
19129 2005-11-16  Michael Smith <msmith@fluendo.com>
19130
19131         * gst/Makefile.am:
19132           Don't link against VALGRIND_LIBS. That was always the wrong thing to
19133           do, but only breaks with newer valgrind versions. We're not a
19134           valgrind tool, we have no link-time dependencies on libcoregrind.
19135
19136 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19137
19138         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19139           some debug changes
19140         * gst/gstmessage.h:
19141           typo fixes
19142
19143 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19144
19145         * gst/base/gstbasesrc.c: (gst_base_src_init):
19146         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19147         * gst/gstqueue.c: (gst_queue_init):
19148         * gst/gstregistryxml.c: (load_feature):
19149           Revert all these unrefs, they don't even pass make check !
19150
19151 2005-11-15  Johan Dahlin  <johan@gnome.org>
19152
19153         * gst/base/gstbasesrc.c: (gst_base_src_init):
19154         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19155         * gst/gstqueue.c: (gst_queue_init): 
19156         Free pad templates, fixes a couple of leaks.
19157
19158 2005-11-15  Daniel Fischer  <dan at f3c dot com>
19159
19160         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19161
19162         * gst/gstpad.c: (gst_pad_get_property):
19163           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
19164           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
19165           (#321452)
19166
19167 2005-11-15  Wim Taymans  <wim@fluendo.com>
19168
19169         * gst/gstevent.c:
19170         Small doc update.
19171
19172 2005-11-15  Andy Wingo  <wingo@pobox.com>
19173
19174         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
19175
19176         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
19177         using GST_CLOCK_TIME_NONE to disable base time management.
19178         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
19179         time if it was NONE before.
19180         (gst_pipeline_change_state): Only munge the base time if
19181         stream_time != GST_CLOCK_TIME_NONE.
19182
19183         * check/gst/gstpipeline.c (test_base_time): Punt around the
19184         problem of the probe not being called, because that's not the
19185         issue I'm looking at. Add a check that setting stream_time to NONE
19186         disables base time management.
19187         
19188 2005-11-15  Wim Taymans  <wim@fluendo.com>
19189
19190         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
19191         segment_stop == -1 at startup.
19192
19193         * gst/base/gstbasetransform.c: (gst_base_transform_event),
19194         (gst_base_transform_change_state):
19195         Init segment values at start.
19196
19197 2005-11-15  Wim Taymans  <wim@fluendo.com>
19198
19199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19200         0 segment values are 0 in any format.
19201
19202         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19203         * gst/base/gstbasetransform.h:
19204         Parse newsegment correctly in basetransform
19205
19206         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19207         Sync to clock using updated segment values.
19208
19209 2005-11-15  Andy Wingo  <wingo@pobox.com>
19210
19211         * check/gst/gstpipeline.c (test_base_time): Add check that the
19212         base time and stream time are reset correctly.
19213
19214 2005-11-15  Wim Taymans  <wim@fluendo.com>
19215
19216         * docs/design/part-TODO.txt:
19217         Some more TODO items.
19218
19219 2005-11-15  Andy Wingo  <wingo@pobox.com>
19220
19221         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
19222         error if the user selected "no clock" as the clocking method.
19223
19224         * check/gst/gstpipeline.c (test_base_time): New test for buffer
19225         timestamps with live capture.
19226
19227         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
19228         is 0 but we are a live source, timestamp the buffers using the
19229         element's clock.
19230
19231 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
19232
19233         * docs/gst/gstreamer-sections.txt:
19234         * gst/gsterror.c:
19235         * gst/gstghostpad.c:
19236         * gst/gstobject.h:
19237         * gst/gstxml.c:
19238           more section docs
19239
19240 2005-11-14  Wim Taymans  <wim@fluendo.com>
19241
19242         * common/gst.supp:
19243           add suppressions from Wim's Debian machine
19244
19245 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19246
19247         * common/gst.supp:
19248           add suppressions from Andy's AMD64 Ubuntu machine
19249
19250 2005-11-14  Andy Wingo  <wingo@pobox.com>
19251
19252         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
19253         STATE_LOCK not necessary. Fixes #311489.
19254
19255         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
19256         #305291.
19257
19258         * gst/gstindex.c (gst_index_add_object): Note in the docs that
19259         this function is not implemented.
19260
19261 2005-11-14  Julien MOUTTE  <julien@moutte.net>
19262
19263         * gst/base/gstbasetransform.c:
19264         (gst_base_transform_prepare_output_buf):
19265         Ref the source pad caps while we need them.
19266         Fixes (#321386)
19267
19268 2005-11-11  Wim Taymans  <wim@fluendo.com>
19269
19270         * docs/gst/gstreamer-sections.txt:
19271         Added some docs for GstCollectData.
19272
19273         * gst/base/gstadapter.c:
19274         Some small code example fix.
19275
19276         * gst/base/gstcollectpads.c:
19277         * gst/base/gstcollectpads.h:
19278         Document some more.
19279
19280 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19281
19282         * configure.ac: back to HEAD
19283
19284 === release 0.9.5 ===
19285
19286 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
19287
19288         * configure.ac:
19289           releasing 0.9.5, "Bike Lunch Day"
19290
19291 2005-11-11  Wim Taymans  <wim@fluendo.com>
19292
19293         * gst/gstbuffer.c: (_gst_buffer_copy):
19294         Copy more flags.
19295
19296         * gst/gstcaps.c: (gst_caps_is_equal):
19297         Fix some docs.
19298         Make _is_equal fast in the trivial cases.
19299
19300         * gst/gstminiobject.c:
19301         * gst/gstminiobject.h:
19302         More docs. Spifify .h file.
19303
19304         * gst/gstutils.c:
19305         Small doc update.
19306
19307 2005-11-11  Wim Taymans  <wim@fluendo.com>
19308
19309         * gst/base/gstbasetransform.c:
19310         (gst_base_transform_prepare_output_buf),
19311         (gst_base_transform_handle_buffer):
19312         Small cleanups.
19313         If we're processing a buffer and need to allocate an output
19314         buffer, we cannot accept a format change. If we did get a 
19315         format change, we have to alloc a buffer ourselves of the 
19316         right size.
19317
19318 2005-11-11  Wim Taymans  <wim@fluendo.com>
19319
19320         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
19321         While checking the flag for reentrancy in the gstcaps function
19322         is nice to detect recursive invocations, it also makes it 
19323         impossible to call getcaps from multiple threads, which must be
19324         possible. So, checking for recursive calls has to go.
19325
19326 2005-11-11  Michael Smith <msmith@fluendo.com>
19327
19328         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19329           Don't sync on buffers that fall partially outside our current
19330           segment. Prevents an assertion failure/abort playing some files.
19331
19332 2005-11-10  Andy Wingo  <wingo@pobox.com>
19333
19334         * check/gst/gstbin.c (test_message_state_changed_children): Style
19335         fix..
19336
19337         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
19338         gst_bus_poll with the signal watch. Ensures that poll and a signal
19339         watch see the same messages.
19340
19341         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
19342         a poll and a watch at the same time get the same messages.
19343
19344 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19345
19346         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
19347         * gst/gstcaps.c: (gst_caps_intersect):
19348           Don't call gst_caps_do_simplify - it doesn't respect order of caps
19349           and it's not needed.
19350
19351 2005-11-10  Wim Taymans  <wim@fluendo.com>
19352
19353         * docs/design/part-TODO.txt:
19354         Updated todo.
19355
19356 2005-11-10  Wim Taymans  <wim@fluendo.com>
19357
19358         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19359         * gst/base/gstbasesrc.c: (gst_base_src_wait),
19360         (gst_base_src_do_sync), (gst_base_src_get_range):
19361         Implement clock sync in base class.
19362
19363 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19364
19365         patch by: Tim-Philipp Müller <tim at centricular dot net>
19366
19367         * gst/gststructure.c: (gst_structure_parse_field),
19368         (gst_structure_from_string):
19369           Forward-port a 0.8 patch to handle escaped spaces in structure string,
19370           so that gst_parse_launch() can deal with spaces in filtered link
19371           caps (fixes #164479)
19372         * check/gst/capslist.h:
19373         * check/gst/gststructure.c: (GST_START_TEST):
19374           add unit tests for this change
19375
19376 2005-11-10  Wim Taymans  <wim@fluendo.com>
19377
19378         * docs/gst/gstreamer-sections.txt:
19379         * gst/gstelement.c:
19380         * gst/gstelement.h:
19381         Fix docs, move some STATE macros to private.
19382
19383 2005-11-10  Wim Taymans  <wim@fluendo.com>
19384
19385         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19386         Added check for bug #317341
19387
19388         * gst/gstbuffer.c:
19389         * gst/gstbuffer.h:
19390         Some more spiffifying.
19391
19392         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
19393         Call peer linkfunction if we are a source pad. Totally fixes
19394         #317341
19395
19396         * gst/gstpad.c:
19397         Update docs, source pads should call the peer linkfunction
19398         so they can atomically perform the pad link.
19399
19400 2005-11-09  Wim Taymans  <wim@fluendo.com>
19401
19402         * gst/gstbuffer.c:
19403         * gst/gstbuffer.h:
19404         Uber-spiffy-spiffify some more.
19405
19406 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
19407
19408         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
19409         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19410         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19411         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
19412         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
19413         * gst/gstpad.c: (gst_pad_init):
19414           Use GST_DEBUG_FUNCPTR() more extensively.
19415
19416 2005-11-09  Wim Taymans  <wim@fluendo.com>
19417
19418         * gst/gstobject.c: (gst_object_class_init):
19419         * gst/gstobject.h:
19420         Documentation fixes.
19421
19422 2005-11-09  Edward Hervey  <edward@fluendo.com>
19423
19424         * gst/gsttypefindfactory.c:
19425         Fix docs.
19426         
19427 2005-11-09  Edward Hervey  <edward@fluendo.com>
19428
19429         * gst/base/gsttypefindhelper.c:
19430         * gst/gsttypefind.c:
19431         * gst/gsttypefind.h:
19432         Fix docs.
19433
19434 2005-11-09  Wim Taymans  <wim@fluendo.com>
19435
19436         * gst/gstiterator.c:
19437         Fix revision data.
19438
19439         * gst/gsttask.c:
19440         * gst/gsttask.h:
19441         Fix docs.
19442
19443 2005-11-09  Wim Taymans  <wim@fluendo.com>
19444
19445         * gst/gstevent.h:
19446         * gst/gsturi.h:
19447         Fix docs.
19448
19449 2005-11-09  Wim Taymans  <wim@fluendo.com>
19450
19451         * docs/gst/gstreamer-sections.txt:
19452         Moved the message async delivery private lock and cond
19453         to the private section.
19454
19455         * gst/gstmessage.c:
19456         * gst/gstmessage.h:
19457         Fixed docs.
19458
19459 2005-11-09  Edward Hervey  <edward@fluendo.com>
19460
19461         * docs/gst/gstreamer-sections.txt:
19462         * gst/gsturi.c:
19463         * gst/gsturi.h:
19464         Document GstURIHandler
19465
19466 2005-11-09  Wim Taymans  <wim@fluendo.com>
19467
19468         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
19469         (gst_iterator_find_custom):
19470         * gst/gstiterator.h:
19471         Fix iterator docs.
19472
19473 2005-11-09  Wim Taymans  <wim@fluendo.com>
19474
19475         * gst/gstbin.h:
19476         Document another field.
19477
19478         * gst/gststructure.c:
19479         * gst/gststructure.h:
19480         Document.
19481
19482 2005-11-09  Wim Taymans  <wim@fluendo.com>
19483
19484         * gst/gstbin.h:
19485         Documented structs.
19486
19487 2005-11-09  Wim Taymans  <wim@fluendo.com>
19488
19489         * docs/gst/gstreamer-sections.txt:
19490         Added some new macros.
19491
19492         * gst/gstclock.c:
19493         * gst/gstclock.h:
19494         * gst/gstobject.h:
19495         Docs updates.
19496
19497 2005-11-09  Wim Taymans  <wim@fluendo.com>
19498
19499         * docs/design/part-TODO.txt:
19500         Some more items for the TODO
19501
19502         * gst/gstcaps.c:
19503         * gst/gstcaps.h:
19504         Document GstCaps.
19505
19506 2005-11-09  Andy Wingo  <wingo@pobox.com>
19507
19508         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
19509         to work on something else now tho...
19510
19511         * gst/base/gstadapter.c: More adapter docs.
19512
19513         * gst/elements/gstfilesink.c (gst_file_sink_start) 
19514         (gst_file_sink_stop): New functions, replace the state change
19515         handler.
19516         (gst_file_sink_class_init): Hook up the start and stop functions.
19517         (gst_file_sink_base_init): Don't set the state change handler any
19518         more. It was a bit ugly too, being set from here...
19519         (gst_file_sink_get_property, gst_file_sink_set_property):
19520         Cleanups...
19521         (gst_file_sink_set_location): More robust check that doesn't call
19522         GST_STATE. Ugggggg.
19523
19524 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
19525
19526         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19527           Hold STREAM_LOCK while pushing newsegment or tag events as well.
19528
19529 2005-11-08  Wim Taymans  <wim@fluendo.com>
19530
19531         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19532         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19533         (gst_base_sink_chain), (gst_base_sink_change_state):
19534         * gst/base/gstbasesink.h:
19535         * gst/base/gstbasesrc.h:
19536         * gst/gstelement.h:
19537         * gst/gstevent.h:
19538         Avoid excessive typechecking in macros.
19539
19540         * gst/gstminiobject.c: (gst_mini_object_get_type),
19541         (gst_mini_object_init), (gst_mini_object_new),
19542         (gst_mini_object_free):
19543         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19544         (gst_object_finalize):
19545         Remove cruft code, optimize alloc_trace.
19546
19547 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19548
19549         * docs/faq/gst-uninstalled:
19550           fix up PS1 for systems that try to reset it
19551
19552 2005-11-07  Wim Taymans  <wim@fluendo.com>
19553
19554         * gst/base/gstbasesrc.c: (gst_base_src_init),
19555         (gst_base_src_get_range):
19556         Set the segment_end to -1 initially. Fixed typefind.
19557
19558 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
19559
19560         * gst/base/gstadapter.c:
19561           Debug category should be 'adapter', not 'GstAdapter'.
19562           
19563         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
19564         (gst_collectpads_class_init), (gst_collectpads_init),
19565         (gst_collectpads_peek), (gst_collectpads_pop),
19566         (gst_collectpads_event), (gst_collectpads_chain):
19567           Add debug category and some debugging output. Use boilerplate
19568           macros. Remove some extraneous words from docs.
19569
19570 2005-11-05  Andy Wingo  <wingo@pobox.com>
19571
19572         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
19573         macro.
19574
19575 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19576
19577         * docs/gst/gstreamer-sections.txt:
19578         * gst/gstcaps.h:
19579         * gst/gstinfo.c:
19580         * gst/gstminiobject.h:
19581         * gst/gstobject.h:
19582         * gst/gstutils.h:
19583           more docs added
19584
19585 2005-11-04  Wim Taymans  <wim@fluendo.com>
19586
19587         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19588         Small update to stop at the configured segment_end
19589         position.
19590
19591 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19592
19593         * gst/gstregistry.c:
19594         * gst/gstregistry.h:
19595           added missing docs
19596
19597 2005-11-04  Edward Hervey  <edward@fluendo.com>
19598
19599         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19600         Check if we are doing a segment seek and have arrived at the
19601         end of that segment.
19602
19603 2005-11-04  Wim Taymans  <wim@fluendo.com>
19604
19605         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
19606         Don't leak a mutex unlock in case of an error.
19607
19608         * gst/gstbus.h:
19609         Doc fixes.
19610
19611 2005-11-04  Wim Taymans  <wim@fluendo.com>
19612
19613         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
19614         (gst_bus_post):
19615         Get the context to wake up only once.
19616
19617 2005-11-03  Wim Taymans  <wim@fluendo.com>
19618
19619         * check/states/sinks.c: (GST_START_TEST):
19620         Uncomment fixed check.
19621
19622         * docs/design/part-TODO.txt:
19623         Updated TODO.
19624
19625         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19626         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19627         (gst_base_sink_get_position):
19628         If we are going to PLAYING, post the right pending state
19629         when we post the intermediate paused message.
19630
19631         * gst/gstelement.c: (gst_element_continue_state),
19632         (gst_element_set_state_func), (gst_element_change_state):
19633         Don't post state changes that were between the same state
19634         and were not ASYNC.
19635
19636 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
19637
19638         * docs/gst/gstreamer-sections.txt:
19639         * gst/gstcaps.h:
19640         * gst/gstinfo.c:
19641         * gst/gstminiobject.h:
19642         * gst/gstobject.h:
19643         * gst/gstutils.h:
19644           more docs and doc style fixes
19645
19646 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
19647
19648         * docs/gst/gstreamer-sections.txt:
19649         * gst/gstelement.c:
19650         * gst/gstminiobject.c:
19651         doc fixes
19652
19653 2005-11-03  Andy Wingo  <wingo@pobox.com>
19654
19655         * check/states/sinks.c (test_livesrc_sink): Add checks that the
19656         state-changed messages actually have the right order and the right
19657         values.
19658
19659 2005-11-03  Wim Taymans  <wim@fluendo.com>
19660
19661         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19662         Added some more checks. Specifically the case where NO_PREROLL
19663         elements are in the pipeline.
19664
19665         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19666         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19667         (gst_base_sink_get_position):
19668         Post READY->PAUSED state change messages too.
19669         Fix bug where VOID was posted as pending state...
19670
19671         * gst/gstbin.c: (gst_bin_recalc_state):
19672         use _element_continue_state() to continue the state change.
19673
19674         * gst/gstelement.c: (gst_element_continue_state),
19675         (gst_element_commit_state), (gst_element_set_state_func),
19676         (gst_element_change_state), (gst_element_change_state_func):
19677         Lots of state change cleanups, assign the STATE_RETURN in
19678         a new continue_state() function that also propagates the
19679         last return value from a state change to the app.
19680         Update some debug statements with proper category.
19681
19682 2005-11-03  Wim Taymans  <wim@fluendo.com>
19683
19684         * docs/design/part-events.txt:
19685         * docs/design/part-gstpipeline.txt:
19686         * docs/design/part-messages.txt:
19687         * docs/design/part-overview.txt:
19688         * docs/design/part-seeking.txt:
19689         * docs/design/part-states.txt:
19690         * docs/design/part-trickmodes.txt:
19691         * docs/manual/advanced-position.xml:
19692         Small docs updates.
19693
19694         * gst/gstobject.h:
19695         People think !! is ugly, this looks better.
19696
19697         * gst/gstpad.c: (gst_pad_set_blocked_async):
19698         Remove !! since it's fixed elsewhere now.
19699
19700 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19701
19702         * gst/gstminiobject.h:
19703         * gst/gstobject.h:
19704           Add !! to _FLAG_IS_SET macros to make the result boolean.
19705
19706 2005-11-03  Edward Hervey  <edward@fluendo.com>
19707
19708         * gst/gstpad.c: (gst_pad_set_blocked_async):
19709         comparing a flag and a gboolean rarely returns coherent results...
19710         Added two characters (!!) to make that work correctly.
19711         
19712 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19713
19714         * gst/gstbus.c: (gst_bus_class_init):
19715           Fix some typos.
19716           
19717         * gst/gstqueue.c: (gst_queue_loop):
19718           Don't assume a miniobject that isn't a buffer is an
19719           event (it could be that there is a refcounting
19720           problem somewhere and the pointer is stale and
19721           refers to an already destroyed miniobject).
19722
19723 2005-11-03  Julien MOUTTE  <julien@moutte.net>
19724
19725         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
19726
19727 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19728
19729         * docs/manual/advanced-position.xml:
19730           Update seek example and explanations to current 0.9 API.
19731
19732         * gst/elements/gsttypefindelement.c:
19733         (gst_type_find_element_activate):
19734           Remove FIXME comment now that the found caps
19735           are unreffed.
19736
19737 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19738
19739         * gst/gstregistryxml.c: (load_feature):
19740           Add another GST_STR_NULL instance
19741
19742 2005-11-02  Edward Hervey  <edward@fluendo.com>
19743
19744         * gst/gstpad.c: (handle_pad_block):
19745         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
19746         
19747 2005-11-02  Wim Taymans  <wim@fluendo.com>
19748
19749         * gst/gstbin.c:
19750         Fix typo in docs.
19751
19752         * gst/gstelement.c: (gst_element_commit_state):
19753         Remove unused value.
19754
19755         * gst/gstiterator.c:
19756         Mention that the returned element is reffed in the docs.
19757
19758 2005-11-02  Wim Taymans  <wim@fluendo.com>
19759
19760         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
19761         (gst_pad_push), (gst_pad_push_event):
19762         Unlock blocked pads when they are flushed.
19763
19764 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19765
19766         * docs/README:
19767         * docs/gst/gstreamer-sections.txt:
19768         * gst/gstbin.c:
19769           doc updates
19770         * gst/gstregistry.c: (gst_registry_scan_path_level):
19771           fix for a nasty little missed situation where an installed plug-in
19772           which was in the cache did not get overridden by an uninstalled one
19773           which was earlier in the plugin path because the newly created plugin
19774           for the uninstalled one (not in the registry) didn't get its
19775           ->registered set to TRUE
19776
19777 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
19778
19779         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
19780         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
19781         (gst_collectpads_is_active), (gst_collectpads_collect),
19782         (gst_collectpads_collect_range), (gst_collectpads_start),
19783         (gst_collectpads_stop), (gst_collectpads_peek),
19784         (gst_collectpads_pop), (gst_collectpads_available),
19785         (gst_collectpads_read), (gst_collectpads_flush):
19786           Guard public API with assertions.
19787         
19788         * gst/gstpad.c:
19789           Fix docs for gst_pad_set_link_function().
19790
19791 2005-11-02  Johan Dahlin  <johan@gnome.org>
19792
19793         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
19794         Unref found_caps after we used it.
19795
19796 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
19797
19798         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
19799           Don't try to ref NULL.
19800
19801 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19802
19803         * win32/common/config.h.in:
19804           provide a GST_FUNCTION that just gives a string for now
19805
19806 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19807
19808         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19809         (gst_object_flags_get_type), (register_gst_bin_flags),
19810         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19811         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19812         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19813         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
19814         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19815         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19816         (gst_clock_flags_get_type), (register_gst_state),
19817         (gst_state_get_type), (register_gst_state_change_return),
19818         (gst_state_change_return_get_type), (register_gst_state_change),
19819         (gst_state_change_get_type), (register_gst_element_flags),
19820         (gst_element_flags_get_type), (register_gst_core_error),
19821         (gst_core_error_get_type), (register_gst_library_error),
19822         (gst_library_error_get_type), (register_gst_resource_error),
19823         (gst_resource_error_get_type), (register_gst_stream_error),
19824         (gst_stream_error_get_type), (register_gst_event_type),
19825         (gst_event_type_get_type), (register_gst_seek_type),
19826         (gst_seek_type_get_type), (register_gst_seek_flags),
19827         (gst_seek_flags_get_type), (register_gst_format),
19828         (gst_format_get_type), (register_gst_index_certainty),
19829         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19830         (gst_index_entry_type_get_type),
19831         (register_gst_index_lookup_method),
19832         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19833         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19834         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19835         (gst_index_flags_get_type), (register_gst_debug_level),
19836         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19837         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19838         (gst_iterator_result_get_type), (register_gst_iterator_item),
19839         (gst_iterator_item_get_type), (register_gst_message_type),
19840         (gst_message_type_get_type), (register_gst_mini_object_flags),
19841         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19842         (gst_pad_link_return_get_type), (register_gst_flow_return),
19843         (gst_flow_return_get_type), (register_gst_activate_mode),
19844         (gst_activate_mode_get_type), (register_gst_pad_direction),
19845         (gst_pad_direction_get_type), (register_gst_pad_flags),
19846         (gst_pad_flags_get_type), (register_gst_pad_presence),
19847         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19848         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19849         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19850         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19851         (gst_plugin_flags_get_type), (register_gst_rank),
19852         (gst_rank_get_type), (register_gst_query_type),
19853         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19854         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19855         (gst_tag_flag_get_type), (register_gst_task_state),
19856         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19857         (gst_alloc_trace_flags_get_type),
19858         (register_gst_type_find_probability),
19859         (gst_type_find_probability_get_type), (register_gst_uri_type),
19860         (gst_uri_type_get_type), (register_gst_parse_error),
19861         (gst_parse_error_get_type):
19862         * win32/common/gstversion.h:
19863           update win32 copies
19864
19865 2005-11-01  Luca Ognibene  <luogni@tin.it>
19866
19867         * gst/gst.c:
19868           fix docs. popt is dead, long live GOption.
19869
19870 2005-10-31  Wim Taymans  <wim@fluendo.com>
19871
19872         * gst/gstbuffer.h:
19873         Small doc fix.
19874
19875 2005-10-31  Andy Wingo  <wingo@pobox.com>
19876
19877         * Boo!
19878
19879         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
19880
19881         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
19882         need to serialize property notifications on GLib 2.8. GLib 2.6 has
19883         the possibility of deadlocks here if code calling notify() or
19884         set() has a lock that can be taken in another notify handler (ABBA
19885         with class lock and e.g. python GIL state lock).
19886
19887 2005-10-28  Julien MOUTTE  <julien@moutte.net>
19888
19889         * gst/gstbus.c: Doc updates.
19890
19891 2005-10-28  Wim Taymans  <wim@fluendo.com>
19892
19893         * docs/design/part-TODO.txt:
19894         * gst/gstiterator.c:
19895         * gst/gstsystemclock.c:
19896         * gst/gstsystemclock.h:
19897         Doc updates.
19898
19899 2005-10-28  Edward Hervey  <edward@fluendo.com>
19900
19901         * docs/gst/gstreamer-docs.sgml:
19902         * docs/gst/gstreamer-sections.txt:
19903         the GstURIType documentation page is private, it only defines GstURIType
19904         which should be defined in the GstURIHandler page
19905         
19906 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19907
19908         * gst/gstbin.c: (gst_bin_class_init):
19909         * gst/gstbin.h:
19910         * gst/gstutils.c:
19911         Documentation updates.
19912
19913 2005-10-28  Wim Taymans  <wim@fluendo.com>
19914
19915         * docs/gst/gstreamer-sections.txt:
19916         * gst/gstclock.c:
19917         * gst/gstclock.h:
19918         Documented the clocks.
19919
19920 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
19921
19922         * docs/gst/gstreamer-sections.txt:
19923           move some macros to private sections
19924         * gst/gstminiobject.c:
19925         * gst/gstminiobject.h:
19926           add descriptions provided by ds and some more
19927         * gst/gstpad.h:
19928           mark macro as to be removed
19929
19930 2005-10-28  Wim Taymans  <wim@fluendo.com>
19931
19932         * docs/design/part-TODO.txt:
19933         Add an item to TODO.
19934
19935         * gst/gstiterator.c: (gst_iterator_fold),
19936         (gst_iterator_find_custom):
19937         * gst/gstiterator.h:
19938         Add iterator docs.
19939
19940 2005-10-28  Wim Taymans  <wim@fluendo.com>
19941
19942         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19943         (gst_base_transform_init):
19944         Don't leak class.
19945
19946         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
19947         An EOS event marks the queue as completely filled.
19948
19949 2005-10-27  Wim Taymans  <wim@fluendo.com>
19950
19951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19952         (gst_base_sink_do_sync), (gst_base_sink_get_position):
19953         Some more debugging.
19954
19955         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
19956         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
19957         (gst_base_transform_event), (gst_base_transform_getrange),
19958         (gst_base_transform_chain):
19959         * gst/base/gstbasetransform.h:
19960         Fix debugging,
19961         Protect transform and concurrent buffer alloc with a new lock.
19962         Try not to break ABI/API.
19963
19964 2005-10-27  Wim Taymans  <wim@fluendo.com>
19965
19966         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19967         (gst_base_src_init), (gst_base_src_query),
19968         (gst_base_src_default_newsegment),
19969         (gst_base_src_configure_segment), (gst_base_src_do_seek),
19970         (gst_base_src_send_event), (gst_base_src_event_handler),
19971         (gst_base_src_pad_get_range), (gst_base_src_loop),
19972         (gst_base_src_unlock), (gst_base_src_default_negotiate),
19973         (gst_base_src_start), (gst_base_src_deactivate),
19974         (gst_base_src_activate_push), (gst_base_src_change_state):
19975         Move some stuff around and cleanup things.
19976
19977 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
19978
19979         * gst/base/gstbasesrc.c: (gst_base_src_query):
19980           Add missing break statements.
19981
19982 2005-10-27  Wim Taymans  <wim@fluendo.com>
19983
19984         * check/gst/gstbin.c: (GST_START_TEST):
19985         An extra refcount is taken in basesrc.
19986
19987         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19988         (gst_base_src_get_range), (gst_base_src_pad_get_range),
19989         (gst_base_src_loop):
19990         Small cleanups, check for flushing after being unlocked from the 
19991         LIVE_LOCK. take refcounts correctly (not yet everywhere).
19992         Don't send out EOS when going to READY.
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_get_position):
19998         Some more debug.
19999
20000         * gst/gstbin.c: (message_check), (bin_replace_message),
20001         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20002         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20003         (bin_query_duration_init), (bin_query_duration_fold),
20004         (bin_query_duration_done), (bin_query_generic_fold),
20005         (gst_bin_query):
20006         * tools/gst-launch.c: (main):
20007         Remove old option.
20008
20009 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
20010
20011         * examples/controller/audio-example.c: (main):
20012         * examples/queue/queue.c: (event_loop):
20013         * gst/base/gstbasetransform.h:
20014         * gst/gstelement.c: (gst_element_send_event):
20015         * gst/gstevent.h:
20016         * gst/gstpad.c: (gst_pad_send_event):
20017           fixing examples
20018           fixing docs typos
20019           changing log priority in error situations
20020
20021 2005-10-25  Wim Taymans  <wim@fluendo.com>
20022
20023         * gst/gstbin.c: (message_check), (bin_replace_message),
20024         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20025         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20026         (bin_query_duration_init), (bin_query_duration_fold),
20027         (bin_query_duration_done), (bin_query_generic_fold),
20028         (gst_bin_query):
20029         Some doc and debug updates.
20030         Cache previously requested query DURATION for speed. invalidate
20031         cached duration if element posts a DURATION message.
20032
20033 2005-10-25  Wim Taymans  <wim@fluendo.com>
20034
20035         * docs/design/part-TODO.txt:
20036         Update TODO.
20037
20038         * gst/gstbin.c: (message_check), (bin_replace_message),
20039         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20040         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20041         (bin_query_duration_init), (bin_query_duration_fold),
20042         (bin_query_duration_done), (bin_query_generic_fold),
20043         (gst_bin_query):
20044         Handle SEGMENT_START/DONE messages correctly.
20045         More evolved query algorithm that handles duration queries
20046         correctly.
20047
20048         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
20049         (gst_element_get_state_func), (gst_element_abort_state),
20050         (gst_element_commit_state), (gst_element_lost_state):
20051         Some more debugging.
20052
20053         * gst/gstmessage.h:
20054         Added doc.
20055
20056 2005-10-25  Wim Taymans  <wim@fluendo.com>
20057
20058         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20059         Don't use invalid stream_time.
20060
20061         * gst/gstevent.c: (gst_event_new_newsegment):
20062         stream_time in newsegment cannot be undefined.
20063
20064 2005-10-24  Wim Taymans  <wim@fluendo.com>
20065
20066         * gst/gstbus.c:
20067         Doc fix.
20068
20069         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20070         (gst_queue_loop):
20071         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
20072
20073 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
20074
20075         * docs/libs/tmpl/gstdparam.sgml:
20076         * docs/libs/tmpl/gstdplinint.sgml:
20077         * docs/libs/tmpl/gstdpman.sgml:
20078         * docs/libs/tmpl/gstdpsmooth.sgml:
20079         * docs/libs/tmpl/gstunitconvert.sgml:
20080           these are obsolete
20081
20082 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20083
20084         * configure.ac:
20085           back to HEAD
20086
20087 === release 0.9.4 ===
20088
20089 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20090
20091         * configure.ac:
20092           releasing 0.9.4, "Tyrannosaurus Rex"
20093
20094 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
20095
20096         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20097         (gst_file_sink_get_current_offset):
20098           Use fseeko() and ftello() if available. When falling back on
20099           lseek() to get the current offset, fflush() first to make sure
20100           everything is up-to-date and we get the right offset.
20101
20102 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20103
20104         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20105         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20106         * gst/gsterror.c: (_gst_stream_errors_init):
20107         * gst/gsterror.h:
20108         * gst/gstqueue.c: (gst_queue_loop):
20109         * po/POTFILES.in:
20110           remove prematurely added error category and clean up the instances
20111
20112 2005-10-21  Wim Taymans  <wim@fluendo.com>
20113
20114         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20115         (gst_base_sink_get_position), (gst_base_sink_query),
20116         (gst_base_sink_change_state):
20117         Simply set the right flag when going to playing, that's all
20118         we need to do instead of calling a function inside the object
20119         lock (that could take the lock as well and deadlock)
20120
20121 2005-10-21  Wim Taymans  <wim@fluendo.com>
20122
20123         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
20124         (gst_base_src_loop):
20125         Don't warn, the peer element knows what to do best when
20126         the seek failed, it might try something else.
20127
20128 2005-10-21  Wim Taymans  <wim@fluendo.com>
20129
20130         * gst/base/gstbasesrc.c: (gst_base_src_init),
20131         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
20132         Fix seeking.
20133
20134 2005-10-21  Wim Taymans  <wim@fluendo.com>
20135
20136         * docs/design/part-segments.txt:
20137         More docs.
20138
20139         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
20140         Correctly set caps, even on the subbufer.
20141
20142 2005-10-21  Wim Taymans  <wim@fluendo.com>
20143
20144         * docs/gst/gstreamer-docs.sgml:
20145         * docs/gst/gstreamer-sections.txt:
20146         * gst/gstelement.h:
20147         * gst/gstevent.c:
20148         * gst/gstevent.h:
20149         * gst/gstmessage.h:
20150         * gst/gstpad.h:
20151         * gst/gstparse.h:
20152         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
20153         * gst/gsttask.h:
20154         * gst/gstutils.c:
20155         * gst/gstutils.h:
20156         And 2% more doc coverage.
20157
20158 2005-10-21  Andy Wingo  <wingo@pobox.com>
20159
20160         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
20161         position reporting.
20162
20163 2005-10-20  Wim Taymans  <wim@fluendo.com>
20164
20165         * gst/gsterror.c: (gst_error_get_message):
20166         * gst/gstparse.h:
20167         * gst/gstquery.h:
20168         * gst/gststructure.c:
20169         * gst/gsttrace.c:
20170         * gst/gstutils.c:
20171         More docs.
20172
20173 2005-10-20  Wim Taymans  <wim@fluendo.com>
20174
20175         * gst/gstbuffer.h:
20176         * gst/gstpad.c:
20177         * gst/gstparse.c:
20178         Another 1% more coverage.
20179
20180 2005-10-20  Wim Taymans  <wim@fluendo.com>
20181
20182         * docs/gst/gstreamer-sections.txt:
20183         * gst/gstelement.c: (gst_element_get_state_func),
20184         (gst_element_abort_state), (gst_element_commit_state),
20185         (gst_element_lost_state):
20186         * gst/gstevent.h:
20187         * gst/gstquery.c: (gst_query_set_position),
20188         (gst_query_parse_position), (gst_query_set_duration),
20189         (gst_query_parse_duration), (gst_query_new_convert):
20190         * gst/gstutils.c:
20191         Yay! 1% more docs coverage.
20192
20193 2005-10-20  Wim Taymans  <wim@fluendo.com>
20194
20195         * gst/gstpad.h:
20196         * gst/gstquery.c: (gst_query_set_position),
20197         (gst_query_parse_position), (gst_query_set_duration),
20198         (gst_query_parse_duration), (gst_query_new_convert):
20199         * gst/gstquery.h:
20200         * gst/gstutils.c: (gst_element_query_convert):
20201         * gst/gstutils.h:
20202         Docs and consistency fixes.
20203
20204 2005-10-20  Wim Taymans  <wim@fluendo.com>
20205
20206         * gst/gsttask.c:
20207         * gst/gsttask.h:
20208         More docs.
20209
20210 2005-10-20  Wim Taymans  <wim@fluendo.com>
20211
20212         * gst/gstbin.c: (message_check), (bin_replace_message),
20213         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20214         (update_degree), (gst_bin_sort_iterator_next),
20215         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
20216         Reworked the message handling a bit, cache the messages instead of
20217         only the senders. alows us to do more in the future.
20218
20219 2005-10-20  Wim Taymans  <wim@fluendo.com>
20220
20221         * docs/design/part-TODO.txt:
20222         Update TODO
20223
20224         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20225         (gst_base_sink_query):
20226         Don't use clock time to report position when in EOS.
20227
20228 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
20229
20230         * tools/gst-inspect.c: (print_interfaces),
20231         (print_element_properties_info), (print_element_info):
20232           Fix interface output with gst-inspect -a; don't print
20233           newlines after double/float properties.
20234
20235 2005-10-20  Wim Taymans  <wim@fluendo.com>
20236
20237         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20238         (gst_base_sink_query):
20239         Speed up current position calculation.
20240
20241         * gst/base/gstbasesrc.c: (gst_base_src_query),
20242         (gst_base_src_default_newsegment):
20243         Correctly set stream position in newsegment.
20244
20245         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
20246         (update_degree), (gst_bin_sort_iterator_next),
20247         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
20248         * gst/gstmessage.c: (gst_message_new_custom):
20249         Clean up debugging info
20250
20251         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
20252         (gst_queue_loop), (gst_queue_handle_src_query):
20253         Pause task faster.
20254
20255 2005-10-19  Wim Taymans  <wim@fluendo.com>
20256
20257         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20258         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20259         Fix query handling again.
20260
20261 2005-10-19  Wim Taymans  <wim@fluendo.com>
20262
20263         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20264         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20265         * gst/base/gstbasesrc.c: (gst_base_src_query):
20266         * gst/elements/gstfilesink.c: (gst_file_sink_query):
20267         * gst/elements/gsttypefindelement.c:
20268         (gst_type_find_handle_src_query), (find_element_get_length),
20269         (gst_type_find_element_activate):
20270         API change fix.
20271
20272         * gst/gstquery.c: (gst_query_new_position),
20273         (gst_query_set_position), (gst_query_parse_position),
20274         (gst_query_new_duration), (gst_query_set_duration),
20275         (gst_query_parse_duration), (gst_query_set_segment),
20276         (gst_query_parse_segment):
20277         * gst/gstquery.h:
20278         Bundling query position/duration is not a good idea since duration
20279         does not change much and we don't want to recalculate it for every
20280         position query, so they are separated again..
20281         Base value in segment query is not needed.
20282
20283         * gst/gstqueue.c: (gst_queue_handle_src_query):
20284         * gst/gstutils.c: (gst_element_query_position),
20285         (gst_element_query_duration), (gst_pad_query_position),
20286         (gst_pad_query_duration):
20287         * gst/gstutils.h:
20288         Updates for query API change.
20289         Added some docs here and there.
20290
20291 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20292
20293         * check/gst/gstbin.c: (GST_START_TEST):
20294         * check/gst/gstghostpad.c: (GST_START_TEST):
20295         * check/pipelines/cleanup.c: (GST_START_TEST):
20296           wait on thread to die so we can check refcount correctly
20297
20298 2005-10-18  Wim Taymans  <wim@fluendo.com>
20299
20300         * check/pipelines/stress.c: (GST_START_TEST):
20301         Make check a little more time consuming.
20302
20303 2005-10-18  Wim Taymans  <wim@fluendo.com>
20304
20305         * check/Makefile.am:
20306         * check/pipelines/stress.c: (GST_START_TEST),
20307         (simple_launch_lines_suite), (main):
20308         Small state change torture test.
20309
20310         * docs/design/part-states.txt:
20311         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20312         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
20313         (gst_base_sink_change_state):
20314         Never take state lock from streaming thread, clean up ugly
20315         hacks. Unfortunatly core does not yet support nice ways to
20316         async commit state.
20317         
20318         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
20319         (bin_bus_handler):
20320         Start state recalc if a STATE_DIRTY message is posted, but only
20321         on the toplevel bin.
20322
20323         * gst/gstelement.c: (gst_element_sync_state_with_parent),
20324         (gst_element_get_state_func), (gst_element_abort_state),
20325         (gst_element_commit_state), (gst_element_lost_state),
20326         (gst_element_set_state_func), (gst_element_change_state):
20327         * gst/gstelement.h:
20328         State variables are now protected with the LOCK, the state
20329         lock is only used to serialize _set_state().
20330
20331 2005-10-18  Wim Taymans  <wim@fluendo.com>
20332
20333         * check/gst/gstbin.c: (GST_START_TEST):
20334         * check/gst/gstmessage.c: (GST_START_TEST):
20335         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20336         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
20337         (bin_bus_handler):
20338         * gst/gstelement.c: (gst_element_abort_state),
20339         (gst_element_commit_state), (gst_element_lost_state):
20340         * gst/gstmessage.c: (gst_message_new_state_changed),
20341         (gst_message_new_state_dirty), (gst_message_new_segment_start),
20342         (gst_message_new_segment_done), (gst_message_new_duration),
20343         (gst_message_parse_state_changed),
20344         (gst_message_parse_segment_start),
20345         (gst_message_parse_segment_done), (gst_message_parse_duration):
20346         * gst/gstmessage.h:
20347         * tools/gst-launch.c: (event_loop):
20348         Seriously, this is better than a previous commit as we only need
20349         to notify the fact that an element changed state in a streaming
20350         thread, marking the state of the parents dirty, hence the 
20351         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
20352         message.
20353
20354 2005-10-18  Wim Taymans  <wim@fluendo.com>
20355
20356         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
20357         (gst_bin_recalc_func):
20358         * gst/gstelement.c: (gst_element_set_clock),
20359         (gst_element_abort_state), (gst_element_lost_state):
20360         Cleanups, prepare for state change fixes.
20361
20362 2005-10-18  Wim Taymans  <wim@fluendo.com>
20363
20364         * gst/gstbin.h:
20365         * gst/gstelement.c: (gst_element_class_init),
20366         (gst_element_set_state), (gst_element_set_state_func):
20367         * gst/gstelement.h:
20368         Pending ABI changes.
20369         GThreadPool in GstBinClass to monitor async state changes.
20370         state_cookie in GstElement to detect concurrent gst/set state.
20371         set_state is now virtual too in case a very complicated element
20372         has to be constructed.
20373
20374 2005-10-18  Wim Taymans  <wim@fluendo.com>
20375
20376         * check/gst/gstbin.c: (GST_START_TEST):
20377         * check/gst/gstmessage.c: (GST_START_TEST):
20378         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20379         * gst/gstbin.c: (bin_bus_handler):
20380         * gst/gstelement.c: (gst_element_commit_state),
20381         (gst_element_lost_state):
20382         * gst/gstmessage.c: (gst_message_new_state_changed),
20383         (gst_message_new_segment_start), (gst_message_new_segment_done),
20384         (gst_message_new_duration), (gst_message_parse_state_changed),
20385         (gst_message_parse_segment_start),
20386         (gst_message_parse_segment_done), (gst_message_parse_duration):
20387         * gst/gstmessage.h:
20388         * tools/gst-launch.c: (event_loop):
20389         Make messages future proof.
20390         state-change gets a flag if it was a message comming from the
20391         streaming thread.
20392         segment-start/stop can also be specified in other formats.
20393         A message to notify an app that a pipeline changed playback 
20394         duration.
20395         Also fix a GstMessage leak in -launch
20396
20397 2005-10-18  Andy Wingo  <wingo@pobox.com>
20398
20399         * gst/gstelement.c (gst_element_dispose): More helpful message.
20400
20401 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20402
20403         reviewed by: <delete if not using a buddy>
20404
20405         * common/gtk-doc.mak:
20406
20407 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20408
20409         * gst/gstregistry.c: (gst_registry_scan_path_level):
20410           unref a plug-in we get that was already initialized
20411
20412 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
20413
20414         * docs/gst/gstreamer-sections.txt:
20415         * docs/libs/gstreamer-libs-sections.txt:
20416         * gst/gstelement.h:
20417           add new api entries
20418           hide internal macro
20419
20420 2005-10-17  Andy Wingo  <wingo@pobox.com>
20421
20422         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
20423         cleanup.
20424
20425         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
20426
20427         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
20428
20429         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
20430         (gst_element_get_state_func): Better debug message.
20431         (gst_element_commit_state): s/INFO/DEBUG/.
20432         (gst_element_lost_state, gst_element_change_state): 
20433
20434         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
20435         (gst_message_new_custom): s/INFO/LOG/.
20436
20437 2005-10-17  Michael Smith <msmith@fluendo.com>
20438
20439         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20440           Check if end time is valid using end time, not start time.
20441
20442 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
20443
20444         * check/gst-libs/controller.c: (GST_START_TEST),
20445         (gst_controller_suite):
20446         * libs/gst/controller/gstcontroller.c:
20447         (gst_controlled_property_set_interpolation_mode):
20448         * libs/gst/controller/gstcontroller.h:
20449         * libs/gst/controller/gstinterpolation.c:
20450         * testsuite/controller/.cvsignore:
20451         * testsuite/controller/Makefile.am:
20452         * testsuite/controller/interpolator.c:
20453           merge controller testsuites
20454           fix broken tests
20455           remove mem-chunk from docs
20456
20457 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20458
20459         * gst/gstmemchunk.c:
20460         * gst/gstmemchunk.h:
20461         * gst/gsttrashstack.c:
20462         * gst/gsttrashstack.h:
20463           out.  get out.  you're fired.  to the Attic !
20464
20465 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20466
20467         * gst/gstcaps.c: (gst_caps_intersect):
20468           fix signedness issues in a (hopefully) correct way
20469         * gst/gstelement.c: (gst_element_pads_activate):
20470           some debugging
20471         * gst/gstobject.c: (gst_object_set_parent):
20472           some debugging
20473
20474 2005-10-17  Julien MOUTTE  <julien@moutte.net>
20475
20476         * gst/gstvalue.h: Fix prototypes.
20477
20478 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20479
20480         * docs/gst/gstreamer-sections.txt:
20481         * gst/gst.c: (gst_version_string):
20482         * gst/gst.h:
20483         * gst/gstversion.h.in:
20484         * win32/common/libgstreamer.def:
20485           add gst_version_string ()
20486
20487 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20488
20489         * configure.ac:
20490           clean up further
20491         * gst/gst.c: (init_post):
20492         * win32/common/config.h.in:
20493           it's PLUGINDIR now
20494         * gst/gstcaps.c: (gst_caps_intersect):
20495           use gint64, the range could be bigger than a guint
20496
20497 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20498
20499         * gst/gstclock.h:
20500           document potential problem in 2038
20501
20502 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20503
20504         * gst/gstcaps.c: (gst_caps_intersect):
20505           Fix guint j diving under 0
20506
20507 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20508
20509         * configure.ac:
20510         * win32/common/config.h:
20511         * win32/common/config.h.in:
20512           check for process.h, declares getpid() on Windows
20513         * gst/gstinfo.c:
20514           include process.h if we have it
20515         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
20516         * gst/gstmemchunk.h:
20517           fix signedness issues
20518         * win32/common/libgstreamer.def:
20519           fix get_type's
20520
20521 2005-10-16  Julien MOUTTE  <julien@moutte.net>
20522
20523         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
20524         fix. Because of unsigned ints, caps intersection was going nuts and
20525         trying to access structures with G_MAXUINT index. That fixes
20526         videotestsrc ! ffmpegcolorspace ! fakesink
20527         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
20528         consistency.
20529
20530 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20531
20532         * configure.ac:
20533           use the gettext macro
20534         * gst/elements/gstelements.c:
20535         * gst/gst.c:
20536         * gst/indexers/gstindexers.c:
20537           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
20538         * win32/common/config.h:
20539           updated config.h
20540         * win32/common/config.h.in:
20541           add the template to generate config.h
20542         * win32/common/gstenumtypes.c:
20543         * win32/common/gstversion.h:
20544           updated copies
20545
20546 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20547
20548         * gst/gst.c: (gst_version):
20549         * gst/gstversion.h.in:
20550           add the nano
20551
20552 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20553
20554         * gst/gstevent.h:
20555           Oops, add missing closing bracket.
20556
20557 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20558
20559         * configure.ac:
20560           use common m4's for argument checking
20561
20562 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20563
20564         * docs/gst/gstreamer-sections.txt:
20565         * gst/gstevent.h:
20566           Add GST_EVENT_TYPE_NAME() macro.
20567
20568 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20569
20570         * gst/gstinfo.c:
20571         * gst/gstpluginfeature.c:
20572         * gst/gsttask.c:
20573           privatize more symbols
20574
20575 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20576
20577         * configure.ac:
20578           add srcdir, builddir includes to GST_ALL_CFLAGS, since
20579           everything that uses GStreamer API should have the includes
20580
20581 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20582
20583         * docs/gst/gstreamer-sections.txt:
20584         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
20585         * gst/gstvalue.h:
20586           give each value a _get_type, removes the DATA exports
20587
20588 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20589
20590         * gst/gst.c:
20591         * gst/gst.h:
20592           remove _gst_registry_auto_load, not used anymore
20593         * gst/gstbin.c: (gst_bin_get_type):
20594         * gst/gstbin.h:
20595         * gst/gstelement.c: (gst_element_get_type):
20596         * gst/gstelement.h:
20597         * gst/gstobject.c: (gst_object_get_type):
20598         * gst/gstobject.h:
20599         * gst/gstpad.c: (gst_pad_get_type):
20600         * gst/gstpad.h:
20601           make _get_type functions similar, fixes data export from library
20602
20603 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20604
20605         * configure.ac:
20606           correctly make conditionals
20607         * gst/elements/Makefile.am:
20608         * gst/elements/gstelements.c:
20609           fix typo causing fdsrc not to build
20610
20611 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20612
20613         * testsuite/Makefile.am:
20614         * testsuite/bytestream/.cvsignore:
20615         * testsuite/bytestream/Makefile.am:
20616         * testsuite/bytestream/filepadsink.c:
20617         * testsuite/bytestream/gstbstest.c:
20618         * testsuite/bytestream/test1.c:
20619         * testsuite/bytestream/testfile1:
20620         * testsuite/caps/normalisation.c:
20621         * testsuite/caps/random.c: (main):
20622         * testsuite/cleanup/.cvsignore:
20623         * testsuite/cleanup/Makefile.am:
20624         * testsuite/cleanup/cleanup1.c:
20625         * testsuite/cleanup/cleanup2.c:
20626         * testsuite/cleanup/cleanup3.c:
20627         * testsuite/cleanup/cleanup4.c:
20628         * testsuite/cleanup/cleanup5.c:
20629         * testsuite/controller/interpolator.c:
20630         * testsuite/debug/printf_extension.c: (main):
20631         * testsuite/elements/tee.c:
20632         * testsuite/negotiation/.cvsignore:
20633         * testsuite/negotiation/Makefile.am:
20634         * testsuite/negotiation/pad_link.c:
20635         * testsuite/pad/Makefile.am:
20636         * testsuite/pad/chainnopull.c:
20637         * testsuite/pad/getnopush.c:
20638         * testsuite/pad/link.c:
20639         * testsuite/refcounting/sched.c: (create_pipeline):
20640         * testsuite/registry/Makefile.am:
20641         * testsuite/registry/gst-print-formats.c:
20642         * testsuite/schedulers/.cvsignore:
20643         * testsuite/schedulers/142183-2.c:
20644         * testsuite/schedulers/142183.c:
20645         * testsuite/schedulers/143777-2.c:
20646         * testsuite/schedulers/143777.c:
20647         * testsuite/schedulers/147713.c:
20648         * testsuite/schedulers/147819.c:
20649         * testsuite/schedulers/147894-2.c:
20650         * testsuite/schedulers/147894.c:
20651         * testsuite/schedulers/Makefile.am:
20652         * testsuite/schedulers/group_link.c:
20653         * testsuite/schedulers/queue_link.c:
20654         * testsuite/schedulers/relink.c:
20655         * testsuite/schedulers/unlink.c:
20656         * testsuite/schedulers/unref.c:
20657         * testsuite/schedulers/useless_iteration.c:
20658         * testsuite/states/bin.c:
20659           clean out/remove some stuff from the testsuite directories
20660
20661 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20662
20663         * configure.ac:
20664           check for some headers
20665         * gst/elements/Makefile.am:
20666         * gst/elements/gstelements.c:
20667           don't compile fdsrc without sys/socket.h
20668         * gst/indexers/Makefile.am:
20669         * gst/indexers/gstindexers.c: (plugin_init):
20670           don't compile fileindex without mmap
20671
20672 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20673
20674         * configure.ac:
20675           reorganize
20676           clean up
20677           document more
20678           remove cruft
20679         * check/Makefile.am:
20680         * docs/gst/Makefile.am:
20681         * examples/helloworld/Makefile.am:
20682         * gst/Makefile.am:
20683         * gst/base/Makefile.am:
20684         * gst/check/Makefile.am:
20685         * gst/elements/Makefile.am:
20686         * gst/indexers/Makefile.am:
20687         * gst/parse/Makefile.am:
20688         * libs/gst/controller/Makefile.am:
20689         * libs/gst/dataprotocol/Makefile.am:
20690         * examples/helloworld/helloworld.c: (event_loop):
20691           compile fixes, though it's not being compiled currently
20692
20693 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20694
20695         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
20696           Add some simple tests for the new taglist date API.
20697
20698 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20699
20700         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
20701         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
20702           Beautify 'last-message' output: print 'none' for buffer timestamps
20703           and durations if none is set; improve alignment with next messages.
20704
20705 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20706
20707         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
20708         * gst/gstpluginfeature.h:
20709         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
20710         * gst/gstregistry.h:
20711         * docs/gst/gstreamer-sections.txt:
20712           Add new API to check plugin feature version requirements.
20713
20714         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
20715           Some basic tests for the above.         
20716
20717 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20718
20719         * gst/gststructure.c: (gst_structure_to_string):
20720           guard against NULL printf - happens when for example
20721           a message structure with GstClock gets serialized
20722
20723 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
20724
20725         * gst/base/gstcollectpads.c: (gst_collectpads_event):
20726           Fix presumable copy'n'pasto.
20727
20728 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20729
20730         * gst/elements/gstfakesrc.h:
20731         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
20732         * gst/elements/gsttypefindelement.c:
20733           fix some signedness
20734         * gst/elements/gstfilesink.c: (gst_file_sink_render):
20735           I wonder if this could actually write +2GB files before
20736
20737 2005-10-13  Andy Wingo  <wingo@pobox.com>
20738
20739         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
20740         Fix Timmeke Waymans bug.
20741         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
20742         string of the proper length to gst_caps_from_string. There's a
20743         potential for, before this fix, that this could cause someone
20744         connecting over the network to cause a segfault if the payload is
20745         not NUL-terminated.
20746
20747 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
20748
20749         * docs/design/draft-push-pull.txt:
20750         * docs/design/part-overview.txt:
20751         * docs/random/TODO-pre-0.9:
20752         * docs/random/old/ChangeLog.gstreamer:
20753         * gst/base/gstpushsrc.c:
20754         * gst/gstclock.c:
20755           fixed typos
20756
20757 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20758
20759         * gst/glib-compat.c: (gst_flags_get_first_value):
20760         * gst/glib-compat.h:
20761         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
20762         (gst_value_compare_double), (gst_value_serialize_flags):
20763           GLib 2.6 g_flags_get_first_value has a bug that triggers an
20764           infinite loop
20765
20766 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20767
20768         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20769         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20770           fix up debugging
20771         * tools/gst-launch.c: (event_loop):
20772           print out clock nicely
20773
20774 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
20775
20776         * docs/gst/gstreamer-sections.txt:
20777         * gst/gsttaglist.h:
20778         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
20779         (gst_tag_list_get_date_index):
20780           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
20781           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
20782
20783 2005-10-13  Julien MOUTTE  <julien@moutte.net>
20784
20785         * gst/base/gstcollectpads.c: (gst_collectpads_event),
20786         (gst_collectpads_chain):
20787         * gst/base/gstcollectpads.h: Handle newsegment and store informations
20788         in CollectData.
20789
20790 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
20791
20792         * docs/gst/gstreamer-sections.txt:
20793         * gst/gst.c:
20794         * gst/gsterror.h:
20795         * tools/gst-inspect.c: (main):
20796         * tools/gst-launch.c: (main):
20797         * tools/gst-run.c: (main):
20798         * tools/gst-xmlinspect.c: (main):
20799           fix GOption context leaks
20800           doc fixes
20801
20802 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20803
20804         * gst/gstbus.c:
20805           use HAVE_UNISTD_H
20806         * win32/common/config.h:
20807           update config
20808         * win32/vs6/grammar.dsp:
20809         * win32/vs6/libgstelements.dsp:
20810         * win32/vs6/libgstreamer.dsp:
20811           update vs6 files
20812
20813 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20814
20815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20816         * gst/base/gstbasesrc.c: (gst_base_src_query):
20817           fix more guint64<->gdouble conversions
20818
20819 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20820
20821         * Makefile.am:
20822           add win32-update target
20823         * win32/common/gstconfig.h:
20824         * win32/common/gstenumtypes.c:
20825         * win32/common/gstenumtypes.h:
20826         * win32/common/gstversion.h:
20827           add files that visual studio can't generate
20828
20829 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20830
20831         * Makefile.am:
20832           add a win32-update target
20833         * configure.ac:
20834
20835 2005-10-12  Wim Taymans  <wim@fluendo.com>
20836
20837         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20838         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
20839         * gst/gstelement.c: (gst_element_commit_state),
20840         (gst_element_set_state):
20841         Protect flags with proper lock.
20842         unref provided cached clock in dispose.
20843
20844 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
20845
20846         * gst/gst.c:
20847         * gst/gstminiobject.h:
20848         * gst/gstpad.h:
20849         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
20850           removed unused flags from miniobject
20851           doc fixes
20852
20853 2005-10-12  Wim Taymans  <wim@fluendo.com>
20854
20855         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20856         (gst_file_sink_event), (gst_file_sink_render):
20857         Flush before seeking.
20858
20859 2005-10-12  Andy Wingo  <wingo@pobox.com>
20860
20861         * gst/gst.c (gst_init_check): Ignore unknown options, as has
20862         always been the case.
20863
20864 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
20865
20866         * check/gst/gstbin.c: (GST_START_TEST):
20867         * docs/gst/gstreamer-sections.txt:
20868         * gst/base/gstbasesink.c: (gst_base_sink_init):
20869         * gst/base/gstbasesrc.c: (gst_base_src_init),
20870         (gst_base_src_get_range), (gst_base_src_check_get_range),
20871         (gst_base_src_start), (gst_base_src_stop):
20872         * gst/base/gstbasesrc.h:
20873         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
20874         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20875         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
20876         (bin_bus_handler):
20877         * gst/gstbin.h:
20878         * gst/gstbuffer.h:
20879         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
20880         * gst/gstbus.h:
20881         * gst/gstelement.c: (gst_element_is_locked_state),
20882         (gst_element_set_locked_state), (gst_element_commit_state),
20883         (gst_element_set_state):
20884         * gst/gstelement.h:
20885         * gst/gstindex.c: (gst_index_init):
20886         * gst/gstindex.h:
20887         * gst/gstminiobject.h:
20888         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
20889         (gst_object_set_parent):
20890         * gst/gstobject.h:
20891         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
20892         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
20893         * gst/gstpad.h:
20894         * gst/gstpadtemplate.h:
20895         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
20896         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
20897         * gst/gstpipeline.h:
20898         * gst/indexers/gstfileindex.c: (gst_file_index_load),
20899         (gst_file_index_commit):
20900         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
20901         * testsuite/pad/link.c: (gst_test_src_init),
20902         (gst_test_filter_init), (gst_test_sink_init):
20903         * testsuite/states/locked.c: (main):
20904           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
20905           moved bitshift from macro to enum definition
20906
20907 2005-10-12  Wim Taymans  <wim@fluendo.com>
20908
20909         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
20910         * gst/elements/gstfilesink.c: (gst_file_sink_event),
20911         (gst_file_sink_render):
20912         Some more debugging info.
20913
20914 2005-10-12  Wim Taymans  <wim@fluendo.com>
20915
20916         * docs/design/part-states.txt:
20917         * tools/gst-launch.c: (main):
20918         Some doc updates.
20919         Revert non-intentional change.
20920
20921 2005-10-12  Wim Taymans  <wim@fluendo.com>
20922
20923         * check/gst/gstbin.c: (GST_START_TEST):
20924         * check/gst/gstelement.c: (GST_START_TEST):
20925         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
20926         * check/gst/gstghostpad.c: (GST_START_TEST):
20927         * check/gst/gstpipeline.c: (GST_START_TEST):
20928         * check/pipelines/simple_launch_lines.c: (run_pipeline):
20929         * check/states/sinks.c: (GST_START_TEST):
20930         * gst/elements/gsttypefindelement.c: (stop_typefinding):
20931         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20932         (gst_bin_remove_func), (gst_bin_get_state_func),
20933         (gst_bin_recalc_state), (gst_bin_change_state_func),
20934         (bin_bus_handler):
20935         * gst/gstelement.c: (gst_element_get_state_func),
20936         (gst_element_get_state), (gst_element_abort_state),
20937         (gst_element_commit_state), (gst_element_set_state),
20938         (gst_element_change_state), (gst_element_change_state_func):
20939         * gst/gstelement.h:
20940         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
20941         (gst_pipeline_provide_clock_func):
20942         * gst/gstutils.c: (gst_element_link_pads_filtered):
20943         * tools/gst-launch.c: (main):
20944         * tools/gst-typefind.c: (main):
20945         Use GstClockTime in _get_state() instead of GTimeVal.
20946         Remove old code in gstutils.c
20947
20948 2005-10-12  Andy Wingo  <wingo@pobox.com>
20949
20950         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
20951         removed.
20952
20953         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
20954         there is no task. Shouldn't affect any code, as nothing in our
20955         plugins checks this return value.
20956         (gst_pad_stop_task): Also take the stream lock if the pad has no
20957         task. Docs updated.
20958
20959 2005-10-12  Wim Taymans  <wim@fluendo.com>
20960
20961         * gst/gstpad.c: (pre_activate), (post_activate),
20962         (gst_pad_activate_pull), (gst_pad_activate_push):
20963         Cleanup activation code. Reset old state if
20964         activation failed.
20965
20966 2005-10-12  Wim Taymans  <wim@fluendo.com>
20967
20968         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20969         (gst_base_sink_change_state):
20970         No need to prerol after receiving EOS.
20971
20972         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
20973         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
20974         * gst/elements/gstidentity.c: (gst_identity_event):
20975         Print events more verbosely.
20976
20977 2005-10-12  Wim Taymans  <wim@fluendo.com>
20978
20979         * check/Makefile.am:
20980         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20981         * check/states/sinks2.c:
20982         Moved sinks2 testcode in sinks check.
20983
20984         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20985         (gst_bin_remove_func), (gst_bin_recalc_state),
20986         (gst_bin_change_state_func), (bin_bus_handler):
20987         Fix potential race condition when _get_state() iterated over an
20988         ASYNC element right before it posted a state completion.
20989
20990         * gst/gstclock.h:
20991         Do proper cast here.
20992
20993         * gst/gstevent.c: (gst_event_new_newsegment),
20994         (gst_event_parse_newsegment):
20995         A playback rate of 0.0 is not allowed.
20996
20997 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20998
20999         * win32/common/config.h:
21000         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
21001         (_trewinddir), (_ttelldir), (_tseekdir):
21002         * win32/common/dirent.h:
21003         * win32/common/gtchar.h:
21004         * win32/common/libgstbase.def:
21005         * win32/common/libgstreamer.def:
21006         * win32/vs6/grammar.dsp:
21007         * win32/vs6/gst_inspect.dsp:
21008         * win32/vs6/gst_launch.dsp:
21009         * win32/vs6/gstreamer.dsw:
21010         * win32/vs6/libgstbase.dsp:
21011         * win32/vs6/libgstelements.dsp:
21012         * win32/vs6/libgstreamer.dsp:
21013           Visual Studio 6 project files, and a new common directory.
21014           Phear.
21015
21016 2005-10-11  Wim Taymans  <wim@fluendo.com>
21017
21018         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21019         (gst_base_sink_do_sync), (gst_base_sink_query),
21020         (gst_base_sink_change_state):
21021         * gst/base/gstbasesink.h:
21022         Correctly parse newsegment info.
21023
21024 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21025
21026         * gst/gst.c: (init_post):
21027           split plugin paths correctly
21028
21029 2005-10-11  Wim Taymans  <wim@fluendo.com>
21030
21031         * check/gst/gstevent.c: (GST_START_TEST):
21032         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21033         (gst_base_sink_change_state):
21034         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
21035         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21036         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21037         * gst/gstevent.c: (gst_event_new_newsegment),
21038         (gst_event_parse_newsegment):
21039         * gst/gstevent.h:
21040         Added extra flag to newsegment for future API freeze.
21041         Updated check and base elements.
21042
21043 2005-10-11  Julien MOUTTE  <julien@moutte.net>
21044
21045         * gst/base/gstcollectpads.c: (gst_collectpads_init),
21046         (gst_collectpads_add_pad), (gst_collectpads_pop),
21047         (gst_collectpads_event), (gst_collectpads_chain):
21048         * gst/base/gstcollectpads.h: Handle EOS correctly.
21049
21050 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21051
21052         * tools/gst-launch.c: (main):
21053           more null protecting
21054
21055 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21056
21057         * gst/gst-i18n-lib.h:
21058           check for ENABLE_NLS, not GETTEXT_PACKAGE
21059         * gst/gstregistry.c: (gst_registry_add_plugin),
21060         (gst_registry_scan_path_level),
21061         (_gst_registry_remove_cache_plugins):
21062           protect possibly NULL strings
21063         * gst/parse/types.h:
21064           config.h already included before
21065         * tools/gst-inspect.c: (main):
21066           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
21067           check for ENABLE_NLS, not GETTEXT_PACKAGE
21068         * tools/gst-launch.c: (main):
21069           check for ENABLE_NLS, not GETTEXT_PACKAGE
21070
21071 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21072
21073         * configure.ac:
21074           if we don't have glib, fail before testing 2.8
21075         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
21076           fix a leak, should fix plugins-base testsuite
21077
21078 2005-10-11  Andy Wingo  <wingo@pobox.com>
21079
21080         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
21081         take the mode we're going to as an arg. Go head and set the mode
21082         and flushing flags now, so that if the activate function starts a
21083         thread all the flags will be in the right state.
21084         (post_activate): Renamed also. Just handle making sure streaming
21085         finishes for the deactivation case, and setting the deactivated
21086         mode.
21087         (gst_pad_set_active): Complain loudly if deactivation fails.
21088         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
21089         (gst_pad_activate_push): Adapt to pre/post_activate changes,
21090         remove the terrible hack.
21091
21092 2005-10-11  Wim Taymans  <wim@fluendo.com>
21093
21094         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21095         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
21096         (gst_bin_recalc_state), (gst_bin_change_state_func),
21097         (gst_bin_dispose), (bin_bus_handler):
21098         * gst/gstbin.h:
21099         Prepare to make current EOS message queue more generic.
21100         Fix some typos.
21101
21102         * gst/gstevent.c: (gst_event_new_newsegment),
21103         (gst_event_parse_newsegment):
21104         * gst/gstevent.h:
21105         Rename base to stream_time.
21106
21107         * gst/gstmessage.h:
21108         Fix typo in docs.
21109
21110 2005-10-11  Wim Taymans  <wim@fluendo.com>
21111
21112         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21113         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
21114         (gst_bin_change_state_func), (bin_bus_handler):
21115         * gst/gstbin.h:
21116         Work on proper clock selection.
21117
21118 2005-10-11  Edward Hervey  <edward@fluendo.com>
21119
21120         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
21121         * libs/gst/controller/gstcontroller.h:
21122         Added GList* version of _remove_properties() in order to be able to wrap
21123         it in bindings.
21124
21125 2005-10-11  Wim Taymans  <wim@fluendo.com>
21126
21127         * docs/design/part-states.txt:
21128         Some more docs.
21129
21130         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
21131         (gst_bin_change_state_func), (bin_bus_handler):
21132         Doc updates. Don't distribute the same clock over and over again.
21133
21134         * gst/gstclock.c:
21135         * gst/gstclock.h:
21136         Doc updates.
21137
21138         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
21139         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
21140         (gst_pad_send_event):
21141         * gst/gstpad.h:
21142         Make probe emission threadsafe again.
21143         Register quarks and move _get_name() from utils.
21144         Doc updates.
21145
21146         * gst/gstpipeline.c: (gst_pipeline_class_init),
21147         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21148         Only redistribute the clock of it changed.
21149
21150         * gst/gstsystemclock.h:
21151         Doc updates. 
21152
21153         * gst/gstutils.c:
21154         * gst/gstutils.h:
21155         Moved the _flow_get_name() to GstPad.
21156
21157 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21158
21159         * check/gst-libs/gdp.c: (GST_START_TEST):
21160         * check/gst/gstcaps.c: (GST_START_TEST):
21161         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
21162         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
21163         (gst_dp_packet_from_caps):
21164           fix more valgrind warnings before turning up the heat
21165
21166 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21167
21168         * gst/parse/grammar.y:
21169           some cleanup before the hacking
21170
21171 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21172
21173         * gst/base/gstbasesrc.c: (gst_base_src_query):
21174           use conversions
21175         * gst/gstutils.c: (gst_guint64_to_gdouble),
21176         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
21177         * gst/gstutils.h:
21178           externalize, basesrc uses it
21179           obviously the implementation needs testing
21180
21181 2005-10-10  Wim Taymans  <wim@fluendo.com>
21182
21183         * tests/sched/Makefile.am:
21184         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
21185         (make_pipeline3), (make_pipeline4), (print_elem), (main):
21186
21187 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21188
21189         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
21190           apparently converting from guint64 to double is not implemented
21191           on MSVC
21192
21193 2005-10-10  Wim Taymans  <wim@fluendo.com>
21194
21195         * check/Makefile.am:
21196         * check/generic/states.c: (GST_START_TEST):
21197         * check/gst/gstbin.c: (GST_START_TEST):
21198         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21199         * check/states/sinks.c: (GST_START_TEST):
21200         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
21201         (main):
21202         Check fixes, use API as stated in design docs, remove hacks.
21203
21204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21205         (gst_base_sink_change_state):
21206         Catch stopping our task while we're shutting down.
21207
21208         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
21209         (gst_bin_remove_func), (gst_bin_get_state_func),
21210         (gst_bin_recalc_state), (gst_bin_change_state_func),
21211         (bin_bus_handler):
21212         * gst/gstbin.h:
21213         * gst/gstelement.c: (gst_element_init),
21214         (gst_element_get_state_func), (gst_element_abort_state),
21215         (gst_element_commit_state), (gst_element_lost_state),
21216         (gst_element_set_state), (gst_element_change_state),
21217         (gst_element_change_state_func):
21218         * gst/gstelement.h:
21219         New state change algorithm (see #318116)
21220
21221         * gst/gstpipeline.c: (gst_pipeline_class_init),
21222         (gst_pipeline_init), (gst_pipeline_set_property),
21223         (gst_pipeline_get_property), (do_pipeline_seek),
21224         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21225         * gst/gstpipeline.h:
21226         Remove crude state change hacks.
21227
21228         * gst/gstutils.h:
21229         Remove crude hacks.
21230
21231         * tools/gst-launch.c: (main):
21232         Fixes for state change. Needs some more work to fully use the
21233         new stuff.
21234
21235 2005-10-10  Andy Wingo  <wingo@pobox.com>
21236
21237         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
21238
21239         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
21240         this flag, but it's not even in GLib 2.6. Odd. Hack around the
21241         issue.
21242
21243 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21244
21245         * gst/gstiterator.c: (gst_iterator_new):
21246           Fix my previous commit: GTypes passed to gst_iterator_new()
21247           can be fundamental types.
21248
21249 2005-10-10  Wim Taymans  <wim@fluendo.com>
21250
21251         * gst/gstelement.c: (gst_element_iterate_pad_list),
21252         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
21253         (gst_element_iterate_sink_pads):
21254         Use src/sink pads lists for the respective iterators instead
21255         of filtering.
21256
21257 2005-10-10  Andy Wingo  <wingo@pobox.com>
21258
21259         Merged in popt removal + GOption addition patch from Ronald, bug
21260         #169772.
21261
21262         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
21263         GstElement macros around, remove popt-related symbols, add goption
21264         stuff.
21265
21266         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
21267         
21268         * docs/gst/Makefile.am:
21269         * docs/libs/Makefile.am: No POPT_CFLAGS.
21270         
21271         * examples/manual/Makefile.am:
21272         * docs/manual/basics-init.xml: Doc updates with an example.
21273         
21274         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
21275         (gst_init), (parse_one_option), (parse_goption_arg):
21276         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
21277         bit of hand merging and debugging to get the GOption stuff working
21278         tho.
21279         
21280         * tests/Makefile.am:
21281         * tools/Makefile.am:
21282         * tools/gst-inspect.c: (main):
21283         * tools/gst-launch.c: (main):
21284         * tools/gst-run.c: (main):
21285         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
21286
21287 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21288
21289         * gst/gstiterator.c: (gst_iterator_new):
21290           Add assertions to make sure passed GType is likely to really
21291           be a GType (as the compiler won't catch it if the size and
21292           GType arguments get mixed up, see #318447).
21293
21294 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
21295
21296         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21297
21298         * gst/gstbin.c: (gst_bin_iterate_sorted):
21299           Pass GType and size arguments to gst_iterator_new() in the right
21300           order (maybe we should make _new() take the GType as first argument
21301           just like _new_list()?) (#318447).
21302           
21303
21304 2005-10-10  Wim Taymans  <wim@fluendo.com>
21305
21306         * gst/gstelement.c: (gst_element_finalize):
21307         And free the GStaticRecMutex too
21308
21309 2005-10-10  Andy Wingo  <wingo@pobox.com>
21310
21311         * gst/gstelement.c (gst_element_init, gst_element_finalize):
21312         Allocate and free the mutex properly.
21313
21314         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
21315         New macros.
21316         (GstElement): The state_lock is now recursive. Rebuild your
21317         plugins, suckers. Old macros adapted.
21318
21319         * docs/gst/gstreamer-sections.txt: Doc updates.
21320
21321         * gst/gstutils.h:
21322         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
21323         (g_static_rec_cond_wait): Ported from state changes patch, while
21324         we wait on bug #317802 to be solved in a well-distributed GLib.
21325
21326         * gst/gstelement.c (gst_element_change_state_func): Renamed from
21327         gst_element_change_state, variable name changes.
21328         (gst_element_change_state): Split out of gst_element_set_state in
21329         preparation for the state change merge. Doesn't pay attention to
21330         the 'transition' argument.
21331         (gst_element_set_state): Updates, hopefully purely cosmetic.
21332         (gst_element_sync_state_with_parent): MT-safety. Ported from the
21333         state change patch.
21334         (gst_element_get_state_func): Renamed from get_state, cosmetic
21335         changes.
21336
21337 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21338
21339         * gst/elements/gstelements.c:
21340         * win32/GStreamer.vcproj:
21341         * win32/config.h:
21342         * win32/dirent.c: (_tseekdir):
21343         * win32/gst-inspect.vcproj:
21344         * win32/gst-launch.vcproj:
21345         * win32/gstconfig.h:
21346         * win32/gstelements.vcproj:
21347         * win32/gstenumtypes.c: (gst_object_flags_get_type):
21348         * win32/gstreamer.def:
21349         * win32/msvc71.sln:
21350           updates for the win32 build (patch from Sebastien Moutte)
21351
21352 2005-10-10  Andy Wingo  <wingo@pobox.com>
21353
21354         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
21355         gst_bin_get_state, cleaned up (but no logic changes).
21356         (bin_element_is_sink): Comment updates.
21357         (sink_iterator_filter): Remove needless cast.
21358         (gst_bin_iterate_sinks): Doc update.
21359         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
21360         cleaned up (but no logic changes).
21361
21362         * check/states/sinks.c (test_src_sink): Cleanups from the state
21363         change patch.
21364         (test_livesrc_sink): Sync on the state.
21365
21366         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
21367         the state change patch.
21368
21369         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
21370         change patch.
21371
21372         * check/gst/gstbin.c: Merge in some style fixes and additional
21373         checks from Wim's state change patch.
21374
21375 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21376
21377         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21378         (gst_type_find_helper):
21379           Check whether we have the requested data already in our list of
21380           cached buffers before pulling a new buffer; also make the buffer
21381           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
21382
21383 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21384
21385         * gst/gstcaps.c:
21386         * gst/gstevent.c:
21387           doc updates
21388         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21389           don't use long long, it's not portable.  Replacing with
21390           gint64 seems to work; let's hope no skeletons fall out of the closet.
21391
21392 2005-10-10  Andy Wingo  <wingo@pobox.com>
21393
21394         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
21395
21396 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
21397
21398         * docs/gst/gstreamer-sections.txt:
21399         * gst/gstevent.c:
21400         * gst/gstevent.h:
21401         * gst/gstinfo.c:
21402         * gst/gstinfo.h:
21403         * gst/gstmessage.c: (gst_message_parse_state_changed):
21404         * gst/gstpad.c:
21405         * gst/gstpad.h:
21406           more docs, fix compilation
21407
21408 2005-10-09  Philippe Khalaf <burger@speedy.org>
21409         * gst/gstmessage.c:
21410           Fixed a few forgotten variables on previous commit
21411
21412 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
21413
21414         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21415           Fix evil typefind crasher: getrange() might return a short
21416           buffer at the end of a file, but gst_type_find_peek() must
21417           either return the full data as requested or NULL, but
21418           never a short buffer.
21419
21420 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21421
21422         * gst/gstmessage.c: (gst_message_new_state_changed),
21423         (gst_message_parse_state_changed):
21424         * gst/gstmessage.h:
21425           don't use "new", it's a C++ keyword
21426
21427 2005-10-08  Wim Taymans  <wim@fluendo.com>
21428
21429         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
21430         * gst/gstelement.c: (gst_element_post_message):
21431         * gst/gstpipeline.c: (gst_pipeline_change_state):
21432         Small docs and debug updates.
21433
21434 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21435
21436         * docs/gst/gstreamer-sections.txt:
21437         * gst/gstelementfactory.c:
21438         * gst/gstevent.c:
21439         * gst/gsttaglist.c:
21440           more docs
21441
21442 2005-10-08  Wim Taymans  <wim@fluendo.com>
21443
21444         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
21445         (gst_bin_dispose), (bin_bus_handler):
21446         Fix typos, add comments.
21447         Clear EOS list when going to PAUSED from any direction and do it
21448         in a threadsafe way.
21449         Get base time in a threadsafe way too.
21450         Fix confusing debug in the change_state function.
21451         Various other small cleanups.
21452         
21453         * gst/gstelement.c: (gst_element_post_message):
21454         Fix very verbose bus posting code.
21455
21456         * gst/gstpipeline.c: (gst_pipeline_class_init),
21457         (gst_pipeline_set_property), (gst_pipeline_get_property),
21458         (gst_pipeline_change_state):
21459         Small ARG_ -> PROP_ cleanup
21460
21461 2005-10-08  Wim Taymans  <wim@fluendo.com>
21462
21463         * gst/gstbin.c: (is_eos), (bin_bus_handler):
21464         Do a less CPU demanding EOS check because we can.
21465
21466 2005-10-08  Wim Taymans  <wim@fluendo.com>
21467
21468         * libs/gst/dataprotocol/dataprotocol.c:
21469         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
21470         (gst_dp_packet_from_event):
21471         * libs/gst/dataprotocol/dataprotocol.h:
21472         * libs/gst/dataprotocol/dp-private.h:
21473         It's about time we bump the version number.
21474         Since event types don't fit in the guint8 anymore describing
21475         the payload type, make payload type 16 bits wide.
21476
21477 2005-10-08  Wim Taymans  <wim@fluendo.com>
21478
21479         * docs/design/part-TODO.txt:
21480         * docs/design/part-clocks.txt:
21481         * docs/design/part-events.txt:
21482         * docs/design/part-gstbin.txt:
21483         * docs/design/part-gstelement.txt:
21484         * docs/design/part-gstpipeline.txt:
21485         * docs/design/part-live-source.txt:
21486         * docs/design/part-messages.txt:
21487         * docs/design/part-overview.txt:
21488         * docs/design/part-states.txt:
21489         Many doc updates.
21490
21491 2005-10-08  Wim Taymans  <wim@fluendo.com>
21492
21493         * gst/gstevent.c:
21494         * gst/gstevent.h:
21495         Fix event quark registration.
21496         Add some space between events so we can insert them in the
21497         right groups.
21498
21499 2005-10-08  Wim Taymans  <wim@fluendo.com>
21500
21501         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21502         (gst_base_sink_handle_buffer):
21503         Better log message.
21504
21505         * gst/gstbus.h:
21506         * gst/gstelement.h:
21507         More docs.
21508
21509         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
21510         (gst_queue_set_property), (gst_queue_get_property):
21511         * gst/gstqueue.h:
21512         Remove old unused properties.
21513
21514 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21515         * docs/gst/gstreamer-sections.txt:
21516         * gst/gstmessage.c:
21517         * gst/gstmessage.h:
21518         * gst/gstminiobject.c:
21519         * gst/gstminiobject.h:
21520         * gst/gstobject.h:
21521         * gst/gstpad.h:
21522         * gst/gstutils.h:
21523           lots of new docs and doc fixes
21524
21525 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21526
21527         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
21528         * gst/gstplugin.h:
21529         * gst/gstregistry.c: (gst_registry_lookup_locked),
21530         (gst_registry_scan_path_level):
21531         * gst/gstregistryxml.c: (load_plugin):
21532           Only ever load one plugin for a given plugin basename.
21533           This ensures correct overriding of GST_PLUGIN_PATH over
21534           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
21535           system installed plugins.
21536
21537 2005-10-08  Wim Taymans  <wim@fluendo.com>
21538
21539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21540         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
21541         Prepare for doing QOS.
21542
21543 2005-10-08  Wim Taymans  <wim@fluendo.com>
21544
21545         * check/gst/gstbin.c: (GST_START_TEST):
21546         * check/pipelines/cleanup.c: (GST_START_TEST):
21547         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21548         Allow new clock message too.
21549
21550 2005-10-08  Wim Taymans  <wim@fluendo.com>
21551
21552         * gst/gstmessage.c: (gst_message_new_error),
21553         (gst_message_new_warning), (gst_message_new_tag),
21554         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21555         (gst_message_new_clock_lost), (gst_message_new_new_clock),
21556         (gst_message_new_segment_start), (gst_message_new_segment_done),
21557         (gst_message_parse_state_changed),
21558         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
21559         (gst_message_parse_new_clock):
21560         * gst/gstmessage.h:
21561         Also carry the clock in question.
21562
21563 2005-10-08  Wim Taymans  <wim@fluendo.com>
21564
21565         * gst/gstmessage.c: (gst_message_new_custom),
21566         (gst_message_new_eos), (gst_message_new_error),
21567         (gst_message_new_warning), (gst_message_new_tag),
21568         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21569         (gst_message_new_new_clock), (gst_message_new_segment_start),
21570         (gst_message_new_segment_done), (gst_message_parse_state_changed),
21571         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
21572         * gst/gstmessage.h:
21573         Clean up.
21574         Added clock related messages.
21575
21576         * gst/gstpipeline.c: (gst_pipeline_change_state):
21577         Post message when the clock changed.
21578
21579         * tools/gst-launch.c: (event_loop):
21580         Print new clock.
21581
21582 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
21583
21584         * tools/gst-inspect.c: (print_element_properties_info):
21585           Can't pass NULL strings to g_print() on windows.
21586
21587 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21588
21589         * docs/Makefile.am:
21590         * docs/gst/Makefile.am:
21591         * docs/gst/gstreamer-docs.sgml:
21592         * docs/gst/running.xml:
21593         * docs/version.entities.in:
21594           add a chapter on running GStreamer.
21595           document GST_DEBUG and GST_PLUGIN* env vars
21596
21597 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21598
21599         * Makefile.am:
21600           remove include dir
21601         * configure.ac:
21602           remove PLUGINS_BUILDDIR stuff
21603         * gst/gst.c: (init_post):
21604           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
21605         * idiottest.mak:
21606           remove, it was condescending and not needed
21607
21608 2005-10-08  Wim Taymans  <wim@fluendo.com>
21609
21610         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
21611         (gst_base_sink_handle_object), (gst_base_sink_event),
21612         (gst_base_sink_wait), (gst_base_sink_handle_event),
21613         (gst_base_sink_change_state):
21614         * gst/base/gstbasesink.h:
21615         Repost EOS message while going to PLAYING if still EOS.
21616         Make sure that when receiving a FLUSH_START we don't attempt
21617         to sync on the clock anymore.
21618
21619 2005-10-08  Wim Taymans  <wim@fluendo.com>
21620
21621         * tools/gst-launch.c: (event_loop):
21622         Better message printout.
21623
21624 2005-10-08  Wim Taymans  <wim@fluendo.com>
21625
21626         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
21627         (gst_bin_child_proxy_get_children_count):
21628         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
21629         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
21630         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
21631         (gst_child_proxy_set_valist):
21632         * gst/parse/grammar.y:
21633         Make ChildProxy threadsafe and fix mem leaks.
21634
21635 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21636
21637         * gst/gst.c: (init_post):
21638           debug the GST_PLUGIN_ env vars
21639
21640 2005-10-08  Wim Taymans  <wim@fluendo.com>
21641
21642         * check/gst/gstbin.c: (GST_START_TEST):
21643         * check/gst/gstmessage.c: (GST_START_TEST):
21644         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21645         * gst/gstelement.c: (gst_element_commit_state),
21646         (gst_element_lost_state):
21647         * gst/gstmessage.c: (gst_message_new_state_changed),
21648         (gst_message_parse_state_changed):
21649         * gst/gstmessage.h:
21650         * tools/gst-launch.c: (event_loop):
21651         Added extra field to STATE_CHANGE message with the pending
21652         state, which will be different from the new state soon.
21653
21654 2005-10-08  Wim Taymans  <wim@fluendo.com>
21655
21656         * gst/gstbus.c: (gst_bus_pop):
21657         * gst/gstclock.c:
21658         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21659         Small cleanups and doc updates.
21660
21661 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21662
21663         * gst/gst.c: (init_pre):
21664         * gst/gstbin.c: (gst_bin_add_func):
21665           log distributing clocks and base time
21666         * gst/gstregistry.c: (gst_registry_add_plugin),
21667         (gst_registry_scan_path_level), (gst_registry_scan_path):
21668           clean up the debugging output a little
21669         * gst/gstutils.c: (gst_element_state_get_name):
21670           warn about a memleak (I've actually seen this be used, though
21671           it was probably a bug)
21672
21673 2005-10-07  Wim Taymans  <wim@fluendo.com>
21674
21675         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21676         (gst_base_src_init), (gst_base_src_default_newsegment),
21677         (gst_base_src_newsegment), (gst_base_src_do_seek),
21678         (gst_base_src_loop), (gst_base_src_start):
21679         * gst/base/gstbasesrc.h:
21680         Make the newsegment event customizable by subclasses.
21681
21682 2005-10-07  Wim Taymans  <wim@fluendo.com>
21683
21684         * gst/gstevent.c: (gst_event_new_buffersize),
21685         (gst_event_parse_buffersize):
21686         * gst/gstevent.h:
21687         New event for future idea.
21688
21689 2005-10-07  Andy Wingo  <wingo@pobox.com>
21690
21691         * gst/gstelement.c (gst_element_post_message): Doc update.
21692
21693         * docs/gst/gstreamer-sections.txt: Update.
21694
21695         * gst/gstmessage.c (gst_message_new_application): Made into a
21696         function like honest API calls.
21697         (gst_message_new_element): New message type.
21698
21699         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
21700
21701         * check/elements/fakesrc.c (test_no_preroll): New check, checks
21702         that setting a live fakesrc to PAUSED returns NO_PREROLL both
21703         times.
21704
21705         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
21706         NO_PREROLL from gst_element_change_state to fall through.
21707
21708 2005-10-07  Wim Taymans  <wim@fluendo.com>
21709
21710         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
21711         (gst_ghost_pad_do_activate_push):
21712         Activating a ghostpad with no internal pad in push mode
21713         is ok.
21714
21715 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21716
21717         * gst/gstobject.h:
21718           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
21719           Fixes compilation on Windows.
21720
21721 2005-10-07  Michael Smith <msmith@fluendo.com>
21722
21723         * tools/gst-inspect.c:
21724           Print out feature and plugin count at the end when printing out
21725           all features.
21726
21727 2005-10-04  Michael Smith <msmith@fluendo.com>
21728
21729         * gst/gsterror.c: (_gst_stream_errors_init):
21730           Add another error string used in a few existing plugins.
21731
21732         * gst/gstplugin.c:
21733         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
21734         * tools/gst-inspect.c: (print_element_info):
21735           When a feature disappears from a plugin (and the feature exists in
21736           the cached registry file), things went horribly wrong. This isn't a
21737           complete fix, we should actually be removing the 'missing' features
21738           from the features list when we load the actual plugin. That's not
21739           yet implemented. 
21740
21741 2005-10-04  Johan Dahlin  <johan@gnome.org>
21742
21743         * check/gst/gstiterator.c: (GST_START_TEST):
21744         * gst/gstbin.c: (gst_bin_iterate_elements),
21745         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
21746         * gst/gstelement.c: (gst_element_iterate_pads):
21747         * gst/gstformat.c: (gst_format_iterate_definitions):
21748         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
21749         (gst_iterator_new_list), (gst_iterator_filter):
21750         * gst/gstiterator.h:
21751         * gst/gstquery.c: (gst_query_type_iterate_definitions):
21752         Add a GType to GstIterator, update callsites and tests.
21753
21754 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21755
21756         * gst/gstpad.c: (gst_pad_event_default_dispatch):
21757           give events a chance to be handled by event probes when the pad
21758           is not linked
21759
21760 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21761
21762         * gst/gstevent.c: (gst_event_type_get_name),
21763         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
21764         * gst/gstevent.h:
21765           add string representations for event types
21766
21767 2005-10-06  Wim Taymans  <wim@fluendo.com>
21768
21769         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
21770         Don't use NULL pointers.
21771
21772 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21773
21774         * gst/gst_private.h:
21775         * gst/gstbus.c:
21776         * gst/gstelement.c:
21777         * gst/gstinfo.c:
21778         * gst/gstpluginfeature.c:
21779           widen the debug category in output to fit the biggest one we have
21780           add a bus category and use it
21781           play with the colors
21782           fix up some categories
21783
21784 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21785
21786         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
21787           add push activation of sink ghost pads.
21788           Andye, please verify
21789
21790 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21791
21792         * gst/gstutils.c: (gst_element_link_pads):
21793           fix a bug in the case where neither element has a pad
21794         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21795           add a test for that case
21796
21797 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21798
21799         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
21800           emit have-data before checking for peers.  This allows
21801           for probe handlers to connect elements.  This helps autopluggers.
21802         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
21803         (gst_pad_suite):
21804           add six checks, linked/unlinked with no/true/false probe
21805
21806 2005-10-04  Wim Taymans  <wim@fluendo.com>
21807
21808         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
21809         (gst_fake_sink_event), (gst_fake_sink_preroll),
21810         (gst_fake_sink_render), (gst_fake_sink_change_state):
21811         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
21812         (gst_fake_src_get_property), (gst_fake_src_create),
21813         (gst_fake_src_stop):
21814         * gst/elements/gstidentity.c: (gst_identity_stop):
21815         Protect last_message with lock.
21816
21817 2005-10-04  Edward Hervey  <edward@fluendo.com>
21818
21819         * gst/gstformat.h: 
21820         Added precision in the comments for GST_FORMAT_DEFAULT
21821
21822 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
21823
21824         * tools/gst-launch.c: (main):
21825           Don't try to run erroneous pipelines.
21826
21827 2005-10-04  Julien MOUTTE  <julien@moutte.net>
21828
21829         * gst/gstbus.c: We don't need this header.
21830
21831 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21832
21833         * configure.ac:
21834           back to development
21835
21836 === release 0.9.3 ===
21837
21838 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21839
21840         * README:
21841         * configure.ac:
21842           Releasing 0.9.3, "Unregistered"
21843
21844 2005-10-03  Andy Wingo  <wingo@pobox.com>
21845
21846         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
21847         whereby calling a pad's activatepush() function can start a thread
21848         that starts to push or pull before the pad gets the FLUSHING flag
21849         unset. Hack around it by holding the stream lock until the flag is
21850         set. Need to replace this with a proper solution. Together with
21851         the ghost pad fixes, this fixes mp3 playing/tagreading.
21852
21853         * docs/design/part-gstghostpad.txt: Add a note about activation of
21854         proxy pads outside of ghost pads.
21855
21856         * gst/gstghostpad.c: Implement the ghost pad activation design.
21857
21858 2005-10-02  Andy Wingo  <wingo@pobox.com>
21859
21860         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
21861         It is volatile, after all.
21862
21863         * docs/design/part-gstghostpad.txt: Flesh out activation with
21864         ghost pads.
21865
21866         * gst/base/gstbasesrc.c (gst_base_src_init): Use
21867         GST_DEBUG_FUNCPTR.
21868
21869 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
21870
21871         * configure.ac:
21872           Fix (unused) AM_CONDITIONAL tests.
21873
21874 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
21875
21876         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21877
21878         * gst/gstutils.c: (gst_pad_query_convert):
21879           Add assertion that makes sure src_val is >=0, just like
21880           gst_query_new_convert() has. (#315895)
21881
21882 2005-09-30  Edward Hervey  <edward@fluendo.com>
21883
21884         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
21885         Let's not iterate pads we're not interested in, it avoids getting 
21886         sky-high refcounts on sinkpad.
21887
21888 2005-09-30  Wim Taymans  <wim@fluendo.com>
21889
21890         * gst/gstelement.c: (gst_element_set_state),
21891         (gst_element_change_state):
21892         Small tweak, element in ASYNC remains ASYNC.
21893
21894 2005-09-30  Wim Taymans  <wim@fluendo.com>
21895
21896         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21897         Only error is an error.
21898
21899         * gst/gstbin.c: (gst_bin_change_state):
21900         Better debugging.
21901
21902         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
21903         Also call pad_block in pad alloc.
21904
21905         * gst/gstutils.c: (gst_flow_get_name):
21906         Better debugging.
21907
21908 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21909
21910         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21911         (gst_base_src_get_range):
21912           Fix documentation typos. Add some more debug info.
21913
21914 2005-09-29  David Schleef  <ds@schleef.org>
21915
21916         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
21917           more end-user friendly.
21918         * tools/gst-inspect.c: (main): Check if command-line argument is
21919           a file and attempt to load that file as a plugin.
21920
21921 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21922
21923         * check/gst/gstbin.c:
21924         * check/states/sinks.c:
21925           fix tests for the new warning
21926         * check/gst/gstpipeline.c:
21927           add a test for pipeline and bus interaction
21928         * gst/gstelement.c:
21929           elements should be NULL if they get disposed; add a warning if not
21930
21931 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21932
21933         * gst/gstobject.c:
21934           for 2.6 refcounting, make debug log more correct by printing
21935           the actual refcounts at the time of swap (Wim)
21936
21937 2005-09-29  Andy Wingo  <wingo@pobox.com>
21938
21939         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
21940         removes signal watches previously added via
21941         gst_bus_add_signal_watch.
21942         (gst_bus_add_signal_watch): Don't return the source id, just store
21943         it on the bus if there wasn't an id already.
21944
21945         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
21946         add_signal_watch and remove_signal_watch.
21947
21948 2005-09-29  Edward Hervey  <edward@fluendo.com>
21949
21950         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
21951         Better if we actually iterate the list :)
21952
21953 2005-09-29  Wim Taymans  <wim@fluendo.com>
21954
21955         * check/gst/gstbin.c: (GST_START_TEST):
21956         Change for new bus API.
21957
21958         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21959         (send_messages), (GST_START_TEST), (gstbus_suite):
21960         Change for new bus signal API.
21961
21962         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
21963         (gst_bus_source_prepare), (gst_bus_source_check),
21964         (gst_bus_create_watch), (gst_bus_add_watch_full),
21965         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
21966         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
21967         * gst/gstbus.h:
21968         Remove support for multiple GSources operating on different
21969         message types as it is too complex and unneeded when using
21970         signals.
21971         Added support for receiving signals from the bus.
21972
21973 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21974
21975         * docs/libs/tmpl/gstdataprotocol.sgml:
21976         * docs/manual/advanced-dataaccess.xml:
21977         * gst/elements/gstcapsfilter.c:
21978         * gst/gstutils.c:
21979           rename filter-caps to caps property
21980
21981 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21982
21983         * gst/gstvalue.c: (gst_value_deserialize_fraction):
21984           More robust fraction string parsing.
21985
21986         * docs/pwg/appendix-porting.xml:
21987           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
21988
21989 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21990
21991         * gst/gstcaps.c: (gst_caps_do_simplify):
21992           Thou shalt not free a structure and then continue using it
21993           in the next loop iteration.
21994
21995         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
21996         (gst_caps_suite):
21997           Add test case for caps simplification.
21998
21999 2005-09-29  Wim Taymans  <wim@fluendo.com>
22000
22001         * check/gst/gstbin.c: (GST_START_TEST):
22002         Oops.
22003
22004 2005-09-29  Wim Taymans  <wim@fluendo.com>
22005
22006         * check/gst/gstbin.c: (GST_START_TEST):
22007         Add bus to bin.
22008
22009         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
22010         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22011         (find_element), (gst_bin_sort_iterator_next),
22012         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22013         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22014         (gst_bin_change_state), (gst_bin_dispose):
22015         A bin does not have a bus, it gets the bus from the parent.
22016
22017         * gst/gstelement.c: (gst_element_requires_clock),
22018         (gst_element_provides_clock), (gst_element_is_indexable),
22019         (gst_element_is_locked_state), (gst_element_change_state),
22020         (gst_element_set_bus_func):
22021         Small cleanups.
22022
22023         * gst/gstpipeline.c: (gst_pipeline_class_init),
22024         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
22025         The pipeline provides a bus.
22026
22027 2005-09-28  Johan Dahlin  <johan@gnome.org>
22028
22029         * gst/gstmessage.c (gst_message_parse_state_changed): Use
22030         gst_structure_get_enum instead of gst_structure_get_int
22031
22032         * gst/gststructure.c (gst_structure_get_enum): Impl.
22033
22034         * gst/gststructure.h (gst_structure_get_enum): Add
22035
22036         * docs/gst/gstreamer-sections.txt: Ditto
22037
22038         * gst/gstmessage.c (gst_message_new_state_changed): Use
22039         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
22040         which does introspection.
22041         Reviewed by Christian Schaller
22042
22043 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22044
22045         * gst/gstinfo.c: (gst_debug_log_default):
22046           don't do dummy g_strdup()s
22047         * libs/gst/controller/gstcontroller.c:
22048         (on_object_controlled_property_changed),
22049         (gst_controlled_property_new), (gst_controller_new_valist),
22050         (gst_controller_new_list),
22051         (gst_controller_remove_properties_valist), (gst_controller_set),
22052         (gst_controller_get), (gst_controller_sync_values),
22053         (gst_controller_get_value_array), (_gst_controller_class_init),
22054         (gst_controller_get_type):
22055         * libs/gst/controller/gstcontroller.h:
22056         * libs/gst/controller/gstinterpolation.c:
22057         (gst_controlled_property_find_timed_value_node):
22058           convert // to /**/ comments
22059
22060 2005-09-28  Wim Taymans  <wim@fluendo.com>
22061
22062         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
22063         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
22064         (gst_bus_sync_signal_handler):
22065         * gst/gstbus.h:
22066         Added async-message and sync-message signals to the bus.
22067         Added helper BusFunc to emit signals for all posted messages.
22068
22069         * gst/gstmessage.c: (gst_message_type_get_name),
22070         (gst_message_type_to_quark), (gst_message_get_type):
22071         * gst/gstmessage.h:
22072         Register quarks for message names.
22073
22074 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22075
22076         * docs/libs/gstreamer-libs-sections.txt:
22077         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
22078         (gst_controller_new_list):
22079         * libs/gst/controller/gstcontroller.h:
22080           added another constructor for language bindings
22081
22082 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22083
22084         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22085           add another check
22086         * gst/gstbus.c:
22087           add some doc
22088         * gst/gstinfo.c: (_gst_debug_init):
22089           slightly more readable color for refcount debugging
22090
22091 2005-09-28  Wim Taymans  <wim@fluendo.com>
22092
22093         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
22094         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22095         (find_element), (gst_bin_sort_iterator_next),
22096         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22097         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22098         (gst_bin_change_state), (gst_bin_dispose):
22099         Small doc fixes. get_clock -> provide_clock.
22100
22101         * gst/gstelement.c: (gst_element_class_init),
22102         (gst_element_provides_clock), (gst_element_provide_clock),
22103         (gst_element_get_clock), (gst_element_commit_state),
22104         (gst_element_lost_state):
22105         * gst/gstelement.h:
22106         Make get/set_clock() symetric. Add provide_clock vmethod since
22107         that is actually what this function does.
22108
22109         * gst/gstpipeline.c: (gst_pipeline_class_init),
22110         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
22111         (gst_pipeline_get_clock):
22112         get_clock -> provide_clock.
22113
22114 2005-09-28  Andy Wingo  <wingo@pobox.com>
22115
22116         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
22117         lieu of real docs...
22118
22119         * gst/elements/gstfdsrc.c: Cleaned up a bit.
22120
22121 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
22122
22123         * gst/elements/gstcapsfilter.c:
22124         * gst/elements/gstfakesink.c:
22125         * gst/elements/gstfakesrc.c:
22126         * gst/elements/gstfdsink.c:
22127         * gst/elements/gstfdsrc.c:
22128         * gst/elements/gstfilesink.c:
22129         * gst/elements/gstfilesrc.c:
22130         * gst/elements/gstidentity.c:
22131         * gst/elements/gsttee.c:
22132         * gst/elements/gsttypefindelement.c:
22133           Make element details static.
22134
22135 2005-09-28  Wim Taymans  <wim@fluendo.com>
22136
22137         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22138         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22139         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22140         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22141         (gst_bin_change_state), (gst_bin_dispose):
22142         Some documentation updates.
22143         Clean up dispose handlers.
22144
22145         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
22146         * gst/gstpad.c: (gst_pad_dispose):
22147         Clean up dispose handler.
22148
22149         * gst/gstpipeline.c: (gst_pipeline_change_state):
22150         Removed spurious UNLOCK.
22151
22152 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
22153
22154         * docs/gst/gstreamer-sections.txt:
22155         * gst/base/gstbasesrc.h:
22156         * gst/gstelement.h:
22157         * gst/gstevent.h:
22158         * gst/gstobject.h:
22159         * gst/gstpad.h:
22160         * gst/gstpipeline.c:
22161         * gst/gstpipeline.h:
22162         * gst/gstutils.h:
22163         * gst/gstxml.h:
22164           added two new functions to the docs
22165                 documents all undocumented GstXXXFlags
22166                 completed some incomplete docs 
22167
22168 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
22169
22170         * gst/gstbin.c: (gst_bin_dispose):
22171         * gst/gstelement.c: (gst_element_dispose):
22172           remove now useless and leaky resurrection code in dispose
22173         * gst/base/gstbasesrc.c: (gst_base_src_init):
22174         * gst/gstelementfactory.c: (gst_element_factory_create):
22175         * gst/gstobject.c: (gst_object_set_parent):
22176           add some debugging
22177
22178 2005-09-27  Wim Taymans  <wim@fluendo.com>
22179
22180         * docs/design/part-TODO.txt:
22181         Update TODO.
22182
22183         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22184         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22185         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22186         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22187         (gst_bin_change_state):
22188         * gst/gstelement.h:
22189         Remove element variable, we keep element info in the iterator now.
22190
22191 2005-09-27  Andy Wingo  <wingo@pobox.com>
22192
22193         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
22194         values.
22195
22196 2005-09-27  Wim Taymans  <wim@fluendo.com>
22197
22198         * check/gst/gstbin.c: (GST_START_TEST):
22199         Enable check that works now.
22200
22201         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22202         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22203         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22204         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22205         (gst_bin_change_state):
22206         * gst/gstbin.h:
22207         Redid the state change algorithm using a topological sort algo.
22208         Handles all cases correctly.
22209         Exposed iterator for state change order.
22210
22211         * gst/gstelement.h:
22212         Temp storage for state changes. Need to get rid of this soon.
22213
22214 2005-09-27  Wim Taymans  <wim@fluendo.com>
22215
22216         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
22217         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
22218         (link_fold_func), (gst_pad_proxy_setcaps):
22219         Leak fixes, the fold functions need to unref the passed object and
22220         _get_parent_*() returns ref to parent.
22221
22222 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22223
22224         * check/gst/gstbuffer.c: (test_make_writable):
22225           Plug leak in test case and fix 'make check-valgrind'
22226
22227 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22228
22229         * gst/gstbuffer.c: (gst_subbuffer_init):
22230           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
22231           works correctly in all circumstances (we could have just copied
22232           the parent buffer's readonly flag, but conceptually it seems
22233           cleaner to mark all subbuffers as read-only). (based on patch
22234           by Alessandro Decina, #314710).
22235         
22236         * check/gst/gstbuffer.c: (create_read_only_buffer),
22237         (test_make_writable), (test_subbuffer_make_writable),
22238         (gst_test_suite):
22239           Add some tests for gst_buffer_make_writable().
22240
22241 2005-09-27  Wim Taymans  <wim@fluendo.com>
22242
22243         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
22244         use gst_object_has_ancestor().
22245
22246         * gst/gstobject.c: (gst_object_has_ancestor):
22247         * gst/gstobject.h:
22248         gst_object_has_ancestor() copied from gstbin.c as it is a
22249         useful function.
22250
22251         * tests/instantiate/create.c: (create_all_elements):
22252         * tests/lat.c: (handoff_src), (handoff_sink):
22253         * tests/sched/runxml.c: (main):
22254         * tests/seeking/seeking1.c: (main):
22255         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
22256         (main):
22257         Fix compilation of some tests.
22258
22259 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22260
22261         * gst/gsterror.h:
22262           Remove comment. GST_TYPE_G_ERROR is here to stay,
22263           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
22264           (#316961, #300610).
22265
22266 2005-09-26  Wim Taymans  <wim@fluendo.com>
22267
22268         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22269         Added check that shows error in state change order.
22270
22271 2005-09-26  Wim Taymans  <wim@fluendo.com>
22272
22273         * gst/gstbin.c: (gst_bin_change_state):
22274         Make state change function use 3 queues again, we were
22275         adding elements in the wrong order.
22276
22277         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
22278         Some debug info,
22279
22280         * gst/gstpad.c: (gst_pad_dispose):
22281         Added some debug info first.
22282
22283 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
22284
22285         * docs/design/draft-push-pull.txt:
22286         * docs/design/part-events.txt:
22287         * docs/design/part-overview.txt:
22288         * docs/design/part-scheduling.txt:
22289           Replace all _pull_region() with _pull_range()
22290           
22291 2005-09-26  Andy Wingo  <wingo@pobox.com>
22292
22293         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
22294
22295         * check/gst-libs/controller.c: Update for controller api change.
22296
22297         * configure.ac: 
22298         * tests/Makefile.am:
22299         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
22300         over by GLib bug 118439.
22301         
22302         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
22303         routines to a function.
22304
22305         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
22306
22307         * libs/gst/controller/gsthelper.c:
22308         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
22309         (gst_object_sync_values): Renamed from sink_values. Ugh.
22310
22311         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
22312
22313         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
22314         Renamed from controller_key, as it is exported.
22315
22316         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
22317
22318 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22319
22320         * gst/Makefile.am:
22321         * gst/gst.h:
22322         * gst/gstpad.h:
22323         * gst/gstpadtemplate.h:
22324         * gst/gstquery.c:
22325         * gst/gstquery.h:
22326         * gst/gstqueryutils.c:
22327         * gst/gstqueryutils.h:
22328           remove queryutils headers after moving the two used functions
22329           to gstquery.  also fixes build problem for gstsiddec
22330
22331 2005-09-26  Michael Smith <msmith@fluendo.com>
22332
22333         * tools/gst-launch.1.in:
22334         Correct documentation in manpage of debug syntax
22335
22336 2005-09-26  Wim Taymans  <wim@fluendo.com>
22337
22338         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22339         (gst_base_src_is_seekable), (gst_base_src_change_state):
22340         Some more debugging info.
22341
22342 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22343
22344         * docs/gst/gstreamer-sections.txt:
22345         * gst/base/gstbasetransform.h:
22346         * gst/gstindex.h:
22347           added more docs
22348
22349 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22350
22351         * docs/gst/.cvsignore:
22352         * docs/gst/tmpl/.cvsignore:
22353         * docs/gst/tmpl/gstpipeline.sgml:
22354         * docs/gst/tmpl/gstplugin.sgml:
22355         * gst/gstpipeline.c:
22356         * gst/gstplugin.c:
22357         * gst/gstplugin.h:
22358           inlined the last two docs files
22359           removed the tmpl directory from cvs (no more conflicts here!)
22360
22361 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22362
22363         * docs/gst/gstreamer-sections.txt:
22364         * docs/gst/tmpl/.cvsignore:
22365         * docs/gst/tmpl/gstpad.sgml:
22366         * docs/gst/tmpl/gstpadtemplate.sgml:
22367         * gst/Makefile.am:
22368         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
22369         (gst_pad_finalize), (gst_pad_set_pad_template):
22370         * gst/gstpad.h:
22371         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
22372         (gst_pad_template_class_init), (gst_pad_template_init),
22373         (gst_pad_template_dispose), (name_is_valid),
22374         (gst_static_pad_template_get), (gst_pad_template_new),
22375         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
22376         (gst_pad_template_pad_created):
22377         * gst/gstpadtemplate.h:
22378           inlined two more docs
22379           factored gstpadtemplate out of gstpad
22380
22381 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
22382
22383         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22384         (test_children_state_change_order_semi_sink):
22385           Fix test case: we can't rely on a fixed state change order when
22386           going from READY => PAUSED because the sink might commit its 
22387           new state first when the first buffer created by the source 
22388           reaches the sink before the source has finished its change state.
22389           (Test case still fails at times, see #316856, comment 5 onwards)
22390
22391 2005-09-24  Wim Taymans  <wim@fluendo.com>
22392
22393         * docs/design/part-events.txt:
22394         * docs/design/part-gstbus.txt:
22395         * docs/design/part-gstpipeline.txt:
22396         * docs/design/part-messages.txt:
22397         * docs/design/part-overview.txt:
22398         * docs/design/part-segments.txt:
22399         * gst/gstbin.c:
22400         * gst/gstbuffer.c:
22401         * gst/gstclock.c:
22402         * gst/gstelement.c:
22403         * gst/gstevent.c:
22404         * gst/gstfilter.c:
22405         * gst/gstiterator.c:
22406         Various documentation updates.
22407
22408 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22409
22410         * gst/gstclock.h:
22411           Well, that's embarassing.  Luckily we weren't using
22412           GST_CLOCK_DIFF anywhere.
22413
22414 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22415
22416         * common/gtk-doc.mak:
22417           don't fail on building XML, FC4 slave shows a bunch of doc
22418           missing bits that I don't get
22419         * gst/gstpad.c:
22420         * gst/gstpipeline.c:
22421         * gst/gststructure.c:
22422           some doc updates
22423
22424 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22425
22426         * docs/design/part-gstbin.txt:
22427         * docs/design/part-gstbus.txt:
22428         * gst/gstbus.c:
22429           Add blurb about how the bus goes into flushing mode and
22430           drops all messages when its bin goes from READY into NULL 
22431           state.
22432
22433 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22434
22435         * docs/gst/gstreamer-sections.txt:
22436         * gst/gststructure.c: (gst_structure_get_clock_time):
22437         * gst/gststructure.h:
22438           add a method to get a GstClockTime out of a structure
22439
22440 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22441
22442         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22443         (test_children_state_change_order_semi_sink), (gst_bin_suite):
22444           Added test to check state change order in bins (can still be made
22445           to fail here under heavy disk load; bails out with 'Push on pad
22446           fakesink:sink0, but it was not activated in push mode').
22447
22448         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
22449           Fix state change order when there is only a semi sink (#316856)
22450
22451         * gst/gstbus.c: (gst_bus_class_init):
22452           Use _class_peek_parent(), not _class_ref(); fix docs to say
22453           'default main context' instead of 'mainloop' where that is
22454           what's meant.
22455
22456         * gst/gstelement.c: (gst_element_commit_state),
22457         (gst_element_set_state):
22458           Fix typos in debug messages
22459
22460 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22461
22462         * docs/README:
22463         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
22464         * gst/gstpluginfeature.c:
22465         * gst/gstutils.c:
22466           various doc updates
22467         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22468           change an assert into an error until it gets fixed properly
22469
22470 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
22471
22472         * docs/gst/gstreamer-sections.txt:
22473         * docs/gst/tmpl/.cvsignore:
22474         * docs/gst/tmpl/gstelement.sgml:
22475         * docs/gst/tmpl/gstinfo.sgml:
22476         * docs/gst/tmpl/gstobject.sgml:
22477         * gst/gstelement.c:
22478         * gst/gstelement.h:
22479         * gst/gstinfo.c:
22480         * gst/gstinfo.h:
22481         * gst/gstobject.c: (gst_object_class_init):
22482         * gst/gstobject.h:
22483           inlined 3 more biiiig doc files and added some missing docs on the fly
22484
22485 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22486
22487         * check/gst/.cvsignore:
22488         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
22489         * gst/gstregistryxml.c: (load_plugin),
22490         (gst_registry_xml_save_plugin):
22491           put back source in registry.  add checks for find_plugin.
22492         * testsuite/states/bin.c: (assert_state), (empty_bin),
22493         (test_adding_one_element), (main):
22494         * testsuite/states/locked.c: (main):
22495           some compile/run fixes
22496
22497 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22498
22499         * check/gst/gstvalue.c: (GST_START_TEST):
22500           fix leaks in the test itself
22501
22502 2005-09-22  Wim Taymans  <wim@fluendo.com>
22503
22504         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22505         (gst_base_sink_send_event), (gst_base_sink_peer_query),
22506         (gst_base_sink_query):
22507         Prepare for more accurate position reporting and query
22508         handling.
22509
22510         * gst/gstelement.c: (gst_element_send_event),
22511         (gst_element_set_state):
22512         Add some comment.
22513
22514 2005-09-22  Wim Taymans  <wim@fluendo.com>
22515
22516         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
22517         (gst_query_parse_segment):
22518         * gst/gstquery.h:
22519         More documentation.
22520         Add segment query for future use.
22521
22522 2005-09-22  Wim Taymans  <wim@fluendo.com>
22523
22524         * gst/gstbin.c: (gst_bin_add_func):
22525         Some more debug info.
22526
22527         * gst/gstelement.c: (gst_element_send_event):
22528         Simplify send_event
22529
22530         * gst/gstelement.h:
22531         Don't know how flags got broken.
22532
22533         * gst/gstquery.h:
22534         Added new query.
22535
22536 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22537
22538         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
22539           Add simplistic test suite for GST_TYPE_DATE serialisation and
22540           deserialisation.
22541
22542 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22543
22544         * docs/gst/gstreamer-sections.txt:
22545         * gst/gststructure.c: (gst_structure_set_valist),
22546         (gst_structure_get_date):
22547         * gst/gststructure.h:
22548         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
22549         (gst_date_copy), (gst_value_compare_date),
22550         (gst_value_serialize_date), (gst_value_deserialize_date),
22551         (gst_value_transform_date_string),
22552         (gst_value_transform_string_date), (_gst_value_initialize):
22553         * gst/gstvalue.h:
22554           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
22555           bunch of utility functions along with a hack that checks that
22556           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
22557           is required. Part of the grand scheme in #170777.
22558
22559 2005-09-22  Andy Wingo  <wingo@pobox.com>
22560
22561         * gst/gstconfig.h.in: Psych out gtk-doc.
22562
22563         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
22564
22565         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
22566
22567         * tools/gst-inspect.c (print_element_list): Plug some
22568         inconsequential leaks.
22569
22570         * gst/gstregistry.c (gst_registry_get_default): Doc.
22571
22572         * check/gst/gstplugin.c: 
22573         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
22574         * gst/gstelementfactory.c (gst_element_factory_create): 
22575         * gst/gstindexfactory.c (gst_index_factory_create): Update for
22576         refcount changes.
22577
22578         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
22579         (gst_plugin_feature_load): Doc, don't eat refs.
22580
22581         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
22582         (gst_plugin_list_free): Doc.
22583         (gst_plugin_load_file): Doc updates.
22584
22585         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
22586         accessors returning refcounted objects, return a ref.
22587
22588         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
22589         accessor for caps. IDEMPOTENCE. Oh yes.
22590
22591 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
22592
22593         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22594
22595         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
22596         (_gst_debug_register_funcptr):
22597           Add mutex to serialise access to the hash table with
22598           the function pointer => function name string mapping;
22599           make that hash table static scope (#316809).
22600
22601         * gst/registries/.cvsignore:
22602           Remove left-over file.
22603
22604 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
22605
22606         * docs/pwg/appendix-porting.xml:
22607           And something about newsegment events and caps-on-buffers to
22608           the porting guide (feel free to improve).
22609
22610 2005-09-21  Andy Wingo  <wingo@pobox.com>
22611
22612         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
22613         data and event probes on the same pad.
22614         (test_buffer_probe_once): Test that removing probes from within
22615         the probe functions works.
22616
22617 2005-09-21  Andy Wingo  <wingo@pobox.com>
22618
22619         * check/gst/gstutils.c: New file.
22620         (test_buffer_probe_n_times): A simple buffer probe test. More to
22621         come, foolios.
22622
22623         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
22624         have-data::buffer, not have-data.
22625         (gst_pad_add_event_probe): Likewise for have-data::event.
22626         (gst_pad_add_data_probe): More docs. The part about 'resolving the
22627         peer' isn't quite right yet though.
22628         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
22629         (gst_pad_remove_data_probe): Change to take the guint handler_id
22630         as their arg, not the function+data, which is more glib-like.
22631
22632         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
22633         the signal emission to indicate if the data is a buffer or an
22634         event.
22635         (gst_pad_get_type): Initialize buffer and event quarks.
22636         (gst_pad_class_init): have-data is now a detailed signal, yes it
22637         is.
22638
22639 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
22640
22641         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22642         * gst/gstutils.c: (gst_util_set_value_from_string),
22643         (gst_util_set_object_arg):
22644           Don't put functional code in g_return_if_fail() or
22645           g_return_val_if_fail() statements, otherwise things will 
22646           break when G_DISABLE_CHECKS is defined during compilation.
22647
22648 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22649
22650         * docs/gst/tmpl/.cvsignore:
22651         * docs/gst/tmpl/gstvalue.sgml:
22652         * gst/gstvalue.c:
22653         * gst/gstvalue.h:
22654           inlied another one and added  some obvious docs
22655
22656 2005-09-21  Wim Taymans  <wim@fluendo.com>
22657
22658         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
22659         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
22660         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
22661         (gst_fdsrc_get_property), (gst_fdsrc_create):
22662         * gst/elements/gstfdsrc.h:
22663         Properly implement fdsrc. Removed signal and timeout,
22664         better implemented somewhere else.
22665
22666 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22667
22668         * docs/gst/tmpl/.cvsignore:
22669         * docs/gst/tmpl/gstimplementsinterface.sgml:
22670         * gst/gstinterface.c:
22671           inlined more docs
22672
22673 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22674
22675         * docs/gst/gstreamer-sections.txt:
22676         * docs/gst/tmpl/.cvsignore:
22677         * docs/gst/tmpl/gstenumtypes.sgml:
22678           remove obsolete doc file
22679
22680 2005-09-21  David Schleef  <ds@schleef.org>
22681
22682         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
22683         little beer, fix a little leak.
22684
22685 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22686
22687         * docs/gst/gstreamer-docs.sgml:
22688         * docs/gst/gstreamer-sections.txt:
22689         * docs/gst/tmpl/.cvsignore:
22690         * gst/Makefile.am:
22691         * gst/gst.h:
22692         * gst/gstbin.c:
22693         * gst/gstelement.h:
22694         * gst/gstindex.c: (gst_index_class_init):
22695         * gst/gstindex.h:
22696         * gst/gstindexfactory.c: (gst_index_factory_get_type),
22697         (gst_index_factory_class_init), (gst_index_factory_init),
22698         (gst_index_factory_finalize), (gst_index_factory_new),
22699         (gst_index_factory_destroy), (gst_index_factory_find),
22700         (gst_index_factory_create), (gst_index_factory_make):
22701         * gst/gstindexfactory.h:
22702         * gst/gstpluginfeature.c:
22703         * gst/gstpluginfeature.h:
22704         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22705           more docs inlined, splitted gstindex.{c,h}
22706
22707 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22708
22709         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22710           fix a leak
22711
22712 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
22713
22714         * gst/elements/gstfilesink.c: (gst_file_sink_init):
22715           Set sync to FALSE by default.
22716
22717 2005-09-20  Wim Taymans  <wim@fluendo.com>
22718
22719         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22720         (gst_base_sink_init):
22721         Make sync property settable from subclass.
22722
22723         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22724         (gst_fake_sink_change_state):
22725         Set sync to FALSE by default.
22726
22727 2005-09-20  Wim Taymans  <wim@fluendo.com>
22728
22729         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
22730         * tools/gst-launch.c: (main):
22731         The timeout handler should have lower priority than the source
22732         so we don't timeout before popping a message with 0 timeout.
22733         Dump error messages after failed state change.
22734
22735 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
22736
22737         * tools/gst-inspect.c: (print_element_properties_info):
22738           Fix two typos.
22739
22740 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22741
22742         * check/gst/gstevent.c:
22743         * gst/elements/gstfakesink.c:
22744         * gst/elements/gstfakesink.h:
22745           remove the sync property from fakesink.
22746           has the side effect of setting sync TRUE
22747           for fakesink, which is a change.  Anyone who knows how
22748           to fix this nicely in a GObject-y way, feel free.
22749
22750 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22751
22752         * docs/gst/gstreamer-docs.sgml:
22753           remove probe refsection
22754
22755 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22756
22757         * check/Makefile.am:
22758           disable valgrinding the controller test again
22759         * docs/gst/gstreamer-sections.txt:
22760           update for api-changes
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_set_property), (gst_base_sink_get_property),
22766         (gst_base_sink_do_sync):
22767         * gst/base/gstbasesink.h:
22768         Added sync property to basesink to disable clock sync.
22769
22770 2005-09-20  Andy Wingo  <wingo@pobox.com>
22771
22772         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
22773         eating the caller's refcount.
22774
22775         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
22776         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
22777         refcount.
22778
22779         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
22780         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
22781         of GLib 2.8 public, so we can know which refcount to check in
22782         tests.
22783
22784         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
22785         (gst_object_init): Only set the gst refcount if we're going ahead
22786         with the refcount hack.
22787
22788 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22789
22790         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22791         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22792           more leaks plumbed, added more debug-logging
22793         * gst/gstmacros.h:
22794           whitespace fix
22795
22796 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22797
22798         * gst/gstmessage.c:
22799           remove include of gstmemchunk.h
22800
22801 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22802
22803         * gst/gstclock.c: (_gst_clock_id_free):
22804           Commit from the Political Party For More Atomic CVS Commits,
22805           so that people don't waste too much of their day fishing
22806           out obvious leaks out of massive commits.
22807           Oh, and fix a pretty damn obvious leak in the memchunk
22808           removal code.
22809
22810 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22811
22812         * check/Makefile.am:
22813         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22814           plug mem-leak, re-add to valgrindable tests
22815
22816 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22817
22818         * gst/gstplugin.h:
22819           unbreak the build for those who have chronic arthritis
22820           and typing "make check" is just too taxing on the hands
22821
22822 2005-09-20  Andy Wingo  <wingo@pobox.com>
22823
22824         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
22825         really want it out, you should fix plugins at the same time.
22826
22827 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
22828
22829         * configure.ac:
22830         * docs/gst/gstreamer-sections.txt:
22831         * gst/gstobject.c:
22832           added missing symbols to api docs
22833           disable ref-count hack if we have glib >= 2.8
22834
22835 2005-09-19  David Schleef  <ds@schleef.org>
22836
22837         * docs/gst/Makefile.am: Ignore a few more internal headers
22838         * docs/gst/gstreamer-docs.sgml: Remove old sections
22839         * docs/gst/gstreamer-sections.txt: Remove old sections
22840         * docs/gst/tmpl/gstobject.sgml: update
22841         * docs/gst/tmpl/gstplugin.sgml: update
22842         * docs/gst/tmpl/gstpluginfeature.sgml: update
22843         * docs/random/ds/0.9-suggested-changes: update.
22844         * gst/Makefile.am: remove memchunk and trashstack, since they're
22845           not used.
22846         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
22847         * gst/gst.h: don't include some headers
22848         * gst/gstchildproxy.c: add gstmarshal.h
22849         * gst/gstclock.c: Don't use memchunks
22850         * gst/gstminiobject.c: Add some docs
22851         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
22852         * gst/gstobject.h: same
22853         * gst/gstplugin.c: include gstmacros.h
22854         * gst/gstplugin.h: don't include gstmacros.h, since it's private
22855         * gst/gstquery.c: don't use memchunks
22856         * gst/gstregistry.c: rename gst_registry_deinit()
22857         * gst/gstregistry.h: same
22858
22859 2005-09-19  David Schleef  <ds@schleef.org>
22860
22861         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
22862         * docs/libs/gstreamer-libs-sections.txt:
22863         * docs/libs/tmpl/gstgetbits.sgml:
22864         * docs/libs/tmpl/gstputbits.sgml:
22865
22866 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
22867
22868         * win32/gstenumtypes.c:
22869         * win32/gstenumtypes.h:
22870           Update.
22871
22872 2005-09-19  Wim Taymans  <wim@fluendo.com>
22873
22874         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
22875         Automatically PAUSE and RESUME a pipeline when a flushing seek
22876         is performed.
22877
22878 2005-09-19  Andy Wingo  <wingo@pobox.com>
22879
22880         * gst/gstregistry.h: Spacing fixen.
22881
22882 2005-09-19  Wim Taymans  <wim@fluendo.com>
22883
22884         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
22885         Handle state change failure more correctly.
22886
22887 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22888
22889         * check/Makefile.am:
22890         * check/pipelines/cleanup.c: (run_pipeline):
22891         * check/pipelines/simple_launch_lines.c: (run_pipeline),
22892         (GST_START_TEST):
22893           enable cleanup again after fixing the leak
22894         * docs/README:
22895           some more info on docs
22896
22897 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22898
22899         * check/Makefile.am:
22900           re-enable tests now that leaks are plugged
22901         * check/gst/gst.c:
22902         * check/gst/gstbin.c:
22903         * check/gst/gstpipeline.c:
22904           add some more tests while fixing leaks
22905         * common/check.mak:
22906           make sure binaries are uptodate when valgrinding/gdbing
22907         * gst/gst.c:
22908         * gst/gstelementfactory.c:
22909           remove a ref too many, and add a FIXME for when we get
22910           round to disposing of classes
22911         * gst/gstplugin.c:
22912           fix the refcounting when loading a plugin from a file and
22913           the code pretends that the pointer is the same even though
22914           of course it can change
22915         * gst/gstpluginfeature.c:
22916           unref plugins marked cached (a bit confusing as a name)
22917           as the docs state should be done
22918           various doc additions to explain refcounting
22919         * gst/gstregistry.c:
22920         * gst/gstregistryxml.c:
22921           debugging
22922
22923 2005-09-19  Wim Taymans  <wim@fluendo.com>
22924
22925         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22926         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22927         (send_messages), (GST_START_TEST), (gstbus_suite):
22928         * check/gst/gstpipeline.c: (GST_START_TEST):
22929         * check/pipelines/cleanup.c: (run_pipeline):
22930         * check/pipelines/simple_launch_lines.c: (run_pipeline),
22931         (GST_START_TEST):
22932         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
22933         (gst_bus_source_check), (gst_bus_source_dispatch),
22934         (gst_bus_create_watch), (gst_bus_add_watch_full),
22935         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
22936         * gst/gstbus.h:
22937         * tools/gst-launch.c: (event_loop):
22938         * tools/gst-md5sum.c: (event_loop):
22939         GstBusHandler -> GstBusFunc, return value has the same meaning as
22940         any other GSource (FALSE == remove source).
22941         _add_watch() and _add_watch_full() now take a MessageType mask to
22942         only handle specific types of messages.
22943         _poll() returns the GstMessage instead of the message type to avoid
22944         race conditions.
22945         _have_pending() takes a MessageType mask now too.
22946         Added testsuite for multiple bus watches.
22947         Fix testsuites and applications for new bus API.
22948
22949 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22950
22951         * check/Makefile.am:
22952           mark a bunch of the tests as to fix until we fix them
22953
22954 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22955
22956         * common/check.mak:
22957           use GST_PLUGIN settings for valgrind tests as well, so we're
22958           valgrinding the correct thing
22959         * gst/gst.c: (init_post):
22960           plug another leak
22961
22962 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22963
22964         * gst/gst.c: (init_post), (gst_deinit):
22965         * gst/gstelementfactory.c: (gst_element_factory_class_init),
22966         (gst_element_factory_finalize), (gst_element_factory_cleanup):
22967         * gst/gstindex.c: (gst_index_factory_class_init),
22968         (gst_index_factory_finalize):
22969         * gst/gstobject.c: (gst_object_dispose):
22970         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
22971         (gst_plugin_load_file), (gst_plugin_desc_free):
22972         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
22973         (gst_plugin_feature_finalize):
22974         * gst/gstregistry.c: (gst_registry_class_init),
22975         (gst_registry_init), (gst_registry_finalize),
22976         (gst_registry_get_default), (gst_registry_deinit):
22977         * gst/gstregistry.h:
22978         * gst/gstregistryxml.c: (load_feature), (load_plugin):
22979           various cleanups and memleak plugging.  make valgrind is happy now.
22980
22981 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22982
22983         * common/check.mak:
22984           add a check-valgrind target
22985
22986 2005-09-18  David Schleef  <ds@schleef.org>
22987
22988         * tools/gst-inspect.c: Revert the GOption code.
22989
22990 2005-09-17  David Schleef  <ds@schleef.org>
22991
22992         * check/Makefile.am: Fix environment variables.
22993         * check/gst/gstplugin.c: Fix for API changes.
22994         * tools/gst-inspect.c: Fix for API changes.
22995         * tools/gst-xmlinspect.c: Fix for API changes.
22996         * gst/gstelementfactory.c:
22997         * gst/gstplugin.c:
22998         * gst/gstplugin.h:
22999         * gst/gstpluginfeature.c:
23000         * gst/gstpluginfeature.h:
23001         * gst/gstregistry.c:
23002         * gst/gstregistry.h:
23003         * gst/gstregistryxml.c:
23004         * gst/gsttypefind.c:
23005         * gst/gsttypefindfactory.c:
23006         * gst/indexers/gstfileindex.c:
23007         * gst/indexers/gstmemindex.c:
23008         * gst/schedulers/Makefile.am:
23009           Change registry to keep track of both plugins and features,
23010           removing the feature tracking from plugins themselves.
23011
23012 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23013
23014         * check/Makefile.am:
23015         * tools/gst-register.1.in:
23016           remove gst-register
23017
23018 2005-09-15  David Schleef  <ds@schleef.org>
23019
23020         * check/gst/gstplugin.c:
23021         * gst/gstelementfactory.c:
23022         * gst/gstplugin.c:
23023         * gst/gstpluginfeature.c:
23024         * gst/gstregistry.c:
23025           Getting tired of debugging.  Disabled all the unreffing of
23026           plugins and features, which fixes the segfaults, but of
23027           course leaks like crazy.  At least playbin works.
23028
23029 2005-09-15  David Schleef  <ds@schleef.org>
23030
23031         * check/gst/gstplugin.c: (register_check_elements),
23032         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
23033         More testing
23034         * gst/elements/gsttypefindelement.c: Fix refcounting.
23035         * gst/gsttypefind.c:
23036         * gst/gsttypefindfactory.c:
23037         * gst/gsttypefindfactory.h:
23038
23039 2005-09-15  David Schleef  <ds@schleef.org>
23040
23041         * gst/gstindex.c: get refcounting correct.
23042         * gst/gstregistry.c: Handle the case where a feature/plugin is
23043           not found.
23044
23045 2005-09-15  David Schleef  <ds@schleef.org>
23046
23047         * check/Makefile.am:
23048         * check/gst/gstplugin.c: Add test
23049         * gst/gstplugin.c: Fix problems noticed by testsuite
23050         * gst/gstplugin.h:
23051         * gst/gstregistry.c: 
23052         * gst/gstregistry.h:
23053
23054 2005-09-15  David Schleef  <ds@schleef.org>
23055
23056         * gst/gstplugin.c: Implement semi-decent recounting and locking
23057           in plugins and plugin features.
23058         * gst/gstplugin.h:
23059         * gst/gstpluginfeature.c:
23060         * gst/gstpluginfeature.h:
23061         * gst/gstregistry.c:
23062
23063 2005-09-15  Michael Smith <msmith@fluendo.com>
23064
23065         * gst/gstregistry.c: (gst_registry_get_feature_list):
23066           Implement this. Makes oggdemux work; decodebin still broken.
23067
23068 2005-09-14  David Schleef  <ds@schleef.org>
23069
23070         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
23071           #316076)
23072         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
23073         * gst/check/Makefile.am:
23074         * libs/gst/controller/Makefile.am:
23075         * libs/gst/dataprotocol/Makefile.am:
23076
23077 2005-09-14  David Schleef  <ds@schleef.org>
23078
23079         * configure.ac: Remove getbits library.  Nothing uses it, and
23080           it should be in something like liboil if someone did want
23081           to use it.
23082         * libs/gst/Makefile.am:
23083         * libs/gst/getbits/Makefile.am:
23084         * libs/gst/getbits/gbtest.c:
23085         * libs/gst/getbits/getbits.c:
23086         * libs/gst/getbits/getbits.h:
23087         * libs/gst/getbits/gstgetbits_generic.c:
23088         * libs/gst/getbits/gstgetbits_i386.s:
23089         * libs/gst/getbits/gstgetbits_inl.h:
23090
23091 2005-09-14  David Schleef  <ds@schleef.org>
23092
23093         * gst/Makefile.am: Dist glib-compat.h
23094
23095 2005-09-14  David Schleef  <ds@schleef.org>
23096
23097         * configure.ac: Remove gst/registries, since it's no longer used.
23098         * gst/registries/Makefile.am:
23099         * gst/registries/gstlibxmlregistry.c:
23100         * gst/registries/gstlibxmlregistry.h:
23101         * gst/registries/gstxmlregistry.c:
23102         * gst/registries/gstxmlregistry.h:
23103         * gst/registries/registrytest.c:
23104
23105 2005-09-14  David Schleef  <ds@schleef.org>
23106
23107         * gst/glib-compat.h:
23108         * gst/gstregistryxml.c:
23109           Convergence is near.  Seriously.
23110
23111 2005-09-14  David Schleef  <ds@schleef.org>
23112
23113         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23114         * gst/glib-compat.h:
23115           Attempt #4 to appease the buildbots.
23116
23117 2005-09-14  David Schleef  <ds@schleef.org>
23118
23119         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23120           Attempt #3.
23121
23122 2005-09-14  David Schleef  <ds@schleef.org>
23123
23124         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23125         Attempt #2.
23126
23127 2005-09-14  David Schleef  <ds@schleef.org>
23128
23129         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
23130           the new functions.
23131
23132 2005-09-14  David Schleef  <ds@schleef.org>
23133
23134         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23135         * gst/glib-compat.h: Add some functions that are in newer versions
23136           of glib than we care to require.
23137         * gst/gstregistryxml.c: Use them.
23138
23139 2005-09-14  David Schleef  <ds@schleef.org>
23140
23141         * po/POTFILES.in: remove gst-register.c
23142
23143 2005-09-14  David Schleef  <ds@schleef.org>
23144
23145         * docs/gst/gstreamer-docs.sgml:
23146         * docs/gst/gstreamer-sections.txt:
23147         * docs/gst/gstreamer.types:
23148         * docs/gst/tmpl/gstelement.sgml:
23149         * docs/gst/tmpl/gstplugin.sgml:
23150         * docs/gst/tmpl/gstpluginfeature.sgml:
23151           Documentation updates for registry changes.
23152
23153 2005-09-14  David Schleef  <ds@schleef.org>
23154
23155         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
23156           because we don't require glib-2.8.
23157
23158 2005-09-14  David Schleef  <ds@schleef.org>
23159
23160         * gst/gstregistryxml.c: Added.  Essentially moved out of the
23161           registries directory.
23162
23163 2005-09-14  David Schleef  <ds@schleef.org>
23164
23165         * check/Makefile.am:
23166         * check/generic/states.c:
23167         * gst/Makefile.am:
23168         * gst/gst.c:
23169         * gst/gst.h:
23170         * gst/gst_private.h:
23171         * gst/gstelementfactory.c:
23172         * gst/gstindex.c:
23173         * gst/gstinfo.c:
23174         * gst/gstplugin.c:
23175         * gst/gstplugin.h:
23176         * gst/gstpluginfeature.c:
23177         * gst/gstpluginfeature.h:
23178         * gst/gstregistry.c:
23179         * gst/gstregistry.h:
23180         * gst/gstregistrypool.c: remove
23181         * gst/gstregistrypool.h: remove
23182         * gst/gsttypefind.c:
23183         * gst/gsttypefindfactory.c:
23184         * gst/gsturi.c:
23185         * tools/Makefile.am:
23186         * tools/gst-compprep.c:
23187         * tools/gst-inspect.c:
23188         * tools/gst-register.c: remove
23189         * tools/gst-xmlinspect.c:
23190           Registry rewrite.  Changes registry from being a file created
23191           by a tool into a simple cache file created automatically by 
23192           libgstreamer.  Removed gst-register (because it's no longer
23193           needed).  Remove registry pools, because we only have one
23194           registry implementation (XML).  Fix up other subsystems as
23195           necessary.
23196
23197 2005-09-13  Michael Smith <msmith@fluendo.com>
23198
23199         * gst/gstconfig.h.in:
23200           Don't Use windows linking attributes for MinGW. Fixes #316157
23201
23202 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23203
23204         * gst/gstutils.c: (set_state_async_thread_func),
23205         (gst_element_set_state_async):
23206           Apparently people think it's better if this function doesn't
23207           try to set the state to whatever state was asked for on the first
23208           call to this function for any object.  Seriously.
23209
23210 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23211
23212         * check/gst/gstpipeline.c: (GST_START_TEST):
23213         * docs/gst/gstreamer-sections.txt:
23214         * gst/gstutils.c: (set_state_async_thread_func),
23215         (gst_element_set_state_async):
23216         * gst/gstutils.h:
23217           add a "gst_element_set_state_async" method that
23218           sets the state and starts a thread to make sure the state
23219           change completes as best as it can
23220
23221 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23222
23223         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23224           codify design+behaviour in testsuite after discussion
23225
23226 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23227
23228         * docs/gst/tmpl/gstelement.sgml:
23229         * docs/manual/appendix-quotes.xml:
23230           add a quote
23231         * gst/gstelement.c: (gst_element_set_state):
23232           add some debug
23233
23234 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
23235
23236         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23237         (gst_base_transform_prepare_output_buf),
23238         (gst_base_transform_handle_buffer):
23239         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
23240         (gst_capsfilter_prepare_buf):
23241           Remove the requirement for sub-classes to call the parent
23242           implementation of prepare_output_buffer with a wrapper function.
23243           
23244         * gst/gsttaglist.h:
23245         * gst/gsttagsetter.h:
23246           Fix #define wrapper
23247
23248 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
23249
23250         * docs/gst/gstreamer-sections.txt:
23251           more doc cleanups
23252
23253 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23254
23255         * docs/gst/gstreamer-sections.txt:
23256         * docs/gst/tmpl/gstelement.sgml:
23257         * docs/gst/tmpl/gstplugin.sgml:
23258         * gst/gstminiobject.c:
23259         * gst/gstvalue.h:
23260           docs now stop throwing warnings
23261
23262 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23263
23264         * docs/gst/gstreamer-sections.txt:
23265         * docs/gst/gstreamer.types:
23266         * docs/gst/tmpl/gstpad.sgml:
23267         * docs/gst/tmpl/gsttypes.sgml:
23268         * gst/base/gstadapter.h:
23269         * gst/base/gstbasesink.h:
23270         * gst/base/gstbasesrc.h:
23271         * gst/gstbin.h:
23272         * gst/gstbuffer.h:
23273         * gst/gstbus.h:
23274         * gst/gstcaps.h:
23275         * gst/gstclock.h:
23276         * gst/gstelement.h:
23277         * gst/gstevent.h:
23278         * gst/gstmessage.h:
23279         * gst/gstpad.h:
23280         * gst/gststructure.c:
23281         * gst/registries/gstlibxmlregistry.h:
23282           various documentation fixes
23283
23284 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23285
23286         * docs/gst/gstreamer-sections.txt:
23287         * docs/gst/tmpl/gstvalue.sgml:
23288           rearrange gstvalue section
23289         * gst/gstutils.c: (gst_element_state_get_name):
23290           NONE -> VOID
23291         * gst/gstvalue.c: (_gst_value_initialize):
23292         * gst/gstvalue.h:
23293           doc updates
23294
23295 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
23296
23297         * check/gst-libs/controller.c:
23298           Header include fix.
23299         * gst/base/gstbasetransform.c:
23300         (gst_base_transform_default_prepare_buf),
23301         (gst_base_transform_handle_buffer):
23302         * gst/base/gstbasetransform.h:
23303           Some more basetransform changes and fixes to enable sub-classes
23304           that modify buffer metadata only.
23305         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23306         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
23307         (gst_capsfilter_prepare_buf):
23308           If the output pad has fixed allowed caps and input buffers 
23309           don't have any, set the fixed caps on outgoing buffers.
23310
23311 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
23312         * check/elements/identity.c: (GST_START_TEST):
23313           Make the error a little clearer when the test fails because
23314           identity made a copy of the buffer.
23315         * docs/gst/gstreamer-sections.txt:
23316           New symbols in gstbasetransform.h
23317         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23318         (gst_base_transform_init), (gst_base_transform_transform_size),
23319         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23320         (gst_base_transform_default_prepare_buf),
23321         (gst_base_transform_get_unit_size),
23322         (gst_base_transform_buffer_alloc),
23323         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
23324         (gst_base_transform_change_state),
23325         (gst_base_transform_set_passthrough),
23326         (gst_base_transform_set_in_place),
23327         (gst_base_transform_is_in_place):
23328         * gst/base/gstbasetransform.h:
23329           Change BaseTransform to separate in_place operate from same_caps
23330           output. in_place implies that the element can perform the transform
23331           on incoming buffers in-place, even if the caps on the output are
23332           different.
23333           Sub-class elements can now implement special buffer allocation
23334           methods for outgoing buffers if they wish to.
23335           Big documentation addition.
23336         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
23337         * gst/elements/gstelements.c:
23338           Changes for basetransform modifications.
23339         * gst/elements/Makefile.am:
23340         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
23341           Compile fix. Extra debug output.
23342
23343 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23344
23345         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
23346         (gst_pad_suite):
23347           add tests for valid pad naming
23348         * gst/check/gstcheck.c: (gst_check_log_message_func),
23349         (gst_check_log_critical_func):
23350           add ASSERT_WARNING
23351           remove printing of code, it is fragile when the code contains
23352           % and the line number is enough info
23353         * gst/check/gstcheck.h:
23354         * gst/gstpad.c: (gst_pad_template_new):
23355           fix memleaks
23356
23357 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23358
23359         * configure.ac:
23360           say what CHECK flags we use
23361         * docs/libs/gstreamer-libs.types:
23362         * libs/gst/controller/Makefile.am:
23363         * libs/gst/controller/gst-controller.c:
23364         * libs/gst/controller/gst-controller.h:
23365         * libs/gst/controller/gst-helper.c:
23366         * libs/gst/controller/gst-interpolation.c:
23367         * libs/gst/controller/gstcontroller.c:
23368         * libs/gst/controller/gsthelper.c:
23369         * libs/gst/controller/gstinterpolation.c:
23370         * tools/gst-inspect.c: (print_plugin_info):
23371           we don't use dashes in header names
23372
23373 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23374
23375         * check/Makefile.am:
23376         * check/gst/.cvsignore:
23377         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
23378         (gst_pipeline_suite), (main):
23379           adding a test for pipelines and state changes
23380         * gst/gstutils.c: (get_state_func):
23381           add some debugging
23382         * gstreamer.spec.in:
23383           fix up spec file
23384
23385 2005-09-08  Michael Smith <msmith@fluendo.com>
23386
23387         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
23388         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
23389         (gst_file_src_is_seekable), (gst_file_src_get_size),
23390         (gst_file_src_start):
23391         * gst/elements/gstfilesrc.h:
23392           Various fixes for unseekable, unmmapable, and non-normal files, so
23393           that fallback to read() rather than mmap() works.
23394         * gst/gstevent.c: (gst_event_new_newsegment):
23395           Allow newsegment events with segment_start == segment_end, as will
23396           correctly happen if you use filesrc on a zero-size file, for
23397           example.
23398
23399 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23400
23401         * gst/gstplugin.c: (gst_plugin_load_file):
23402           Call g_module_close when we don't load the module
23403
23404         * gst/registries/gstlibxmlregistry.c:
23405         (gst_xml_registry_get_property):
23406           Port leak fix from 0.8
23407
23408 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23409
23410         * docs/gst/gstreamer-docs.sgml:
23411         * docs/gst/tmpl/.cvsignore:
23412         * docs/gst/tmpl/gsttrace.sgml:
23413         * docs/gst/tmpl/gsttrashstack.sgml:
23414         * gst/Makefile.am:
23415         * gst/gst.h:
23416         * gst/gstelement.h:
23417         * gst/gstevent.h:
23418         * gst/gstmessage.c:
23419         * gst/gstmessage.h:
23420         * gst/gsttag.c:
23421         * gst/gsttag.h:
23422         * gst/gsttaginterface.c:
23423         * gst/gsttaginterface.h:
23424         * gst/gsttaglist.c:
23425         * gst/gsttaglist.h:
23426         * gst/gsttagsetter.c:
23427         * gst/gsttagsetter.h:
23428         * gst/gsttrace.c:
23429         * gst/gsttrace.h:
23430         * gst/gsttrashstack.c:
23431           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
23432           inlined docs for gsttrace, gsttrashstack
23433
23434 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23435
23436         * gst/Makefile.am:
23437         * gst/elements/gstbufferstore.h:
23438         * gst/elements/gsttypefindelement.c:
23439         * gst/elements/gsttypefindelement.h:
23440         * gst/gst.h:
23441         * gst/gsttypefind.c:
23442         * gst/gsttypefind.h:
23443         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
23444         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
23445         (gst_type_find_factory_dispose),
23446         (gst_type_find_factory_unload_thyself),
23447         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
23448         (gst_type_find_factory_get_caps),
23449         (gst_type_find_factory_get_extensions),
23450         (gst_type_find_factory_call_function):
23451         * gst/gsttypefindfactory.h:
23452         * gst/registries/gstlibxmlregistry.c:
23453         * gst/registries/gstxmlregistry.c:
23454           splitted gsttypefind into gsttypefind, gsttypefindfactory
23455
23456 2005-09-07  Andy Wingo  <wingo@pobox.com>
23457
23458         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
23459         condition whereby the pad's task function is entered before the
23460         pad_mode variable was set.
23461
23462 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23463
23464         * gst/gstpad.c: (gst_pad_alloc_buffer):
23465           Catch misbehaving pad_alloc functions that don't
23466           set up caps and do it for them.
23467
23468 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23469
23470         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23471           test for pipe!=NULL
23472         * docs/gst/tmpl/.cvsignore:
23473         * docs/gst/tmpl/gstmemchunk.sgml:
23474         * docs/gst/tmpl/gstparse.sgml:
23475         * docs/gst/tmpl/gsttaglist.sgml:
23476         * docs/gst/tmpl/gsttagsetter.sgml:
23477         * docs/gst/tmpl/gsttypefind.sgml:
23478         * docs/gst/tmpl/gsttypefindfactory.sgml:
23479         * gst/gstmemchunk.c:
23480         * gst/gstparse.c:
23481         * gst/gsttag.c:
23482         * gst/gsttaginterface.c:
23483         * gst/gsttypefind.c:
23484         * gst/gsttypefind.h:
23485           inlined more docs
23486
23487 === release 0.9.2 ===
23488
23489 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23490
23491         * NEWS:
23492         * RELEASE:
23493         * configure.ac:
23494           releasing 0.9.2, "South"
23495
23496 2005-09-05  Andy Wingo  <wingo@pobox.com>
23497
23498         * gst/registries/gstxmlregistry.h:
23499         * gst/registries/gstxmlregistry.c: Um... resurrect...
23500         
23501         * gst/registries/gstxmlregistry.h:
23502         * gst/registries/gstxmlregistry.c: and update to newer API.
23503         Incidentally they should be a bit faster now that they don't have
23504         to parse the caps.
23505         
23506 2005-09-05  Andy Wingo  <wingo@pobox.com>
23507
23508         * gst/registries/gstxmlregistry.h:
23509         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
23510         replaced by the libxml registry a while back
23511
23512 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23513
23514         * docs/gst/tmpl/gstplugin.sgml:
23515         * gst/elements/gstelements.c:
23516         * gst/gst.c:
23517         * gst/gstplugin.c: (gst_plugin_register_func),
23518         (gst_plugin_desc_copy), (gst_plugin_desc_free),
23519         (gst_plugin_get_source):
23520         * gst/gstplugin.h:
23521         * gst/registries/gstlibxmlregistry.c: (load_plugin),
23522         (gst_xml_registry_save_plugin):
23523         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
23524         (gst_xml_registry_save_plugin):
23525         * tools/gst-inspect.c: (print_plugin_info):
23526           add a "source" plugin description field, to represent the source
23527           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
23528           will set it to PACKAGE, which is automake's idea of the name of
23529           the source project.
23530
23531 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23532
23533         * Makefile.am:
23534         * autogen.sh:
23535         * configure.ac:
23536         * docs/Makefile.am:
23537         * docs/faq/Makefile.am:
23538         * docs/gst/tmpl/gstelement.sgml:
23539         * docs/gst/tmpl/gsttypes.sgml:
23540         * docs/htmlinstall.mak:
23541         * docs/manual/Makefile.am:
23542         * docs/pwg/Makefile.am:
23543           reorganize doc build a little
23544           split out docbook and gtk-doc stuff
23545           have two separate --enable's and enable them through autogen
23546           but disable by default in configure (to be similar to other
23547           projects)
23548         * gstreamer.spec.in:
23549           clean up docs install
23550         * po/af.po:
23551         * po/az.po:
23552         * po/ca.po:
23553         * po/cs.po:
23554         * po/de.po:
23555         * po/en_GB.po:
23556         * po/fr.po:
23557         * po/it.po:
23558         * po/nb.po:
23559         * po/nl.po:
23560         * po/ru.po:
23561         * po/sq.po:
23562         * po/sr.po:
23563         * po/sv.po:
23564         * po/tr.po:
23565         * po/uk.po:
23566         * po/vi.po:
23567           translation updates
23568
23569 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
23570
23571         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
23572           Add comment.
23573           
23574         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23575         (gst_fake_sink_change_state):
23576           Make state change function thread-safe.
23577           
23578         * gst/gstpad.c: (gst_pad_alloc_buffer):
23579           Set offset on generic buffer allocated by fallback.
23580
23581 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
23582
23583         * docs/gst/gstreamer-sections.txt:
23584         * docs/gst/tmpl/gstelement.sgml:
23585         * gst/gstpad.c:
23586         * libs/gst/controller/gst-controller.c:
23587         (gst_controlled_property_set_interpolation_mode),
23588         (gst_controlled_property_new),
23589         (gst_controller_find_controlled_property):
23590          run the wingo-magic script against the docs
23591
23592 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
23593
23594         * docs/gst/gstreamer-docs.sgml:
23595         * docs/gst/gstreamer-sections.txt:
23596         * docs/gst/tmpl/.cvsignore:
23597         * docs/gst/tmpl/gstelementdetails.sgml:
23598         * docs/gst/tmpl/gstelementfactory.sgml:
23599         * gst/gst.c:
23600         * gst/gstbus.c:
23601         * gst/gstelementfactory.c:
23602         * gst/gstelementfactory.h:
23603           merged elementdetails docs into elementfactory docs
23604           inlined both
23605
23606 2005-09-02  Andy Wingo  <wingo@pobox.com>
23607
23608         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
23609         consider this enum an enum and not a flags.
23610
23611 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
23612
23613         * docs/gst/gstreamer-docs.sgml:
23614         * docs/gst/tmpl/.cvsignore:
23615         * docs/gst/tmpl/gstghostpad.sgml:
23616         * docs/gst/tmpl/gstiterator.sgml:
23617         * docs/gst/tmpl/gstmacros.sgml:
23618         * docs/gst/tmpl/gstrealpad.sgml:
23619         * docs/gst/tmpl/gstregistry.sgml:
23620         * docs/gst/tmpl/gstregistrypool.sgml:
23621         * docs/gst/tmpl/gststructure.sgml:
23622         * docs/gst/tmpl/gstsystemclock.sgml:
23623         * docs/gst/tmpl/gsttrace.sgml:
23624         * gst/gstghostpad.c:
23625         * gst/gstmacros.h:
23626         * gst/gstmemchunk.c:
23627         * gst/gstmemchunk.h:
23628         * gst/gstqueue.c:
23629         * gst/gstregistry.c:
23630         * gst/gstregistrypool.c:
23631         * gst/gststructure.c:
23632         * gst/gstsystemclock.c:
23633           more docs inlined
23634
23635 2005-09-02  Andy Wingo  <wingo@pobox.com>
23636
23637         * gst/gstelement.h (GstState): Renamed from GstElementState,
23638         changed to be a normal enum instead of flags.
23639         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
23640         munged to be GST_STATE_CHANGE_*.
23641         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
23642         work with the new state representation.
23643         (GstStateChange): New enumeration of possible state transitions.
23644         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
23645         (GstElementClass::change_state): Pass the GstStateChange along as
23646         an argument. Helps language bindings, so they don't have to use
23647         tricky lock-needing macros like GST_STATE_CHANGE ().
23648
23649         * scripts/update-states (file): New script. Run it on a file to
23650         update it for state naming and API changes. Updates files in
23651         place.
23652
23653         * All files updated for the new API.
23654
23655 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23656
23657         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
23658         * gst/gstutils.c: (gst_util_set_value_from_string),
23659         (gst_util_set_object_arg):
23660           fix a bunch of unchecked return values
23661         * tools/gst-complete.c: (main):
23662         * gstreamer.spec.in:
23663           clean up a little
23664
23665 2005-09-01  Wim Taymans  <wim@fluendo.com>
23666
23667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23668         (gst_base_sink_event), (gst_base_sink_do_sync),
23669         (gst_base_sink_handle_event):
23670         * gst/base/gstbasesink.h:
23671         Handle newsegments more correctly.
23672
23673         * gst/gstbus.c:
23674         Fix docs.
23675
23676         * gst/gstevent.c: (gst_event_new_newsegment):
23677         A newsegment cannot have a start_time of -1
23678
23679 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
23680
23681         * win32/gstenumtypes.c:
23682         * win32/gstenumtypes.h:
23683           Update
23684
23685 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23686
23687         * libs/gst/controller/gst-controller.c:
23688         (gst_controlled_property_set_interpolation_mode),
23689         (gst_controlled_property_new):
23690          fixed boolean again
23691
23692 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
23693
23694         * docs/faq/gst-uninstalled:
23695           add -good
23696         * gst/gstevent.c:
23697         * gst/gstevent.h:
23698           remove wrong docs
23699         * gst/gstutils.c: (gst_element_link_filtered):
23700         * gst/gstutils.h:
23701           add gst_element_link_filtered
23702
23703 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23704
23705         * docs/gst/gstreamer-docs.sgml:
23706         * docs/gst/gstreamer-sections.txt:
23707         * docs/gst/tmpl/.cvsignore:
23708         * docs/gst/tmpl/gsterror.sgml:
23709         * docs/gst/tmpl/gstfilter.sgml:
23710         * docs/gst/tmpl/gsturihandler.sgml:
23711         * docs/gst/tmpl/gsturitype.sgml:
23712         * docs/gst/tmpl/gstutils.sgml:
23713         * docs/gst/tmpl/gstxml.sgml:
23714         * gst/gsterror.c:
23715         * gst/gsterror.h:
23716         * gst/gstfilter.c:
23717         * gst/gsturi.c:
23718         * gst/gsturitype.c:
23719         * gst/gstutils.c:
23720         * gst/gstxml.c:
23721           inlined more docs, fixed double id-ref
23722
23723 2005-08-31  Wim Taymans  <wim@fluendo.com>
23724
23725         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23726         (gst_base_transform_handle_buffer):
23727         Passthrough elements don't need the caps as they don't care.
23728
23729 2005-08-31  Wim Taymans  <wim@fluendo.com>
23730
23731         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23732         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
23733         Don't leak refcounts on buffers.
23734
23735 2005-08-31  Wim Taymans  <wim@fluendo.com>
23736
23737         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
23738         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23739         (gst_base_transform_chain), (gst_base_transform_change_state):
23740         * gst/base/gstbasetransform.h:
23741         Handle the case where we are not negotiated more gracefully.
23742
23743 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
23744
23745         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
23746         (gst_file_src_map_region):
23747           Set READONLY flag on mmap'ed buffers, otherwise
23748           gst_buffer_make_writable() won't work properly (#314708).
23749
23750 2005-08-31  Wim Taymans  <wim@fluendo.com>
23751
23752         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
23753         passthrough elements can even do inplace on non writable
23754         buffers (as they don't touch them).
23755
23756 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23757
23758         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23759         (gst_test_mono_source_set_property),
23760         (gst_test_mono_source_class_init), (GST_START_TEST),
23761         (gst_controller_suite):
23762           more tests (hehe I have the most)
23763         * gst/gstbus.c:
23764           describe popping messages whenusing mulltiple sources
23765         * libs/gst/controller/gst-controller.c:
23766         (gst_controlled_property_set_interpolation_mode),
23767         (gst_controlled_property_new):
23768         * libs/gst/controller/gst-controller.h:
23769         * libs/gst/controller/gst-interpolation.c:
23770           implement boolean properties
23771
23772 2005-08-31  Wim Taymans  <wim@fluendo.com>
23773
23774         * gst/gstminiobject.c: (gst_mini_object_ref):
23775         Cannot assert that the refcount has to be positive
23776         since a disposed object can be resurrected.
23777
23778 2005-08-31  Wim Taymans  <wim@fluendo.com>
23779
23780         * gst/gstpad.c: (gst_pad_init):
23781         Revert change, need to first fix badly behaving 
23782         apps.
23783
23784 2005-08-30  Wim Taymans  <wim@fluendo.com>
23785
23786         * check/elements/fakesrc.c: (setup_fakesrc):
23787         * check/elements/identity.c: (setup_identity):
23788         Activate pads before using them.
23789
23790 2005-08-30  Wim Taymans  <wim@fluendo.com>
23791
23792         * gst/base/gstadapter.c: (gst_adapter_flush):
23793         Flushing out 0 bytes is ok for this function.
23794
23795         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23796         no newsegment gives a warning and sets the start/stop to 
23797         invalid.
23798
23799         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
23800         (gst_base_transform_set_passthrough):
23801         Some debug info.
23802
23803         * gst/gstminiobject.c: (gst_mini_object_ref):
23804         Check refcount here too.
23805
23806         * gst/gstpad.c: (gst_pad_init):
23807         Pads are initially flushing and refusing data.
23808
23809         * gst/gstutils.c: (gst_element_link_pads_filtered):
23810         When adding a capsfilter element make sure it has the
23811         same state as the parent bin.
23812
23813 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23814
23815         * docs/gst/tmpl/.cvsignore:
23816         * docs/gst/tmpl/gstformat.sgml:
23817         * docs/gst/tmpl/gstversion.sgml:
23818         * gst/gstbus.h:
23819         * gst/gstformat.c:
23820         * gst/gstformat.h:
23821         * gst/gstversion.h.in:
23822           more docs and two more inlined
23823
23824 2005-08-30  Wim Taymans  <wim@fluendo.com>
23825
23826         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
23827         Don't sync to clock.
23828
23829 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23830
23831         * docs/gst/gstreamer-sections.txt:
23832           ultral33t func10ns deserve to appear in the docs actually
23833         * docs/gst/tmpl/.cvsignore:
23834         * docs/gst/tmpl/gstcompat.sgml:
23835         * docs/gst/tmpl/gstconfig.sgml:
23836         * gst/check/gstcheck.c:
23837         * gst/gstcompat.h:
23838         * gst/gstconfig.h.in:
23839           inlined more docs
23840
23841 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23842
23843         * docs/gst/tmpl/.cvsignore:
23844         * docs/gst/tmpl/gstquery.sgml:
23845         * docs/gst/tmpl/gstutils.sgml:
23846         * gst/gstquery.c:
23847         * gst/gstquery.h:
23848           inlined and extended docs
23849
23850 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23851
23852         * check/gst-libs/controller.c: (GST_START_TEST),
23853         (gst_controller_suite):
23854           more tests
23855         * docs/gst/tmpl/gstutils.sgml:
23856         * docs/libs/gstreamer-libs-sections.txt:
23857         * docs/libs/tmpl/gstdataprotocol.sgml:
23858           include path fixes
23859         * examples/controller/audio-example.c: (main):
23860           controller example works now
23861         * gst/gstclock.h:
23862           doc fixes
23863         * tools/gst-inspect.c: (print_element_properties_info):
23864           show param spec flags
23865
23866 2005-08-29  Andy Wingo  <wingo@pobox.com>
23867
23868         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
23869
23870 2005-08-28  Andy Wingo  <wingo@pobox.com>
23871
23872         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
23873         as having two arguments instead of just one. Allows superclasses
23874         to access information on subclasses -- see the terrible for() loop
23875         in gtype.c:g_type_create_instance for the reason why. All callers
23876         changed.
23877
23878 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23879
23880         * docs/design/part-messages.txt:
23881           update info
23882         * docs/gst/tmpl/.cvsignore:
23883         * docs/gst/tmpl/gstcaps.sgml:
23884         * docs/gst/tmpl/gstclock.sgml:
23885         * gst/gstbus.c:
23886         * gst/gstcaps.c:
23887         * gst/gstcaps.h:
23888         * gst/gstclock.c:
23889         * gst/gstclock.h:
23890         * gst/gstmessage.c:
23891           added descriptions for bus and message
23892           inline caps and clock docs
23893
23894 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23895
23896         * gst/gstmessage.c:
23897         * gst/gstmessage.h:
23898           doc fixes
23899
23900 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23901
23902         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23903           fix div-by-zero
23904
23905 2005-08-26  Andy Wingo  <wingo@pobox.com>
23906
23907         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
23908         element_set_state's return val.
23909         (test_2_elements): Add test that's been disabled for months.
23910
23911         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
23912         can-activate-pull properties.
23913
23914         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
23915         can-activate-pull properties. Implement is_seekable so fakesrc can
23916         operate in pull mode.
23917
23918         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
23919         properties.
23920         (gst_base_sink_activate, gst_base_sink_activate_pull)
23921         (gst_base_sink_activate_push): Make activation mode choosing work.
23922         Cleanups.
23923         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
23924         is right. Make pull mode work. Post an eos before pausing in pull
23925         mode.
23926         (gst_base_sink_change_state): Pay attention to the core's
23927         change_state() return val.
23928         
23929         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
23930         has-getrange properties. Cleanups.
23931         
23932         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
23933         has_getrange and replace with can_activate_pull and
23934         can_activate_push.
23935
23936         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
23937         locking comments. Remove has_loop, has_chain and replace with
23938         can_activate_pull and can_activate_push.
23939
23940 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
23941
23942         * configure.ac:
23943         * examples/Makefile.am:
23944         * examples/metadata/Makefile.am:
23945         * examples/metadata/read-metadata.c: (message_loop),
23946         (have_pad_handler), (make_pipeline), (print_tag), (main):
23947           Add metadata reading example that loops over a list of filenames,
23948           dumping any tags found.
23949
23950         * gst/gstbus.c: (gst_bus_dispose):
23951         * gst/gstelement.c: (gst_element_dispose):
23952           Release a few potentially-held references in dispose.
23953
23954 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23955
23956         * docs/gst/tmpl/gstminiobject.sgml:
23957           do *not* add tmpl/*.sgml files to CVS!
23958
23959 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23960
23961         * libs/gst/bytestream/.cvsignore:
23962         * libs/gst/bytestream/Makefile.am:
23963         * libs/gst/bytestream/adapter.c:
23964         * libs/gst/bytestream/adapter.h:
23965         * libs/gst/bytestream/bytestream.c:
23966         * libs/gst/bytestream/bytestream.h:
23967         * libs/gst/bytestream/filepad.c:
23968         * libs/gst/bytestream/filepad.h:
23969           removing obsolete files
23970
23971 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23972
23973         * docs/gst/gstreamer-docs.sgml:
23974         * docs/libs/gstreamer-libs-docs.sgml:
23975           disabed additional index entries again, as this makes docs-gen just
23976           slow and they aren't useful yet
23977         * docs/libs/gstreamer-libs-sections.txt:
23978           little -section.txt cleanup for libs
23979
23980 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
23981
23982         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23983         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
23984           fix up some debugging
23985         (gst_base_transform_get_unit_size),
23986         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
23987         (gst_base_transform_handle_buffer):
23988         * gst/base/gstbasetransform.h:
23989           handle and store timed NEWSEGMENT events so that subclasses that
23990           calculate time by counting samples have a segment_start time they
23991           need to add to their timestamps - see audioresample
23992
23993 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23994
23995         * gst/gstbin.h:
23996           removed ';' from the end of macro defs
23997         * docs/gst/gstreamer-docs.sgml:
23998         * docs/gst/gstreamer-sections.txt:
23999         * docs/gst/tmpl/.cvsignore:
24000         * gst/gstbus.h:
24001         * gst/gstelement.c: (gst_element_class_init),
24002         (gst_element_set_state), (activate_pads),
24003         (gst_element_save_thyself):
24004         * gst/gstevent.c: (gst_event_new_newsegment):
24005         * gst/gstevent.h:
24006         * gst/gstiterator.c:
24007         * gst/gstiterator.h:
24008         * gst/gstpad.c:
24009         * gst/gstprobe.h:
24010         * gst/gstutils.c: (gst_pad_query_convert):
24011         * gst/gstutils.h:
24012           fixed parameter name mismatches between source, header and docs
24013           added some more docs, resolved the last batch of unused elements in
24014           docs (now someone needs to doc them)
24015
24016 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24017
24018         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
24019         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
24020           don't walk through the plugins backwards.  Where is all this
24021           reversed logic coming from ?
24022
24023 2005-08-25  Wim Taymans  <wim@fluendo.com>
24024
24025         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24026         (gst_base_transform_transform_size),
24027         (gst_base_transform_configure_caps),
24028         (gst_base_transform_get_unit_size),
24029         (gst_base_transform_buffer_alloc),
24030         (gst_base_transform_change_state):
24031         * gst/base/gstbasetransform.h:
24032         Cache caps unit_size.
24033         Make sure we cannot negotiate up and downstream at the
24034         same time.
24035
24036 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24037
24038         * gst/gst.c: (init_pre), (init_post):
24039           register the installed plugin path after the env var
24040         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
24041         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
24042           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
24043           directories, so the tests can prefer uninstalled over installed
24044
24045 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24046
24047         * gst/base/gstbasetransform.h:
24048           comment
24049         * gst/gstpad.c:
24050           add to docs
24051
24052 2005-08-25  Wim Taymans  <wim@fluendo.com>
24053
24054         * gst/gstbin.c: (bin_bus_handler):
24055         Be a bit more conservative about the posted message.
24056         
24057         * gst/gstbus.c: (gst_bus_post):
24058         Some cleanups, warn wrong return values.
24059
24060 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
24061
24062         * check/gst/gstbin.c: (GST_START_TEST):
24063         * gst/gstbin.c: (bin_bus_handler):
24064         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24065         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24066         (gst_message_new_warning), (gst_message_new_tag),
24067         (gst_message_new_state_changed), (gst_message_new_segment_start),
24068         (gst_message_new_segment_done), (gst_message_new_custom):
24069         * gst/gstmessage.h:
24070         * tools/gst-launch.c: (event_loop):
24071         * tools/gst-md5sum.c: (event_loop):
24072           Revert unpopular change for GST_MESSAGE_SRC to GObject.
24073
24074 2005-08-25  Wim Taymans  <wim@fluendo.com>
24075
24076         * check/generic/states.c: (GST_START_TEST):
24077         Cleanup can be done at the end.
24078
24079         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
24080         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24081         (gst_task_get_state), (gst_task_start), (gst_task_pause):
24082         Oh boy.. Thanks for finding this, Thomas. 
24083
24084 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24085
24086         * docs/gst/gstreamer.types:
24087           added missing types
24088
24089 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24090
24091         * docs/gst/gstreamer-docs.sgml:
24092         * docs/gst/gstreamer-sections.txt:
24093         * docs/gst/tmpl/.cvsignore:
24094         * gst/gstbin.c:
24095         * gst/gstiterator.c:
24096         * gst/gstutils.c:
24097         * gst/registries/gstxmlregistry.h:
24098           added missing classes and symbols (123 more to go)
24099           removed removed symbols from section file
24100           fixed many doc-comments
24101
24102 2005-08-24  Wim Taymans  <wim@fluendo.com>
24103
24104         * check/generic/states.c: (GST_START_TEST):
24105         Make sure all tasks are stopped.
24106
24107         * check/gst/gstbin.c: (GST_START_TEST):
24108         Unref after usage for proper valgrinding.
24109
24110         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
24111         Really wait for the task to stop before destroying the
24112         mutex.
24113
24114         * gst/gstqueue.c: (gst_queue_sink_activate_push),
24115         (gst_queue_src_activate_push):
24116         Small cleanups. Don't stop the task when we did not start
24117         it.
24118
24119         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
24120         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24121         (gst_task_get_state), (gst_task_start), (gst_task_pause),
24122         (gst_task_join):
24123         * gst/gsttask.h:
24124         Protect the stream lock with the object lock.
24125         Disallow setting the stream lock when running.
24126         Add cleanup_all to wait for the threadpool to finish.
24127         Remove code to autoallocate a mutex if none was provided.
24128         Add _join() to wait for a task to stop.
24129         Protect the thread pool with a global lock.
24130
24131 2005-08-24  Wim Taymans  <wim@fluendo.com>
24132
24133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24134         (gst_base_sink_get_times), (gst_base_sink_do_sync),
24135         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
24136         * gst/base/gstbasesink.h:
24137         Handle newsegment events correctly.
24138         Drop buffers out of the segment range.
24139
24140 2005-08-22  Andy Wingo  <wingo@pobox.com>
24141
24142         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
24143         macro, implements an interface and gstimplementsinterface for a
24144         new type.
24145
24146 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24147
24148         * check/Makefile.am:
24149         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
24150           add a test that does a bunch of state changes on elements
24151           needs some fixing for valgrind
24152         * check/states/sinks.c: (gst_object_suite):
24153           whitespace
24154         * gst/gstcaps.h:
24155           add prototype for gst_caps_is_equal_fixed
24156         * gst/gstplugin.c:
24157         * gst/gstregistrypool.c:
24158           doc fixes
24159
24160 2005-08-24  Andy Wingo  <wingo@pobox.com>
24161
24162         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
24163         convert a negative value. Doesn't make much sense. Mostly this is
24164         here to force callers to ensure -1 maps to -1.
24165
24166 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24167
24168         * docs/pwg/advanced-types.xml:
24169           Well done to Michael for catching my deliberate introduction
24170           of this spelling mistake. 
24171         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
24172         * gst/gstelement.h:
24173           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
24174           unlink pads before removing the element from the bin.
24175
24176 2005-08-24  Andy Wingo  <wingo@pobox.com>
24177
24178         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
24179         the same thing as GST_DEBUG=*:4.
24180         (parse_debug_level, parse_debug_category): New helper parsers.
24181
24182 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24183
24184         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24185         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
24186         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
24187         (gst_base_transform_buffer_alloc),
24188         (gst_base_transform_handle_buffer):
24189           use gboolean return values and pointers to size so we can use the
24190           full GST_BUFFER_SIZE range (guint) for buffer sizes
24191           use GstPadDirection for transform_caps
24192         * gst/base/gstbasetransform.h:
24193           rename get_size to get_unit_size since that's what it is
24194         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
24195           use GstPadDirection for transform_caps
24196         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24197         * gst/gstutils.h:
24198           cleanup and debugging
24199
24200 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24201
24202         * gst/gstelement.c: (gst_element_class_init),
24203         (gst_element_set_state), (activate_pads),
24204         (gst_element_save_thyself):
24205         * tools/gst-compprep.c: (main):
24206         * tools/gst-inspect.c: (print_element_properties_info):
24207         * tools/gst-xmlinspect.c: (print_element_properties):
24208           Fixed long standing mem-leak
24209
24210 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24211
24212         * check/gst/gstbin.c: (GST_START_TEST):
24213         * gst/gstbin.c: (bin_bus_handler):
24214         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24215         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24216         (gst_message_new_warning), (gst_message_new_tag),
24217         (gst_message_new_state_changed), (gst_message_new_segment_start),
24218         (gst_message_new_segment_done), (gst_message_new_custom):
24219         * gst/gstmessage.h:
24220         * tools/gst-launch.c: (event_loop):
24221         * tools/gst-md5sum.c: (event_loop):
24222           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
24223           that applications can sensibly post custom messages with references
24224           to their own objects.
24225
24226 2005-08-24  Andy Wingo  <wingo@pobox.com>
24227
24228         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
24229         already.
24230
24231 2005-08-24  Wim Taymans  <wim@fluendo.com>
24232
24233         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24234         (gst_base_transform_transform_caps),
24235         (gst_base_transform_transform_size),
24236         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24237         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24238         (gst_base_transform_handle_buffer):
24239         * gst/base/gstbasetransform.h:
24240         Many fixes and new features added by Thomas. Can now also do
24241         transforms with variable sizes and a custom fixate_caps function.
24242
24243 2005-08-24  Wim Taymans  <wim@fluendo.com>
24244
24245         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24246         Some debugging.
24247
24248         * gst/gstclock.h:
24249         Cast to ClockTime before formatting to time.
24250
24251         * gst/gstutils.h:
24252         Cleanups.
24253
24254 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24255
24256         * check/gst-libs/controller.c: (GST_START_TEST),
24257         (gst_controller_suite):
24258         * docs/gst/tmpl/gstcaps.sgml:
24259         * docs/gst/tmpl/gstghostpad.sgml:
24260         * docs/gst/tmpl/gstquery.sgml:
24261         * docs/gst/tmpl/gstutils.sgml:
24262         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
24263         (gst_object_sink_values), (gst_object_get_value_arrays),
24264         (gst_object_get_value_array):
24265           gracefully handle helper method calls to objects that are not beeing
24266           controlled, added test case for that          
24267
24268 2005-08-23  Wim Taymans  <wim@fluendo.com>
24269
24270         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
24271         (gst_event_new_newsegment), (gst_event_parse_newsegment),
24272         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
24273         (gst_event_parse_qos), (gst_event_new_seek),
24274         (gst_event_parse_seek):
24275         * gst/gstevent.h:
24276         Some more debugging output and doc cleanups.
24277
24278         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24279         Fix possible deadlock.
24280
24281 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24282
24283         * docs/gst/gstreamer-docs.sgml:
24284         * docs/gst/gstreamer-sections.txt:
24285         * docs/gst/gstreamer.types:
24286         * docs/gst/tmpl/.cvsignore:
24287         * gst/gstbin.h:
24288         * gst/gstbus.c:
24289         * gst/gstelement.c:
24290         * gst/gstevent.h:
24291           added 100 symbols from gstreamer-unused.txt to the right sections
24292           fixed more broken comments
24293           added GstBus to docs
24294
24295 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24296
24297         * docs/gst/gstreamer-sections.txt:
24298         * docs/gst/tmpl/.cvsignore:
24299         * docs/gst/tmpl/gstbin.sgml:
24300         * docs/gst/tmpl/gstbuffer.sgml:
24301         * gst/base/gstbasesrc.c:
24302         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
24303         * gst/gstbuffer.c:
24304         * gst/gstbuffer.h:
24305         * tools/gst-launch.1.in:
24306           inlined more doc comments, added missing comments and fixed comments
24307           fixed typos
24308
24309 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24310
24311         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24312           some debugging
24313         * gst/gstcaps.h:
24314           whitespace fixes
24315         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
24316           more debugging
24317         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
24318         * gst/gststructure.h:
24319           add a fixate function for booleans; add a FIXME that these func
24320           names should probably be gst_structure_fixate_*
24321
24322 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24323
24324         * docs/gst/gstreamer-docs.sgml:
24325         * docs/gst/gstreamer-sections.txt:
24326         * gst/Makefile.am:
24327         * gst/gstbin.c: (gst_bin_get_type),
24328         (gst_bin_child_proxy_get_child_by_index),
24329         (gst_bin_child_proxy_get_children_count),
24330         (gst_bin_child_proxy_init):
24331         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24332         (gst_child_proxy_get_child_by_index),
24333         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
24334         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
24335         (gst_child_proxy_get), (gst_child_proxy_set_property),
24336         (gst_child_proxy_set_valist), (gst_child_proxy_set),
24337         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
24338         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
24339         * gst/gstchildproxy.h:
24340         * gst/parse/grammar.y:
24341         * tools/gst-inspect.c: (print_interfaces),
24342         (print_element_properties_info), (print_element_info):
24343           ported gstchildproxy over from 0.8
24344           ported gst-inspect fixes and enhancements over from 0.8
24345
24346 2005-08-22  Wim Taymans  <wim@fluendo.com>
24347
24348         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24349         (gst_base_transform_handle_buffer):
24350         Also call the transform function if we have ANY caps.
24351
24352         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
24353         Fix debug info.
24354
24355 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24356
24357         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
24358           Don't pretend to handle seek events if the source is not seekable
24359
24360 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24361
24362         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24363           Remove extra parameter to debug output
24364
24365         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24366         (gst_base_src_do_seek), (gst_base_src_activate_push):
24367           Fix seek event handling.
24368
24369         * gst/gstpipeline.c: (gst_pipeline_change_state):
24370         * gst/gstqueue.c: (gst_queue_handle_sink_event),
24371         (gst_queue_src_activate_push):
24372           Don't start the src pad task on FLUSH_STOP if the pad
24373           isn't linked.
24374           Debug changes.
24375
24376 2005-08-22  Wim Taymans  <wim@fluendo.com>
24377
24378         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
24379         Added check for gst_static_caps_get() refcounting.
24380
24381 2005-08-22  Wim Taymans  <wim@fluendo.com>
24382
24383         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
24384         Make _static_caps_get() refcounting sane.
24385         
24386         * gst/gstelement.c: (gst_element_set_state):
24387         Add g_return_val_if_fail() to protect against segfaults.
24388
24389 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
24390
24391         * docs/gst/tmpl/gstevent.sgml:
24392         * gst/gstevent.c:
24393         * gst/gstevent.h:
24394           inlined remaining docs, added missing doc comments
24395
24396 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24397
24398         * check/gst/gstbin.c: (GST_START_TEST):
24399           since we don't know when preroll is done, use refcount range
24400           check for the sink
24401         * gst/check/gstcheck.h:
24402           add macro for checking refcount range
24403
24404 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24405
24406         * check/Makefile.am:
24407           clean up environment for when registry gets built versus
24408           when actual tests are run; valgrind seems to not report
24409           leaks if GST_PLUGIN_PATH is set to some specific values
24410         * check/gst/gstbin.c: (GST_START_TEST):
24411           add more refcounting checks; maybe this exposes a
24412           preroll lock bug ?
24413         * common/check.mak:
24414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24415         * gst/check/gstcheck.h:
24416         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
24417         (gst_bin_change_state):
24418         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
24419           add/fix debugging/whitespace
24420
24421 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24422
24423         * check/gst/gstevent.c: (event_probe), (test_event),
24424         (GST_START_TEST):
24425          Er, don't call gst_bin_watch_for_state_change you idiot.
24426
24427 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24428
24429         * check/Makefile.am:
24430           Use CHECK_CFLAGS and CHECK_LIBS
24431         * check/gst/gstevent.c: (event_probe), (test_event),
24432         (GST_START_TEST):
24433           Don't leak events.
24434         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24435         (gst_base_src_start), (gst_base_src_stop),
24436         (gst_base_src_activate_push), (gst_base_src_activate_pull),
24437         (gst_base_src_change_state):
24438           Sprinkle gst_base_src_stop liberally around error paths to fix
24439           problems reusing a source after failed state changes.
24440         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24441         (helper_find_suggest), (gst_type_find_helper):
24442           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
24443         * gst/gstevent.h:
24444         * docs/gst/tmpl/gstevent.sgml:
24445           Migrate part of the docs from the SGML file. Wait for ensonic to
24446           tell me how I did it wrong ;)
24447         * tools/gst-typefind.c: (main):
24448           Extra robustness to state changes between files.
24449
24450 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24451
24452         * check/Makefile.am:
24453           don't valgrind the controller test - it's leaking - Stefan, HELP
24454         * gst/check/gstcheck.c: (gst_check_message_error),
24455         (gst_check_chain_func), (gst_check_setup_element),
24456         (gst_check_teardown_element), (gst_check_setup_src_pad),
24457         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
24458         (gst_check_teardown_sink_pad):
24459         * gst/check/gstcheck.h:
24460           add a bunch of methods to set up elements, and src and sink pads
24461         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
24462         * check/elements/identity.c: (setup_identity), (cleanup_identity),
24463         (GST_START_TEST):
24464           use them
24465         * gst/gstmessage.c:
24466         * gst/gsttag.h:
24467           whitespace/doc fixes
24468
24469 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24470
24471         * gst/gstelement.h:
24472           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
24473           be handled by the application and not always printed as well
24474
24475 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24476
24477         * check/Makefile.am:
24478           set GST_TOOLS_DIR
24479         * gst/check/gstcheck.c: (gst_check_message_error):
24480         * gst/check/gstcheck.h:
24481           add a fail_unless_equals_int
24482           add fail_unless for error messages
24483
24484 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24485
24486         * check/Makefile.am:
24487         * check/gst.supp:
24488         * common/Makefile.am:
24489         * common/check.mak:
24490         * common/gst.supp:
24491           factor out some of the common stuff so we can use it
24492
24493 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24494
24495         * check/Makefile.am:
24496         * check/gst/gstiterator.c: (GST_START_TEST):
24497         * check/gst/gstsystemclock.c: (GST_START_TEST),
24498         (gst_systemclock_suite):
24499         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24500         * gst/gstclock.c:
24501           valgrind more tests
24502
24503 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24504
24505         * check/elements/.cvsignore:
24506         * check/elements/gstfakesrc.c:
24507           rename to name of element
24508         * check/elements/identity.c: (chain_func), (event_func),
24509         (setup_identity), (cleanup_identity), (GST_START_TEST),
24510         (identity_suite), (main):
24511           add a test for identity
24512         * check/Makefile.am:
24513         * pkgconfig/Makefile.am:
24514         * pkgconfig/gstreamer-check.pc.in:
24515         * pkgconfig/gstreamer-check-uninstalled.pc.in:
24516         * gst/check:
24517         * gst/Makefile.am:
24518         * configure.ac:
24519           move the check stuff to a library that gets installed
24520         * check/gst-libs/controller.c: (GST_START_TEST):
24521         * check/gst-libs/gdp.c:
24522         * check/gst/gst.c: (GST_START_TEST):
24523         * check/gst/gstbin.c:
24524         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24525         * check/gst/gstbus.c:
24526         * check/gst/gstcaps.c: (GST_START_TEST):
24527         * check/gst/gstelement.c:
24528         * check/gst/gstghostpad.c:
24529         * check/gst/gstiterator.c:
24530         * check/gst/gstmessage.c:
24531         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
24532         * check/gst/gstobject.c:
24533         * check/gst/gstpad.c: (GST_START_TEST):
24534         * check/gst/gststructure.c: (GST_START_TEST):
24535         * check/gst/gstsystemclock.c: (GST_START_TEST),
24536         (gst_systemclock_suite):
24537         * check/gst/gsttag.c: (gst_tag_suite):
24538         * check/gst/gstvalue.c:
24539         * check/pipelines/cleanup.c:
24540         * check/pipelines/simple_launch_lines.c:
24541         * check/states/sinks.c:
24542           change include statement
24543
24544         * docs/gst/gstreamer-sections.txt:
24545         * docs/gst/tmpl/gstpad.sgml:
24546           document more pad stuff
24547         * gst/gstminiobject.c: (gst_mini_object_ref),
24548         (gst_mini_object_unref):
24549           debug refcounting
24550
24551 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
24552
24553         * docs/gst/tmpl/gst.sgml:
24554         * gst/gst.c:
24555           eliminate another tmpl file, fix spelling in the long-description
24556
24557 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24558
24559         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24560         (test_event), (timediff), (gstevents_suite):
24561           Should fix build on 64-bit arch's
24562
24563 2005-08-18  Andy Wingo  <wingo@pobox.com>
24564
24565         Make sure that when a pipeline goes to PLAYING, that data has
24566         actually hit the sink.
24567
24568         * check/states/sinks.c (test_sink): A sink that doesn't get any
24569         data shouldn't return SUCCESS for going to either PLAYING or
24570         PAUSED. Test also the return values on the way back down.
24571
24572         * gst/gstelement.c (gst_element_set_state): When changing the
24573         state of an element currently changing state asynchronously, go to
24574         lost-state after commiting the pending state. Makes future calls
24575         to get_state continue to return ASYNC.
24576
24577         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
24578         ASYNC when going to PLAYING if we still don't have preroll, as can
24579         happen with live sources.
24580
24581 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24582
24583         * docs/pwg/advanced-types.xml:
24584           Hack long paragraph into 2 chunks as a workaround for buggy
24585           jadetex version in sid and breezy that loops infinitely and
24586           eats all RAM.
24587
24588 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24589
24590         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24591         (test_event), (timediff), (gstevents_suite):
24592           Provide more error margin in clock measurements to allow for 
24593           g_get_current_time inaccuracies.
24594
24595 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24596
24597         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24598         (test_event), (timediff), (gstevents_suite):
24599            Fix error message output so I might be able to tell why the
24600            test works here but fails on the build farm.
24601
24602 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24603
24604         * check/Makefile.am:
24605         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24606         (test_event), (timediff), (gstevents_suite), (main):
24607           I wrote a test!
24608
24609         * docs/design/part-seeking.txt:
24610           Spelling correction
24611
24612         * docs/gst/tmpl/gstevent.sgml:
24613         * docs/gst/tmpl/gstfakesrc.sgml:
24614           Docs updates.
24615
24616         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24617           Treat a buffer-without-newsegment the same as a receiving 
24618           a newsegment not in time format, and disable syncing to the clock
24619           with a warning.
24620
24621         * gst/gstbus.c: (gst_bus_set_sync_handler):
24622           Assert if anyone tries to replace the existing sync_handler for bus, 
24623           as only the owner should be setting it.
24624
24625         * gst/gstevent.h:
24626           Have a fixed set of custom event enums with events identified by
24627           their structure name (as in 0.8), rather than a free-for-all
24628           allowing collisions between enum values from different plugins.
24629
24630         * gst/gstpad.c: (gst_pad_class_init):
24631           Docs change.
24632           
24633         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24634           Handle out-of-band downstream events from the sending thread.
24635
24636 2005-08-17  Andy Wingo  <wingo@pobox.com>
24637
24638         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
24639         play-timeout==0 to mean no timeout at all. In that case, don't
24640         bother with a get_state or a warning, just return directly, even
24641         if it's ASYNC.
24642
24643         * gst/base/gstbasetransform.c: Debug changes.
24644
24645         * gst/gstutils.h:
24646         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
24647         ensure bins post state change messages. A bit of a hack but I can't
24648         think of a way to avoid it.
24649
24650         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
24651
24652 2005-08-16  Andy Wingo  <wingo@pobox.com>
24653
24654         * gst/base/gstadapter.h:
24655         * gst/base/gstadapter.c (gst_adapter_take): New function, like
24656         peek() but you own the data. Not terribly efficient atm.
24657
24658 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24659
24660         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
24661         (gst_element_found_tags):
24662         * gst/gstutils.h:
24663           Add two utility functions for tag handling.
24664
24665 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24666
24667         * docs/manual/advanced-dataaccess.xml:
24668         * docs/manual/basics-helloworld.xml:
24669           Fix docs to use _bin_add() before _link(), which fixes the examples
24670           with recent core versions (reported by Madhan Raj M
24671           <raj_madan@rediffmail.com>, #313199).
24672
24673 2005-08-16  Wim Taymans  <wim@fluendo.com>
24674
24675         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24676         Added subtract checks.
24677
24678         * docs/design/part-events.txt:
24679         Some more docs about newsegment
24680
24681         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24682         Fix FIXME
24683
24684         * gst/gstcaps.c: (gst_caps_to_string):
24685         Add comments, cleanups.
24686         
24687         * gst/gstelement.c: (gst_element_save_thyself):
24688         cleanups
24689         
24690         * gst/gstvalue.c: (gst_value_collect_int_range),
24691         (gst_string_unwrap), (gst_value_union_int_int_range),
24692         (gst_value_union_int_range_int_range),
24693         (gst_value_intersect_int_int_range),
24694         (gst_value_intersect_int_range_int_range),
24695         (gst_value_intersect_double_double_range),
24696         (gst_value_intersect_double_range_double_range),
24697         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
24698         (gst_value_subtract_int_range_int),
24699         (gst_value_subtract_double_range_double),
24700         (gst_value_subtract_double_range_double_range),
24701         (gst_value_subtract_from_list), (gst_value_subtract_list),
24702         (gst_value_can_compare), (gst_value_compare_fraction):
24703         Cleanups, add comments, remove unneeded asserts.
24704
24705 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
24706
24707         * tools/gst-launch.c: (event_loop):
24708           don't convert NULL structures to strings
24709
24710 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
24711
24712         * docs/gst/gstreamer-sections.txt:
24713           made some defines private
24714         * docs/gst/tmpl/gstconfig.sgml:
24715         * docs/gst/tmpl/gstqueue.sgml:
24716         * docs/gst/tmpl/gsttaglist.sgml:
24717         * docs/gst/tmpl/gsttypes.sgml:
24718         * docs/gst/tmpl/gstutils.sgml:
24719         * docs/pwg/appendix-porting.xml:
24720         * gst/base/gstbasesink.h:
24721         * gst/base/gstbasesrc.c:
24722         * gst/base/gstbasesrc.h:
24723         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
24724         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
24725         * gst/gstelement.c: (gst_element_class_init):
24726         * gst/gstpad.c: (gst_pad_class_init):
24727         * gst/gstqueue.c: (gst_queue_class_init):
24728         * gst/gstxml.c: (gst_xml_class_init):
24729           documented all undocumented signal inline
24730         * libs/gst/controller/gst-controller.h:
24731           added padding
24732
24733 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24734
24735         * docs/pwg/appendix-porting.xml:
24736           Document _set_link_function -> _set_setcaps_function.
24737
24738 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
24739
24740         * check/Makefile.am:
24741           add a .check target for running the check
24742         * check/gst-libs/controller.c: (GST_START_TEST):
24743           cosmetic fixups
24744         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24745           complete checks for gstbuffer; would be nice if I could get the
24746           gcov stuff to work so I can see if I actually completed gstbuffer.c
24747         * check/gstcheck.h:
24748           add ASSERT_BUFFER_REFCOUNT
24749
24750 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
24751
24752         * docs/gst/gstreamer-sections.txt:
24753         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
24754         * gst/gsttag.h:
24755           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
24756           spew out a warning if a tag that is already registered
24757           is re-registered, unless it is re-registered with a 
24758           different type (#308438).
24759
24760 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
24761
24762         * docs/pwg/appendix-porting.xml:
24763         * docs/pwg/building-state.xml:
24764           Add some paragraphs about state changes in 0.9 to the PWG
24765           and the porting guide, in particular about the new meaning
24766           of GST_STATE_PAUSED and how to write state change functions
24767           with concurrent access by multiple threads in mind.
24768
24769 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
24770
24771         * docs/gst/gstreamer-docs.sgml:
24772         * docs/libs/gstreamer-libs-docs.sgml:
24773           added deprecation and since indexes
24774         * libs/gst/controller/gst-controller.c:
24775         * libs/gst/controller/gst-helper.c:
24776           added since tags
24777
24778
24779 2005-08-11  Wim Taymans  <wim@fluendo.com>
24780
24781         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
24782         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
24783         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
24784         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
24785         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
24786         (gst_ghost_pad_set_target):
24787         Actually implement (re)setting the target on a ghostpad
24788         as described in the docs.
24789
24790 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
24791
24792         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
24793           Check whether GST_DEBUG_NO_COLOR environment variable is
24794           set and disable coloured debug output if that is the case.
24795
24796 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
24797
24798         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24799         (gst_type_find_helper):
24800           The memory returned by gst_type_find_peek() needs to
24801           stay valid until the end of a typefind function, and
24802           typefind functions may keep results from different 
24803           offsets around, so we can't just unref the buffer from
24804           the previous _peek(), but have to save all buffers 
24805           returned by _peek() until typefinding is done and only
24806           free them then.
24807
24808 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
24809
24810         * docs/gst/gstreamer-sections.txt:
24811         * gst/gstutils.h:
24812           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
24813
24814 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24815
24816         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
24817           Fix a pretty good memleak.
24818
24819 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
24820
24821         * gst/gstiterator.h:
24822           Fix wrong include and 'make distcheck'.
24823
24824 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24825
24826         * gst/gstbin.c: (bin_bus_handler):
24827           Use gst_element_post_message() instead.
24828
24829 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
24830
24831         * gst/base/gstadapter.h:
24832         * gst/base/gstbasesink.h:
24833         * gst/base/gstbasesrc.h:
24834         * gst/base/gstbasetransform.h:
24835         * gst/base/gstcollectpads.h:
24836         * gst/base/gstpushsrc.h:
24837         * gst/gstiterator.h:
24838           Add padding to our base elements' class and instance structs and
24839           to GstIterator (you will need to rebuild all plugins and apps!)
24840
24841 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24842
24843         * gst/gstbin.c: (bin_bus_handler):
24844           Make default message forwarding from child->bus to bin->bus
24845           threadsafe and make it not emit warnings if the parent has no bus.
24846
24847 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24848
24849         * gst/gstelement.c: (activate_pads):
24850           On paused->ready, set pad->caps to NULL, as is the documented
24851           behaviour in this state change. Fixes playback of series of
24852           media files when visualization is enabled in Totem.
24853
24854 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24855
24856         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24857           Allow NULL as filter-caps (which means "any").
24858
24859 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24860
24861         * docs/libs/gstreamer-libs-sections.txt:
24862         * libs/gst/controller/gst-controller.c:
24863         * libs/gst/controller/gst-controller.h:
24864         * libs/gst/controller/gst-helper.c:
24865           adding more entries to the docs and fix small doc-bugs
24866
24867 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24868
24869         * docs/gst/gstreamer-docs.sgml:
24870         * docs/gst/gstreamer-sections.txt:
24871         * docs/gst/gstreamer.types:
24872         * docs/gst/tmpl/gstbasesink.sgml:
24873         * docs/gst/tmpl/gstbasesrc.sgml:
24874         * docs/gst/tmpl/gstbasetransform.sgml:
24875         * docs/gst/tmpl/gstfakesrc.sgml:
24876         * gst/base/gstcollectpads.c:
24877         * gst/base/gstcollectpads.h:
24878         * libs/gst/controller/gst-controller.c:
24879         * libs/gst/controller/gst-controller.h:
24880         * libs/gst/controller/gst-helper.c:
24881         * libs/gst/controller/gst-interpolation.c:
24882         * libs/gst/controller/lib.c:
24883           added long/short desc for controller docs
24884           added collectpads base class docs
24885           added correct includes to base-class docs
24886
24887 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24888
24889         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24890         (gst_test_mono_source_set_property),
24891         (gst_test_mono_source_class_init), (GST_START_TEST),
24892         (gst_controller_suite):
24893         * docs/gst/gstreamer-docs.sgml:
24894         * docs/gst/gstreamer-sections.txt:
24895         * docs/gst/gstreamer.types:
24896         * docs/libs/gstreamer-libs-docs.sgml:
24897         * docs/libs/gstreamer-libs-sections.txt:
24898         * gst/base/gstadapter.c:
24899         * libs/gst/controller/gst-controller.c:
24900         (gst_controlled_property_new), (gst_controlled_property_free),
24901         (gst_controller_new_valist),
24902         (gst_controller_remove_properties_valist),
24903         (gst_controller_sink_values), (_gst_controller_finalize):
24904         * libs/gst/controller/gst-controller.h:
24905         * libs/gst/controller/gst-helper.c:
24906         (gst_object_control_properties), (gst_object_uncontrol_properties),
24907         (gst_object_get_controller), (gst_object_set_controller),
24908         (gst_object_sink_values), (gst_object_get_value_arrays),
24909         (gst_object_get_value_array):
24910           more tests (and fixes) for the controller
24911           more docs for the controller
24912           integrated companies docs for the adapter 
24913
24914 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24915
24916         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
24917         (GST_START_TEST), (fakesrc_suite):
24918           add tests for sizetype
24919
24920 2005-08-04  Andy Wingo  <wingo@pobox.com>
24921
24922         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
24923         fixes buffer_alloc proxying among other things.
24924
24925         * gst/base/gstbasetransform.c:
24926         * gst/base/gstbasetransform.h:
24927         Revert patch to gstbasetransform from 7-28 removing
24928         delay_configure.
24929
24930         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
24931         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
24932         Semantics changed, should return not the size of the output buffer
24933         but the byte size of a buffer with a given caps.
24934
24935         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
24936         debug object.
24937         (gst_base_transform_configure_caps): Don't set out_size here: (in,
24938         out) are not the pad caps until setcaps finishes.
24939         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
24940         not-in-place case as well. Deal with changing from in-place to
24941         not-in-place within calling pad_alloc_buffer. Still a bit
24942         concerned about the overhead here...
24943
24944 2005-08-03  Andy Wingo  <wingo@pobox.com>
24945
24946         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
24947         fixating is an error.
24948
24949 2005-08-04  Edward Hervey  <edward@fluendo.com>
24950
24951         * gst/base/gstadapter.h: 
24952         Added gst_adapter_get_type() to the header
24953
24954 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24955
24956         * check/Makefile.am:
24957         * check/gst-libs/controller.c:
24958         * libs/gst/controller/gst-controller.c:
24959         (gst_controller_new_valist):
24960           added check test suite for the controller
24961         * gst/base/gstpushsrc.c:
24962           fixed a doc typo
24963
24964 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24965
24966         * docs/gst/Makefile.am:
24967         * docs/gst/gstreamer-docs.sgml:
24968         * docs/gst/gstreamer-sections.txt:
24969         * docs/gst/gstreamer.types:
24970         * docs/gst/tmpl/gstfakesrc.sgml:
24971         * gst/base/README:
24972         * gst/base/gstbasesink.c:
24973         * gst/base/gstbasesink.h:
24974         * gst/base/gstbasesrc.c:
24975         * gst/base/gstbasesrc.h:
24976         * gst/base/gstbasetransform.c:
24977         * gst/base/gstpushsrc.c:
24978         * gst/base/gstpushsrc.h:
24979           add short/long description docs to base classes
24980           add pushsrc to the docs
24981           remove consolidated doc fragments
24982
24983 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24984
24985         * configure.ac:
24986         * docs/libs/Makefile.am:
24987         * docs/libs/gstreamer-libs-docs.sgml:
24988         * docs/libs/gstreamer-libs-sections.txt:
24989         * docs/libs/gstreamer-libs.types:
24990         * examples/Makefile.am:
24991         * examples/controller/.cvsignore:
24992         * examples/controller/Makefile.am:
24993         * examples/controller/audio-example.c: (main):
24994         * libs/gst/Makefile.am:
24995         * libs/gst/controller/.cvsignore:
24996         * libs/gst/controller/Makefile.am:
24997         * libs/gst/controller/gst-controller.c:
24998         (on_object_controlled_property_changed), (gst_timed_value_compare),
24999         (gst_timed_value_find),
25000         (gst_controlled_property_set_interpolation_mode),
25001         (gst_controlled_property_new), (gst_controlled_property_free),
25002         (gst_controller_find_controlled_property),
25003         (gst_controller_new_valist), (gst_controller_new),
25004         (gst_controller_remove_properties_valist),
25005         (gst_controller_remove_properties), (gst_controller_set),
25006         (gst_controller_set_from_list), (gst_controller_unset),
25007         (gst_controller_get), (gst_controller_get_all),
25008         (gst_controller_sink_values), (gst_controller_get_value_arrays),
25009         (gst_controller_get_value_array),
25010         (gst_controller_set_interpolation_mode),
25011         (_gst_controller_finalize), (_gst_controller_init),
25012         (_gst_controller_class_init), (gst_controller_get_type):
25013         * libs/gst/controller/gst-controller.h:
25014         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
25015         (g_object_uncontrol_properties), (g_object_get_controller),
25016         (g_object_set_controller), (g_object_sink_values),
25017         (g_object_get_value_arrays), (g_object_get_value_array):
25018         * libs/gst/controller/gst-interpolation.c:
25019         (gst_controlled_property_find_timed_value_node),
25020         (interpolate_none_get), (interpolate_trigger_get),
25021         (interpolate_trigger_get_value_array):
25022         * libs/gst/controller/lib.c: (gst_controller_init):
25023         * pkgconfig/Makefile.am:
25024         * pkgconfig/gstreamer-control-uninstalled.pc.in:
25025         * pkgconfig/gstreamer-control.pc.in:
25026         * testsuite/Makefile.am:
25027         * testsuite/controller/.cvsignore:
25028         * testsuite/controller/Makefile.am:
25029         * testsuite/controller/interpolator.c: (main):
25030           added controller code
25031           removed dparam pc files
25032
25033 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25034         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
25035         (gst_collectpads_stop):
25036           Broadcast the condition when shutting down, to make sure we wake all
25037           threads up. Shut down pads on finalize, for safety.
25038
25039 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25040         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25041         (gst_base_transform_handle_buffer),
25042         (gst_base_transform_change_state):
25043           Handle PAUSED->READY->PAUSED transition after negotiation
25044           occurred already.
25045         * gst/gstmessage.c: (gst_message_init):
25046           Extra piece of debug for new messages.
25047
25048 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
25049
25050         * configure.ac:
25051         * docs/gst/tmpl/gstbasesrc.sgml:
25052         * docs/gst/tmpl/gstelement.sgml:
25053         * docs/gst/tmpl/gstevent.sgml:
25054         * docs/gst/tmpl/gstfakesrc.sgml:
25055         * docs/gst/tmpl/gstformat.sgml:
25056         * docs/gst/tmpl/gstghostpad.sgml:
25057         * docs/gst/tmpl/gstpad.sgml:
25058         * docs/gst/tmpl/gstquery.sgml:
25059         * docs/gst/tmpl/gststructure.sgml:
25060         * docs/gst/tmpl/gsttaglist.sgml:
25061         * docs/gst/tmpl/gstvalue.sgml:
25062         * docs/libs/gstreamer-libs-docs.sgml:
25063         * docs/libs/gstreamer-libs-sections.txt:
25064         * docs/libs/gstreamer-libs.types:
25065         * libs/gst/Makefile.am:
25066         * libs/gst/control/.cvsignore:
25067         * libs/gst/control/Makefile.am:
25068         * libs/gst/control/control.c:
25069         * libs/gst/control/control.h:
25070         * libs/gst/control/dparam.c:
25071         * libs/gst/control/dparam.h:
25072         * libs/gst/control/dparam_smooth.c:
25073         * libs/gst/control/dparam_smooth.h:
25074         * libs/gst/control/dparamcommon.h:
25075         * libs/gst/control/dparammanager.c:
25076         * libs/gst/control/dparammanager.h:
25077         * libs/gst/control/dplinearinterp.c:
25078         * libs/gst/control/dplinearinterp.h:
25079         * libs/gst/control/unitconvert.c:
25080         * libs/gst/control/unitconvert.h:
25081         * testsuite/Makefile.am:
25082         * testsuite/dynparams/.cvsignore:
25083         * testsuite/dynparams/Makefile.am:
25084         * testsuite/dynparams/dparamstest.c:
25085         * tools/Makefile.am:
25086         * tools/gst-inspect.c: (print_element_info), (main):
25087         * tools/gst-xmlinspect.c: (print_element_info), (main):
25088           deactivate and remove dparams (libgstcontrol)
25089
25090 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25091
25092         * gst/elements/gsttypefindelement.c:
25093         (gst_type_find_element_have_type), (gst_type_find_element_init),
25094         (stop_typefinding), (gst_type_find_element_handle_event),
25095         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25096         * gst/elements/gsttypefindelement.h:
25097           Set caps on all outgoing buffers, not just the first one.
25098
25099 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25100
25101         * gst/elements/gsttypefindelement.c:
25102         (gst_type_find_element_have_type),
25103         (gst_type_find_element_check_set_buffer_caps),
25104         (gst_type_find_element_init), (stop_typefinding),
25105         (gst_type_find_element_handle_event),
25106         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25107         * gst/elements/gsttypefindelement.h:
25108           Set caps on first outgoing buffer when we've found the type.
25109
25110 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25111
25112         * docs/gst/gstreamer-docs.sgml:
25113         * docs/gst/gstreamer-sections.txt:
25114         * docs/gst/tmpl/gstscheduler.sgml:
25115         * docs/gst/tmpl/gstschedulerfactory.sgml:
25116           Remove some old cruft from docs.
25117
25118 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
25119
25120         * gst/gstpad.h:
25121           Fix inline docs for GstPadLinkReturn.
25122           
25123         * gst/gststructure.c: (gst_structure_has_name):
25124         * gst/gststructure.h:
25125         * docs/gst/gstreamer-sections.txt:
25126           New API: gst_structure_has_name().
25127
25128 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
25129
25130         * configure.ac:
25131           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
25132           and _LARGEFILE_SOURCE in config.h as required. Do not 
25133           export those flags in our .pc files any longer (#142209).
25134
25135           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
25136
25137         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
25138         (gst_file_sink_do_seek), (gst_file_sink_event),
25139         (gst_file_sink_get_current_offset), (gst_file_sink_render):
25140           Redo seek/tell calls with large file support in mind; add some
25141           debugging messages; add log message that tells us when large
25142           file support is unavailable or not enabled for some reason.
25143
25144         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
25145           Add log message that tells us when large file support 
25146           is unavailable or not enabled for some reason.
25147
25148 2005-07-29  Wim Taymans  <wim@fluendo.com>
25149
25150         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25151         Added test for removing an element with ghostpad from a bin.
25152         Fixed test as current implementation does the right thing.
25153
25154         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
25155         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
25156         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
25157         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
25158         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
25159         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
25160         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
25161         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25162         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
25163         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
25164         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
25165         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
25166         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
25167         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
25168         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
25169         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
25170         * gst/gstghostpad.h:
25171         Clean up ghostpads, remove properties for internal stuff.
25172         Make threadsafe.
25173         Fix refcounting.
25174         Prepare for switching targets, not all use cases work yet.
25175
25176 2005-07-29  Wim Taymans  <wim@fluendo.com>
25177
25178         * docs/design/part-gstghostpad.txt:
25179         Small update.
25180
25181         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25182         (gst_bin_remove_func):
25183         Unlinking pads while holding the bin LOCK is not a good
25184         idea.
25185
25186         * gst/gstpad.c: (gst_pad_class_init),
25187         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
25188         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
25189         No prob setting template after creating the pad.
25190
25191 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
25192
25193         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
25194         (gst_bus_peek), (gst_bus_source_dispatch),
25195         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
25196         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
25197           gst_bus_poll may be called from other threads. Handle
25198           this nicely by not making poll_data disappear off the
25199           stack once gst_bus_poll returns.
25200           gst_bus_peek now increments the refcount on the returned
25201           message.
25202
25203 2005-07-29  Wim Taymans  <wim@fluendo.com>
25204
25205         * docs/design/part-gstghostpad.txt:
25206         Overview of current GhostPad datastructures and use
25207         cases for changing the target.
25208
25209 2005-07-28  Wim Taymans  <wim@fluendo.com>
25210
25211         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25212         Added checks for hierarchy consistency whan adding linked
25213         elements to bins.
25214
25215         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25216         Added check to test element scheduling without bin/pipeline.
25217
25218         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
25219         First add elements to bin, then link.
25220         
25221         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25222         (gst_bin_remove_func):
25223         Unlink pads from elements added/removed from bin to maintain
25224         hierarchy consistency.
25225
25226 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25227
25228         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25229         (gst_base_transform_handle_buffer):
25230         * gst/base/gstbasetransform.h:
25231           Remove broken delay_configure (fixes renegotiation of software
25232           scaling pipelines); remove some leftover printf()s.
25233
25234 2005-07-28  Wim Taymans  <wim@fluendo.com>
25235
25236         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25237         Added some more tests for wrong hierarchy
25238
25239         * docs/design/part-overview.txt:
25240         Some updates.
25241
25242         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
25243         Cleanups.
25244
25245         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
25246         (gst_element_dispose):
25247         Some more cleanups.
25248
25249         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25250         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
25251         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25252         (gst_pad_set_caps), (gst_pad_send_event):
25253         Check for correct hierarchy when linking pads. Moving to
25254         strict requirement for ghostpads when linking elements in
25255         different bins.
25256
25257         * gst/gstpad.h:
25258         Clean ups. Added WRONG_HIERARCHY return value.
25259
25260 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25261
25262         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25263           Better debug if no transform is possible.
25264
25265 2005-07-27  Wim Taymans  <wim@fluendo.com>
25266
25267         * docs/random/wtay/network-transp:
25268         Some old doc I had.
25269
25270 2005-07-27  Wim Taymans  <wim@fluendo.com>
25271
25272         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25273         (gst_dp_event_from_packet):
25274         Fix serialization of seek events.
25275
25276 2005-07-27  Wim Taymans  <wim@fluendo.com>
25277
25278         * check/gst-libs/gdp.c: (GST_START_TEST):
25279         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25280         Fix compilation and fix event serialization.
25281
25282 2005-07-27  Wim Taymans  <wim@fluendo.com>
25283
25284         * CHANGES-0.9:
25285         * docs/design/part-TODO.txt:
25286         * docs/design/part-events.txt:
25287         Some docs updates
25288
25289         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25290         (gst_base_sink_event), (gst_base_sink_do_sync),
25291         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25292         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25293         (gst_base_src_do_seek), (gst_base_src_event_handler),
25294         (gst_base_src_loop):
25295         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25296         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25297         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25298         (gst_base_transform_event), (gst_base_transform_handle_buffer),
25299         (gst_base_transform_set_passthrough),
25300         (gst_base_transform_is_passthrough):
25301         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25302         * gst/elements/gstfilesink.c: (gst_file_sink_event):
25303         Event updates.
25304
25305         * gst/gstbuffer.h:
25306         Use faster casts.
25307
25308         * gst/gstelement.c: (gst_element_seek):
25309         * gst/gstelement.h:
25310         Update gst_element_seek.
25311
25312         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
25313         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
25314         (gst_event_new_flush_start), (gst_event_new_flush_stop),
25315         (gst_event_new_eos), (gst_event_new_newsegment),
25316         (gst_event_parse_newsegment), (gst_event_new_tag),
25317         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
25318         (gst_event_parse_qos), (gst_event_new_seek),
25319         (gst_event_parse_seek), (gst_event_new_navigation):
25320         * gst/gstevent.h:
25321         Make GstEvent use GstStructure. Add parsing code, make sure the
25322         API is sufficiently generic.
25323         Mark possible directions of events and serialization.
25324
25325         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
25326         (_gst_message_copy), (gst_message_new_segment_start),
25327         (gst_message_new_segment_done), (gst_message_new_custom),
25328         (gst_message_parse_segment_start),
25329         (gst_message_parse_segment_done):
25330         Small cleanups.
25331
25332         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25333         (gst_pad_set_caps), (gst_pad_send_event):
25334         Update for new events. 
25335         Catch events sent in wrong directions.
25336
25337         * gst/gstqueue.c: (gst_queue_link_src),
25338         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25339         (gst_queue_handle_src_query):
25340         Event updates.
25341
25342         * gst/gsttag.c:
25343         * gst/gsttag.h:
25344         Remove event code from this file.
25345
25346         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25347         (gst_dp_event_from_packet):
25348         Event updates.
25349
25350 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25351
25352         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
25353         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25354         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
25355           Make debugging actually useful.
25356
25357 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25358
25359         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
25360         (gst_pad_fixate_caps):
25361           Implement default fixation once again, so that gst_pad_fixate()
25362           actually does anything at all. This probably needs to be some
25363           sort of a last resort, and use profile-based fixation first, but
25364           since that doesn't exist yet, this is the best we have. Fixes
25365           visualization in Totem.
25366
25367 2005-07-22  Wim Taymans  <wim@fluendo.com>
25368
25369         * docs/design/part-events.txt:
25370         Small update.
25371
25372         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25373         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
25374         (gst_base_sink_activate_pull):
25375         Some more comments.
25376
25377         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
25378         (gst_fake_src_create):
25379         Fix handoff marshall.
25380
25381         * gst/elements/gstidentity.c: (gst_identity_class_init),
25382         (gst_identity_transform_ip):
25383         We're a real inplace element.
25384
25385         * gst/gstbus.c: (gst_bus_post):
25386         Added some comments.
25387
25388         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
25389         * tests/muxing/case1.c: (main):
25390         * tests/sched/dynamic-pipeline.c: (main):
25391         * tests/sched/interrupt1.c: (main):
25392         * tests/sched/interrupt2.c: (main):
25393         * tests/sched/interrupt3.c: (main):
25394         * tests/sched/runxml.c: (main):
25395         * tests/sched/sched-stress.c: (main):
25396         * tests/seeking/seeking1.c: (event_received), (main):
25397         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
25398         (main):
25399         * tests/threadstate/threadstate3.c: (main):
25400         * tests/threadstate/threadstate4.c: (main):
25401         * tests/threadstate/threadstate5.c: (main):
25402         Fix the tests.
25403
25404 2005-07-21  Wim Taymans  <wim@fluendo.com>
25405
25406         * docs/design/part-seeking.txt:
25407         Some small additions.
25408
25409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25410         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25411         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25412         * gst/base/gstbasesink.h:
25413         discont values are gint64, handle the math correctly.
25414
25415         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25416         Make the basesrc report error if the source pad is not linked.
25417
25418         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
25419         (gst_queue_loop), (gst_queue_handle_src_query),
25420         (gst_queue_src_activate_push):
25421         Make queue collect data even if the srcpad is not linked.
25422         Start pushing out data as soon as it is linked.
25423
25424         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
25425         * gst/gstutils.h:
25426         Added gst_flow_get_name() to ease error reporting.
25427
25428 2005-07-20  Wim Taymans  <wim@fluendo.com>
25429
25430         * gst/gstmessage.c: (gst_message_new_segment_start),
25431         (gst_message_new_segment_done), (gst_message_parse_segment_start),
25432         (gst_message_parse_segment_done):
25433         * gst/gstmessage.h:
25434         Added a bunch of messages for advanced seeking.
25435
25436         * gst/parse/grammar.y:
25437         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
25438         (gst_dpman_state_changed):
25439         Fix some new-pad -> pad-added signals
25440
25441 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25442
25443         * docs/manual/appendix-porting.xml:
25444         * docs/pwg/appendix-porting.xml:
25445           Document new-pad/state-change signal renames and the FixedList
25446           type rename.
25447
25448 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25449
25450         * docs/manual/advanced-autoplugging.xml:
25451         * docs/manual/basics-helloworld.xml:
25452         * docs/manual/basics-pads.xml:
25453         * docs/random/ds/0.9-suggested-changes:
25454         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
25455         * gst/gstelement.h:
25456         * gst/gstevent.h:
25457         * gst/gstformat.h:
25458         * gst/gstquery.h:
25459         * gst/gststructure.c: (gst_structure_value_get_generic_type),
25460         (gst_structure_parse_array), (gst_structure_parse_value):
25461         * gst/gstvalue.c: (gst_type_is_fixed),
25462         (gst_value_list_prepend_value), (gst_value_list_append_value),
25463         (gst_value_list_get_size), (gst_value_list_get_value),
25464         (gst_value_transform_array_string), (gst_value_serialize_array),
25465         (gst_value_deserialize_array), (gst_value_intersect_array),
25466         (gst_value_is_fixed), (_gst_value_initialize):
25467         * gst/gstvalue.h:
25468           GstElement::new-pad -> pad-added, GstElement::state-change ->
25469           state-changed, GstValueFixedList -> GstValueArray, add format and
25470           flags as their own arguments in gst_element_seek() (should improve
25471           "bindeability"), remove function generators since they don't work
25472           under a whole bunch of compilers (they were deprecated already
25473           anyway).
25474
25475 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25476
25477         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25478         (_gst_debug_register_funcptr):
25479         * gst/gstinfo.h:
25480           Fix illegal cast on some platforms (#309253).
25481
25482 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25483
25484         * gst/gstmessage.c: (gst_message_new_custom):
25485         * gst/gstmessage.h:
25486           Add _new_custom, make _new_application a macro to _new_custom.
25487
25488 2005-07-20  Wim Taymans  <wim@fluendo.com>
25489
25490         * gst/base/gstbasesrc.c: (gst_base_src_init),
25491         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
25492         * gst/base/gstbasesrc.h:
25493         Add a gboolean to decide when to push out a discont.
25494
25495         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25496         (gst_queue_loop), (gst_queue_handle_src_query),
25497         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
25498         (gst_queue_set_property), (gst_queue_get_property):
25499         Some cleanups.
25500
25501         * tests/threadstate/threadstate1.c: (main):
25502         Make a thread test compile and run... very silly..
25503
25504
25505 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25506
25507         * docs/manual/appendix-porting.xml:
25508           Mention removal of libgstgconf-0.9.la and existence of gconf
25509           elements.
25510
25511 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25512
25513         * docs/pwg/advanced-clock.xml:
25514         * docs/pwg/appendix-porting.xml:
25515         * docs/pwg/intro-preface.xml:
25516         * docs/pwg/other-base.xml:
25517         * docs/pwg/other-manager.xml:
25518         * docs/pwg/other-nton.xml:
25519         * docs/pwg/other-ntoone.xml:
25520         * docs/pwg/other-oneton.xml:
25521         * docs/pwg/pwg.xml:
25522           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
25523           demuxer), remove n-to-n (was never written), fix some code examples
25524           and links and update the porting section to include all this.
25525
25526 2005-07-19  Wim Taymans  <wim@fluendo.com>
25527
25528         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
25529         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
25530         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
25531         (gst_queue_src_activate_push), (gst_queue_change_state),
25532         (gst_queue_get_property):
25533         * gst/gstqueue.h:
25534         Propagate GstFlowReturn more intelligently upstream and output
25535         an ERROR/EOS when streaming stopped due to fatal error.
25536
25537 2005-07-19  Wim Taymans  <wim@fluendo.com>
25538
25539         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25540         Don't block forever for the state change to complete, the
25541         pipeline already did with a sensible timeout.
25542
25543 2005-07-19  Wim Taymans  <wim@fluendo.com>
25544
25545         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
25546         Make sure we never call the create function is we
25547         got deactivated.
25548
25549 2005-07-19  Andy Wingo  <wingo@pobox.com>
25550
25551         * gst/parse/parse.l: Attempt to solve bug #172815.
25552
25553 2005-07-19  Wim Taymans  <wim@fluendo.com>
25554
25555         * docs/design/part-clocks.txt:
25556         * docs/design/part-events.txt:
25557         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
25558         Small docs updates.
25559         Only update the seeking values when we are not
25560         busy streaming.
25561
25562 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25563
25564         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25565           Oops, ignore the result of gst_pad_push_event here.
25566
25567 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25568
25569         * gst/base/gstbasesrc.c: (gst_base_src_loop),
25570         (gst_base_src_activate_push):
25571           Send discont event from the loop function, as pads
25572           aren't activated yet in the activate_push handler.
25573
25574         * gst/gstbin.c: (bin_bus_handler):
25575           Don't leak element name.
25576
25577 2005-07-18  Andy Wingo  <wingo@pobox.com>
25578
25579         * configure.ac: Use AS_LIBTOOL_TAGS.
25580
25581 2005-07-18  Wim Taymans  <wim@fluendo.com>
25582
25583         * docs/gst/gstreamer.types:
25584         Remove deleted types.
25585
25586 2005-07-18  Wim Taymans  <wim@fluendo.com>
25587
25588         * check/elements/gstfakesrc.c: (GST_START_TEST):
25589         * configure.ac:
25590         * gst/Makefile.am:
25591         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
25592         (init_popt_callback):
25593         * gst/gst.h:
25594         * gst/gst_private.h:
25595         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
25596         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
25597         * gst/gstbin.h:
25598         * gst/gstbus.h:
25599         * gst/gstconfig.h.in:
25600         * gst/gstelement.c: (gst_element_class_init),
25601         (gst_element_set_base_time), (gst_element_get_base_time),
25602         (iterator_fold_with_resync), (gst_element_change_state),
25603         (gst_element_dispose), (gst_element_get_bus):
25604         * gst/gstelement.h:
25605         * gst/gstelementfactory.h:
25606         * gst/gsterror.c: (_gst_core_errors_init):
25607         * gst/gsterror.h:
25608         * gst/gstevent.h:
25609         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25610         * gst/gstindex.c:
25611         * gst/gstinfo.c: (_gst_debug_init):
25612         * gst/gstmessage.c: (_gst_message_copy):
25613         * gst/gstmessage.h:
25614         * gst/gstminiobject.h:
25615         * gst/gstobject.c:
25616         * gst/gstobject.h:
25617         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25618         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
25619         * gst/gstpad.h:
25620         * gst/gstparse.h:
25621         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
25622         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25623         (gst_pipeline_get_last_stream_time):
25624         * gst/gstpipeline.h:
25625         * gst/gstpluginfeature.h:
25626         * gst/gstquery.h:
25627         * gst/gstscheduler.c:
25628         * gst/gstscheduler.h:
25629         * gst/gststructure.h:
25630         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25631         (gst_task_finalize), (gst_task_func), (gst_task_create),
25632         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
25633         (gst_task_stop), (gst_task_pause):
25634         * gst/gsttask.h:
25635         * gst/gsttypefind.h:
25636         * gst/gsttypes.h:
25637         * gst/registries/gstlibxmlregistry.c: (load_feature),
25638         (gst_xml_registry_load), (gst_xml_registry_save_feature):
25639         * gst/registries/gstxmlregistry.c:
25640         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
25641         * gst/schedulers/threadscheduler.c:
25642         * libs/gst/control/dparammanager.h:
25643         * tools/gst-inspect.c: (print_element_list),
25644         (print_plugin_features), (print_element_features):
25645         * tools/gst-xmlinspect.c: (print_element_list),
25646         (print_plugin_info), (main):
25647         Removed plugable schedulers.
25648         Removed Scheduler/Manager from elements.
25649         Removed gsttypes.h, rearranged includes.
25650         Removed dependency pad<->element, element<>pipeline, and
25651         various others,  fix includes.
25652         implement gst_pad_get_parent() with gst_object_get_parent()
25653         Make GstTask sefcontained.
25654         Fix _get_state() on GstBin, it did not return ASYNC with a 0
25655         timeout.
25656         Fix endless loop in iterator_fold_with_resync.
25657
25658
25659 2005-07-18  Wim Taymans  <wim@fluendo.com>
25660
25661         * gst/Makefile.am:
25662         * gst/gstarch.h:
25663         Remove old file.
25664
25665 2005-07-18  Wim Taymans  <wim@fluendo.com>
25666
25667         * gst/Makefile.am:
25668         No more cothreads.h
25669
25670 2005-07-18  Wim Taymans  <wim@fluendo.com>
25671
25672         * gst/cothreads.c:
25673         * gst/cothreads.h:
25674         Let's remove these.
25675
25676 2005-07-18  Wim Taymans  <wim@fluendo.com>
25677
25678         * docs/design/part-dynamic.txt:
25679         * docs/design/part-events.txt:
25680         * docs/design/part-seeking.txt:
25681         Some more docs in the works.
25682
25683         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25684         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
25685         (gst_base_transform_setcaps), (gst_base_transform_get_size),
25686         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25687         (gst_base_transform_handle_buffer),
25688         (gst_base_transform_sink_activate_push),
25689         (gst_base_transform_src_activate_pull),
25690         (gst_base_transform_set_passthrough),
25691         (gst_base_transform_is_passthrough):
25692         Refcounting fixes.
25693
25694         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
25695         Cleanups.
25696
25697         * gst/gstevent.c: (gst_event_finalize):
25698         Set SRC to NULL.
25699
25700         * gst/gstutils.c: (gst_element_unlink),
25701         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
25702         (gst_pad_proxy_setcaps):
25703         * gst/gstutils.h:
25704         Add _get_parent_element() to get a pads parent as an element.
25705
25706 2005-07-18  Wim Taymans  <wim@fluendo.com>
25707
25708         * check/gst/gstbin.c: (GST_START_TEST):
25709         Remove bogus test.
25710
25711 2005-07-18  Wim Taymans  <wim@fluendo.com>
25712
25713         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25714         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25715         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25716         (gst_base_sink_event), (gst_base_sink_do_sync),
25717         (gst_base_sink_chain), (gst_base_sink_loop),
25718         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
25719         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
25720         Refcounting fixes.
25721         Fix logic for returning ASYNC when not prerolled.
25722
25723 2005-07-18  Wim Taymans  <wim@fluendo.com>
25724
25725         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25726         Fix nasty refcount bug.
25727
25728 2005-07-16 Philippe Khalaf <burger@speedy.org>
25729
25730         * gst/elements/gstfdsrc.c:
25731         * gst/elements/gstfdsrc.h:
25732         * gst/elements/gstelements.c:
25733         * gst/elements/Makefile.am:
25734         Ported fdsrc to 0.9.
25735
25736 2005-07-16  Wim Taymans  <wim@fluendo.com>
25737
25738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25739         (gst_base_sink_do_sync):
25740         Fix compile error.
25741
25742 2005-07-16  Wim Taymans  <wim@fluendo.com>
25743
25744         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25745         (gst_base_sink_event), (gst_base_sink_get_times),
25746         (gst_base_sink_do_sync), (gst_base_sink_change_state):
25747         * gst/base/gstbasesink.h:
25748         Store and use discont values when syncing buffers as described
25749         in design docs.
25750         
25751         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25752         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
25753         (gst_base_src_activate_push):
25754         Push discont event when starting.
25755
25756         * gst/elements/gstidentity.c: (gst_identity_transform):
25757         Small cleanups.
25758
25759         * gst/gstbin.c: (gst_bin_change_state):
25760         Small cleanups in base_time  distribution.
25761
25762         * gst/gstelement.c: (gst_element_set_base_time),
25763         (gst_element_get_base_time), (gst_element_change_state):
25764         * gst/gstelement.h:
25765         Added methods for the base_time of the element.
25766         Some MT fixes.
25767
25768         * gst/gstpipeline.c: (gst_pipeline_send_event),
25769         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25770         (gst_pipeline_get_last_stream_time):
25771         * gst/gstpipeline.h:
25772         MT fixes.
25773         Handle seeking as described in design doc, remove stream_time
25774         hack.
25775         Cleanups clock and stream_time selection code. Added accessors
25776         for the stream_time.
25777         
25778
25779 2005-07-16  Andy Wingo  <wingo@pobox.com>
25780
25781         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
25782         (#305291).
25783
25784 2005-07-16  Wim Taymans  <wim@fluendo.com>
25785
25786         * check/gst/gstbin.c: (GST_START_TEST):
25787         Make elements silent as the deep_notify refs the
25788         parent, which might make the test fail.
25789
25790         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25791         Don't hold the lock for too long.
25792
25793 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
25794
25795         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
25796           Don't unref the caps we passed to gst_caps_make_writable() after
25797           passing them. gst_caps_make_writable() will do that for us.
25798
25799 2005-07-15  Andy Wingo  <wingo@pobox.com>
25800
25801         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
25802         (#157311).
25803
25804         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
25805         own marshalling function for the handoff signal. Properly type the
25806         buffer as a buffer. Fixes some warnings. Should do a more general
25807         solution.
25808         (gst_identity_class_init): Plug into the right marshaller.
25809
25810 2005-07-15  Wim Taymans  <wim@fluendo.com>
25811
25812         * docs/design/part-TODO.txt:
25813         * docs/design/part-clocks.txt:
25814         * docs/design/part-element-sink.txt:
25815         * docs/design/part-events.txt:
25816         * docs/design/part-gstpipeline.txt:
25817         Updated docs, mostly DISCONT related.
25818
25819 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
25820
25821         * docs/pwg/building-pads.xml:
25822           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
25823
25824 2005-07-15  Andy Wingo  <wingo@pobox.com>
25825
25826         * tools/gst-typefind.c: Update, add copyright block.
25827
25828         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
25829         Normalize and truncate caps before fixation.
25830
25831         * gst/gstcaps.h:
25832         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
25833         discards all but the first structure from its argument.
25834
25835 2005-07-15  Wim Taymans  <wim@fluendo.com>
25836
25837         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25838         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
25839         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25840         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25841         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
25842         (gst_base_transform_chain), (gst_base_transform_change_state),
25843         (gst_base_transform_set_passthrough),
25844         (gst_base_transform_is_passthrough):
25845         * gst/base/gstbasetransform.h:
25846         Make passthrough work using the bufferpools.
25847         Changed API a bit, subclasses have to write into a buffer
25848         provided by the base class.
25849         More debug info in nego functions.
25850         
25851         * gst/elements/gstidentity.c: (gst_identity_init),
25852         (gst_identity_transform):
25853         Port to new base class.
25854
25855 2005-07-15  Wim Taymans  <wim@fluendo.com>
25856
25857         * gst/gstmessage.c: (gst_message_new_state_changed):
25858         * tools/gst-launch.c: (event_loop), (main):
25859         Totally dump messages in -launch with the -m option.
25860         Fix message name for State messages,
25861
25862 2005-07-14  Wim Taymans  <wim@fluendo.com>
25863
25864         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25865         Post error messages on errors.
25866
25867 2005-07-14  Wim Taymans  <wim@fluendo.com>
25868
25869         * gst/gstcaps.c: (gst_caps_do_simplify):
25870         Remove debug info.
25871
25872         * gst/gsterror.h:
25873         Define error for stream stopped.
25874
25875         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25876         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
25877         Do proper return values.
25878
25879         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25880         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
25881         (gst_pad_get_range):
25882         Better return values.
25883
25884         * gst/gstpad.h:
25885         Reorganise return values, add macro to check for fatal errors.
25886
25887         * gst/gstqueue.c: (gst_queue_chain):
25888         Return proper GstFlowReturn values,
25889
25890 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
25891
25892         * docs/gst/gstreamer-sections.txt:
25893         * docs/gst/gstreamer.types:
25894         * docs/gst/tmpl/gst.sgml:
25895         * docs/gst/tmpl/gstbasesink.sgml:
25896         * docs/gst/tmpl/gstbasesrc.sgml:
25897         * docs/gst/tmpl/gstbasetransform.sgml:
25898         * docs/gst/tmpl/gstbin.sgml:
25899         * docs/gst/tmpl/gstbuffer.sgml:
25900         * docs/gst/tmpl/gstcaps.sgml:
25901         * docs/gst/tmpl/gstclock.sgml:
25902         * docs/gst/tmpl/gstcompat.sgml:
25903         * docs/gst/tmpl/gstconfig.sgml:
25904         * docs/gst/tmpl/gstelement.sgml:
25905         * docs/gst/tmpl/gstelementdetails.sgml:
25906         * docs/gst/tmpl/gstelementfactory.sgml:
25907         * docs/gst/tmpl/gstenumtypes.sgml:
25908         * docs/gst/tmpl/gsterror.sgml:
25909         * docs/gst/tmpl/gstevent.sgml:
25910         * docs/gst/tmpl/gstfakesink.sgml:
25911         * docs/gst/tmpl/gstfakesrc.sgml:
25912         * docs/gst/tmpl/gstfilesink.sgml:
25913         * docs/gst/tmpl/gstfilesrc.sgml:
25914         * docs/gst/tmpl/gstfilter.sgml:
25915         * docs/gst/tmpl/gstformat.sgml:
25916         * docs/gst/tmpl/gstghostpad.sgml:
25917         * docs/gst/tmpl/gstimplementsinterface.sgml:
25918         * docs/gst/tmpl/gstindex.sgml:
25919         * docs/gst/tmpl/gstindexfactory.sgml:
25920         * docs/gst/tmpl/gstinfo.sgml:
25921         * docs/gst/tmpl/gstiterator.sgml:
25922         * docs/gst/tmpl/gstmacros.sgml:
25923         * docs/gst/tmpl/gstmemchunk.sgml:
25924         * docs/gst/tmpl/gstminiobject.sgml:
25925         * docs/gst/tmpl/gstobject.sgml:
25926         * docs/gst/tmpl/gstpad.sgml:
25927         * docs/gst/tmpl/gstpadtemplate.sgml:
25928         * docs/gst/tmpl/gstparse.sgml:
25929         * docs/gst/tmpl/gstpipeline.sgml:
25930         * docs/gst/tmpl/gstplugin.sgml:
25931         * docs/gst/tmpl/gstpluginfeature.sgml:
25932         * docs/gst/tmpl/gstquery.sgml:
25933         * docs/gst/tmpl/gstqueue.sgml:
25934         * docs/gst/tmpl/gstregistry.sgml:
25935         * docs/gst/tmpl/gstregistrypool.sgml:
25936         * docs/gst/tmpl/gstscheduler.sgml:
25937         * docs/gst/tmpl/gstschedulerfactory.sgml:
25938         * docs/gst/tmpl/gststructure.sgml:
25939         * docs/gst/tmpl/gstsystemclock.sgml:
25940         * docs/gst/tmpl/gsttaglist.sgml:
25941         * docs/gst/tmpl/gsttagsetter.sgml:
25942         * docs/gst/tmpl/gsttrace.sgml:
25943         * docs/gst/tmpl/gsttrashstack.sgml:
25944         * docs/gst/tmpl/gsttypefind.sgml:
25945         * docs/gst/tmpl/gsttypefindfactory.sgml:
25946         * docs/gst/tmpl/gsttypes.sgml:
25947         * docs/gst/tmpl/gsturihandler.sgml:
25948         * docs/gst/tmpl/gsturitype.sgml:
25949         * docs/gst/tmpl/gstutils.sgml:
25950         * docs/gst/tmpl/gstvalue.sgml:
25951         * docs/gst/tmpl/gstversion.sgml:
25952         * docs/gst/tmpl/gstxml.sgml:
25953         * docs/libs/tmpl/gstcontrol.sgml:
25954         * docs/libs/tmpl/gstdataprotocol.sgml:
25955         * docs/libs/tmpl/gstdparam.sgml:
25956         * docs/libs/tmpl/gstdplinint.sgml:
25957         * docs/libs/tmpl/gstdpman.sgml:
25958         * docs/libs/tmpl/gstdpsmooth.sgml:
25959         * docs/libs/tmpl/gstgetbits.sgml:
25960         * docs/libs/tmpl/gstunitconvert.sgml:
25961         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
25962         (gst_push_src_base_init), (gst_push_src_class_init),
25963         (gst_push_src_init), (gst_push_src_create):
25964         * gst/base/gstpushsrc.h:
25965         * gst/elements/gstelements.c:
25966         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
25967         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
25968         (gst_fake_sink_init), (gst_fake_sink_set_property),
25969         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
25970         (gst_fake_sink_event), (gst_fake_sink_preroll),
25971         (gst_fake_sink_render), (gst_fake_sink_change_state):
25972         * gst/elements/gstfakesink.h:
25973         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
25974         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
25975         (gst_fake_src_base_init), (gst_fake_src_class_init),
25976         (gst_fake_src_init), (gst_fake_src_event_handler),
25977         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
25978         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
25979         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
25980         (gst_fake_src_create_buffer), (gst_fake_src_create),
25981         (gst_fake_src_start), (gst_fake_src_stop):
25982         * gst/elements/gstfakesrc.h:
25983         * gst/elements/gstfilesink.c: (_do_init),
25984         (gst_file_sink_base_init), (gst_file_sink_class_init),
25985         (gst_file_sink_init), (gst_file_sink_dispose),
25986         (gst_file_sink_set_location), (gst_file_sink_set_property),
25987         (gst_file_sink_get_property), (gst_file_sink_open_file),
25988         (gst_file_sink_close_file), (gst_file_sink_query),
25989         (gst_file_sink_event), (gst_file_sink_render),
25990         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
25991         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
25992         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
25993         * gst/elements/gstfilesink.h:
25994         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
25995         (gst_file_src_class_init), (gst_file_src_init),
25996         (gst_file_src_finalize), (gst_file_src_set_location),
25997         (gst_file_src_set_property), (gst_file_src_get_property),
25998         (gst_file_src_map_region), (gst_file_src_map_small_region),
25999         (gst_file_src_create_mmap), (gst_file_src_create_read),
26000         (gst_file_src_create), (gst_file_src_is_seekable),
26001         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
26002         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
26003         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
26004         (gst_file_src_uri_handler_init):
26005         * gst/elements/gstfilesrc.h:
26006           more autistic cleanliness in functions/names/defines
26007
26008 2005-07-13  Andy Wingo  <wingo@pobox.com>
26009
26010         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
26011         source couldn't negotiate.
26012
26013         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
26014         connections again.
26015
26016         * gst/gstutils.h:
26017         * gst/gstutils.c (gst_element_link_pads_filtered): New old
26018         function. I am channeling Hades. Put your boots on suckers!!!
26019
26020 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
26021
26022         * testsuite/caps/Makefile.am:
26023         * testsuite/caps/value_compare.c:
26024         * testsuite/caps/value_intersect.c:
26025         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26026           move two testsuite apps over to the check dir
26027
26028 2005-07-12  Wim Taymans  <wim@fluendo.com>
26029
26030         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26031         Added more debug info in the negotiate process.
26032
26033         * gst/gstmessage.h:
26034         Prepare for segment playback.
26035
26036         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
26037         Better debugging.
26038
26039         * gst/gstutils.c:
26040         Some more docs.
26041
26042         * tools/gst-launch.c: (main):
26043         NULL pipeline on errors.
26044
26045 2005-07-12  Andy Wingo  <wingo@pobox.com>
26046
26047         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
26048         not it comes from a malloc region. Make sure our copy gets freed.
26049
26050 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26051
26052         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26053         * check/gst/gstmessage.c: (GST_START_TEST):
26054         * check/gst/gststructure.c: (GST_START_TEST),
26055         (gst_structure_suite), (main):
26056           more testing
26057         * gst/gstelement.c: (gst_element_message_full):
26058           clean up GError and debug string now that they get copied
26059         * gst/gstmessage.c: (gst_message_new_error),
26060         (gst_message_new_warning), (gst_message_parse_error),
26061         (gst_message_parse_warning):
26062           use GST_TYPE_G_ERROR for structure_new, and take copies of
26063           arguments, so that we don't mess up refcounting
26064
26065 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26066
26067         * check/Makefile.am:
26068           add per-test valgrind targets
26069         * check/gst-libs/gdp.c: (GST_START_TEST),
26070         (gst_data_protocol_suite), (main):
26071           clean up
26072
26073 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26074
26075         * check/Makefile.am:
26076           instate more valgrindable tests
26077         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26078         (GST_START_TEST), (fakesrc_suite):
26079         * check/gst/gstpad.c: (GST_START_TEST):
26080         * check/gst/gststructure.c: (GST_START_TEST):
26081           fix test leaks
26082         * docs/gst/tmpl/gstminiobject.sgml:
26083         * gst/gstpad.c: (gst_pad_finalize):
26084           fix the static mutex leak
26085
26086 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26087
26088         * check/Makefile.am:
26089           add two more tests for valgrinding
26090         * check/gst/gstvalue.c: (GST_START_TEST):
26091           test refcount of deserialized buffer, found a leak
26092         * docs/gst/gstreamer-docs.sgml:
26093         * docs/gst/gstreamer-sections.txt:
26094         * docs/gst/gstreamer.types:
26095         * docs/gst/tmpl/gstminiobject.sgml:
26096           add miniobject to docs
26097         * gst/gstminiobject.c:
26098           add some docs
26099         * gst/gstvalue.c: (gst_value_deserialize_buffer),
26100         (gst_string_unwrap):
26101           fix a hard-to-find invalid write for one of the tests
26102           fix a leak for deserialized buffers
26103
26104 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26105
26106         * docs/pwg/advanced-events.xml:
26107         * docs/pwg/advanced-request.xml:
26108         * docs/pwg/advanced-scheduling.xml:
26109         * docs/pwg/appendix-porting.xml:
26110         * docs/pwg/building-boiler.xml:
26111         * docs/pwg/intro-preface.xml:
26112         * docs/pwg/other-ntoone.xml:
26113           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
26114           of example code and explanation for pad activation, loop() and
26115           getrange() functions and a bit more. Remove old comments pointing
26116           to loop-functions.
26117         * examples/pwg/Makefile.am:
26118           Add loop/getrange examples.
26119
26120 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26121
26122         * configure.ac:
26123           check for valgrind binary + some fixes
26124         * check/gst.supp:
26125           valgrind suppressions for the tests
26126         * check/Makefile.am:
26127           add a valgrind: target that valgrinds the unit tests
26128         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
26129         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
26130         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26131         * check/gst/gstghostpad.c:
26132           added some cleanup
26133         * check/gst/gstdata.c:
26134           removed
26135         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
26136         (thread_unref), (gst_mini_object_suite), (main):
26137           added
26138         * gst/gst.c: (gst_deinit):
26139         * gst/gst.h:
26140           add a method to clean up.
26141         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26142         (gst_system_clock_obtain):
26143           allow for disposing the system clock.
26144         * tools/gst-launch.c: (main):
26145           deinit
26146
26147 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26148
26149         * docs/gst/tmpl/gstbasesrc.sgml:
26150         * docs/gst/tmpl/gstfakesrc.sgml:
26151         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26152         (gst_base_src_init), (gst_base_src_set_property),
26153         (gst_base_src_get_property), (gst_base_src_get_range),
26154         (gst_base_src_start):
26155         * gst/base/gstbasesrc.h:
26156           add num-buffers property
26157         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26158         (gst_fakesrc_init), (gst_fakesrc_set_property),
26159         (gst_fakesrc_get_property), (gst_fakesrc_create),
26160         (gst_fakesrc_start):
26161           remove num-buffers property
26162
26163 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26164
26165         * docs/gst/gstreamer-sections.txt:
26166         * docs/gst/tmpl/gstbasesink.sgml:
26167         * docs/gst/tmpl/gstbasesrc.sgml:
26168         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26169         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26170         (gst_base_sink_finalize), (gst_base_sink_set_clock),
26171         (gst_base_sink_set_property), (gst_base_sink_get_property),
26172         (gst_base_sink_handle_object), (gst_base_sink_event),
26173         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
26174         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
26175         (gst_base_sink_loop), (gst_base_sink_deactivate),
26176         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
26177         (gst_base_sink_change_state):
26178         * gst/base/gstbasesink.h:
26179         * gst/base/gstbasesrc.h:
26180         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
26181         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26182         (gst_filesink_init):
26183           more macro splitting
26184
26185 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26186
26187         * gst/gstelement.c: (gst_element_get_bus):
26188           add debug
26189         * tools/gst-launch.c: (check_intr), (event_loop):
26190           fix bus leaks
26191
26192 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26193
26194         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
26195           fix a caps leak
26196
26197 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26198
26199         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26200         (gst_base_src_finalize):
26201           add finalize method and clean up properly
26202         * gst/gstpipeline.c: (gst_pipeline_dispose):
26203           add debug
26204
26205 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26206
26207         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
26208         (gst_bin_suite):
26209           add more things to check
26210         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26211         * gst/gstelement.c:
26212           more debug
26213
26214 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26215
26216         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26217         (GST_START_TEST), (fakesrc_suite):
26218         * check/gst-libs/gdp.c: (GST_START_TEST):
26219         * check/gst/gst.c: (GST_START_TEST):
26220         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26221         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26222         * check/gst/gstbus.c: (GST_START_TEST):
26223         * check/gst/gstcaps.c: (GST_START_TEST):
26224         * check/gst/gstdata.c: (GST_START_TEST):
26225         * check/gst/gstelement.c: (GST_START_TEST):
26226         * check/gst/gstghostpad.c: (GST_START_TEST):
26227         * check/gst/gstiterator.c: (GST_START_TEST):
26228         * check/gst/gstmessage.c: (GST_START_TEST):
26229         * check/gst/gstobject.c: (GST_START_TEST):
26230         * check/gst/gstpad.c: (GST_START_TEST):
26231         * check/gst/gststructure.c: (GST_START_TEST):
26232         * check/gst/gstsystemclock.c: (GST_START_TEST),
26233         (gst_systemclock_suite):
26234         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26235         * check/gst/gstvalue.c: (GST_START_TEST):
26236         * check/pipelines/cleanup.c: (GST_START_TEST):
26237         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26238         * check/states/sinks.c: (GST_START_TEST):
26239         * check/gstcheck.c: (gst_check_init):
26240         * check/gstcheck.h:
26241           add debugging category
26242           use GST_START_TEST now, so we add a debug line
26243
26244 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26245
26246         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
26247           add test for state change message on a bin
26248         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
26249           add another test
26250         * gst/gstbin.c: (gst_bin_init):
26251         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
26252         * gst/gstelement.c: (gst_element_post_message),
26253         (gst_element_set_state):
26254         * gst/gstelementfactory.c: (gst_element_factory_create):
26255         * gst/gstmessage.c: (gst_message_new):
26256         * gst/gstscheduler.c:
26257           various debugging additions and cleanups
26258
26259 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26260
26261         * check/Makefile.am:
26262         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
26263         (main):
26264           adding tests for elements
26265         * gst/gstelement.c: (gst_element_dispose):
26266
26267 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26268
26269         * gst/registries/gstlibxmlregistry.c: (load_feature):
26270           plug more leaks.  A simple gst_init() now is leakfree, yay.
26271
26272 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26273
26274         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
26275         (gst_xml_registry_load):
26276           plug another memleak
26277
26278 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26279
26280         * configure.ac:
26281           use GST_SET_ERROR_CFLAGS
26282         * docs/faq/cvs.xml:
26283           change to ERROR_CFLAGS
26284
26285 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26286
26287         * configure.ac:
26288           make GST_ERROR_CFLAGS overridable and re-enable Werror
26289         * docs/faq/cvs.xml:
26290           add a note about error CFLAGS
26291         * docs/gst/tmpl/gstfakesrc.sgml:
26292         * gst/elements/gstfakesrc.c:
26293           comment out some unused code
26294         * gst/gst.c: (split_and_iterate):
26295         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
26296         (load_feature):
26297           plug some memleaks
26298
26299 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26300
26301         * common/Makefile.am:
26302         * common/gtk-doc.mak:
26303         * docs/gst/Makefile.am:
26304           factor out gtk-doc.mak
26305
26306 2005-07-07  Wim Taymans  <wim@fluendo.com>
26307
26308         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
26309         (gst_thread_scheduler_dispose):
26310         Unlock the STREAM_LOCK completely.
26311
26312 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26313
26314         * check/Makefile.am:
26315         * check/elements/.cvsignore:
26316         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26317         (START_TEST), (fakesrc_suite), (main):
26318         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26319         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
26320         (gst_fakesrc_create), (gst_fakesrc_start):
26321         * gst/elements/gstfakesrc.h:
26322           adding a first element test
26323
26324 2005-07-07  Andy Wingo  <wingo@pobox.com>
26325
26326         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
26327         debug message.
26328
26329 2005-07-07  Wim Taymans  <wim@fluendo.com>
26330
26331         * gst/gstquery.c:
26332         * gst/gstquery.h:
26333         Remove old types
26334
26335 2005-07-07  Wim Taymans  <wim@fluendo.com>
26336
26337         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
26338         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
26339         Allow subclasses to implement their own negotiation.
26340
26341 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26342
26343         * docs/design/part-gstbin.txt:
26344         * docs/design/part-gstpipeline.txt:
26345           Update design notes to reflect the movement of
26346           responsibility for bus handling from GstPipeline to
26347           GstBin
26348
26349 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26350
26351         * configure.ac:
26352           Remove unnecessary queue2/3/4 examples.
26353
26354 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26355
26356         * examples/Makefile.am:
26357         * examples/helloworld/helloworld.c: (event_loop), (main):
26358         * examples/queue/queue.c: (event_loop), (main):
26359         * examples/queue2/queue2.c: (main):
26360           Update a couple of the examples to work again.
26361
26362         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26363         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
26364          Spelling corrections and extra debug.
26365         
26366         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
26367         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
26368         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
26369         * gst/gstbin.h:
26370         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26371         (gst_pipeline_change_state):
26372         * gst/gstpipeline.h:
26373           Move the bus handler for children to the GstBin, and create a
26374           separate bus for receiving messages from children to the one the
26375           bus sends 'upwards' on.
26376
26377 2005-07-06  Wim Taymans  <wim@fluendo.com>
26378
26379         * gst/base/README:
26380         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26381         (gst_base_sink_handle_object), (gst_base_sink_loop),
26382         (gst_base_sink_change_state):
26383         * gst/base/gstbasesink.h:
26384         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26385         (gst_base_src_init), (gst_base_src_setcaps),
26386         (gst_base_src_getcaps), (gst_base_src_loop),
26387         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
26388         (gst_base_src_start), (gst_base_src_change_state):
26389         * gst/base/gstbasesrc.h:
26390         Make basesrc negotiate.
26391         Handle the case where preroll fails in basesink.
26392         Update README.
26393
26394 2005-07-06  Wim Taymans  <wim@fluendo.com>
26395
26396         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
26397         Implement the fixate function.
26398         Clean up acceptcaps.
26399
26400 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26401
26402         * docs/pwg/building-filterfactory.xml:
26403         * docs/pwg/pwg.xml:
26404           Remove never-written filter-factory chapter; I'll add the various
26405           base classes to part 4 ("other element types") later on.
26406
26407 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26408
26409         * docs/pwg/advanced-negotiation.xml:
26410         * docs/pwg/building-boiler.xml:
26411         * docs/pwg/building-pads.xml:
26412         * docs/pwg/pwg.xml:
26413         * examples/pwg/Makefile.am:
26414           Add a chapter on caps negotiation, simplify the original code
26415           samples a bit w.r.t. caps negotiation, add link to the advanced
26416           section. Add a bunch of examples showing different use cases of
26417           different types of caps negotiation. Upstream renegotiation isn't
26418           fully documented yet since nobody knows how that works.
26419
26420 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
26421
26422         * check/gst/gstpad.c:
26423         * check/gstcheck.c:
26424         * gst/gstpad.c: (gst_pad_get_internal_links_default):
26425           if pad has no parent, return NULL as list of internal links
26426
26427 2005-07-05  Andy Wingo  <wingo@pobox.com>
26428
26429         * gst/elements/gstfilesrc.c:
26430         * gst/elements/gstfakesrc.c: 
26431         * gst/base/gstpushsrc.c:
26432         * gst/base/gstbasesrc.h: 
26433         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
26434         
26435 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
26436
26437         * Makefile.am:
26438           better report generation target (lcov needs a patch)
26439
26440 2005-07-05  Andy Wingo  <wingo@pobox.com>
26441
26442         * gst/elements, testsuite: Null if we got it...
26443
26444 2005-07-05  Wim Taymans  <wim@fluendo.com>
26445
26446         * configure.ac:
26447         * libs/gst/dataprotocol/Makefile.am:
26448         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
26449         * libs/gst/dataprotocol/dataprotocol.h:
26450         * pkgconfig/Makefile.am:
26451         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
26452         * pkgconfig/gstreamer-dataprotocol.pc.in:
26453         Ported dataprotol to 0.9. 
26454         Added pkgconfig files.
26455
26456 2005-07-05  Andy Wingo  <wingo@pobox.com>
26457
26458         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
26459         Default to returning TRUE for the case when tranform_caps returns
26460         a fixed caps, like for identity or volume.
26461
26462         * check/gst/gstbus.c (pound_bus_with_messages): 
26463         * check/gst/gstmessage.c (START_TEST): 
26464         * check/pipelines/simple_launch_lines.c (got_handoff): Application
26465         message API change.
26466
26467         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
26468         logic weaks here: always run transform_caps, trying passthrough
26469         operation only if the original caps intersects with the transform.
26470
26471         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
26472         source and sink caps.
26473
26474         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
26475         Intersect the peer caps with the pad template before going into
26476         transform_caps.
26477         (gst_base_transform_transform_caps): More debugging.
26478
26479         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
26480         src argument.
26481
26482 2005-07-04  Edward Hervey  <edward@fluendo.com>
26483
26484         * gst/gstutils.c:
26485         * gst/gstutils.h:
26486         (gst_pad_add_*_probe): now returns the signal id for better wrapping
26487         in bindings.
26488
26489 2005-07-04  Andy Wingo  <wingo@pobox.com>
26490
26491         * check/gst/gstpad.c: Only set explicit caps on pads.
26492
26493 2005-07-01  Andy Wingo  <wingo@pobox.com>
26494
26495         * tests/network-clock.scm: Commentary update.
26496
26497         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
26498         Didn't really make sense, not implementable with basetransform,
26499         etc.
26500         (gst_identity_transform): Unref inbuf via make_writable. Feeble
26501         attempt at implementing the sync property, needs an unlock method.
26502
26503         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
26504         New func, by default returns the same caps (the identity
26505         transformation).
26506         (gst_base_transform_getcaps): Uses transform_caps to return
26507         something sensible.
26508         (gst_base_transform_setcaps): Complicated logic to get caps on
26509         both pads, even if they are different, and to call set_caps once
26510         for every time both pads get their caps set.
26511         (gst_base_transform_handle_buffer): Give the ref to the transform
26512         function. Allows in-place modification of the buffer.
26513
26514         * gst/base/gstbasetransform.h (transform_caps): New class method.
26515         Given caps on one side, what can I do on the other.
26516         (set_caps): Take two caps, one for each side of the element.
26517
26518         * gst/gstpad.h:
26519         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
26520         caps in place. This is safe because we can check the mutability of
26521         the caps, and a good idea because fixate functions are just called
26522         as a matter of last resort. (Not actually implemented.)
26523         (gst_pad_set_caps): If the caps we're setting is actually the same
26524         as the existing pad caps, just update the pointer without calling
26525         setcaps. Assert that caps is either NULL or fixed, as per the
26526         docs.
26527
26528         * gst/gstghostpad.c: Update for fixate changes.
26529
26530 2005-07-02  Andy Wingo  <wingo@pobox.com>
26531
26532         * gst/gstcaps.c:
26533         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
26534         two refcounts makes it immutable, which is enough. Doc more.
26535
26536 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
26537
26538         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
26539           Put the mini_object into GValue as a mini_object,
26540           not a gpointer, since that's how we declared
26541           the signal.
26542
26543 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26544
26545         * examples/pwg/Makefile.am:
26546           Fix buildbot again.
26547
26548 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26549
26550         * docs/pwg/building-testapp.xml:
26551           Add extra check.
26552         * examples/pwg/Makefile.am:
26553           Fix buildbot.
26554
26555 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26556
26557         * configure.ac:
26558         * examples/Makefile.am:
26559         * examples/pwg/Makefile.am:
26560         * examples/pwg/extract.pl:
26561           Enable building the PWG examples.
26562         * docs/pwg/advanced-interfaces.xml:
26563           Add URI interface stub.
26564         * docs/pwg/advanced-types.xml:
26565         * docs/pwg/other-autoplugger.xml:
26566         * docs/pwg/appendix-porting.xml:
26567         * docs/pwg/pwg.xml:
26568           Add porting guide (mostly stubs), remove autoplugging (see ADM).
26569         * docs/pwg/building-boiler.xml:
26570         * docs/pwg/building-chainfn.xml:
26571         * docs/pwg/building-pads.xml:
26572         * docs/pwg/building-props.xml:
26573         * docs/pwg/building-state.xml:
26574         * docs/pwg/building-testapp.xml:
26575           Update the building-*.xml parts for 0.9 changes. All examples
26576           code blocks compile in examples/pwg/*.
26577
26578 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26579
26580         * docs/manual/advanced-autoplugging.xml:
26581         * docs/manual/appendix-checklist.xml:
26582         * docs/manual/appendix-integration.xml:
26583         * docs/manual/highlevel-components.xml:
26584           Fix playbin/decodebin examples, update docs a bit, mention bus
26585           instead of signals in various places, mention kmplayer and
26586           kaffeine since they have a working GStreamer backend in the KDE
26587           section.
26588
26589 2005-06-30  Wim Taymans  <wim@fluendo.com>
26590
26591         * CHANGES-0.9:
26592         * docs/design/draft-ghostpads.txt:
26593         * docs/design/draft-push-pull.txt:
26594         * docs/design/draft-query.txt:
26595         * docs/design/part-TODO.txt:
26596         * docs/design/part-query.txt:
26597         Added CHANGES-0.9 doc, updated status of other docs.
26598         
26599         * gst/gstquery.h:
26600         Remove "hmm" macro
26601
26602 2005-06-30  Wim Taymans  <wim@fluendo.com>
26603
26604         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26605         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26606         (gst_base_sink_change_state):
26607         * gst/base/gstbasesink.h:
26608         Some tweaks, only EOS and a buffer complete a preroll.
26609
26610 2005-06-30  Andy Wingo  <wingo@pobox.com>
26611
26612         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
26613         activate_push down to the internal pad as well.
26614
26615 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
26616
26617         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26618
26619         * gst/gsttaginterface.c:
26620           Some documentation fixes (#307394 and #307397).
26621
26622 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
26623
26624         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26625
26626         * gst/gstvalue.c: (gst_value_intersect_list):
26627           Fix memleak (#309125).
26628
26629 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26630
26631         * docs/manual/advanced-dataaccess.xml:
26632           Fix fakesrc example to compile; doesn't work, bug somewhere...?
26633         * docs/manual/basics-pads.xml:
26634           Add reference for filtered caps to above chapter.
26635
26636 2005-06-30  Wim Taymans  <wim@fluendo.com>
26637
26638         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
26639         (gst_bin_change_state):
26640         Probes are gone.
26641         Lame attempt at making the state change function a bit
26642         more readable.
26643
26644 2005-06-30  Wim Taymans  <wim@fluendo.com>
26645
26646         * docs/design/part-clocks.txt:
26647         * docs/design/part-element-sink.txt:
26648         * docs/design/part-events.txt:
26649         * docs/design/part-preroll.txt:
26650         * docs/design/part-states.txt:
26651         Some more tweeks and additions to the docs.
26652
26653 2005-06-30  Wim Taymans  <wim@fluendo.com>
26654
26655         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26656         (default_have_data), (gst_pad_class_init), (gst_pad_init),
26657         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26658         (gst_pad_check_pull_range), (gst_pad_get_range),
26659         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
26660         * gst/gstpad.h:
26661         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
26662         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26663         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26664         (gst_pad_remove_buffer_probe):
26665         Removed atomic operations, use existing LOCK.
26666         Move exception handling out of main code path.
26667
26668 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26669
26670         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26671         (silly_return_true_function), (gst_pad_class_init),
26672         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26673         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
26674         (gst_pad_send_event):
26675           Fix accumulator, add default value by using _emitv() instead
26676           of _emit() for signal emission.
26677
26678 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26679
26680         * docs/manual/advanced-dataaccess.xml:
26681         * examples/manual/Makefile.am:
26682           Add probe example.
26683         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
26684           Make work (??).
26685
26686 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
26687
26688         * gst/elements/gstfilesink.c: (gst_filesink_render):
26689           Simplify code so that we don't have to handle short
26690           writes and return GST_FLOW_ERROR if an error occured.
26691
26692 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26693
26694         * docs/gst/gstreamer-docs.sgml:
26695           Remove probes more.
26696
26697 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26698
26699         * docs/gst/gstreamer-sections.txt:
26700         * docs/gst/tmpl/gstpad.sgml:
26701         * docs/gst/tmpl/gstprobe.sgml:
26702         * gst/Makefile.am:
26703         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26704         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
26705         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26706         (gst_pad_push_event), (gst_pad_send_event):
26707         * gst/gstpad.h:
26708         * gst/gstutils.c: (gst_pad_add_data_probe),
26709         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26710         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26711         (gst_pad_remove_buffer_probe):
26712         * gst/gstutils.h:
26713           Remove old probes, add new g-signal-based probes and some utility
26714           functions.
26715
26716 2005-06-29  Edward Hervey  <edward@fluendo.com>
26717
26718         * gst/gstelementfactory.c:
26719         * gst/gstutils.h:
26720         * gst/gstutils.c:
26721         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
26722         the definition to the header file.
26723
26724 2005-06-29  Andy Wingo  <wingo@pobox.com>
26725
26726         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
26727         plugins from the source directory.
26728
26729 2005-06-29  Wim Taymans  <wim@fluendo.com>
26730
26731         * docs/gst/tmpl/gstbuffer.sgml:
26732         * docs/gst/tmpl/gstclock.sgml:
26733         Some fixings for blantently wrong text.
26734
26735 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
26736
26737         * check/Makefile.am:
26738         * gst/gst.c: (add_path_func), (init_pre):
26739         * gst/gstregistry.c: (gst_registry_add_path):
26740           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
26741           only scan the GST_PLUGIN_PATH locations, and not add
26742           system locations
26743
26744 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
26745
26746         * docs/gst/gstreamer-sections.txt:
26747         * docs/gst/tmpl/gstbasesrc.sgml:
26748         * gst/gstelement.c:
26749         * gst/gstelement.h:
26750         * gst/gstevent.c:
26751         * gst/gstutils.c:
26752           doc fixes
26753
26754 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26755
26756         * docs/manual/advanced-autoplugging.xml:
26757           Fix autoplugging example.
26758
26759 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26760
26761         * docs/manual/advanced-autoplugging.xml:
26762         * docs/manual/mime-world.fig:
26763           Try to get autoplugging working, fix type detection. Fix text
26764           in hello-world image.
26765
26766 2005-06-29  Wim Taymans  <wim@fluendo.com>
26767
26768         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26769         (gst_base_sink_change_state):
26770         Small debug line.
26771
26772         * gst/gstclock.h:
26773         map SIGNAL and BROADCAST to the right function.
26774
26775         * gst/gstobject.h:
26776         Remove redundant braces.
26777
26778         * gst/gstpad.c: (gst_pad_set_caps):
26779         Don't call setcaps function when reseting caps to NULL.
26780
26781         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26782         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
26783         (gst_system_clock_id_unschedule):
26784         Use BROADCAST as this is what we do.
26785
26786 2005-06-29  Wim Taymans  <wim@fluendo.com>
26787
26788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26789         We are actually prerolling before commiting the state
26790         change. 
26791
26792 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26793
26794         * docs/manual/advanced-clocks.xml:
26795         * docs/manual/advanced-interfaces.xml:
26796         * docs/manual/advanced-metadata.xml:
26797         * docs/manual/advanced-position.xml:
26798         * docs/manual/advanced-schedulers.xml:
26799         * docs/manual/advanced-threads.xml:
26800         * docs/manual/appendix-porting.xml:
26801         * docs/manual/basics-bins.xml:
26802         * docs/manual/basics-bus.xml:
26803         * docs/manual/basics-elements.xml:
26804         * docs/manual/basics-helloworld.xml:
26805         * docs/manual/basics-pads.xml:
26806         * docs/manual/highlevel-components.xml:
26807         * docs/manual/manual.xml:
26808         * docs/manual/thread.fig:
26809           Update (until threads/scheduling) Application Development Manual;
26810           remove GstThread, add GstBus, add simple porting checklist, add
26811           documentation for tag writing, clocks, make all examples until this
26812           part compile and run.
26813         * examples/manual/Makefile.am:
26814           Update from changes to Application Development Manual; add bus
26815           example, remove thread example.
26816
26817 2005-06-28  Wim Taymans  <wim@fluendo.com>
26818
26819         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
26820         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
26821         (gst_bus_source_dispatch):
26822         Add debugging messages.
26823         Make internal methods static.
26824         Handle the case where the bus is flushed in the handler.
26825         
26826         * gst/gstelement.c: (gst_element_get_bus):
26827         Fix refcount in _get_bus();
26828
26829         * gst/gstpipeline.c: (gst_pipeline_change_state),
26830         (gst_pipeline_get_clock_func):
26831         Clock refcounting fixes.
26832         Handle the case where preroll timed out more gracefully.
26833         
26834         * gst/gstsystemclock.c: (gst_system_clock_dispose):
26835         Clean up the internal thread in dispose. This is needed
26836         for subclasses that actually get disposed.
26837         
26838         * gst/schedulers/threadscheduler.c:
26839         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
26840         (gst_thread_scheduler_dispose):
26841         Free thread pool in dispose.
26842
26843 2005-06-28  Andy Wingo  <wingo@pobox.com>
26844
26845         * tests/network-clock-utils.scm (debug, print-event): New utils.
26846
26847         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
26848         (*packet-loss*): Unified loss probability.
26849         (network-time): Report out-of-band events.
26850
26851         * tests/plot-data: Add support for out-of-band events. Hack it
26852         into this script instead of passing it down the pipe; should fix
26853         this later.
26854
26855 2005-06-28  Wim Taymans  <wim@fluendo.com>
26856
26857         * docs/gst/gstreamer.types:
26858         * docs/gst/tmpl/gstbasesrc.sgml:
26859         * docs/gst/tmpl/gstpad.sgml:
26860         Docs fixes.
26861
26862 2005-06-28  Wim Taymans  <wim@fluendo.com>
26863
26864         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26865         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
26866         (gst_proxy_pad_do_fixatecaps):
26867         Correctly proxy the check_pull_range function.
26868
26869 2005-06-28  Andy Wingo  <wingo@pobox.com>
26870
26871         * tests/network-clock.scm: Removed need for slib.
26872         
26873 2005-06-28  Wim Taymans  <wim@fluendo.com>
26874
26875         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
26876         (gst_basesink_preroll_queue_flush):
26877         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
26878         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
26879         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26880         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26881         (gst_proxy_pad_set_property):
26882         * gst/gstpad.c:
26883         * gst/gstpad.h:
26884         * gst/gstqueue.c: (gst_queue_init):
26885         The deprecated pad loop function is removed now.
26886
26887 2005-06-28  Andy Wingo  <wingo@pobox.com>
26888
26889         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
26890         New parameters, simulate network packet loss.
26891
26892         * tests/network-clock-utils.scm: Initialize the RNG.
26893
26894 2005-06-28  Wim Taymans  <wim@fluendo.com>
26895
26896         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
26897         (gst_basesink_event), (gst_basesink_deactivate):
26898         Flushing the preroll queue always needs to unlock the waiters.
26899
26900 2005-06-28  Edward Hervey  <edward@fluendo.com>
26901
26902         * gst/gstpipeline.c: (gst_pipeline_send_event): 
26903         Wheen a seek was successful on a pipeline, set the stream_time to the
26904         seek offset in order to have a synchronized stream_time.
26905
26906 2005-06-28  Wim Taymans  <wim@fluendo.com>
26907
26908         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26909         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
26910         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
26911         (gst_proxy_pad_do_fixatecaps):
26912         Call wrapper function instead of just calling the function
26913         pointers. This takes care of any locking and whatmore.
26914
26915 2005-06-28  Wim Taymans  <wim@fluendo.com>
26916
26917         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
26918         (gst_pad_pull_range):
26919         * gst/gstpad.h:
26920         CONNECTED -> LINKED.
26921
26922 2005-06-28  Andy Wingo  <wingo@pobox.com>
26923
26924         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
26925         source-munging commit!!!
26926
26927         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
26928         (gst_object_sink): Take gpointer arguments, not GstObject --
26929         avoids casts. Like GLib.
26930
26931         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
26932         activate.
26933
26934 2005-06-27  Andy Wingo  <wingo@pobox.com>
26935
26936         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
26937         remaining buffer.
26938
26939         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
26940         returns a sorted copy of the trace list.
26941         (gst_alloc_trace_print_live): New API, only prints traces with
26942         live objects. Sort the list.
26943         (gst_alloc_trace_print_all): Sort the list.
26944         (gst_alloc_trace_print): Align columns.
26945
26946         * gst/elements/gstttypefindelement.c:
26947         * gst/elements/gsttee.c:
26948         * gst/base/gstbasesrc.c:
26949         * gst/base/gstbasesink.c:
26950         * gst/base/gstbasetransform.c:
26951         * gst/gstqueue.c: Adapt for pad activation changes.
26952
26953         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
26954         sched.
26955         (gst_pipeline_dispose): Drop ref on sched.
26956
26957         * gst/gstpad.c (gst_pad_init): Set the default activate func.
26958         (gst_pad_activate_default): Push mode by default.
26959         (pre_activate_switch, post_activate_switch): New stubs, things to
26960         do before and after switching activation modes on pads.
26961         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
26962         the pad's activate function to choose which mode to activate.
26963         Shortcut on deactivation and call the right function directly.
26964         (gst_pad_activate_pull): New API, (de)activates a pad in pull
26965         mode.
26966         (gst_pad_activate_push): New API, same for push mode.
26967         (gst_pad_set_activate_function) 
26968         (gst_pad_set_activatepull_function) 
26969         (gst_pad_set_activatepush_function): Setters for new API.
26970
26971         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
26972         Trace all miniobjects.
26973         (gst_mini_object_make_writable): Unref the arg if we copy, like
26974         gst_caps_make_writable.
26975
26976         * gst/gstmessage.c (_gst_message_initialize): No trace init.
26977
26978         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
26979         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
26980         Adapt for new pad API.
26981
26982         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
26983
26984         * gst/gstelement.h:
26985         * gst/gstelement.c (gst_element_iterate_src_pads) 
26986         (gst_element_iterate_sink_pads): New API functions.
26987         
26988         * gst/gstelement.c (iterator_fold_with_resync): New utility,
26989         should fold into gstiterator.c in some form.
26990         (gst_element_pads_activate): Simplified via use of fold and
26991         delegation of decisions to gstpad->activate.
26992
26993         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
26994         help in debugging.
26995
26996         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
26997         class once in init, like gstmessage. Didn't run into this issue
26998         but it seems correct. Don't initialize a trace, gstminiobject does
26999         that.
27000
27001         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
27002         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
27003         to the bus.
27004         (assert_live_count): New util function, uses alloc traces to check
27005         cleanup.
27006
27007         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
27008         To be modified when unlink drops the internal pad.
27009
27010 2005-06-27  Wim Taymans  <wim@fluendo.com>
27011
27012         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
27013         (gst_bin_change_state):
27014         Cleanup the get_state() function a little, make sure it
27015         iterates the same set of elements.
27016         Added stub iterate_state_order().
27017
27018 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
27019
27020         * docs/gst/gstreamer-docs.sgml:
27021         * docs/gst/gstreamer-sections.txt:
27022         * docs/gst/gstreamer.types:
27023         * docs/gst/tmpl/gstbasesink.sgml:
27024         * docs/gst/tmpl/gstbasesrc.sgml:
27025         * docs/gst/tmpl/gstbasetransform.sgml:
27026         * docs/gst/tmpl/gstelement.sgml:
27027         * docs/gst/tmpl/gstiterator.sgml:
27028         * gst/base/gstbasesrc.c:
27029         * gst/base/gstbasesrc.h:
27030         * gst/base/gstbasetransform.h:
27031         * gst/gstelement.c:
27032         * gst/gstiterator.h:
27033           adding basetransform and iterator docs
27034
27035 2005-06-27  Andy Wingo  <wingo@pobox.com>
27036
27037         * docs/design/part-activation.txt: Notes on how activation should
27038         work -- not quite implemented yet.
27039
27040 2005-06-25  Wim Taymans  <wim@fluendo.com>
27041
27042         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
27043         At least get the chain function correct, needs more
27044         fixing.
27045
27046 2005-06-25  Wim Taymans  <wim@fluendo.com>
27047
27048         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27049         (gst_basesink_handle_object), (gst_basesink_event),
27050         (gst_basesink_do_sync), (gst_basesink_handle_event),
27051         (gst_basesink_change_state):
27052         * gst/gsttask.h:
27053         Right, two problems here: ghostpads don't take locks and
27054         glib _rec_mutex_lock_full() with depth==0 still locks.
27055         Catch illegal locking and g_warn them.
27056
27057 2005-06-25  Wim Taymans  <wim@fluendo.com>
27058
27059         * check/states/sinks.c: (START_TEST), (gst_object_suite):
27060         Have to check for completion now...
27061
27062 2005-06-25  Wim Taymans  <wim@fluendo.com>
27063
27064         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27065         (gst_basesink_handle_object), (gst_basesink_event),
27066         (gst_basesink_do_sync), (gst_basesink_handle_event),
27067         (gst_basesink_change_state):
27068         * gst/gstpad.h:
27069         Unlock STREAM_LOCK whatever the recursion was.
27070
27071 2005-06-25  Wim Taymans  <wim@fluendo.com>
27072
27073         * gst/base/gstbasesink.c: (gst_basesink_set_property),
27074         (gst_basesink_preroll_queue_empty),
27075         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
27076         (gst_basesink_event), (gst_basesink_do_sync),
27077         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
27078         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
27079         (gst_basesink_change_state):
27080         Reworked the base sink, handle event and buffer serialisation
27081         correctly and removed possible deadlock.
27082         Handle EOS correctly.
27083
27084 2005-06-25  Wim Taymans  <wim@fluendo.com>
27085
27086         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
27087         (gst_pipeline_change_state):
27088         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27089         Allow elements to post EOS in the state change function.
27090         Fix up -launch, make it exit the poll loop when the
27091         pipeline actually changed state.
27092         Fix up warning parsing in -launch.
27093
27094 2005-06-25  Wim Taymans  <wim@fluendo.com>
27095
27096         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
27097         (gst_tee_sink_activate):
27098         Core takes STREAM_LOCK for us now.
27099
27100 2005-06-25  Wim Taymans  <wim@fluendo.com>
27101
27102         * gst/gstelement.c: (gst_element_get_state_func),
27103         (gst_element_set_state):
27104         * gst/gstelement.h:
27105         * gst/gstmessage.c: (gst_message_parse_error),
27106         (gst_message_parse_warning):
27107         Keep track of current target state while performing a state
27108         change so that subclasses can do something interesting.
27109         Fix parsing of warning/error messages when GError is NULL.
27110
27111 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
27112
27113         * docs/gst/Makefile.am:
27114         * docs/gst/gstreamer-docs.sgml:
27115         * docs/gst/gstreamer-sections.txt:
27116         * docs/gst/gstreamer.types:
27117         * docs/gst/tmpl/gstbasesink.sgml:
27118         * docs/gst/tmpl/gstbasesrc.sgml:
27119         * docs/gst/tmpl/gstbin.sgml:
27120         * docs/gst/tmpl/gstcompat.sgml:
27121         * docs/gst/tmpl/gstfakesink.sgml:
27122         * docs/gst/tmpl/gstfakesrc.sgml:
27123         * docs/gst/tmpl/gstfilesink.sgml:
27124         * docs/gst/tmpl/gstfilesrc.sgml:
27125         * docs/gst/tmpl/gstindex.sgml:
27126         * docs/manual/appendix-quotes.xml:
27127         * gst/base/gstbasesrc.h:
27128         * gst/elements/gstfakesrc.h:
27129         * gst/gstmessage.h:
27130           start pulling in base classes and elements in our docs
27131
27132 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
27133
27134         * docs/gst/Makefile.am:
27135         * docs/libs/Makefile.am:
27136           fixed make distcheck with gtk-doc 1.3
27137
27138 2005-06-23  Wim Taymans  <wim@fluendo.com>
27139
27140         * gst/gstelement.c: (gst_element_get_state_func),
27141         (gst_element_set_state), (gst_element_change_state):
27142         When the state did not change, also report NO_PREROLL
27143         when it matters.
27144
27145 2005-06-23  Wim Taymans  <wim@fluendo.com>
27146
27147         * gst/gstpad.c: (gst_pad_event_default):
27148         * gst/gstqueue.c: (gst_queue_loop):
27149         No unsafe task pausing please.
27150
27151 2005-06-23  Wim Taymans  <wim@fluendo.com>
27152
27153         * gst/schedulers/threadscheduler.c:
27154         (gst_thread_scheduler_task_start),
27155         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
27156         Ref the task before pushing it on the threadpool. This
27157         makes sure that we have a ref when the threadfunction is
27158         actually called.
27159
27160 2005-06-23  Andy Wingo  <wingo@pobox.com>
27161
27162         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
27163         offset is greater than the file's size.
27164
27165         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
27166         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
27167         * gst/gstobject.c (gst_object_class_init): Make the class lock
27168         recursive. Wim won't let me drop deep_notify. Decodebin works
27169         again, whoopdy doo.
27170
27171         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
27172         internal pad, and hacks accordingly. Doesn't do it on the target
27173         pad because we change its caps. Probably catches all cases of
27174         interest tho.
27175         (gst_ghost_pad_set_property): Connect to notify::caps as
27176         appropritate.
27177
27178         * tests/network-clock.scm (plot-simulation): Pipe data to the
27179         elite python skript.
27180
27181         * tests/network-clock-utils.scm (define-parameter): New macro,
27182         defines a parameter that can be set via the command line.
27183         (set-parameter!, parse-parameter-arguments): Command line args
27184         parser.
27185
27186         * tests/plot-data: Simple matplotlib-based plotter, takes input on
27187         stdin.
27188
27189 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
27190
27191         * gst/elements/gsttypefindelement.c:
27192         (gst_type_find_element_handle_event):
27193           Don't restart typefinding on a discont.
27194         * gst/gstelement.c: (gst_element_set_state):
27195           Debug spelling fix.
27196         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
27197           Allow changing mode of an active pad.
27198           Debug output fixes.
27199         * gst/registries/gstlibxmlregistry.c: (load_feature):
27200           Don't cast a static pad template to a normal pad template.
27201
27202 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
27203
27204         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27205         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27206           remove gst_strtoll completely, since it didn't actually do
27207           anything more than what g_ascii_strtoull already does.
27208           check for range errors when deserializing
27209           do a cast for the unsigned cases; but further fixing needs
27210           a decision on what the interpretation of "(int)" and
27211           deserialization should be for values that fall outside the
27212           type's boundaries (ie, refuse, or interpret as casting)
27213
27214 2005-06-23  Wim Taymans  <wim@fluendo.com>
27215
27216         * check/Makefile.am:
27217         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
27218         * docs/design/part-live-source.txt:
27219         * docs/design/part-states.txt:
27220         * gst/base/gstbasesrc.c: (gst_basesrc_init),
27221         (gst_basesrc_set_live), (gst_basesrc_is_live),
27222         (gst_basesrc_get_range), (gst_basesrc_activate),
27223         (gst_basesrc_change_state):
27224         * gst/base/gstbasesrc.h:
27225         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27226         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
27227         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
27228         * gst/gstelement.c: (gst_element_get_state_func),
27229         (gst_element_set_state):
27230         * gst/gstelement.h:
27231         * gst/gsttypes.h:
27232         * tools/gst-launch.c: (event_loop), (main):
27233         Added support for live sources and other elements that
27234         cannot do preroll.
27235         Updated design docs, added live-source design doc.
27236         Implemented live source functionality in basesrc
27237         Fix error condition in _bin_get_state()
27238         Implement live source handling in -launch.
27239         Added check for live sources.
27240         Fixed case in GstBin where elements were changed state
27241         multiple times.
27242
27243
27244 2005-06-23  Andy Wingo  <wingo@pobox.com>
27245
27246         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
27247         borken refcounting.
27248
27249         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
27250         gst_caps_replace takes care of this for us.
27251
27252         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
27253         gst_pad_set_caps on the target, not just its setcaps() function.
27254
27255         * tests/network-clock.scm: 
27256         * tests/network-clock-utils.scm: A network clock simulator.
27257         Something of an algorithmic testbed before doing something in C.
27258
27259 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27260
27261         * check/Makefile.am:
27262         * check/gst/capslist.h:
27263           copy over from 0.8, and add two with bitmasks specified with
27264           (int) 0xFF...
27265         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27266           add test to parse everything from capslist.h
27267         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
27268         (main):
27269           add test for structure deserialization
27270         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27271           add tests for deserialization of strings to int types
27272         * gst/gststructure.c: (gst_structure_nth_field_name):
27273         * gst/gststructure.h:
27274           add a way to get the name of a field referenced by index
27275         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27276           instead of checking if the resulting long long lies between
27277           min and max, we check if the long long would fit into
27278           a number of bytes for the final type.
27279           This fixes cases where a string represents 2^32 - 1, which
27280           when cast to int would be the (valid) -1, but is bigger than
27281           G_MAXINT
27282
27283 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27284
27285         * gst/parse/grammar.y:
27286           add a log line for type deserialization
27287
27288 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27289
27290         * check/gst/gstvalue.c: (START_TEST):
27291         * gst/gstvalue.c: (gst_value_deserialize):
27292           return long long, not int, so gint64 deserialization actually
27293           works.  Is there any flag that makes the compiler check this ?
27294           Fixes #308559
27295
27296 2005-06-22  Wim Taymans  <wim@fluendo.com>
27297
27298         * gst/gstbuffer.h:
27299         Added convenience macros for setting buffers in GValue.
27300
27301 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27302
27303         * check/gst/.cvsignore:
27304         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27305           add a test deserializing int64, and comment part out because
27306           it fails, yay !
27307
27308 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27309
27310         * check/Makefile.am:
27311         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
27312         * testsuite/Makefile.am:
27313         * testsuite/caps/Makefile.am:
27314         * testsuite/caps/value_serialize.c:
27315         * testsuite/test_gst_init.c:
27316           move a value_serialize test over
27317
27318 2005-06-20  Wim Taymans  <wim@fluendo.com>
27319
27320         * gst/gstpad.c:
27321         Small doc updates.
27322         
27323         * gst/gstvalue.c: (gst_value_compare_buffer),
27324         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
27325         (gst_value_compare_flags), (gst_value_serialize_flags),
27326         (gst_value_deserialize_flags), (_gst_value_initialize):
27327         Fix serialisation of buffers, they are not boxed types anymore
27328
27329 2005-06-20  Wim Taymans  <wim@fluendo.com>
27330
27331         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27332         Testcase to show error in buffer-on-caps serialisation.
27333
27334 2005-06-20  Andy Wingo  <wingo@pobox.com>
27335
27336         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
27337         will be adding to later.
27338
27339         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
27340         if its socks fill with rocks.
27341         (gst_system_clock_obtain): Set the name on object construction.
27342         Avoid double-checked locking.
27343
27344 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
27345
27346         * gst/gsturi.c: (gst_element_make_from_uri):
27347           Fix potential endless loop.
27348
27349 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27350
27351         * check/Makefile.am:
27352           add gsttag
27353         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
27354         (main):
27355           move over from testsuite dir and clean up
27356         * configure.ac:
27357         * gst/gsttag.c:
27358         * testsuite/Makefile.am:
27359         * testsuite/tags/.cvsignore:
27360         * testsuite/tags/Makefile.am:
27361         * testsuite/tags/merge.c:
27362           remove testsuite/tags
27363
27364 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27365
27366         * docs/gst/gstreamer-sections.txt:
27367         * docs/gst/tmpl/gstenumtypes.sgml:
27368         * win32/gstenumtypes.c:
27369           clean up documentation build a little
27370
27371 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27372
27373         * check/gstcheck.h:
27374           add macros for checking refcounts on objects and caps
27375         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
27376           add some more unit tests
27377         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27378         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
27379           fix leaked refcounts (I hope :)) so unittest works
27380         * gst/gstpad.h:
27381           whitespace removal
27382
27383 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27384
27385         * configure.ac: back to HEAD
27386
27387 === release 0.9.1 ===
27388
27389 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27390
27391         * NEWS:
27392         * RELEASE:
27393           updated
27394
27395 2005-06-17  Andy Wingo  <wingo@pobox.com>
27396
27397         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
27398         assert; it's always possible that the pad gets deactivated in
27399         between the checks in gstpad.c and the implementation. Rely on
27400         finish_preroll() to return a FLUSHING or similar instead of on the
27401         assert.
27402         
27403         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
27404         clock and post an EOS message if we come out of finish_preroll in
27405         the playing state.
27406
27407 2005-06-16  David Schleef  <ds@schleef.org>
27408
27409         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
27410         (gst_capsfilter_set_property): Allow NULL as possible value
27411         for filter_caps property, indicating GST_CAPS_ANY.
27412
27413 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27414
27415         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
27416           fix debug output
27417         * gst/schedulers/Makefile.am:
27418           use libgst prefix
27419         * gstreamer.spec.in:
27420           fix spec for it
27421
27422 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27423
27424         * gstreamer.spec.in:
27425           clean up
27426
27427 2005-06-08  Andy Wingo  <wingo@pobox.com>
27428
27429         * gst/gstutils.c: RPAD fixes all around.
27430         (gst_element_link_pads): Refcounting fixes.
27431
27432         * tools/gst-inspect.c:
27433         * tools/gst-xmlinspect.c:
27434         * parse/grammar.y:
27435         * gst/base/gsttypefindhelper.c:
27436         * gst/base/gstbasesink.c:
27437         * gst/gstqueue.c: RPAD fixes.
27438
27439         * gst/gstghostpad.h:
27440         * gst/gstghostpad.c: New ghost pad implementation as full proxy
27441         pads. The tricky thing is they provide both source and sink
27442         interfaces, since they proxy the internal pad for the external
27443         pad, and vice versa. Implement with lower-level ProxyPad objects,
27444         with the interior proxy pad as a child of the exterior ghost pad.
27445         Should write a doc on this.
27446         
27447         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
27448         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
27449         gst_object API.
27450         
27451         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
27452         pads are real pads. No ghost pads in this file. Not documenting
27453         the myriad s/RPAD/PAD/ and REALIZE fixes.
27454         (gst_pad_class_init): Add properties for "direction" and
27455         "template". Both are construct-only, so they can't change during
27456         the life of the pad. Fixes properly deriving from GstPad.
27457         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
27458         derived objects, just set properties when creating the objects via
27459         g_object_new.
27460         (gst_pad_get_parent): Implement as a function, return NULL if the
27461         parent is not an element.
27462         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
27463         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
27464         
27465         * gst/gstobject.c (gst_object_class_init): Make name a construct
27466         property. Don't set it in the object init.
27467
27468         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
27469         with UNKNOWN direction.
27470         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
27471         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
27472         (gst_element_remove_pad): Remove ghost-pad special cases.
27473         (gst_element_pads_activate): Remove rpad cruft.
27474
27475         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
27476         catch the pad's-parent-not-an-element case.
27477
27478         * gst/gst.h: Include gstghostpad.h.
27479
27480         * gst/gst.c (init_post): No more real, ghost pads.
27481
27482         * gst/Makefile.am: Add gstghostpad.[ch].
27483
27484         * check/Makefile.am:
27485         * check/gst/gstbin.c:
27486         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
27487         into a bin creates ghost pads, and that the refcounts are right.
27488         Partly moved from gstbin.c.
27489
27490 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27491
27492         * check/gst-libs/.cvsignore:
27493         * check/gst/.cvsignore:
27494         * check/pipelines/.cvsignore:
27495           ignore more
27496         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
27497         (START_TEST), (cleanup_suite), (main):
27498           add some tests related to cleanup after running pipelines
27499
27500 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27501
27502         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
27503           add a testsuite for GstBuffer
27504
27505 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27506
27507         * gst/gstminiobject.h:
27508           add defines for accessing the refcount
27509
27510 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
27511
27512         * Makefile.am: added support for html unit test coverage reports
27513
27514 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
27515
27516         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27517           Free existing caps if the capsfilter changes. Add a FIXME about
27518           setting those caps on the pads.
27519
27520         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
27521           Before adding a ghost pad to a parent bin, check that there isn't
27522           already one for the element on the bin. Prevents infinite recursion
27523           when using decodebin in parse pipelines. Andy says he'll rewrite the
27524           way this works anyway, so ignore the hack.
27525
27526 2005-06-02  Andy Wingo  <wingo@pobox.com>
27527
27528         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
27529         file size, pass it on to the type find helper.
27530
27531         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
27532         segment_start and segment_end properly according to the seek
27533         method. Segment_end is still a bit flaky because offset can be
27534         negative for CUR and END cases, but it takes -1 as an "unset"
27535         value.
27536
27537 2005-06-02  Wim Taymans  <wim@fluendo.com>
27538
27539         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
27540         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
27541         (gst_basesink_activate):
27542         * gst/base/gstbasesink.h:
27543         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27544         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27545         (gst_pad_query), (gst_pad_start_task):
27546         * gst/gstpad.h:
27547         * gst/gstqueue.c: (gst_queue_bufferalloc),
27548         (gst_queue_handle_sink_event), (gst_queue_chain):
27549         Bufferalloc: return GstFlowReturn to more accuratly report
27550         why allocation failed.
27551
27552 2005-06-02  Wim Taymans  <wim@fluendo.com>
27553
27554         * gst/gstpipeline.c: (gst_pipeline_send_event):
27555         Take snapshot of state without blocking.
27556
27557 2005-06-02  Wim Taymans  <wim@fluendo.com>
27558
27559         * docs/design/part-TODO.txt:
27560         * docs/design/part-caps.txt:
27561         * docs/design/part-clocks.txt:
27562         * docs/design/part-negotiation.txt:
27563         * docs/design/part-preroll.txt:
27564         Small doc updates 
27565
27566 2005-05-30  Wim Taymans  <wim@fluendo.com>
27567
27568         * gst/elements/gstidentity.c: (gst_identity_event),
27569         (gst_identity_transform), (gst_identity_get_property):
27570         Protect last_message property as it is accessed from
27571         multiple threads.
27572
27573 2005-05-30  Wim Taymans  <wim@fluendo.com>
27574
27575         * gst/gstelement.c: (gst_element_init),
27576         (gst_element_pads_activate), (gst_element_change_state):
27577         Slicker pad activation code.
27578
27579 2005-05-30  Wim Taymans  <wim@fluendo.com>
27580
27581         * gst/Makefile.am:
27582         * gst/gstelement.h:
27583         * gst/gstelementfactory.h:
27584         * gst/gsttypes.h:
27585         Move elementfactory methods to separate .h file.
27586
27587 2005-05-30  Wim Taymans  <wim@fluendo.com>
27588
27589         * docs/design/part-overview.txt:
27590         * gst/gstsystemclock.h:
27591         Small typo fixes, doc updates.
27592
27593 2005-05-30  Wim Taymans  <wim@fluendo.com>
27594
27595         * gst/gst.c: (gst_init_get_popt_table), (init_post),
27596         (init_popt_callback):
27597         Remove cpu-opt flag.
27598
27599 2005-05-30  Wim Taymans  <wim@fluendo.com>
27600
27601         * gst/gstbuffer.c: (gst_subbuffer_finalize),
27602         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
27603         * gst/gstbuffer.h:
27604         Avoid typechecking in places where not needed.
27605         Added accessor for malloc_data.
27606
27607 2005-05-30  Wim Taymans  <wim@fluendo.com>
27608
27609         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
27610         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
27611         (gst_pad_configure_sink), (gst_pad_configure_src),
27612         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
27613         (gst_pad_start_task):
27614         Propagate errors from _set_caps() in configure_src/sink
27615         functions instead of returning TRUE.
27616         FLUSH events can travel up and downstream
27617
27618
27619 2005-05-30  Wim Taymans  <wim@fluendo.com>
27620
27621         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27622         (gst_basesink_activate):
27623         Handle EOS in preroll.
27624
27625 2005-05-30  Wim Taymans  <wim@fluendo.com>
27626
27627         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27628         (gst_queue_loop), (gst_queue_handle_src_event):
27629         Remove old pieces of code
27630         Flushing the queue in an upstream event is a very bad idea.
27631
27632 2005-05-26  Andy Wingo  <wingo@pobox.com>
27633
27634         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
27635         gst_value_set_mini_object so as to add a ref on the object (which
27636         will be removed when the value is unset).
27637
27638         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
27639         arg type in ::handoff.
27640
27641         * gst/gstelement.c (gst_element_change_state): Also deactivate
27642         pads in READY->NULL, just in case the element didn't make it to
27643         PAUSED. Wingo tested, Wim approved.
27644
27645 2005-05-26  Wim Taymans  <wim@fluendo.com>
27646
27647         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27648         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27649         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
27650         A flushing pad cannot be used to alloc_buffer from.
27651
27652 2005-05-26  Wim Taymans  <wim@fluendo.com>
27653
27654         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
27655         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
27656         (gst_bus_source_dispatch), (gst_bus_source_finalize),
27657         (gst_bus_create_watch), (gst_bus_add_watch_full):
27658         * gst/gstbus.h:
27659         Implement a real GSource and use g_main_context_wakeup() to
27660         signal new messages instead of the socketpair.
27661
27662 2005-05-25  Wim Taymans  <wim@fluendo.com>
27663
27664         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
27665         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
27666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27667         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27668         (gst_pad_send_event), (gst_pad_start_task):
27669         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
27670         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27671         (gst_queue_sink_activate), (gst_queue_src_activate),
27672         (gst_queue_change_state):
27673         * gst/gstqueue.h:
27674         Fix state changes for non sinks. We now change sinks, then elements
27675         with unconnected srcpads, then the rest.
27676         More efficient queue unlocking in flush and state changes.
27677         Set the pad activate mode even if it does not have an activate
27678         function.
27679
27680 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27681
27682         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
27683           Don't go in pull mode for non-seekable sources.
27684         * gst/elements/gsttypefindelement.h:
27685         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
27686         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
27687         (free_entry), (stop_typefinding),
27688         (gst_type_find_element_handle_event), (find_peek),
27689         (gst_type_find_element_chain), (do_pull_typefind),
27690         (gst_type_find_element_change_state):
27691           Allow typefinding (w/o seeking) in push-mode, simplified version
27692           of what was in 0.8.
27693         * gst/gstutils.c: (gst_buffer_join):
27694         * gst/gstutils.h:
27695           gst_buffer_join() from 0.8.
27696
27697 2005-05-25  Wim Taymans  <wim@fluendo.com>
27698
27699         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27700         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27701         (gst_pad_send_event), (gst_pad_start_task):
27702         Disable attempt at mode switching until it is figured out.
27703
27704 2005-05-25  Wim Taymans  <wim@fluendo.com>
27705
27706         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
27707         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27708         (gst_basesink_finish_preroll), (gst_basesink_chain),
27709         (gst_basesink_loop), (gst_basesink_activate),
27710         (gst_basesink_change_state):
27711         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
27712         (gst_basesrc_get_range), (gst_basesrc_loop),
27713         (gst_basesrc_activate):
27714         * gst/elements/gsttee.c: (gst_tee_sink_activate):
27715         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
27716         (gst_real_pad_init), (gst_real_pad_set_property),
27717         (gst_real_pad_get_property), (gst_pad_set_active),
27718         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
27719         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
27720         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
27721         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
27722         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27723         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
27724         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
27725         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27726         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
27727         (gst_pad_stop_task):
27728         * gst/gstpad.h:
27729         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27730         (gst_queue_loop), (gst_queue_src_activate):
27731         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
27732         (gst_task_get_state):
27733         * gst/gsttask.h:
27734         * gst/schedulers/threadscheduler.c:
27735         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
27736         Implement gst_pad_pause/start/stop_task(), take STREAM lock
27737         in task function.
27738         Remove ACTIVE pad flag, use FLUSHING everywhere
27739         Added _pad_chain(), _pad_get_range() to call chain/getrange 
27740         functions.
27741         Add locks around IS_FLUSHING when reading.
27742         Take STREAM lock in chain(), get_range() functions so plugins
27743         don't need to take it anymore.
27744         
27745
27746
27747 2005-05-25  Wim Taymans  <wim@fluendo.com>
27748
27749         * tools/gst-launch.c: (event_loop):
27750         Unref message after using its contents instead of
27751         before.
27752
27753 2005-05-24  Wim Taymans  <wim@fluendo.com>
27754
27755         * docs/design/draft-ghostpads.txt:
27756         * docs/design/draft-push-pull.txt:
27757         * docs/design/draft-query.txt:
27758         * docs/design/part-overview.txt:
27759         Docs updates, added general overview doc.
27760
27761 2005-05-21  David Schleef  <ds@schleef.org>
27762
27763         * docs/gst/tmpl/old/GstBin.sgml:
27764         * docs/gst/tmpl/old/GstBuffer.sgml:
27765         * docs/gst/tmpl/old/GstCaps.sgml:
27766         * docs/gst/tmpl/old/GstClock.sgml:
27767         * docs/gst/tmpl/old/GstCompat.sgml:
27768         * docs/gst/tmpl/old/GstData.sgml:
27769         * docs/gst/tmpl/old/GstElement.sgml:
27770         * docs/gst/tmpl/old/GstEvent.sgml:
27771         * docs/gst/tmpl/old/GstIndex.sgml:
27772         * docs/gst/tmpl/old/GstStructure.sgml:
27773         * docs/gst/tmpl/old/GstTag.sgml:
27774         * docs/gst/tmpl/old/cothreads.sgml:
27775         * docs/gst/tmpl/old/cothreads_compat.sgml:
27776         * docs/gst/tmpl/old/gettext.sgml:
27777         * docs/gst/tmpl/old/gobject2gtk.sgml:
27778         * docs/gst/tmpl/old/grammar.tab.sgml:
27779         * docs/gst/tmpl/old/gst-i18n-app.sgml:
27780         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
27781         * docs/gst/tmpl/old/gst_private.sgml:
27782         * docs/gst/tmpl/old/gstaggregator.sgml:
27783         * docs/gst/tmpl/old/gstarch.sgml:
27784         * docs/gst/tmpl/old/gstatomic_impl.sgml:
27785         * docs/gst/tmpl/old/gstbufferstore.sgml:
27786         * docs/gst/tmpl/old/gstdata_private.sgml:
27787         * docs/gst/tmpl/old/gstdisksink.sgml:
27788         * docs/gst/tmpl/old/gstdisksrc.sgml:
27789         * docs/gst/tmpl/old/gstelementfactory.sgml:
27790         * docs/gst/tmpl/old/gstextratypes.sgml:
27791         * docs/gst/tmpl/old/gstfakesink.sgml:
27792         * docs/gst/tmpl/old/gstfakesrc.sgml:
27793         * docs/gst/tmpl/old/gstfdsink.sgml:
27794         * docs/gst/tmpl/old/gstfdsrc.sgml:
27795         * docs/gst/tmpl/old/gstfilesink.sgml:
27796         * docs/gst/tmpl/old/gstfilesrc.sgml:
27797         * docs/gst/tmpl/old/gsthttpsrc.sgml:
27798         * docs/gst/tmpl/old/gstidentity.sgml:
27799         * docs/gst/tmpl/old/gstindexfactory.sgml:
27800         * docs/gst/tmpl/old/gstmarshal.sgml:
27801         * docs/gst/tmpl/old/gstmd5sink.sgml:
27802         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
27803         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
27804         * docs/gst/tmpl/old/gstpadtemplate.sgml:
27805         * docs/gst/tmpl/old/gstpipefilter.sgml:
27806         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
27807         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
27808         * docs/gst/tmpl/old/gstshaper.sgml:
27809         * docs/gst/tmpl/old/gstspider.sgml:
27810         * docs/gst/tmpl/old/gstspideridentity.sgml:
27811         * docs/gst/tmpl/old/gststatistics.sgml:
27812         * docs/gst/tmpl/old/gsttee.sgml:
27813         * docs/gst/tmpl/old/gsttimecache.sgml:
27814         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
27815         * docs/gst/tmpl/old/gstxmlregistry.sgml:
27816         * docs/gst/tmpl/old/gthread-cothreads.sgml:
27817         * docs/gst/tmpl/old/types.sgml:
27818           I didn't intend to add these or check them in.
27819
27820 2005-05-19  David Schleef  <ds@schleef.org>
27821
27822         * configure.ac: Use -no-common everywhere.  In a sane world, it
27823           would be the default in libtool, because without it, you can't
27824           build DLLs on Windows.
27825         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
27826         * docs/gst/gstreamer-sections.txt:
27827         * docs/gst/tmpl/gstcpu.sgml:
27828         * docs/gst/tmpl/gstdata.sgml:
27829         * docs/gst/tmpl/gstthread.sgml:
27830
27831 2005-05-19  David Schleef  <ds@schleef.org>
27832
27833         * gst/gstminiobject.c: (gst_value_set_mini_object),
27834         (gst_value_take_mini_object), (gst_value_get_mini_object):
27835         * gst/gstminiobject.h: Add GValue set/get functions.
27836
27837 2005-05-19  Wim Taymans  <wim@fluendo.com>
27838
27839         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
27840         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
27841         (gst_subbuffer_init), (gst_buffer_is_span_fast):
27842         * gst/gstbuffer.h:
27843         * gst/gstbus.c: (gst_bus_post):
27844         * gst/gstelement.c: (gst_element_get_random_pad):
27845         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
27846         Make subbufer unref the parent in finalize.
27847         some more debugging info.
27848
27849
27850 2005-05-19  Wim Taymans  <wim@fluendo.com>
27851
27852         * gst/base/gstbasesink.c: (gst_basesink_class_init),
27853         (gst_basesink_init), (gst_basesink_finalize),
27854         (gst_basesink_activate), (gst_basesink_change_state):
27855         Don't free preroll queue too early.
27856
27857 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27858
27859         * gst/Makefile.am:
27860         * gst/ROADMAP:
27861           Hi, I'm outdated. Please shoot me.
27862
27863 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27864
27865         * gst/gstpipeline.c: (gst_pipeline_send_event):
27866           Do not access variables after they have been deleted.
27867
27868 2005-05-19  Wim Taymans  <wim@fluendo.com>
27869
27870         * tools/gst-inspect.c: (print_plugin_features):
27871         A plugin feature does unfortunatly not use the
27872         object name yet...
27873
27874 2005-05-18  Wim Taymans  <wim@fluendo.com>
27875
27876         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
27877         Port _span() functions to new subbuffers.
27878
27879 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27880
27881         * gst/gstbin.c: (gst_bin_add_func):
27882           Fix clock settery in bins when adding kids after the clock has
27883           been selected.
27884
27885 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27886
27887         * gst/elements/gstidentity.c: (gst_identity_class_init):
27888           Workaround until signals support GstMiniObject.
27889
27890 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
27891
27892         * gst/gstbuffer.c:
27893         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
27894
27895 2005-05-18  Wim Taymans  <wim@fluendo.com>
27896
27897         * gst/base/Makefile.am:
27898         * gst/base/gstadapter.c: (gst_adapter_base_init),
27899         (gst_adapter_class_init), (gst_adapter_init),
27900         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
27901         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
27902         (gst_adapter_flush), (gst_adapter_available),
27903         (gst_adapter_available_fast):
27904         * gst/base/gstadapter.h:
27905         Ported and added adapter to the base classes.
27906
27907 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
27908
27909         * gst/gst.c:
27910         * gst/gstmessage.c:
27911           Make sure the class is reffed/unreffed once before threads can be
27912           used.  Fixes #304551.
27913
27914 2005-05-17  Wim Taymans  <wim@fluendo.com>
27915
27916         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
27917         (gst_basesink_chain_unlocked), (gst_basesink_activate):
27918         * gst/gstminiobject.c: (gst_mini_object_get_type),
27919         (gst_mini_object_free):
27920         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
27921         (gst_pad_push), (gst_pad_push_event):
27922         * gst/gstqueue.c: (gst_queue_change_state):
27923         Don't queue buffers in basesink when we are flushing.
27924         Unref buffer when flushing in basesink.
27925         Flush queue when going to READY
27926         Unref buffer when _push() returns an error.
27927         Don't free MiniObject instance when refcount is incremented
27928         in _finalize() so that we can recover objects.
27929
27930 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27931
27932         * docs/manual/advanced-schedulers.xml:
27933         * docs/manual/appendix-checklist.xml:
27934         * docs/pwg/advanced-clock.xml:
27935         * docs/pwg/advanced-interfaces.xml:
27936         * docs/pwg/advanced-request.xml:
27937         * docs/pwg/advanced-types.xml:
27938         * docs/pwg/intro-preface.xml:
27939         * examples/plugins/example.c: (gst_example_get_type),
27940         (gst_example_class_init), (gst_example_chain),
27941         (gst_example_set_property), (gst_example_get_property),
27942         (gst_example_change_state), (plugin_init):
27943         * examples/plugins/example.h:
27944           small doc fixes
27945
27946 2005-05-17  Wim Taymans  <wim@fluendo.com>
27947
27948         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
27949         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
27950         * gst/gstqueue.c: (gst_queue_change_state):
27951         Clear queue when going to READY.
27952         Remove IN_SETCAPS flag too.
27953
27954 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
27955
27956         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
27957           Remove implicit cast from gboolean to GstElementStateReturn;
27958           make sure we still return failure in paused => ready case if
27959           the parent class fails to change state and our own stop 
27960           vfunc succeeds.
27961
27962 2005-05-17  Wim Taymans  <wim@fluendo.com>
27963
27964         * tools/gst-launch.c: (event_loop):
27965         Message was unreffed too soon.
27966
27967 2005-05-16  Andy Wingo  <wingo@pobox.com>
27968
27969         * gst/gstbin.c (sink_iterator_filter): Err... um...
27970
27971         * check/gst/gstbin.c (test_ghost_pads): New test for the
27972         ghosting-if-elements-not-in-same-bin behavior.
27973
27974 2005-05-16  David Schleef  <ds@schleef.org>
27975
27976         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
27977         accessing refcount directly.
27978
27979 2005-05-15  David Schleef  <ds@schleef.org>
27980
27981         * check/Makefile.am: remove GstData checks
27982         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
27983         * gst/Makefile.am: add miniobject, remove data
27984         * gst/gst.h: add miniobject, remove data
27985         * gst/gstdata.c: remove
27986         * gst/gstdata.h: remove
27987         * gst/gstdata_private.h: remove
27988         * gst/gsttypes.h: remove GstEvent and GstMessage
27989         * gst/gstelement.c: (gst_element_post_message): fix for API changes
27990         * gst/gstmarshal.list: change BOXED -> OBJECT
27991
27992         Implement GstMiniObject.
27993         * gst/gstminiobject.c:
27994         * gst/gstminiobject.h:
27995
27996         Modify to be subclasses of GstMiniObject.
27997         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
27998         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
27999         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
28000         (gst_subbuffer_get_type), (gst_subbuffer_init),
28001         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
28002         (gst_buffer_span):
28003         * gst/gstbuffer.h:
28004         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
28005         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
28006         (_gst_event_copy), (gst_event_new):
28007         * gst/gstevent.h:
28008         * gst/gstmessage.c: (_gst_message_initialize),
28009         (gst_message_get_type), (gst_message_class_init),
28010         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
28011         (gst_message_new), (gst_message_new_error),
28012         (gst_message_new_warning), (gst_message_new_tag),
28013         (gst_message_new_state_changed), (gst_message_new_application):
28014         * gst/gstmessage.h:
28015         * gst/gstprobe.c: (gst_probe_perform),
28016         (gst_probe_dispatcher_dispatch):
28017         * gst/gstprobe.h:
28018         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
28019         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
28020         (_gst_query_copy), (gst_query_new):
28021
28022         Update elements for GstData -> GstMiniObject changes
28023         * gst/gstquery.h:
28024         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
28025         (gst_queue_chain), (gst_queue_loop):
28026         * gst/elements/gstbufferstore.c:
28027         (gst_buffer_store_add_buffer_func),
28028         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
28029         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28030         (gst_fakesink_render):
28031         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28032         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
28033         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
28034         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
28035         (gst_filesrc_create_read):
28036         * gst/elements/gstidentity.c: (gst_identity_class_init):
28037         * gst/elements/gsttypefindelement.c:
28038         (gst_type_find_element_src_event), (free_entry_buffers),
28039         (gst_type_find_element_handle_event):
28040         * libs/gst/dataprotocol/dataprotocol.c:
28041         (gst_dp_header_from_buffer):
28042         * libs/gst/dataprotocol/dataprotocol.h:
28043         * libs/gst/dataprotocol/dp-private.h:
28044
28045 2005-05-15  David Schleef  <ds@schleef.org>
28046
28047         * gst/elements/gstelements.c: Don't include headers that were
28048         just removed.
28049
28050 2005-05-15  David Schleef  <ds@schleef.org>
28051
28052         * gst/elements/Makefile.am: Remove some elements that don't
28053         need to be in the core (or even exist at all).
28054         * gst/elements/gstaggregator.c:
28055         * gst/elements/gstaggregator.h:
28056         * gst/elements/gstmd5sink.c:
28057         * gst/elements/gstmd5sink.h:
28058         * gst/elements/gstmultifilesrc.c:
28059         * gst/elements/gstmultifilesrc.h:
28060         * gst/elements/gstpipefilter.c:
28061         * gst/elements/gstpipefilter.h:
28062         * gst/elements/gstshaper.c:
28063         * gst/elements/gstshaper.h:
28064         * gst/elements/gststatistics.c:
28065         * gst/elements/gststatistics.h:
28066         * po/POTFILES.in: Remove above files.
28067
28068 2005-05-14  Andy Wingo  <wingo@pobox.com>
28069
28070         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
28071         so as to get the refs right.
28072         (sink_iterator_filter): New function, wraps bin_element_is_sink,
28073         unreffing objects that don't pass the filter.
28074
28075         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
28076         gst_element_set_bus.
28077         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
28078         normal cases, this will destroy the bus.
28079
28080         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
28081         object.
28082
28083         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
28084         has no sinks.
28085
28086 2005-05-13  Andy Wingo  <wingo@pobox.com>
28087
28088         * gst/gstutils.c (gst_element_link_pads): Instead of calling
28089         gst_pad_link, call pad_link_maybe_ghosting,
28090         (pad_link_maybe_ghosting): Links pads, making sure that the
28091         elements being linked are in the same bin.
28092         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
28093         Helpers for pad_link_maybe_ghosting.
28094
28095 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28096
28097         * configure.ac:
28098           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
28099
28100 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28101
28102         * docs/design/part-element-source.txt:
28103           Mention GstPushSrc
28104
28105 2005-05-12  Wim Taymans  <wim@fluendo.com>
28106
28107         * gst/base/gstbasesink.c: (gst_basesink_init),
28108         (gst_basesink_activate):
28109         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
28110         (gst_basesrc_is_seekable):
28111         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
28112         (bin_element_is_sink), (gst_bin_change_state):
28113         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28114         * gst/gstelement.h:
28115         Identify sinks by their flag to avoid overly complicated
28116         checks (fow now).
28117         Do state changes even for elements not reachable from the
28118         sinks.
28119         BaseSink is a sink now :)
28120         Some more debugging info in the basesrc.
28121
28122
28123 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28124
28125         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
28126           Implement _query on a bin, similar to _send_event.
28127
28128 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
28129
28130         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
28131           Discont event offset format should be GST_FORMAT_BYTES,
28132           not GST_FORMAT_TIME.
28133
28134 2005-05-12  Wim Taymans  <wim@fluendo.com>
28135
28136         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
28137         Same fix as Ronald's but without the signal. 
28138
28139 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28140
28141         * gst/gstutils.c: (gst_element_query_position):
28142           No, an element is not a pad.
28143
28144 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28145
28146         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
28147         (gst_bin_get_state):
28148           If a child is removed from a bin while we remove the child from
28149           the bin and while we're retrieving its state, signal this to the
28150           get_state function so we abort the wait (instead of waiting for
28151           a timeout) and can immediately re-iterate over all other elements.
28152
28153 2005-05-12  Wim Taymans  <wim@fluendo.com>
28154
28155         * gst/base/Makefile.am:
28156         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
28157         (gst_basesrc_start):
28158         * gst/base/gstbasesrc.h:
28159         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
28160         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
28161         (gst_pushsrc_init), (gst_pushsrc_create):
28162         * gst/base/gstpushsrc.h:
28163         Added is_seekable to BaseSrc
28164         Added simple PushSrc.
28165
28166 2005-05-11  Wim Taymans  <wim@fluendo.com>
28167
28168         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28169         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28170         (gst_element_link_pads), (gst_element_query_position),
28171         (gst_element_query_convert), (intersect_caps_func),
28172         (gst_pad_query_position), (gst_pad_query_convert):
28173         Fix refcounting in utils function.
28174         No point in trying to activate a pad when it's added, it could
28175         be added from the state change function and then we deadlock, the
28176         element has to decide what to do.
28177
28178 2005-05-10  Andy Wingo  <wingo@pobox.com>
28179
28180         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
28181         *all* the arguments.
28182
28183         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
28184         stream lock if it's a FLUSH_DONE; normal flushes don't get the
28185         lock (according to the docs -- if this is wrong change the docs).
28186
28187         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
28188         flush messages in the NULL state.
28189
28190         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
28191         message immediately and return.
28192         (gst_bus_set_flushing): New function. If a bus is flushing, it
28193         flushes out any queued messages and immediately unrefs new
28194         messages. This is so when an element goes to NULL, all of the
28195         unhandled messages coming from it can be freed, and their
28196         references to the element dropped. In other words: message source
28197         ref considered harmful :P
28198
28199         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
28200         we're finished with it.
28201
28202         * gst/gstmessage.c (gst_message_new_state_changed): 
28203
28204 2005-05-10  Wim Taymans  <wim@fluendo.com>
28205
28206         * gst/gstvalue.c: (gst_value_compare_flags),
28207         (gst_value_serialize_flags), (gst_value_deserialize_flags),
28208         (_gst_value_initialize):
28209         Added flags serialize/deserialize/compare code.
28210
28211 2005-05-09  Andy Wingo  <wingo@pobox.com>
28212
28213         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
28214         Intersect the peer's caps with our caps.
28215
28216 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28217
28218         * gst/base/gsttypefindhelper.c: (helper_find_peek):
28219         * gst/elements/gsttypefindelement.c: (find_peek):
28220           Handle negative offsets better. Fixes decodebin.
28221
28222 2005-05-09  Wim Taymans  <wim@fluendo.com>
28223
28224         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
28225         (gst_base_transform_event):
28226         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
28227         Implement accept_caps.
28228         Fix silly lock/unlock mismatch in base class.
28229
28230 2005-05-09  Wim Taymans  <wim@fluendo.com>
28231
28232         * docs/design/draft-push-pull.txt:
28233         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
28234         * gst/elements/gstfilesink.c: (gst_filesink_init),
28235         (gst_filesink_query):
28236         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28237         (gst_type_find_handle_src_query), (find_element_get_length):
28238         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
28239         * gst/gstelement.h:
28240         * gst/gstmessage.c:
28241         * gst/gstmessage.h:
28242         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
28243         (gst_real_pad_get_caps_unlocked),
28244         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
28245         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28246         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
28247         (gst_real_pad_dispose), (gst_real_pad_finalize),
28248         (gst_pad_load_and_link), (gst_pad_save_thyself),
28249         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
28250         (gst_pad_check_pull_range), (gst_pad_pull_range),
28251         (gst_pad_template_get_type), (gst_pad_template_class_init),
28252         (gst_pad_template_init), (gst_pad_template_dispose),
28253         (name_is_valid), (gst_static_pad_template_get),
28254         (gst_pad_template_new), (gst_static_pad_template_get_caps),
28255         (gst_pad_template_get_caps), (gst_pad_set_element_private),
28256         (gst_pad_get_element_private), (gst_pad_start_task),
28257         (gst_pad_pause_task), (gst_pad_stop_task),
28258         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
28259         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
28260         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
28261         (gst_ghost_pad_new):
28262         * gst/gstpad.h:
28263         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
28264         (gst_query_new_position), (gst_query_set_position),
28265         (gst_query_parse_position), (gst_query_new_convert),
28266         (gst_query_set_convert), (gst_query_parse_convert):
28267         * gst/gstquery.h:
28268         * gst/gstqueryutils.c:
28269         * gst/gstqueryutils.h:
28270         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28271         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28272         (gst_queue_handle_src_query):
28273         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28274         (gst_element_query_position), (gst_element_query_convert),
28275         (intersect_caps_func), (gst_pad_query_position),
28276         (gst_pad_query_convert):
28277         * gst/gstutils.h:
28278         * tools/gst-inspect.c: (print_pad_info):
28279         * tools/gst-xmlinspect.c: (print_element_info):
28280         Remove old query functions. Ported old code.
28281         Added position/convert helper functions to gstutils.
28282         Reordered gstpad.c code, grouping relevant things.
28283         Remove gst_message_new(), always need to speficy a specific
28284         message.
28285
28286
28287 2005-05-09  Andy Wingo  <wingo@pobox.com>
28288
28289         * gst/gstiterator.h: Add some includes.
28290
28291         * gst/gstqueryutils.h: Include more headers.
28292
28293         * gst/gstpad.h:
28294         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
28295         some uses of gst_pad_query.
28296
28297         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
28298         NULL out parameters.
28299         (gst_query_new_position): New proc, allocates a new position
28300         query.
28301
28302         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
28303         gstqueryutils.c to the build.
28304
28305         * gst/gststructure.c (gst_structure_set_valist): Implement with
28306         the generic G_VALUE_COLLECT.
28307         
28308 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
28309
28310         * gst/Makefile.am: (gst_headers):
28311         Added gstqueryutils.h to the list of headers to install, that was
28312         a 'nachty' move wingo :)
28313
28314 2005-05-06  Andy Wingo  <wingo@pobox.com>
28315
28316         * gst/gstquery.h
28317         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
28318         GstData, init a memchunk.
28319         (standard_definitions): Add a few query types, deprecate a few.
28320         (gst_query_get_type): New proc.
28321         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
28322         implementation.
28323         (gst_query_new_application, gst_query_get_structure): New public
28324         procs.
28325
28326         * docs/design/draft-query.txt: Removed LINKS from the query types,
28327         because all the rest can be dispatched to other pads -- seemed
28328         ugly to have a query that couldn't be dispatched. internal_links
28329         is fine as a pad method.
28330
28331         * gst/gstpad.h: Add query2 as a pad method, add the new functions
28332         in gstpad.c, but maintain binary compatibility for the moment.
28333         Will fix before 0.9 is out.
28334
28335         * gst/gstqueryutils.c: 
28336         * gst/gstqueryutils.h: New files, implement 3 methods for each
28337         query type: parse_query, parse_response, and set. Probably need an
28338         allocator as well.
28339
28340         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
28341
28342         * gst/elements/gstfilesink.c (gst_filesink_query2):
28343         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
28344         query_types, and formats methods.
28345
28346         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
28347         (gst_pad_set_query2_function): New functions.
28348         (gst_real_pad_init): Set query2_default as the default query2
28349         function. Basically just dispatches to internally linked pads.
28350
28351         Needs review!
28352         
28353         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
28354         without using the atomic operations. Only one thread can possibly
28355         be accessing the data at this point. Changed so as to avoid
28356         gst_atomic operations.
28357
28358 2005-05-06  Wim Taymans  <wim@fluendo.com>
28359
28360         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
28361         Also set caps if we use the fallback buffer alloc.
28362
28363 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
28364
28365         * docs/gst/Makefile.am:
28366         * docs/gst/gstreamer-docs.sgml:
28367         * docs/gst/gstreamer-sections.txt:
28368         * docs/gst/tmpl/gstatomic.sgml:
28369         * docs/gst/tmpl/gstmemchunk.sgml:
28370         * testsuite/elements/struct_i386.h:
28371         * win32/GStreamer.vcproj:
28372         * win32/Makefile:
28373           Purge GstAtomic stuff from docs and win32 makefiles as well
28374
28375 2005-05-06  Wim Taymans  <wim@fluendo.com>
28376
28377         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
28378         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
28379         * gst/gstpad.c: (gst_pad_peer_get_caps):
28380         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28381         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28382         (gst_queue_src_activate), (gst_queue_change_state):
28383         * gst/gstqueue.h:
28384         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28385         (intersect_caps_func):
28386         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
28387         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
28388         Some fixes for the peer_get_caps() change.
28389
28390 2005-05-06  Wim Taymans  <wim@fluendo.com>
28391
28392         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28393         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
28394         (gst_basesink_activate):
28395         Actually do something with error codes returned from the push
28396         functions.
28397
28398 2005-05-06  Wim Taymans  <wim@fluendo.com>
28399
28400         * docs/design/part-element-sink.txt:
28401         * docs/design/part-element-source.txt:
28402         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28403         (gst_basesink_event), (gst_basesink_activate):
28404         * gst/base/gstbasesink.h:
28405         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
28406         (gst_basesrc_activate):
28407         * gst/base/gstbasesrc.h:
28408         * gst/gstelement.c: (gst_element_pads_activate):
28409         Some more documentation.
28410         Fixed scheduling decision in _pads_activate().
28411
28412 2005-05-05  Andy Wingo  <wingo@pobox.com>
28413
28414         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
28415         the test suite.
28416
28417 2005-05-05  Wim Taymans  <wim@fluendo.com>
28418
28419         * gst/base/Makefile.am:
28420         * gst/base/gstbasesink.h:
28421         * gst/base/gstbasesrc.c: (gst_basesrc_init),
28422         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
28423         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
28424         (gst_collectpads_class_init), (gst_collectpads_init),
28425         (gst_collectpads_finalize), (gst_collectpads_new),
28426         (gst_collectpads_set_function), (gst_collectpads_add_pad),
28427         (find_pad), (gst_collectpads_remove_pad),
28428         (gst_collectpads_is_active), (gst_collectpads_collect),
28429         (gst_collectpads_collect_range), (gst_collectpads_start),
28430         (gst_collectpads_stop), (gst_collectpads_peek),
28431         (gst_collectpads_pop), (gst_collectpads_available),
28432         (gst_collectpads_read), (gst_collectpads_flush),
28433         (gst_collectpads_chain):
28434         * gst/base/gstcollectpads.h:
28435         * gst/elements/Makefile.am:
28436         * gst/elements/gstelements.c:
28437         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28438         (gst_fakesink_get_times), (gst_fakesink_event),
28439         (gst_fakesink_preroll), (gst_fakesink_render):
28440         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28441         (gst_filesink_init), (gst_filesink_set_location),
28442         (gst_filesink_open_file), (gst_filesink_close_file),
28443         (gst_filesink_pad_query), (gst_filesink_event),
28444         (gst_filesink_render), (gst_filesink_change_state):
28445         * gst/elements/gstfilesink.h:
28446         Added object to help in making collect pad based elements.
28447         Ported filesink.
28448         Make event function in sink baseclass return gboolean.
28449
28450 2005-05-05  Wim Taymans  <wim@fluendo.com>
28451
28452         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
28453         (gst_bin_get_by_name):
28454         * gst/gstbuffer.h:
28455         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
28456         (gst_clock_finalize):
28457         * gst/gstdata.c: (gst_data_replace):
28458         * gst/gstdata.h:
28459         * gst/gstelement.c: (gst_element_request_pad),
28460         (gst_element_pads_activate):
28461         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
28462         (gst_object_unref):
28463         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28464         (gst_pad_set_checkgetrange_function),
28465         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
28466         (gst_pad_check_pull_range), (gst_pad_pull_range),
28467         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28468         (gst_pad_pause_task), (gst_pad_stop_task):
28469         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28470         (gst_element_request_pad), (gst_pad_proxy_getcaps):
28471         Fix name lookup in GstBin.
28472         Added _data_replace() function and _buffer_replace()
28473         Use finalize method to clean up clock.
28474         Fix refcounting on request pads.
28475         Fix pad schedule mode error.
28476         Some more object refcounting debug info,
28477
28478
28479 2005-05-04  Andy Wingo <wingo@pobox.com>
28480
28481         * check/Makefile.am:
28482         * docs/gst/tmpl/gstatomic.sgml:
28483         * docs/gst/tmpl/gstplugin.sgml:
28484         * gst/base/gstbasesink.c: (gst_basesink_activate):
28485         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
28486         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
28487         (gst_basesrc_query), (gst_basesrc_set_property),
28488         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
28489         (gst_basesrc_activate):
28490         * gst/base/gstbasesrc.h:
28491         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
28492         (gst_base_transform_src_activate):
28493         * gst/elements/gstelements.c:
28494         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28495         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28496         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28497         * gst/elements/gsttypefindelement.c: (find_element_get_length),
28498         (gst_type_find_element_checkgetrange),
28499         (gst_type_find_element_activate):
28500         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
28501         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
28502         (gst_caps_load_thyself):
28503         * gst/gstelement.c: (gst_element_pads_activate),
28504         (gst_element_save_thyself), (gst_element_restore_thyself):
28505         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
28506         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
28507         * gst/gstpad.h:
28508         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
28509         (gst_xml_parse_file), (gst_xml_parse_memory),
28510         (gst_xml_get_element), (gst_xml_make_element):
28511         * gst/indexers/gstfileindex.c: (gst_file_index_load),
28512         (_file_index_id_save_xml), (gst_file_index_commit):
28513         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
28514         (read_enum), (load_pad_template), (load_feature), (load_plugin),
28515         (load_paths):
28516         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
28517         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
28518         * tools/gst-complete.c: (main):
28519         * tools/gst-compprep.c: (main):
28520         * tools/gst-inspect.c: (print_element_properties_info):
28521         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
28522         * tools/gst-xmlinspect.c: (print_element_properties):
28523         GCC 4 fixen.
28524         
28525 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
28526
28527         * gst/gstplugin.c: (gst_plugin_check_module),
28528         (gst_plugin_check_file), (gst_plugin_load_file):
28529             apply patch from #172526 to make register work on MacOSX
28530
28531 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28532
28533         * docs/gst/tmpl/gstconfig.sgml:
28534         * gst/gstconfig.h.in:
28535           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
28536         * testsuite/debug/printf_extension.c: (main):
28537           Do not use GST_PTR_FORMAT on pointers to types with
28538           sizeof < sizeof(gpointer).  Fixes test on 64-bit
28539         * testsuite/elements/property.h:
28540           use correct printf format
28541
28542 2005-05-02  Wim Taymans  <wim@fluendo.com>
28543
28544         * docs/design/draft-push-pull.txt:
28545         * docs/design/draft-query.txt:
28546         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
28547         (gst_basesrc_start):
28548         Added draft for new query API.
28549         Added draft for better selecting scheduling methods.
28550         Make basesrc ignore length if the subclass does not support
28551         it.
28552
28553 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28554
28555         * gst/Makefile.am:
28556           possible fixes for automake-1.5 - _LIBADD is reserved
28557
28558 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28559
28560         * docs/faq/Makefile.am:
28561         * docs/manual/Makefile.am:
28562         * docs/manuals.mak:
28563         * docs/pwg/Makefile.am:
28564         * gst/Makefile.am:
28565           possible fixes for automake-1.5
28566
28567 2005-04-28  Wim Taymans  <wim@fluendo.com>
28568
28569         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28570         (gst_basesink_pad_getcaps), (gst_basesink_init),
28571         (gst_basesink_do_sync):
28572         * gst/gstclock.c: (gst_clock_entry_new):
28573         * gst/gstevent.c: (gst_event_discont_get_value):
28574         * gst/gstpipeline.c: (pipeline_bus_handler),
28575         (gst_pipeline_change_state):
28576         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
28577         Better debugging of clocking info.
28578         Allow NULL values when getting discont values.
28579
28580 2005-04-27  Wim Taymans  <wim@fluendo.com>
28581
28582         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28583         * check/gst/gstpad.c: (gst_pad_suite):
28584         Increase timeout for checks.
28585
28586 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28587
28588         * check/Makefile.am:
28589           fix the broken rule for cleanup.  Apparently this rule is
28590           only needed on FC2, so maybe this warrants further autotool
28591           inspection.
28592
28593 2005-04-26  Wim Taymans  <wim@fluendo.com>
28594
28595         * gst/gsttrashstack.h:
28596         Ooohh. a nasty one! After having a failed pop() from the stack,
28597         it's possible that the stack is empty. In that case, don't
28598         follow the NULL pointer.
28599
28600 2005-04-25  Wim Taymans  <wim@fluendo.com>
28601
28602         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28603         (gst_pad_set_checkgetrange_function),
28604         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
28605         (gst_pad_check_pull_range), (gst_pad_pull_range),
28606         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28607         (gst_pad_pause_task), (gst_pad_stop_task):
28608         * gst/gstplugin.c: (gst_plugin_load):
28609         * gst/gstplugin.h:
28610         Remove gst_library_load as it does more harm than good with
28611         the new g_module flags.
28612         Revert bogus caps template check in pad linking, pad caps
28613         are important when linking not the template, which is more
28614         general than the current caps.
28615
28616 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28617
28618         * gst/autoplug/.cvsignore:
28619         * gst/autoplug/Makefile.am:
28620         * gst/autoplug/gstsearchfuncs.c:
28621         * gst/autoplug/gstsearchfuncs.h:
28622         * gst/autoplug/gstspider.c:
28623         * gst/autoplug/gstspider.h:
28624         * gst/autoplug/gstspideridentity.c:
28625         * gst/autoplug/gstspideridentity.h:
28626         * gst/autoplug/spidertest.c:
28627           Die, spider, die.
28628
28629 2005-04-25  Wim Taymans  <wim@fluendo.com>
28630
28631         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28632         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28633         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
28634         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
28635         * gst/gstpad.h:
28636         Added stubs for unimplemented functions. 
28637
28638 2005-04-24  David Schleef  <ds@schleef.org>
28639
28640         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
28641         please fix.
28642
28643 2005-04-24  David Schleef  <ds@schleef.org>
28644
28645         Convert everything from GstAtomicInt to g_atomic_int_*, and
28646         remove gstatomic.
28647         * gst/Makefile.am:
28648         * gst/gstatomic.c:
28649         * gst/gstatomic.h:
28650         * gst/gstatomic_impl.h:
28651         * gst/gstbuffer.c:
28652         * gst/gstcaps.c:
28653         * gst/gstcaps.h:
28654         * gst/gstclock.c:
28655         * gst/gstclock.h:
28656         * gst/gstdata.c:
28657         * gst/gstdata.h:
28658         * gst/gstdata_private.h:
28659         * gst/gstevent.c:
28660         * gst/gstinfo.c:
28661         * gst/gstinfo.h:
28662         * gst/gstmessage.c:
28663         * gst/gstobject.c:
28664         * gst/gstobject.h:
28665         * gst/gststructure.c:
28666         * gst/gststructure.h:
28667         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
28668         * gst/gstutils.h:
28669
28670 2005-04-24  David Schleef  <ds@schleef.org>
28671
28672         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
28673         make the regressions tests work.  Remove some code that is no
28674         longer true.
28675         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
28676         Disable warning for pads without templates.
28677
28678 2005-04-24  David Schleef  <ds@schleef.org>
28679
28680         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
28681         functions that handle filtered links.
28682         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
28683         removed functions.
28684         * gst/gstutils.c: Fix/remove utility functions that handle
28685         filtered caps.
28686         * gst/gstutils.h:
28687         * gst/gstvalue.c: Add serialization/deserialization of caps
28688         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
28689         requires fixing so that the filter caps notation creates
28690         a capsfilter element and sets the filter_caps property.  I
28691         think everyone probably wants to keep the shorthand notation.
28692         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
28693         * docs/gst/tmpl/gstpad.sgml:
28694
28695         * gst/elements/gstelements.c: Register capsfilter element.
28696         * gst/Makefile.am: fix spacing
28697         * docs/random/ds/0.9-suggested-changes: random
28698
28699 2005-04-23  David Schleef  <ds@schleef.org>
28700
28701         * gst/elements/Makefile.am:
28702         * gst/elements/gstcapsfilter.c: New element that acts like an
28703         identity, but filters caps.  Will eventually replace filtered
28704         caps in pad linking.
28705         * gst/gstutils.c: (gst_element_create_all_pads): New function
28706         to create all the ALWAYS pads that are registered with an
28707         element class.  This functionality should eventually be
28708         merged in with GstElement initialization.
28709         * gst/gstutils.h:
28710         * testsuite/trigger/README: part of trigger test code that should
28711         have been checked in a long time ago.
28712
28713 2005-04-23  David Schleef  <ds@schleef.org>
28714
28715         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
28716         needed with new versions of libtool (nobody will confirm this),
28717         and hard to carry around.
28718         * gst/autoplug/Makefile.am:
28719         * gst/base/Makefile.am:
28720         * gst/elements/Makefile.am:
28721         * gst/indexers/Makefile.am:
28722         * gst/schedulers/Makefile.am:
28723         * libs/gst/bytestream/Makefile.am:
28724         * libs/gst/control/Makefile.am:
28725         * libs/gst/dataprotocol/Makefile.am:
28726         * libs/gst/getbits/Makefile.am:
28727
28728 2005-04-21  Wim Taymans  <wim@fluendo.com>
28729
28730         * docs/design/draft-push-pull.txt:
28731         * docs/design/part-MT-refcounting.txt:
28732         * docs/design/part-TODO.txt:
28733         * docs/design/part-caps.txt:
28734         * docs/design/part-events.txt:
28735         * docs/design/part-gstbus.txt:
28736         * docs/design/part-gstpipeline.txt:
28737         * docs/design/part-messages.txt:
28738         * docs/design/part-push-pull.txt:
28739         * docs/design/part-query.txt:
28740         Some more docs.
28741
28742 2005-04-21  Wim Taymans  <wim@fluendo.com>
28743
28744         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
28745         (gst_message_new), (gst_message_new_error),
28746         (gst_message_new_warning), (gst_message_new_tag),
28747         (gst_message_new_state_changed), (gst_message_new_application),
28748         (gst_message_get_structure):
28749         * gst/gstmessage.h:
28750         * gst/gststructure.c: (gst_structure_set_parent_refcount),
28751         (gst_structure_copy_conditional):
28752         Use parent refcount in GstMessage to ensure GstStructure
28753         consistency.
28754         Cleaned up headers a bit.
28755         
28756
28757 2005-04-20  Wim Taymans  <wim@fluendo.com>
28758
28759         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28760         (gst_basesink_pad_getcaps), (gst_basesink_init),
28761         (gst_basesink_chain_unlocked):
28762         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
28763         (gst_type_find_helper):
28764         * gst/elements/gsttypefindelement.c:
28765         (gst_type_find_element_have_type), (gst_type_find_element_init),
28766         (stop_typefinding), (gst_type_find_element_handle_event),
28767         (find_suggest), (gst_type_find_element_chain),
28768         (gst_type_find_element_checkgetrange),
28769         (gst_type_find_element_getrange), (do_typefind),
28770         (gst_type_find_element_activate):
28771         * gst/gstbuffer.c: (_gst_buffer_sub_free),
28772         (gst_buffer_default_free), (gst_buffer_default_copy),
28773         (gst_buffer_set_caps):
28774         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
28775         (gst_caps_replace):
28776         * gst/gstmessage.c: (gst_message_new),
28777         (gst_message_new_state_changed):
28778         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28779         (gst_pad_set_checkgetrange_function),
28780         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
28781         (gst_pad_set_caps), (gst_pad_check_pull_range),
28782         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
28783         * gst/gstpad.h:
28784         * gst/gsttypefind.c: (gst_type_find_register):
28785         Make gst_caps_replace() work like other _replace() functions.
28786         Use _caps_replace() where possible.
28787         Make sure _message_new() initialises its field.
28788         Add gst_static_pad_template_get_caps()
28789
28790
28791 2005-04-18  Andy Wingo  <wingo@pobox.com>
28792
28793         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
28794         on the peer, not the pad. I think that was a typo. Pass an extra
28795         arg to see if random access is possible. Activate the pads as
28796         PULL_RANGE if possible.
28797
28798         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
28799
28800         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
28801         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
28802         to PROP_....
28803
28804 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28805
28806         * docs/faq/using.xml:
28807           Add note on gstreamer-properties (#154996).
28808
28809 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28810
28811         * docs/random/bbb/optional-properties:
28812           Some analysis on optional properties.
28813
28814 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28815
28816         * docs/gst/tmpl/gstelementfactory.sgml:
28817         * gst/gstelement.h:
28818         * gst/gstelementfactory.c: (gst_element_factory_init),
28819         (gst_element_factory_cleanup), (gst_element_register),
28820         (__gst_element_factory_add_static_pad_template),
28821         (gst_element_factory_get_static_pad_templates),
28822         (gst_element_factory_can_src_caps),
28823         (gst_element_factory_can_sink_caps):
28824         * gst/registries/Makefile.am:
28825         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
28826         (gst_xml_registry_class_init), (gst_xml_registry_init),
28827         (gst_xml_registry_new), (gst_xml_registry_set_property),
28828         (gst_xml_registry_get_property), (get_time), (make_dir),
28829         (gst_xml_registry_get_perms_func),
28830         (plugin_times_older_than_recurse), (plugin_times_older_than),
28831         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
28832         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
28833         (add_to_char_array), (read_string), (read_uint), (read_enum),
28834         (load_pad_template), (load_feature), (load_plugin), (load_paths),
28835         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
28836         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
28837         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
28838         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
28839         (gst_xml_registry_rebuild):
28840         * gst/registries/gstlibxmlregistry.h:
28841         * tools/gst-compprep.c: (main):
28842         * tools/gst-inspect.c: (print_pad_templates_info):
28843         * tools/gst-xmlinspect.c: (print_element_info):
28844           Use libxml2 for registry parsing, use staticpadtemplates in
28845           elementfactories. Makes gst_init() +/- 10x faster.
28846
28847 2005-04-12  Wim Taymans  <wim@fluendo.com>
28848
28849         * gst/base/Makefile.am:
28850         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28851         (gst_basesink_pad_getcaps), (gst_basesink_init),
28852         (gst_basesink_event), (gst_basesink_change_state):
28853         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28854         (gst_basesrc_init), (gst_basesrc_query),
28855         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28856         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28857         (gst_basesrc_check_get_range), (gst_basesrc_loop),
28858         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28859         (gst_basesrc_stop), (gst_basesrc_activate),
28860         (gst_basesrc_change_state):
28861         * gst/base/gsttypefindhelper.c: (helper_find_peek),
28862         (helper_find_suggest), (gst_type_find_helper):
28863         * gst/base/gsttypefindhelper.h:
28864         * gst/elements/Makefile.am:
28865         * gst/elements/gstelements.c:
28866         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28867         (gst_fakesink_get_times), (gst_fakesink_event),
28868         (gst_fakesink_preroll), (gst_fakesink_render):
28869         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28870         (gst_fakesrc_init), (gst_fakesrc_event_handler),
28871         (gst_fakesrc_get_property), (gst_fakesrc_create),
28872         (gst_fakesrc_start), (gst_fakesrc_stop):
28873         * gst/elements/gstfakesrc.h:
28874         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
28875         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28876         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28877         (gst_filesrc_create_read), (gst_filesrc_create),
28878         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
28879         (gst_filesrc_start):
28880         * gst/elements/gsttypefindelement.c:
28881         (gst_type_find_element_have_type), (gst_type_find_element_init),
28882         (start_typefinding), (stop_typefinding), (push_buffer_store),
28883         (gst_type_find_element_handle_event),
28884         (gst_type_find_element_chain),
28885         (gst_type_find_element_checkgetrange),
28886         (gst_type_find_element_getrange), (do_typefind),
28887         (gst_type_find_element_activate),
28888         (gst_type_find_element_change_state):
28889         * gst/elements/gsttypefindelement.h:
28890         * gst/gstpipeline.c: (pipeline_bus_handler):
28891         Added typefind helper.
28892         Small preroll fix in the base sink.
28893         Disable typefind code in basesrc.
28894         Crude port of typefindelement.
28895         Fakesrc cleanups.
28896
28897
28898 2005-04-11  Wim Taymans  <wim@fluendo.com>
28899
28900         * check/gst/gstbus.c: (gstbus_suite):
28901         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
28902         * check/gstcheck.h:
28903           Fix up the timeout so that the test does not fail.
28904
28905 2005-04-06  Wim Taymans  <wim@fluendo.com>
28906
28907         * gst/base/README:
28908         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28909         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
28910         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28911         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28912         (gst_basesrc_check_get_range), (gst_basesrc_loop),
28913         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28914         (gst_basesrc_stop), (gst_basesrc_activate),
28915         (gst_basesrc_change_state), (basesrc_find_peek),
28916         (basesrc_find_suggest), (gst_basesrc_type_find):
28917         * gst/base/gstbasesrc.h:
28918         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
28919         (gst_filesrc_class_init), (gst_filesrc_init),
28920         (gst_filesrc_finalize), (gst_filesrc_set_location),
28921         (gst_filesrc_set_property), (gst_filesrc_get_property),
28922         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28923         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28924         (gst_filesrc_create_read), (gst_filesrc_create),
28925         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
28926         * gst/elements/gstfilesrc.h:
28927         * gst/gstelement.c: (gst_element_get_state_func),
28928         (gst_element_lost_state), (gst_element_pads_activate):
28929         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28930         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28931         (gst_pad_pull_range):
28932         * gst/gstpad.h:
28933         More work on the generic source base class, implement seeking,
28934         query.
28935         Make filesrc extend the base source class.
28936         Added gst_pad_set_checkgetrange_function to GstPad.
28937
28938 2005-04-06  Andy Wingo  <wingo@pobox.com>
28939
28940         * pkgconfig/gstreamer-base.pc.in:
28941         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
28942
28943         * pkgconfig/Makefile.am:
28944         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
28945
28946 2005-04-04  Wim Taymans  <wim@fluendo.com>
28947
28948         * gst/base/Makefile.am:
28949         * gst/base/README:
28950         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28951         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28952         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28953         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
28954         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28955         (gst_basesrc_base_init), (gst_basesrc_class_init),
28956         (gst_basesrc_init), (gst_basesrc_get_formats),
28957         (gst_basesrc_get_query_types), (gst_basesrc_query),
28958         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
28959         (gst_basesrc_set_property), (gst_basesrc_get_property),
28960         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
28961         (gst_basesrc_loop), (gst_basesrc_activate),
28962         (gst_basesrc_change_state):
28963         * gst/base/gstbasesrc.h:
28964         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
28965         (gst_fakesrc_class_init), (gst_fakesrc_init),
28966         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
28967         (gst_fakesrc_get_property), (gst_fakesrc_create):
28968         * gst/elements/gstfakesrc.h:
28969         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
28970         (gst_filesrc_open_file), (gst_filesrc_loop),
28971         (gst_filesrc_activate), (filesrc_find_peek),
28972         (gst_filesrc_type_find):
28973         Made base source class, make fakesrc extend it.
28974         Add comments to basesink class.
28975         Some filesrc cleanup.
28976
28977 2005-03-31  David Schleef  <ds@schleef.org>
28978
28979         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
28980         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
28981         expected to link against libgstreamer.
28982         * gst/base/Makefile.am: link against libgstreamer
28983         * gst/elements/Makefile.am: same
28984
28985 2005-03-31  Andy Wingo  <wingo@pobox.com>
28986
28987         * tests/instantiate/Makefile.am:
28988         * tests/instantiate/caps.c: Add test to test speed of caps copy
28989         and free.
28990
28991         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
28992         GMemChunk to be fair.
28993
28994         * gst/gsttrashstack.h: Remove warning about using the fallback
28995         trash stack implementation, it's still faster than malloc.
28996
28997 2005-03-30  Andy Wingo  <wingo@pobox.com>
28998
28999         * tests/complexity.c: Add a copyright.
29000
29001 2005-03-31  Wim Taymans  <wim@fluendo.com>
29002
29003         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
29004         (gst_base_transform_class_init), (gst_base_transform_init),
29005         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
29006         (gst_base_transform_get_property),
29007         (gst_base_transform_sink_activate),
29008         (gst_base_transform_src_activate),
29009         (gst_base_transform_change_state):
29010         * gst/base/gstbasetransform.h:
29011         * gst/elements/gstidentity.c: (gst_identity_class_init),
29012         (gst_identity_event), (gst_identity_check_perfect),
29013         (gst_identity_transform), (gst_identity_start),
29014         (gst_identity_stop):
29015         Added start/stop methods to transform base class so subclasses 
29016         don't need to deal with state changes even.
29017
29018 2005-03-31  Wim Taymans  <wim@fluendo.com>
29019
29020         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
29021         (gst_event_new_discontinuous), (gst_event_discont_get_value):
29022         * gst/gstevent.h:
29023         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29024         (gst_pad_pull_range):
29025         Added rate to the discont event to prepare for variable speed
29026         and reverse playback.
29027
29028 2005-03-29  David Schleef  <ds@schleef.org>
29029
29030         * configure.ac:
29031         * testsuite/trigger/Makefile.am:
29032         * testsuite/trigger/trigger.c: A little example program to show
29033         how trigger-based elements can work.
29034
29035 2005-03-29  Wim Taymans  <wim@fluendo.com>
29036
29037         * gst/base/Makefile.am:
29038         * gst/base/README:
29039         * gst/base/gstbasesink.c: (gst_basesink_get_type),
29040         (gst_basesink_base_init), (gst_basesink_class_init),
29041         (gst_basesink_pad_getcaps), (gst_basesink_init),
29042         (gst_basesink_activate), (gst_basesink_change_state):
29043         * gst/base/gstbasesink.h:
29044         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
29045         (gst_base_transform_base_init), (gst_base_transform_finalize),
29046         (gst_base_transform_class_init), (gst_base_transform_init),
29047         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
29048         (gst_base_transform_event), (gst_base_transform_getrange),
29049         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
29050         (gst_base_transform_set_property),
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_finalize),
29057         (gst_identity_class_init), (gst_identity_init),
29058         (gst_identity_event), (gst_identity_check_perfect),
29059         (gst_identity_transform), (gst_identity_set_property),
29060         (gst_identity_get_property), (gst_identity_change_state):
29061         * gst/elements/gstidentity.h:
29062         * gst/gstelement.c: (gst_element_get_state_func),
29063         (gst_element_lost_state), (gst_element_pads_activate):
29064         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29065         (gst_pad_check_pull_range), (gst_pad_pull_range):
29066         * gst/gstpad.h:
29067         Simplify pad activation.
29068         Added function to check if pull_range can be performed.
29069         Error out when pulling inactive or flushing pads.
29070         Removed const from refcounted types as it does not make sense.
29071         Simplify pad templates in basesink
29072         Added base class for simple 1-to-1 transforms.
29073         Make identity subclass the base transform.
29074
29075 2005-03-29  Andy Wingo  <wingo@pobox.com>
29076
29077         * docs/libs/gstreamer-libs-overrides.txt: 
29078         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
29079         really don't understand what's going on, but like whatever. I want
29080         green buildbot!
29081
29082         * docs/gst/Makefile.am:
29083         * docs/libs/Makefile.am: Dist the overrides files.
29084
29085         * check/Makefile.am (clean-local): Remove .libs directories.
29086
29087         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
29088         elements to EXTRA_DIST, so po/ files are happy.
29089
29090         * po/POTFILES.in: Er, remove it here.
29091
29092         * po/POTFILES: Remove gstspider.c.
29093
29094         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
29095
29096         * docs/libs/gstreamer-libs-docs.sgml: 
29097         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
29098         bytestream.
29099
29100         * tests/complexity.c (main): Set the length of the preroll queue
29101         on the sinks to prevent a lockup.
29102
29103         * libs/gst/dataprotocol/Makefile.am: 
29104         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
29105         the same as the one in check/gst-libs/gdp.c.
29106
29107         * po/, docs/gst/: Commit automatic changes to docs and po files.
29108
29109         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
29110         the versioned libgstbase.
29111
29112         * check/Makefile.am: Depend on an unversioned gst-register, seems
29113         to make autoconf happier.
29114
29115         * gst/base/Makefile.am: Make libgstbase a versioned lib.
29116
29117 2005-03-28  Wim Taymans  <wim@fluendo.com>
29118
29119         * configure.ac:
29120         * docs/design/part-gstelement.txt:
29121         * docs/design/part-negotiation.txt:
29122         * docs/design/part-preroll.txt:
29123         * docs/design/part-scheduling.txt:
29124         * docs/design/part-states.txt:
29125         * gst/Makefile.am:
29126         * gst/base/Makefile.am:
29127         * gst/base/README:
29128         * gst/base/gstbasesink.c: (gst_basesink_get_template),
29129         (gst_basesink_base_init), (gst_basesink_class_init),
29130         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29131         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29132         (gst_basesink_set_pad_functions),
29133         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
29134         (gst_basesink_set_property), (gst_basesink_get_property),
29135         (gst_base_sink_get_template), (gst_base_sink_get_caps),
29136         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
29137         (gst_basesink_preroll_queue_push),
29138         (gst_basesink_preroll_queue_empty),
29139         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
29140         (gst_basesink_event), (gst_basesink_get_times),
29141         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
29142         (gst_basesink_chain_unlocked), (gst_basesink_chain),
29143         (gst_basesink_loop), (gst_basesink_activate),
29144         (gst_basesink_change_state):
29145         * gst/base/gstbasesink.h:
29146         * gst/elements/Makefile.am:
29147         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
29148         (gst_fakesink_class_init), (gst_fakesink_init),
29149         (gst_fakesink_set_property), (gst_fakesink_get_property),
29150         (gst_fakesink_get_times), (gst_fakesink_event),
29151         (gst_fakesink_preroll), (gst_fakesink_render),
29152         (gst_fakesink_change_state):
29153         * gst/elements/gstfakesink.h:
29154         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29155         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
29156         * gst/gstelement.c: (gst_element_add_pad),
29157         (gst_element_get_state_func), (gst_element_abort_state),
29158         (gst_element_commit_state), (gst_element_lost_state),
29159         (gst_element_set_state), (gst_element_pads_activate):
29160         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
29161         * gst/gstpipeline.c: (gst_pipeline_send_event),
29162         (gst_pipeline_change_state):
29163         Added state change code.
29164         Added/updated docs.
29165         Added sink base class, make fakesink extend the base class.
29166         Small cleanups in GstPipeline.
29167
29168 2005-03-26  David Schleef  <ds@schleef.org>
29169
29170         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
29171         is broken and should be implemented in a different library.
29172         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
29173         * gst/gst.h: remove gstcpu.h
29174         * gst/gstcpu.c: remove
29175         * gst/gstcpu.h: remove
29176         * gst/Makefile.am.future: Remove this file.  It's ancient.
29177
29178 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29179
29180         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29181         (gst_bin_send_event):
29182           Add default event/set_manager handlers. The set_manager handler
29183           takes care that the manager is distributed over kids that were
29184           already in the bin before the manager was set. The event handler
29185           is a utility virtual function that sends the event over all sinks,
29186           so that gst_element_send_event (bin, event); has the expected
29187           behaviour.
29188         * gst/gstpad.c: (gst_pad_event_default):
29189           Re-install default event handling for discontinuities, so that
29190           seeking works without requiring hacks in applications or extra
29191           code in sinks.
29192         * gst/gstpipeline.c: (gst_pipeline_class_init),
29193         (gst_pipeline_send_event):
29194           Half hack, half utility: set a pipeline to PAUSED for seek events,
29195           since that is the only way we can guarantee a/v sync. Means that
29196           you can do gst_element_seek (pipeline, method, pos); on a pipeline
29197           and it "just works".
29198
29199 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29200
29201         * gst/gstpipeline.c: (gst_pipeline_use_clock):
29202           Lock/unlock mismatch.
29203
29204 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
29205
29206         * docs/faq/gst-uninstalled:
29207           add gst-plugins-base
29208         * docs/gst/Makefile.am:
29209           don't error out until docs are fixed
29210         * docs/gst/gstreamer.types:
29211           remove thread
29212
29213 2005-03-22  Wim Taymans  <wim@fluendo.com>
29214
29215         * check/Makefile.am:
29216         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
29217         * gst/gststructure.c: (gst_structure_set_valist),
29218         (gst_structure_copy_conditional):
29219         Activated more tests.
29220         Added message test.
29221         Added G_TYPE_POINTER to GstStructure.
29222         
29223
29224 2005-03-22  Wim Taymans  <wim@fluendo.com>
29225
29226         * docs/design/part-TODO.txt:
29227         * docs/design/part-events.txt:
29228         * docs/design/part-gstbin.txt:
29229         * docs/design/part-gstbus.txt:
29230         * docs/design/part-gstpipeline.txt:
29231         * docs/design/part-messages.txt:
29232         * gst/gstbus.c:
29233         * gst/gstmessage.c:
29234         Docs updates
29235
29236 2005-03-21  Wim Taymans  <wim@fluendo.com>
29237
29238         * gst/gstbus.c: (gst_bus_post):
29239         Fix copy-and-paste error.
29240
29241 2005-03-21  Wim Taymans  <wim@fluendo.com>
29242
29243         * check/Makefile.am:
29244         * gst/Makefile.am:
29245         * gst/elements/Makefile.am:
29246         * gst/elements/gstelements.c:
29247         * gst/elements/gstfakesink.c: (gst_fakesink_init),
29248         (gst_fakesink_event), (gst_fakesink_chain):
29249         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29250         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
29251         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
29252         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
29253         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
29254         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
29255         (gst_fakesrc_loop), (gst_fakesrc_activate),
29256         (gst_fakesrc_change_state):
29257         * gst/elements/gstfakesrc.h:
29258         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
29259         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
29260         (gst_filesrc_open_file), (gst_filesrc_loop),
29261         (gst_filesrc_activate), (gst_filesrc_change_state),
29262         (filesrc_find_peek), (filesrc_find_suggest),
29263         (gst_filesrc_type_find):
29264         * gst/elements/gstidentity.c: (gst_identity_finalize),
29265         (gst_identity_class_init), (gst_identity_init),
29266         (gst_identity_proxy_getcaps), (identity_queue_push),
29267         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
29268         (gst_identity_getrange), (gst_identity_chain),
29269         (gst_identity_sink_loop), (gst_identity_src_loop),
29270         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
29271         (gst_identity_set_property), (gst_identity_get_property),
29272         (gst_identity_change_state):
29273         * gst/elements/gstidentity.h:
29274         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
29275         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
29276         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
29277         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
29278         (gst_tee_sink_activate):
29279         * gst/elements/gsttee.h:
29280         * gst/gst.c: (gst_register_core_elements), (init_post):
29281         * gst/gst.h:
29282         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
29283         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
29284         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
29285         (gst_bin_change_state):
29286         * gst/gstbin.h:
29287         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
29288         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
29289         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
29290         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
29291         (gst_bus_set_sync_handler), (gst_bus_create_watch),
29292         (bus_watch_callback), (bus_watch_destroy),
29293         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
29294         (poll_timeout), (gst_bus_poll):
29295         * gst/gstbus.h:
29296         * gst/gstcaps.h:
29297         * gst/gstdata.h:
29298         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29299         (gst_element_post_message), (gst_element_message_full),
29300         (gst_element_get_state_func), (gst_element_get_state),
29301         (gst_element_abort_state), (gst_element_commit_state),
29302         (gst_element_lost_state), (gst_element_set_state),
29303         (gst_element_pads_activate), (gst_element_change_state),
29304         (gst_element_dispose), (gst_element_set_manager_func),
29305         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
29306         (gst_element_set_manager), (gst_element_get_manager),
29307         (gst_element_set_bus), (gst_element_get_bus),
29308         (gst_element_set_scheduler), (gst_element_get_scheduler):
29309         * gst/gstelement.h:
29310         * gst/gstevent.c: (gst_event_new_segment_seek),
29311         (gst_event_new_flush):
29312         * gst/gstevent.h:
29313         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
29314         (_gst_message_free), (gst_message_get_type), (gst_message_new),
29315         (gst_message_new_eos), (gst_message_new_error),
29316         (gst_message_new_warning), (gst_message_new_tag),
29317         (gst_message_new_state_changed), (gst_message_new_application),
29318         (gst_message_get_structure), (gst_message_parse_tag),
29319         (gst_message_parse_state_changed), (gst_message_parse_error),
29320         (gst_message_parse_warning):
29321         * gst/gstmessage.h:
29322         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
29323         (gst_real_pad_set_property), (gst_pad_set_active),
29324         (gst_pad_is_active), (gst_pad_set_blocked_async),
29325         (gst_pad_set_blocked), (gst_pad_is_blocked),
29326         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
29327         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
29328         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
29329         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
29330         (gst_pad_link_filtered), (gst_pad_relink_filtered),
29331         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
29332         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
29333         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
29334         (gst_pad_set_caps), (gst_pad_configure_sink),
29335         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
29336         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
29337         (gst_real_pad_dispose), (gst_real_pad_finalize),
29338         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
29339         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29340         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
29341         * gst/gstpad.h:
29342         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
29343         (pipeline_bus_handler), (gst_pipeline_change_state),
29344         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
29345         * gst/gstpipeline.h:
29346         * gst/gstprobe.h:
29347         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
29348         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
29349         (gst_queue_link_src), (gst_queue_bufferalloc),
29350         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
29351         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
29352         (gst_queue_loop), (gst_queue_handle_src_event),
29353         (gst_queue_handle_src_query), (gst_queue_src_activate),
29354         (gst_queue_change_state):
29355         * gst/gstqueue.h:
29356         * gst/gstscheduler.c: (gst_scheduler_init),
29357         (gst_scheduler_dispose), (gst_scheduler_create_task),
29358         (gst_scheduler_factory_create):
29359         * gst/gstscheduler.h:
29360         * gst/gststructure.c: (gst_structure_get_type),
29361         (gst_structure_copy_conditional):
29362         * gst/gststructure.h:
29363         * gst/gsttaginterface.h:
29364         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
29365         (gst_task_init), (gst_task_dispose), (gst_task_create),
29366         (gst_task_get_state), (gst_task_start), (gst_task_stop),
29367         (gst_task_pause):
29368         * gst/gsttask.h:
29369         * gst/gstthread.c:
29370         * gst/gstthread.h:
29371         * gst/gsttypes.h:
29372         * gst/schedulers/Makefile.am:
29373         * gst/schedulers/cothreads_compat.h:
29374         * gst/schedulers/entryscheduler.c:
29375         * gst/schedulers/faircothreads.c:
29376         * gst/schedulers/faircothreads.h:
29377         * gst/schedulers/fairscheduler.c:
29378         * gst/schedulers/gstbasicscheduler.c:
29379         * gst/schedulers/gstoptimalscheduler.c:
29380         * gst/schedulers/gthread-cothreads.h:
29381         * gst/schedulers/threadscheduler.c:
29382         (gst_thread_scheduler_task_get_type),
29383         (gst_thread_scheduler_task_class_init),
29384         (gst_thread_scheduler_task_init),
29385         (gst_thread_scheduler_task_start),
29386         (gst_thread_scheduler_task_stop),
29387         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
29388         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29389         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
29390         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
29391         (plugin_init):
29392         * libs/gst/Makefile.am:
29393         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
29394         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
29395         (gst_file_pad_parent_set):
29396         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
29397         (gst_dp_event_from_packet):
29398         * tests/complexity.c: (main):
29399         * tests/mass_elements.c: (main):
29400         * testsuite/states/locked.c: (message_received), (main):
29401         * testsuite/states/parent.c: (main):
29402         * tools/gst-inspect.c: (print_element_flag_info),
29403         (print_implementation_info), (print_pad_info):
29404         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
29405         (main):
29406         * tools/gst-md5sum.c: (event_loop), (main):
29407         * tools/gst-typefind.c: (main):
29408         * tools/gst-xmlinspect.c: (print_element_info):
29409         Next big merge.
29410         Added GstBus for mainloop integration.
29411         Added GstMessage for sending notifications on the bus.
29412         Added GstTask as an abstraction for pipeline entry points.
29413         Removed GstThread.
29414         Removed Schedulers.
29415         Simplified GstQueue for multithreaded core.
29416         Made _link threadsafe, removed old capsnego.
29417         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
29418         Added pad blocking functions.
29419         Reworked scheduling functions in GstPad to prepare for
29420         scheduling updates soon.
29421         Moved events out of data stream.
29422         Simplified GstEvent types.
29423         Added return values to push/pull.
29424         Removed clocking from GstElement.
29425         Added prototypes for state change function for next merge.
29426         Removed iterate from bins and state change management.
29427         Fixed some elements, disabled others for now.
29428         Fixed -inspect and -launch.
29429         Added check for GstBus.
29430
29431 2005-03-10  Wim Taymans  <wim@fluendo.com>
29432
29433         * docs/design/part-MT-refcounting.txt:
29434         * docs/design/part-clocks.txt:
29435         * docs/design/part-gstelement.txt:
29436         * docs/design/part-gstobject.txt:
29437         * docs/design/part-standards.txt:
29438         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29439         (gst_bin_remove_func), (gst_bin_remove):
29440         * gst/gstbin.h:
29441         * gst/gstbuffer.c:
29442         * gst/gstcaps.h:
29443         * testsuite/clock/clock1.c: (main):
29444         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
29445         (main):
29446         * testsuite/dlopen/loadgst.c: (do_test):
29447         * testsuite/refcounting/bin.c: (add_remove_test1),
29448         (add_remove_test2), (main):
29449         * testsuite/refcounting/element.c: (main):
29450         * testsuite/refcounting/element_pad.c: (main):
29451         * testsuite/refcounting/pad.c: (main):
29452         * tools/gst-launch.c: (sigint_handler_sighandler):
29453         * tools/gst-typefind.c: (main):
29454         Doc updates.
29455         Added doc about clock.
29456         removed gst_bin_iterate_recurse_up(), marked methods
29457         for removal.
29458         Fix more testsuites.
29459
29460 2005-03-09  Wim Taymans  <wim@fluendo.com>
29461
29462         * gst/gstpad.c: (gst_pad_get_direction),
29463         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
29464         (gst_pad_collect_valist):
29465         * testsuite/bins/interface.c: (main):
29466         * testsuite/caps/audioscale.c: (test_caps):
29467         * testsuite/caps/caps.c: (test1), (test2), (test3):
29468         * testsuite/caps/deserialize.c: (main):
29469         * testsuite/caps/enumcaps.c: (main):
29470         * testsuite/caps/filtercaps.c: (main):
29471         * testsuite/caps/intersect2.c: (main):
29472         * testsuite/caps/random.c: (main):
29473         * testsuite/caps/renegotiate.c: (my_fixate), (main):
29474         * testsuite/caps/sets.c: (check_caps):
29475         * testsuite/caps/simplify.c: (check_caps), (main):
29476         * testsuite/caps/subtract.c: (check_caps):
29477         Fix _pad_get_direction wrt ghostpads.
29478         Fix caps testsuite.
29479
29480 2005-03-09  Wim Taymans  <wim@fluendo.com>
29481
29482         * check/Makefile.am:
29483         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
29484         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
29485         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
29486         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
29487         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
29488         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
29489         (gst_bin_remove), (gst_bin_iterate_recurse_up),
29490         (bin_element_is_sink), (gst_bin_iterate_sinks),
29491         (gst_bin_iterate_all_by_interface):
29492         * gst/gstbin.h:
29493         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
29494         (gst_element_change_state), (gst_element_dispose),
29495         (gst_element_finalize), (gst_element_set_loop_function):
29496         * gst/gstelement.h:
29497         * gst/gstiterator.c: (find_custom_fold_func):
29498         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29499         (gst_pad_collectv), (gst_pad_collect_valist),
29500         (gst_pad_template_new):
29501         * gst/gstpipeline.c: (gst_pipeline_class_init),
29502         (gst_pipeline_dispose), (gst_pipeline_set_property),
29503         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
29504         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
29505         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
29506         * gst/gstutils.h:
29507         * gst/schedulers/entryscheduler.c:
29508         * gst/schedulers/gstbasicscheduler.c:
29509         (gst_basic_scheduler_cothreaded_chain),
29510         (gst_basic_scheduler_chain_add_element):
29511         * testsuite/bins/interface.c: (main):
29512         Added GstBin test.
29513         Added GstSystemClock test.
29514         Implemented clock distribution code in GstBin.
29515         Implemented iterate sinks method for future use.
29516         Rearranged gstelement.h
29517         Fix GstIterator comparison bug.
29518         Moved some code to GstPipeline, mostly clocking related.
29519
29520 2005-03-09  Wim Taymans  <wim@fluendo.com>
29521
29522         * configure.ac:
29523         * gst/gst_private.h:
29524         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29525         (gst_bin_remove_func), (gst_bin_remove),
29526         (gst_bin_get_by_name_recurse_up):
29527         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
29528         (gst_clock_id_compare_func), (gst_clock_id_wait),
29529         (gst_clock_id_wait_async), (gst_clock_init),
29530         (gst_clock_adjust_unlocked), (gst_clock_get_time):
29531         * gst/gstelement.h:
29532         * gst/gstinfo.c: (_gst_debug_init):
29533         * gst/gstobject.h:
29534         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29535         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
29536         * gst/gstpad.h:
29537         Bump version number, we're now 0.9.0
29538         Add future debugging category.
29539         Fix NULL _unref() in _get_by_name_recurse_up
29540         Rearrange gstpad.h.
29541         Update some docs.
29542
29543 2005-03-08  Wim Taymans  <wim@fluendo.com>
29544
29545         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
29546         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
29547         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29548         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
29549         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
29550         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
29551         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
29552         * gst/elements/gstidentity.c: (gst_identity_class_init):
29553         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
29554         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
29555         * gst/elements/gstshaper.c: (gst_shaper_class_init):
29556         * gst/elements/gststatistics.c: (gst_statistics_class_init):
29557         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
29558         (gst_tee_link):
29559         * gst/gstelement.c: (gst_element_class_init),
29560         (gst_element_base_class_init), (gst_element_init),
29561         (gst_element_get_random_pad), (gst_element_wait_state_change),
29562         (gst_element_change_state), (gst_element_dispose),
29563         (gst_element_finalize), (gst_element_set_loop_function):
29564         * gst/gstelement.h:
29565         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
29566         * gst/gstthread.c: (gst_thread_class_init),
29567         (gst_thread_release_children_locks), (gst_thread_change_state):
29568         * gst/schedulers/gstbasicscheduler.c:
29569         (gst_basic_scheduler_loopfunc_wrapper),
29570         (gst_basic_scheduler_chain_wrapper),
29571         (gst_basic_scheduler_src_wrapper),
29572         (gst_basic_scheduler_remove_element):
29573         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
29574         Remove threadsafe properties. Fix elements because GObject
29575         complains when installing a property before declaring a
29576         set/get_property handler.
29577         Rearrange gstelement.h file, use STATE macros for state locks.
29578         Free mutexes in the finalize method instead of dispose.
29579
29580 2005-03-08  Wim Taymans  <wim@fluendo.com>
29581
29582         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29583         * gst/gstthread.c: (gst_thread_release_children_locks):
29584         Added parentage check.
29585         Fix build og GstThread again.
29586
29587 2005-03-08  Wim Taymans  <wim@fluendo.com>
29588
29589         * docs/design/part-MT-refcounting.txt:
29590         * docs/design/part-conventions.txt:
29591         * docs/design/part-gstobject.txt:
29592         * docs/design/part-relations.txt:
29593         * docs/design/part-standards.txt:
29594         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29595         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
29596         (gst_bin_get_by_name), (gst_bin_get_by_interface),
29597         (gst_bin_iterate_all_by_interface):
29598         * gst/gstbuffer.h:
29599         * gst/gstclock.h:
29600         * gst/gstelement.c: (gst_element_class_init),
29601         (gst_element_change_state), (gst_element_set_loop_function):
29602         * gst/gstelement.h:
29603         * gst/gstiterator.c:
29604         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
29605         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
29606         (gst_object_dispatch_properties_changed), (gst_object_set_name),
29607         (gst_object_set_parent), (gst_object_unparent),
29608         (gst_object_check_uniqueness):
29609         * gst/gstobject.h:
29610         Docs updates, clean up some headers.
29611
29612 2005-03-07  Wim Taymans  <wim@fluendo.com>
29613
29614         * check/.cvsignore:
29615         * check/Makefile.am:
29616         * check/gst-libs/.cvsignore:
29617         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
29618         * check/gst/.cvsignore:
29619         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
29620         (START_TEST), (gstbus_suite), (main):
29621         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
29622         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
29623         (gst_data_suite), (main):
29624         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
29625         (add_fold_func), (gstiterator_suite), (main):
29626         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
29627         (thread_name_object), (thread_name_object_default),
29628         (gst_object_name_compare), (gst_object_suite), (main):
29629         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
29630         (gst_pad_suite), (main):
29631         * check/gstcheck.c: (gst_check_log_message_func),
29632         (gst_check_log_critical_func), (gst_check_init):
29633         * check/gstcheck.h:
29634         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
29635         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
29636         Added checks.
29637
29638 2005-03-07  Wim Taymans  <wim@fluendo.com>
29639
29640         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
29641         (gst_list_iterator_next), (gst_list_iterator_resync),
29642         (gst_list_iterator_free), (gst_iterator_new_list),
29643         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
29644         (gst_iterator_free), (gst_iterator_push), (filter_next),
29645         (filter_resync), (filter_uninit), (filter_free),
29646         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
29647         (gst_iterator_foreach), (find_custom_fold_func),
29648         (gst_iterator_find_custom):
29649         * gst/gstiterator.h:
29650         Added missing files.
29651
29652 2005-03-07  Wim Taymans  <wim@fluendo.com>
29653
29654         * Makefile.am:
29655         * configure.ac:
29656         * docs/design/part-MT-refcounting.txt:
29657         * docs/design/part-conventions.txt:
29658         * docs/design/part-gstobject.txt:
29659         * docs/design/part-relations.txt:
29660         * examples/mixer/mixer.c: (main):
29661         * examples/thread/thread.c: (eos), (main):
29662         * gst/Makefile.am:
29663         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
29664         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
29665         (gst_spider_plug_from_srcpad):
29666         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
29667         (gst_spider_identity_change_state),
29668         (gst_spider_identity_sink_loop_type_finding):
29669         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
29670         * gst/elements/gstidentity.c: (gst_identity_init):
29671         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
29672         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
29673         * gst/elements/gsttypefindelement.c: (free_entry):
29674         * gst/gst.c:
29675         * gst/gst.h:
29676         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
29677         (gst_bin_set_clock_func), (gst_bin_auto_clock),
29678         (gst_bin_set_index), (gst_bin_set_element_sched),
29679         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
29680         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
29681         (gst_bin_iterate_elements), (iterate_child_recurse),
29682         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
29683         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
29684         (compare_interface), (gst_bin_get_by_interface),
29685         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
29686         * gst/gstbin.h:
29687         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
29688         (gst_buffer_default_free), (gst_buffer_default_copy),
29689         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
29690         (gst_buffer_create_sub):
29691         * gst/gstbuffer.h:
29692         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
29693         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
29694         (gst_caps_unref), (gst_static_caps_get),
29695         (gst_caps_remove_and_get_structure), (gst_caps_append),
29696         (gst_caps_append_structure), (gst_caps_remove_structure),
29697         (gst_caps_copy_nth), (gst_caps_set_simple),
29698         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
29699         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
29700         (gst_caps_structure_intersect_field), (gst_caps_intersect),
29701         (gst_caps_structure_subtract_field), (gst_caps_subtract),
29702         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
29703         (gst_caps_structure_figure_out_union),
29704         (gst_caps_switch_structures), (gst_caps_do_simplify),
29705         (gst_caps_replace), (gst_caps_from_string),
29706         (gst_caps_copy_conditional):
29707         * gst/gstcaps.h:
29708         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
29709         (_gst_clock_id_free), (gst_clock_id_unref),
29710         (gst_clock_id_compare_func), (gst_clock_id_wait),
29711         (gst_clock_id_wait_async), (gst_clock_class_init),
29712         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
29713         (gst_clock_get_time), (gst_clock_set_time_adjust),
29714         (gst_clock_set_property), (gst_clock_get_property):
29715         * gst/gstclock.h:
29716         * gst/gstcompat.h:
29717         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
29718         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
29719         * gst/gstdata.h:
29720         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29721         (gst_element_requires_clock), (gst_element_provides_clock),
29722         (gst_element_set_clock), (gst_element_clock_wait),
29723         (gst_element_wait), (gst_element_set_time_delay),
29724         (gst_element_is_indexable), (gst_element_add_pad),
29725         (gst_element_add_ghost_pad), (gst_element_remove_pad),
29726         (pad_compare_name), (gst_element_get_static_pad),
29727         (gst_element_request_pad), (gst_element_get_request_pad),
29728         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
29729         (gst_element_class_get_pad_template_list),
29730         (gst_element_class_get_pad_template), (gst_element_error_func),
29731         (gst_element_get_random_pad), (gst_element_get_event_masks),
29732         (gst_element_send_event), (gst_element_seek),
29733         (gst_element_get_query_types), (gst_element_query),
29734         (gst_element_get_formats), (gst_element_convert),
29735         (gst_element_is_locked_state), (gst_element_set_locked_state),
29736         (gst_element_sync_state_with_parent), (gst_element_change_state),
29737         (gst_element_finalize), (gst_element_yield),
29738         (gst_element_interrupt), (gst_element_set_scheduler),
29739         (gst_element_get_scheduler), (gst_element_set_loop_function):
29740         * gst/gstelement.h:
29741         * gst/gstevent.h:
29742         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
29743         (gst_format_get_by_nick), (gst_format_get_details),
29744         (gst_format_iterate_definitions):
29745         * gst/gstformat.h:
29746         * gst/gstindex.c: (gst_index_gtype_resolver):
29747         * gst/gstinfo.c:
29748         * gst/gstinfo.h:
29749         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
29750         (gst_mem_chunk_free):
29751         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
29752         (gst_object_ref), (gst_object_unref), (gst_object_sink),
29753         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
29754         (gst_object_dispatch_properties_changed),
29755         (gst_object_set_name_default), (gst_object_set_name),
29756         (gst_object_get_name), (gst_object_set_name_prefix),
29757         (gst_object_get_name_prefix), (gst_object_set_parent),
29758         (gst_object_get_parent), (gst_object_unparent),
29759         (gst_object_check_uniqueness), (gst_object_save_thyself),
29760         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
29761         (gst_object_set_property), (gst_object_get_property),
29762         (gst_object_get_path_string):
29763         * gst/gstobject.h:
29764         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29765         (gst_real_pad_init), (gst_real_pad_get_property),
29766         (gst_pad_custom_new), (gst_pad_get_direction),
29767         (gst_pad_set_active), (gst_pad_is_active),
29768         (gst_pad_set_event_function), (gst_pad_is_linked),
29769         (gst_pad_link_free), (gst_pad_link_intersect),
29770         (gst_pad_link_fixate), (gst_pad_set_caps),
29771         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
29772         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
29773         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
29774         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
29775         (gst_pad_get_caps), (gst_pad_peer_get_caps),
29776         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
29777         (gst_pad_realize), (gst_pad_get_allowed_caps),
29778         (gst_real_pad_dispose), (gst_real_pad_finalize),
29779         (gst_pad_collectv), (gst_pad_collect_valist),
29780         (gst_pad_template_dispose), (gst_pad_template_new),
29781         (gst_pad_get_internal_links):
29782         * gst/gstpad.h:
29783         * gst/gstpipeline.c: (gst_pipeline_dispose),
29784         (gst_pipeline_change_state):
29785         * gst/gstpipeline.h:
29786         * gst/gstplugin.c:
29787         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
29788         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
29789         * gst/gstpluginfeature.h:
29790         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
29791         * gst/gstquery.c: (_gst_query_type_initialize),
29792         (gst_query_type_register), (gst_query_type_get_by_nick),
29793         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
29794         * gst/gstquery.h:
29795         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
29796         * gst/gstscheduler.c: (gst_scheduler_add_element),
29797         (gst_scheduler_factory_create):
29798         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29799         (gst_structure_free), (gst_structure_set_name),
29800         (gst_structure_id_set_value), (gst_structure_set_value),
29801         (gst_structure_set_valist), (gst_structure_remove_field),
29802         (gst_structure_remove_fields),
29803         (gst_structure_remove_fields_valist),
29804         (gst_structure_remove_all_fields), (gst_structure_foreach),
29805         (gst_structure_map_in_place),
29806         (gst_caps_structure_fixate_field_nearest_int),
29807         (gst_caps_structure_fixate_field_nearest_double):
29808         * gst/gststructure.h:
29809         * gst/gstsystemclock.c: (gst_system_clock_class_init),
29810         (gst_system_clock_init), (gst_system_clock_dispose),
29811         (gst_system_clock_async_thread),
29812         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
29813         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
29814         * gst/gstsystemclock.h:
29815         * gst/gsttag.c: (gst_tag_list_add_value_internal),
29816         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
29817         * gst/gsttaginterface.c:
29818         * gst/gstthread.c: (gst_thread_dispose),
29819         (gst_thread_release_children_locks), (gst_thread_change_state),
29820         (gst_thread_main_loop):
29821         * gst/gsttrashstack.h:
29822         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
29823         * gst/gsttypes.h:
29824         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29825         (gst_element_request_pad), (gst_element_get_pad_from_template),
29826         (gst_element_request_compatible_pad),
29827         (gst_element_get_compatible_pad_filtered),
29828         (gst_element_get_compatible_pad), (gst_element_state_get_name),
29829         (gst_element_link_pads_filtered), (gst_element_link_filtered),
29830         (gst_element_link_many), (gst_element_link),
29831         (gst_element_link_pads), (gst_element_unlink_pads),
29832         (gst_element_unlink_many), (gst_element_unlink),
29833         (gst_pad_can_link_filtered), (gst_pad_can_link),
29834         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
29835         (gst_object_default_error), (gst_bin_add_many),
29836         (gst_bin_remove_many), (gst_element_populate_std_props),
29837         (gst_element_class_install_std_props), (gst_buffer_merge),
29838         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
29839         (link_fold_func), (gst_pad_proxy_setcaps):
29840         * gst/gstutils.h:
29841         * gst/gstvalue.c: (gst_value_deserialize_string):
29842         * gst/parse/grammar.y:
29843         * gst/schedulers/gstbasicscheduler.c:
29844         (gst_basic_scheduler_cothreaded_chain),
29845         (gst_basic_scheduler_chain_recursive_add),
29846         (gst_basic_scheduler_pad_link):
29847         * gst/schedulers/gstoptimalscheduler.c:
29848         (get_group_schedule_function),
29849         (gst_opt_scheduler_state_transition),
29850         (gst_opt_scheduler_add_element), (element_get_reachables_func):
29851         * libs/gst/bytestream/bytestream.c:
29852         * libs/gst/dataprotocol/dataprotocol.c:
29853         (gst_dp_header_from_buffer):
29854         * po/nb.po:
29855         * po/ru.po:
29856         * tests/threadstate/threadstate2.c: (eos):
29857         * tools/gst-compprep.c: (main):
29858         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
29859         (print_pad_info), (print_children_info):
29860         * tools/gst-launch.c: (idle_func), (main):
29861         * tools/gst-md5sum.c: (idle_func), (main):
29862         * tools/gst-xmlinspect.c: (print_element_info):
29863         First THREADED backport attempt, focusing on adding locks and
29864         making sure the API is threadsafe. Needs more work. More docs
29865         follow this week.
29866
29867 2005-02-24  Andy Wingo  <wingo@pobox.com>
29868
29869         * tests/bench-complexity.scm:
29870         * tests/complexity.gnuplot: New files, good for running complexity
29871         benchmarks.
29872
29873         * tests/Makefile.am:
29874         * tests/complexity.c: New test, sets up N elements, at each level
29875         teeing into M streams per element. Eeeenteresting.
29876
29877         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
29878         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
29879         running bench-mass_elements.scm.
29880
29881         * tests/bench-mass_elements.scm: New script, runs mass_elements
29882         for various numbers of identities, outputting the results to a
29883         file. Requires guile 1.6. Just for testing.
29884
29885 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29886
29887         * gst/schedulers/fairscheduler.c:
29888           compile with debug disabled
29889
29890 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29891
29892         * configure.ac:
29893           hunting season on 0.9 is now OPEN