Put pre-release chaneglog entry where it actually happened
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2
3         * gst/gsterror.c: (_gst_stream_errors_init):
4           Fix typo (spotted by Fabricio Godoy, #536723).
5
6 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
7
8         * configure.ac:
9         0.10.19.2 pre-release
10
11 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
12
13         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
14         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
15         Add some debug.
16         Make sure we don't generate invalid QoS messages.
17
18 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
19
20         * gst/gstevent.c: (gst_event_new_qos):
21         Add some assert and docs for invalid input to the qos function.
22
23 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
24
25         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
26         (gst_base_sink_get_position):
27         The reported position must always be smaller than the last seen
28         timestamps (or timestamp + duration for reverse).
29
30 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
31
32         Patch by: Rob Bradford <rob at robster dot org dot uk>
33
34         * gst/gstregistry.c: (gst_registry_scan_path_level):
35         Don't recurse into .debug directories as some distros install
36         the debugging symbols next to the plugins in .debug directories
37         and dlopen() crashes on them sometimes. Fixes bug #508070.
38
39         Add FIXME for 0.11 to not recurse into directories at all because
40         it's very inconsistent to the behaviour of other PATH environment
41         variables.
42
43 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
44
45         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
46         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
47         Fix position query range checks in reverse playback.
48
49 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
50
51         * gst/gstelement.c:
52         * gst/gstelement.h:
53         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
54         clear of the reference to the resulting pad must be released later
55         or not, resulting in possible leaks. Fixes bug #533865.
56
57 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
58
59         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
60
61         * gst/gstelementfactory.c:
62         Small doc fix. Fixes #535285.
63
64 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
65
66         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
67
68         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
69         (gst_base_src_get_range), (gst_base_src_pad_get_range),
70         (gst_base_src_loop), (gst_base_src_set_flushing),
71         (gst_base_src_change_state):
72         Make sending an EOS event to the basesrc non-blocking even if the
73         implementation does blocking waits in the create function. This is done
74         by unlocking the create function when EOS is sent.
75         Fixes #535218.
76
77 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
78
79         * tools/gst-inspect.c: (print_element_properties_info):
80         If possible print the element type of GValueArray properties.
81
82 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
83
84         * gst/gstiterator.c:
85         Remove an unused field from the private GstListIterator struct.
86
87 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
88
89         * libs/gst/controller/gstcontroller.c:
90           Add parameter guards.
91
92 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
93
94         * tests/check/gst/gstpipeline.c:
95           Revert test change and add comment why it should not work.
96
97 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
98
99         * tests/check/gst/gstpipeline.c:
100           Extending the test a little to verify that we also get the NULL state-
101           change message.
102
103 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
104
105         * gst/gstpreset.c: (gst_preset_default_get_meta),
106           (gst_preset_get_preset_names), (gst_preset_get_property_names),
107           (gst_preset_load_preset), (gst_preset_save_preset),
108           (gst_preset_rename_preset), (gst_preset_delete_preset),
109           (gst_preset_set_meta):
110           Add Since: markers to docs blurbs.
111
112         * win32/common/libgstreamer.def:
113           Add recently-added API.
114
115 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
116
117         Patch by: Stefan Kost  <ensonic@users.sf.net>
118
119         * configure.ac:
120         Add DATADIR for storing presets.
121
122         * docs/gst/gstreamer-docs.sgml:
123         * docs/gst/gstreamer-sections.txt:
124         * docs/gst/gstreamer.types.in:
125         Add GstPreset to docs.
126
127         * gst/Makefile.am:
128         * gst/gst.h:
129         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
130         (preset_open_and_parse_header), (preset_parse_version),
131         (preset_merge), (preset_get_keyfile),
132         (gst_preset_default_get_preset_names),
133         (gst_preset_default_get_property_names),
134         (gst_preset_default_load_preset),
135         (gst_preset_default_save_presets_file),
136         (gst_preset_default_save_preset),
137         (gst_preset_default_rename_preset),
138         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
139         (gst_preset_default_get_meta), (gst_preset_default_randomize),
140         (gst_preset_default_reset), (gst_preset_get_preset_names),
141         (gst_preset_get_property_names), (gst_preset_load_preset),
142         (gst_preset_save_preset), (gst_preset_rename_preset),
143         (gst_preset_delete_preset), (gst_preset_set_meta),
144         (gst_preset_get_meta), (gst_preset_class_init),
145         (gst_preset_base_init), (gst_preset_get_type):
146         * gst/gstpreset.h:
147         Add GstPreset to core. Fixes #396779
148
149         * tests/check/Makefile.am:
150         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
151         (gst_preset_test_set_property), (gst_preset_test_class_init),
152         (gst_preset_test_base_init), (gst_preset_test_get_type),
153         (gst_preset_test_plugin_init), (GST_START_TEST),
154         (remove_preset_file), (test_setup), (test_teardown),
155         (gst_preset_suite):
156         Add GstPreset unit tests.
157
158 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
159
160         * gst/gstpad.c: (gst_pad_event_default_dispatch):
161         The default event function on a sinkpad should return TRUE when
162         there are no internal links but should collect the return values from
163         the internal links otherwise.
164
165 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
166
167         * plugins/elements/gsttypefindelement.c:
168         (gst_type_find_element_src_event),
169         (gst_type_find_element_handle_event):
170         Use faster and safer _pad_push_event().
171
172 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
173
174         * docs/gst/gstreamer-sections.txt:
175         * gst/gstutils.c: (element_find_unlinked_pad),
176           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
177         * gst/gstutils.h:
178           API: add gst_bin_find_unlinked_pad()
179           API: deprecate gst_bin_find_unconnected_pad() (#401456)
180
181 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
182
183         * gst/gstclock.c:
184         * gst/gstclock.h:
185         * gst/gsttask.c:
186         * gst/gsttask.h:
187         Fixed a bunch of typos.
188
189 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
190
191         * gst/gstpad.h:
192         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
193           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
194           (gst_parse_bin_from_description_full):
195         * gst/gstutils.h:
196           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
197
198 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
199
200         * docs/pwg/advanced-tagging.xml:
201           Small docs update, can't be bothered to rewrite the nonsensical
202           examples right now.
203
204 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
205
206         * gst/gstevent.h:
207           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
208
209 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
210
211         * gst/parse/grammar.y:
212           Remove unneeded casts.
213
214 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
215
216         * gst/parse/grammar.y:
217         * tests/check/pipelines/parse-launch.c:
218           Get all missing elements from a parse launch string if possible
219           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
220
221 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
222
223         * tests/check/Makefile.am:
224         * tests/check/pipelines/parse-launch.c:
225           Add some unit tests for the new gst_parse_launch*_full() API.
226           (Exposes a previously-existing memory leak in the error code
227           path, so adding to VALGRIND_TO_FIX for now).
228
229 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
230
231         * docs/gst/gstreamer-sections.txt:
232         * gst/gst.c: (init_post):
233         * gst/gst_private.h: (_GstParseContext):
234         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
235           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
236           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
237           (gst_parse_launch_full):
238         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
239           (GstParseFlags), (GstParseContext):
240         * gst/gstutils.c: (gst_parse_bin_from_description),
241           (gst_parse_bin_from_description_full):
242         * gst/gstutils.h:
243         * gst/parse/grammar.y:
244         * gst/parse/types.h:
245         * win32/common/libgstreamer.def:
246           Add new gst_parse_*_full API (#528178):
247           API: gst_parse_launch_full()
248           API: gst_parse_launchv_full()
249           API: gst_parse_bin_from_description_full()
250           API: gst_parse_context_new()
251           API: gst_parse_context_free()
252           API: gst_parse_context_get_missing_elements()
253
254 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
255
256         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
257
258         * docs/faq/gst-uninstalled:
259           Also support ffmpeg in gst-uninstalled.
260
261 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
262
263         * configure.ac:
264         After discussion on IRC use the binary registry as default
265         but allow to disable it with --disable-binary-registry.
266
267         * win32/common/libgstreamer.def:
268         Add the two new symbols for the binary registry.
269
270 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
271
272         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
273         * gst/gstutils.c: (gst_parse_bin_from_description):
274         * gst/parse/grammar.y: (graph):
275           More guards against bad input; typo fix; some minor clean-ups.
276
277 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
278
279         Patch by: Sjoerd Simons <sjoerd at luon dot net>
280
281         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
282         If nothing else can be used, use the last buffer's start time as
283         the segment's last stop. Fixes bug #534258.
284
285 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
286
287         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
288           Move size sanity check to the right place: downstream may return
289           a buffer with a smaller size if the buffer caps are different than
290           the requested ones, as may happen when doing reverse negotiation.
291
292 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
293
294         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
295         (gst_file_sink_render):
296         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
297         (gst_file_src_start):
298         Small cleanups. Add note adbout g_fopen() on windows and why we don't
299         use it yet.
300
301 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
302
303         * gst/gstpad.c: (gst_pad_load_and_link):
304         * gst/gstutils.c: (gst_element_link_pads),
305         (gst_element_unlink_pads):
306         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
307         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
308         (gst_check_teardown_sink_pad),
309         (gst_check_element_push_buffer_list):
310         * tests/check/elements/fakesink.c: (GST_START_TEST):
311         * tests/check/elements/filesink.c:
312         * tests/check/elements/filesrc.c: (GST_START_TEST):
313         * tests/check/elements/multiqueue.c: (setup_multiqueue),
314         (mq_sinkpad_to_srcpad):
315         * tests/check/elements/tee.c: (GST_START_TEST):
316         * tests/check/generic/sinks.c: (GST_START_TEST):
317         * tests/check/gst/gstbin.c: (GST_START_TEST):
318         * tests/check/gst/gstevent.c: (GST_START_TEST):
319         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
320         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
321         * tests/check/gst/gstquery.c: (GST_START_TEST):
322         * tests/check/gst/gstutils.c: (GST_START_TEST):
323         * tests/check/libs/basesrc.c: (GST_START_TEST):
324         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
325         (gst_parse_test_element_change_state):
326         Don't use gst_element_get_pad().
327
328 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
329
330         * docs/Makefile.am:
331         Fix installing plugin documentation when gtk-doc is disabled.
332
333 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
334
335         * docs/manual/advanced-autoplugging.xml:
336         * docs/manual/basics-helloworld.xml:
337         * docs/manual/basics-pads.xml:
338         * docs/manual/highlevel-components.xml:
339         Avoid using a bad function in the example code.
340
341 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
342
343         * gst/gstclock.c: (gst_clock_set_calibration):
344         Fix debug of the new clock rate.
345
346 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
347
348         * win32/common/libgstbase.def:
349         Add gst_base_sink_wait_clock() to the exported symbols.
350
351 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
352
353         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
354
355         * libs/gst/base/gstbasetransform.c:
356         (gst_base_transform_sink_event):
357         Unref events that the GstBaseTransform::event vfunc didn't want to
358         have forwarded by the base class. Closes a leak in identity.
359         Fixes bug #446763.
360
361 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
362
363         * docs/libs/gstreamer-libs-sections.txt:
364         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
365         * libs/gst/base/gstbasesink.h:
366         Expose a method that was previously used internally to synchronize
367         against the clock because it can be useful for subclasses too.
368         API: GstBaseSink::gst_base_sink_wait_clock()
369
370 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
371
372         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
373           Add sanity check to make sure we don't get smaller buffers
374           than requested (and fallback to normal buffer alloc if we do).
375
376 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
377
378         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
379         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
380         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
381         Refactor adjusting the running_time with latency and offset into a
382         separate method.
383         When doing clipping, we still want to use the subclass get_times method,
384         just in case the DURATION or TIMESTAMP are not set.
385
386 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
387
388         * docs/gst/gstreamer-sections.txt:
389         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
390         * gst/gsttypefind.h:
391         * win32/common/libgstreamer.def:
392           API: add gst_type_find_suggest_simple(), #533740.
393
394 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
395
396         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
397           Use right error code when typefinding fails, so we can use
398           the default (translated) error messages.
399
400 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
401
402         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
403         (gst_base_src_start):
404         When the subclass did not set caps on outgoing buffers, configure the
405         caps we negotiated on the source pad.
406         When the typefind helper does not find caps, error out properly instead
407         of doing things with NULL caps.
408
409 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
410
411         * gst/gsttypefind.h:
412           Tabs to spaces, oh yes!
413
414 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
415
416         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
417           Add David's and Benjamin's tests for array intersection to the
418           unit test suite (#147931).
419
420 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
421
422         * gst/gstevent.c:
423           Document that gst_event_new_tag() and gst_event_new_navigation()
424           take ownership of the taglist/structure passed to them. (#533635).
425
426 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
427
428         * docs/Makefile.am:
429         Don't descend into the plugins dir if plugin docs building
430         is disabled.
431
432         * docs/README:
433         Add a note about the new type:GTypeName syntax for the plugin
434         documentation .types file.
435
436 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
437
438         * gst/gstmessage.c: (gst_message_new_error),
439         (gst_message_new_warning), (gst_message_new_info):
440         * gst/gstmessage.h:
441         Mark the debug string parameters as const. Fixes bug #533490.
442
443 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
444
445         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
446         Sort buffer cache list by end offsets. This makes sure that we don't
447         stop to search for a cached buffer that contains the requested data
448         too early.
449         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
450         more efficient. Fixes bug #459862.
451
452 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
453
454         * gst/gstinfo.c:
455           Explain why we copy the list.
456
457         * gst/gstpipeline.c:
458           Improve docs.
459
460         * gst/gstutils.c:
461           Add one debug-log statement to help tracing probelms with linking pads.
462
463 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
464
465         * tests/check/gst/gstinfo.c:
466         Add a test for removing the default log handler. Seems to fail under
467         windows.
468
469 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
470
471         * gst/gstpad.c: (gst_pad_peer_accept_caps):
472         Release pad lock before calling out to avoid a possible deadlock.
473
474 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
475
476         * gst/parse/grammar.y:
477         Remove unneeded value unset.
478
479         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
480         Add unit test for de/serialization of caps.
481
482 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
483
484         * plugins/elements/gstfakesink.c:
485         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
486         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
487         (gst_fake_src_class_init):
488         Use custom marshalers that take GstMiniObject as first parameter.
489         Using OBJECT as parameter while a GstMiniObject is given will lead
490         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
491
492 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
493
494         * plugins/elements/gsttypefindelement.c:
495         (gst_type_find_element_handle_event),
496         (gst_type_find_element_send_cached_events),
497         (gst_type_find_element_change_state):
498         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
499         immediately.
500
501 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
502
503         * plugins/elements/gsttypefindelement.c:
504         (gst_type_find_handle_src_query), (stop_typefinding),
505         (gst_type_find_element_handle_event),
506         (gst_type_find_element_send_cached_events),
507         (gst_type_find_element_change_state):
508         Forward FLUSH_START events immediately and clean up instead of
509         caching them.
510
511 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
512
513         Patch by: Sjoerd Simons <sjoerd at luon dot net>
514
515         * libs/gst/base/gstbasetransform.c:
516         (gst_base_transform_buffer_alloc):
517         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
518         fall back to default negotiation in the chain function if the caps
519         are different from what was requested. Fixes bug #526768.
520
521 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
522
523         * gst/gstsegment.c:
524         * tests/check/gst/gstsegment.c:
525           No, let's not use g_slice_{dup|copy} here, since they only exist
526           since GLib 2.14 and we still depend only on >= 2.12. Also add
527           unit test for gst_segment_copy().
528
529 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
530
531         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
532           Try to fix 'dereferencing type-punned pointer will break strict
533           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
534           changed the default GType typedef from gulong to gsize at some point,
535           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
536           g_once_* functions all take a gsize * though, so work around the type
537           mismatch for C++ by doing everything in gsize and casting to GType
538           later.
539
540 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
541
542         * plugins/elements/gstmultiqueue.c:
543         Add documentation for the signals to push our core plugin docs
544         coverage back up to 100%.
545
546 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
547
548         * gst/gstinfo.h (GST_FUNCTION):
549           Reverted GST_FUNCTION to the old version as we don't want the
550           full signature in C++ code. Also added support for MSVC.
551
552 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
553
554         * gst/gstutils.h:
555         Intern the type name string, similar to what G_DEFINE_TYPE does.
556
557 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
558
559         * gst/gstutils.h:
560         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
561
562 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
563
564         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
565
566         * libs/gst/base/gstbasetransform.c:
567         (gst_base_transform_buffer_alloc):
568         Don't passthrough buffer allocation too easily if the caps change.
569         This breaks when working in passthrough mode and upstream changes
570         it's caps. Fixes bug #526768.
571
572 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
573
574         * gst/gstinfo.c (gst_debug_log_valist):
575           Improved the __FILE__ part of debug output for MSVC.
576
577 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
578
579         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
580           Declaration after statement fix for compilers like MSVC.
581
582 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
583
584         * win32/common/config.h.in:
585           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
586           use the real thing than having "???" unconditionally.
587
588 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
589
590         * gst/gstinfo.h (GST_FUNCTION):
591           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
592
593 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
594
595         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
596         Small code cleanup.
597
598         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
599         (gst_base_sink_set_flushing):
600         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
601         Fix some comments.
602
603 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
604
605         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
606         (gst_fake_src_init), (gst_fake_src_set_property),
607         (gst_fake_src_get_property), (gst_fake_src_start):
608         * plugins/elements/gstfakesrc.h:
609         Added format property to control the format of the newsegment events.
610         API: GstFakeSrc:format
611
612 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
613
614         * win32/common/libgstreamer.def:
615         Add gst_pad_has_name() to the exported symbols.
616
617 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
618
619         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
620         * libs/gst/base/gstbasetransform.c:
621         (gst_base_transform_prepare_output_buffer):
622         Don't allow negative sizes when allocating new buffers.
623         Fixes bug #461253.
624
625 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
626
627         Patch by: Sjoerd Simons <sjoerd at luon net>
628
629         * gst/gstbus.c: (gst_bus_source_dispatch):
630           Don't print a warning if the queue is empty when we try to pop
631           here. That could happen if another thread or callback set the
632           bus to flushing between the source's check/prepare and the
633           dispatch being called (#531538).
634
635 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
636
637         * plugins/elements/gstmultiqueue.c:
638           Small docs fix.
639         
640 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
641
642         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
643         Add unit test for deserializing uint64s and check some really large
644         numbers in the int64 test.
645
646 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
647
648         * tools/gst-inspect.c: (n_print), (print_hierarchy),
649         (print_interfaces), (print_element_properties_info),
650         (print_signal_info):
651         Use "%s" as format string instead of printing strings directly.
652
653 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
654
655         * gst/gstclock.c: (gst_clock_set_calibration):
656         Make some checks actually useful.
657
658         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
659         Remove some unused code. Unsigned integers tend to be >= 0.
660
661 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
662
663         * gst/gstminiobject.c: (gst_value_get_mini_object):
664           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
665           function was not in the unscheduled 0.10.19 release.
666
667 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
668
669         * gst/gstregistry.c: (gst_registry_scan_path_level):
670           Only print one log message per non-plugin file.
671
672 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
673
674         * gst/gstinfo.c: (gst_debug_log_default):
675           Fix alignment of debug log columns on 64-bit.
676
677 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
678
679         * docs/libs/Makefile.am:
680         * docs/libs/gstreamer-libs-sections.txt:
681           Ignore private controller headers for docs.
682
683 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
684
685         * libs/gst/controller/gstcontrollerprivate.h:
686         * libs/gst/controller/gsthelper.c:
687         * libs/gst/controller/gstinterpolation.c:
688         * libs/gst/controller/gstinterpolationcontrolsource.c:
689         (gst_interpolation_control_source_set_interpolation_mode):
690         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
691         * libs/gst/controller/lib.c:
692         Move some private declarations into private headers.
693
694 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
695
696         * gst/gstdebugutils.c: (debug_dump_element_pad):
697         Remove some code that is unused after Stefan's refactoring and uses
698         uninitialized variables now, resulting in a compiler warning.
699
700 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
701
702         * gst/gstregistry.c: (gst_registry_scan_path_level):
703           Run g_str_has_suffix() only on the file name, not the
704           entire file path.
705
706 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
707
708         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
709           Since we're not called only from the chain function any longer,
710           we can't assume that there's always data in the queue, so move
711           the is_full check to the beginning of the loop (otherwise we'd
712           hit the assert when changing the limit properties while the
713           queue is empty or not running yet).
714           Also, only set a discont if items were actually removed from
715           the queue.
716
717         * tests/check/elements/queue.c: (test_leaky_downstream):
718           Test case for the above.
719
720 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
721
722         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
723
724         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
725         (gst_queue_chain), (queue_capacity_change),
726         (gst_queue_set_property):
727         When changing thr max capacity of a leaky queue, immediatly drop buffers
728         instead of waiting for a push on the sinkpad. Fixes #530637.
729
730 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
731
732         * gst/gstdebugutils.c:
733           Refactor code and fix handling of ghostpads and their proxypads.
734
735 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
736
737         * docs/gst/gstreamer-sections.txt:
738         * gst/gstevent.c: (gst_event_has_name):
739         * gst/gstevent.h:
740         * tests/check/gst/gstevent.c: (GST_START_TEST):
741         Add method to conveniently check the name of a custom event with
742         gst_event_has_name().
743         Reformat the event docs so that related methods are put together instead
744         of the default alphabetical sort.
745         Update unit test with new method.
746         API: GstEvent::gst_event_has_name()
747
748 2008-04-28  Michael Smith <msmith@songbirdnest.com>
749
750         * libs/gst/check/Makefile.am:
751           Don't add an explicit link to libgstreamer-0.10.la; it's already
752           included in GST_OBJ_LIBS.
753
754 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
755
756         * gst/gst.c:
757         Register GstClock type from a type-safe context. Fixes bug #530317.
758
759 2008-04-25  Michael Smith <msmith@songbirdnest.com>
760
761         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
762         * tools/gst-run.c:
763           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
764
765 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
766
767         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
768         (gst_bin_dispose):
769         Use the GLib stuff to create a private structure.
770         Add some locking around some dispose methods to make them a little
771         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
772
773 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
774
775         * libs/gst/base/gstbasesink.h:
776         * libs/gst/base/gstbasesrc.h:
777         * libs/gst/base/gstbasetransform.h:
778         * libs/gst/base/gstcollectpads.h:
779           Fix doc typos and unify caps a bit.
780
781 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
782
783         * tools/gst-launch.1.in:
784           Forgot to also add the envvar docs here.
785
786 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
787
788         * gst/gst.c: (init_post), (gst_deinit):
789         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
790           (test_concurrent_create), (gst_pipeline_suite):
791           Ref some more classes in gst_init() to work around thread-safety
792           issues in pre-2.16 GLibs, and add basic unit test.
793
794 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
795
796         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
797         (gst_base_sink_send_event):
798         Rearrange the latency query code. We always want to do the upstream
799         query, even if we are not live so that the upstream elements can get the
800         latency results too. If we fail doing the query and we are live, we
801         return TRUE afterwards.
802
803 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
804
805         patch by: Jason Zhao <e3423c@motorola.com>
806
807         * docs/gst/running.xml:
808         * gst/gst.c:
809           Enable/disable scan_and_update_registry() based on commandline switch
810           or environment variable. Fixes #520468.
811           
812         * ChangeLog:
813           Fix typo in my previous commit.
814
815 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
816
817         * gst/gstregistrybinary.c:
818           Add a warning if we hit unhandled factories when saving.
819           More debug logging detail, but move to LOG category.
820
821 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
822
823         * gst/gstregistry.c:
824           Tell the *truth* when improving the documentation.
825
826 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
827
828         * gst/gstelementfactory.c: (gst_element_factory_make):
829         Unref the factory after it was used the last time, not before.
830
831         * gst/gstindexfactory.c: (gst_index_factory_make):
832         Improve debugging a bit and don't leak a ref to the index factory with
833         each call.
834
835 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
836
837         * gst/gstregistry.c:
838           Improve the documentation.
839
840 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
841
842         * gst/gstsegment.c:
843           The glib macro seems to be borked. Use g_slice_copy directly and cast
844           in the hope that this fixes the warning on 64bit.
845
846 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
847
848         * gst/gstsegment.c:
849           Document the new function. Use g_slice_dup() (no need for
850           gst_segment_init()).    
851
852 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
853
854         * docs/gst/gstreamer-sections.txt:
855           Move GParamSepc macros to standart section.
856   
857         * gst/gstbin.c:
858           Dn't document _get_type - its in private section in docs anyway and
859           this doc-blob was incomplete.
860
861         * gst/gstclock.h:
862           Fix wrong symbol names in docs.
863
864         * gst/gstmacros.h:
865           Add once doc sentence.
866
867         * tests/check/gst/.cvsignore:
868           Ignore more.
869
870 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
871
872         * docs/gst/Makefile.am:
873           And remove those libs here.
874
875 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
876
877         * docs/libs/Makefile.am:
878           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
879
880 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
881
882         Patch by: Olivier Crete <tester at tester dot ca>
883
884         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
885         Add the min-threshold to the min latency if possible. Fixes #529148.
886
887 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
888
889         * docs/gst/gstreamer.types.in:
890           Stupid editor, I removed that line as it should go in yet.
891
892 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
893
894         * docs/gst/gstreamer.types.in:
895         * docs/libs/gstreamer-libs.types:
896           Remove library types fro core docs and have them in libs docs.
897           Reformat and cleanup. Add comment for miniobject types.
898
899 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
900
901         * gst/gsturi.c: (gst_uri_get_protocol):
902           Fix leak: g_strdown operates on the string in place, while
903           g_ascii_strdown() returns a newly-allocated string.
904
905 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
906
907         * tools/gst-inspect.c: (print_uri_handler_info),
908         (print_element_info):
909         Print the URI protocols and the URI type supported by the element.
910
911 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
912
913         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
914         Use g_value_take_string() instead of the deprecated
915         g_value_set_string_take_ownership().
916
917 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
918
919         * gst/gstregistrybinary.c: (_gst_crc32):
920         Return the old CRC instead of 0 if we give a NULL buffer
921         or a buffer with a length of 0.
922
923 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
924
925         * gst/gsturi.c: (gst_uri_protocol_check_internal),
926         (gst_uri_get_protocol), (gst_uri_has_protocol),
927         (gst_uri_construct), (gst_uri_handler_set_uri):
928         A valid URI scheme can also include '+', '-' and '.' additional
929         to alphanumeric characters as per RFC 3986 Section 3.1.
930
931         Handle URI schemes case insensitive in all places and convert
932         to lower-case when constructing an URI or setting an URI with
933         the GstURIHandler interface. Fixes bug #528868.
934         All elements can still assume (as before) that they will
935         get passed URIs with a lower-case URI scheme by the GstURIHandler
936         interface.
937
938 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
939
940         * gst/gstcaps.c: (gst_static_caps_get):
941         * gst/gstclock.c: (gst_clock_entry_new):
942           Don't use g_atomic_set_int where it's not needed.
943
944 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
945
946         * gst/gstvalue.c: (gst_value_deserialize_caps):
947         * gst/parse/grammar.y:
948         Fix 2 caps leaks.
949
950 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
951
952         * gst/gstutils.c: (gst_atomic_int_set):
953         Use g_atomic_int_set() here too instead of assignment +
954         g_atomic_int_get().
955
956 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
957         
958         * gst/gstutils.c:
959         * gst/gstutils.h:
960         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
961         now that we depend on new enough GLib.
962
963         * gst/gstcaps.c: (gst_static_caps_get):
964         * gst/gstclock.c: (gst_clock_entry_new):
965         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
966         (gst_debug_set_default_threshold), (_gst_debug_category_new),
967         (gst_debug_category_set_threshold):
968         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
969         (gst_base_sink_set_qos_enabled):
970         * libs/gst/net/gstnettimeprovider.c:
971         (gst_net_time_provider_set_property):
972         Use g_atomic_int_set() instead of gst_atomic_int_set().
973
974 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
975
976         * gst/gstquery.c:
977           Also use G_GINT64_CONSTANT for the queries.
978
979 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
980
981         * gst/gstmessage.c:
982           Use G_GINT64_CONSTANT in varargs function.
983
984 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
985
986         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
987         Initialize the registry magic with zeroes.
988
989 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
990
991         * gst/gstregistrybinary.c: (_gst_crc32),
992         (gst_registry_binary_write),
993         (gst_registry_binary_initialize_magic),
994         (gst_registry_binary_write_cache),
995         (gst_registry_binary_check_magic),
996         (gst_registry_binary_read_cache):
997         * gst/gstregistrybinary.h:
998         Add crc32 checksum to the binary registry file and check this before
999         accepting a registry file.
1000
1001         Also free the data list when writing to the registry file fails.
1002
1003 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1004
1005         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1006         (gst_registry_binary_load_feature),
1007         (gst_registry_binary_load_plugin):
1008         If an element supports the Uri interface, returns a valid pointer
1009         to the supported URI protocols but this pointer contains nothing
1010         don't try to save that as it will corrupt the registry.
1011
1012         Don't unref the plugin if we added it to the registry already but
1013         fail to load a feature as gst_registry_add_plugin() takes ownership
1014         of the plugin.
1015
1016         Improve debugging a bit.
1017
1018 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1019
1020         * gst/gsttaglist.h:
1021           Clarify some tag item docs after discussion on irc.
1022
1023 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1024
1025         * docs/gst/gstreamer-docs.sgml:
1026           Remove commented out plugins (they have their own docs). Update
1027           comments.
1028
1029 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1030
1031         * docs/gst/gstreamer-docs.sgml:
1032         * docs/gst/gstreamer-sections.txt:
1033         * gst/gstparamspecs.c:
1034         * gst/gstparamspecs.h:
1035           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
1036           docs to own section.
1037
1038         * gst/gstvalue.c:
1039           This now only documents GValue.
1040           
1041         * docs/libs/gstreamer-libs-sections.txt:
1042         * libs/gst/controller/gstcontroller.h:
1043           Remove GST_PARAM_CONTROLLABLE.
1044
1045 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1046
1047         * docs/README:
1048           Correct file path. Tell about how to use -overrides.txt.
1049         * docs/design/draft-tagreading.txt:
1050           Small design update.
1051
1052 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
1053
1054         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
1055         (gst_registry_binary_load_plugin):
1056         Fix a typo in a debug message and revert change from yesterday as
1057         gst_registry_add_plugin() will only fail if something is really wrong
1058         already and we can't survive it anyway.
1059
1060 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
1061
1062         * gst/gst.c: (init_post), (gst_deinit):
1063           Pre-register GstGError GType from a thread-safe context
1064           (fixes #527967); unref enum type classes in deinit.
1065
1066 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1067
1068         Patch by: Rene Stadler <mail at renestadler de>
1069
1070         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1071           Merging an empty list with another list in KEEP_ALL mode should
1072           yield an empty list as result and not the second list (#512578).
1073
1074         * tests/check/gst/gsttagsetter.c:
1075           Add unit test for tag merge modes and the aforementioned bug.
1076
1077 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1078
1079         Patch by: Rene Stadler <mail at renestadler de>
1080
1081         * gst/gsttaglist.h:
1082           Fix description to match the order in the table (#512577).
1083   
1084 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1085
1086         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
1087
1088         * libs/gst/net/gstnettimepacket.h:
1089         * docs/libs/gstreamer-libs-sections.txt:
1090           Define socklen_t as int if it's not defined yet. Fixes compilation
1091           with MSVC6 and other versions where socklen_t is not defined in
1092           the windows headers (#518022).
1093
1094 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
1095
1096         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1097         If gst_registry_add_plugin() fails our reference to the plugin is
1098         invalid so don't try to use it anymore and instead error out.
1099
1100 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1101
1102         * tools/gst-xmlinspect.c: (print_element_info), (main):
1103           De-cruft a bit. If no argument is specified, print all elements in
1104           XML syntax rather than a freestyle list of elements like gst-inspect.
1105           Also, don't print XML header chunk unless we actually have something
1106           to print (ie. don't print it before an error message); print error
1107           message to stderr not stdout. Remove support for printing plugin
1108           info (it would just output something freestyle along the lines of
1109           gst-inspect so far), which fixes #514507. Also add license header.
1110
1111 2008-04-11  Julien Moutte  <julien@fluendo.com>
1112
1113         Mac OS X love...
1114         * configure.ac: Merge platform specific defines, introduce a new
1115         define on OS X to remember that forking when updating registry is
1116         unsafe.
1117         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
1118         module.
1119         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
1120         is defined.
1121         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
1122         condition that leads to absolutely no plugins being registered on
1123         OS X.
1124
1125 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1126
1127         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1128
1129         * gst/gstutils.c: (gst_pad_add_data_probe),
1130           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
1131           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
1132           (gst_pad_add_buffer_probe_full):
1133         * gst/gstutils.h:
1134         * docs/gst/gstreamer-sections.txt:
1135         * win32/common/libgstreamer.def:
1136           Add gst_pad_add_*_probe_full() functions with a notify callback that
1137           lets the caller free the data it passes to the probe functions. This
1138           is useful for bindings such as gst-python or gstreamermm (#526814).
1139           API: gst_pad_add_data_probe_full
1140           API: gst_pad_add_buffer_probe_full
1141           API: gst_pad_add_event_probe_full
1142
1143         * tests/check/gst/gstutils.c:
1144           Add minimal unit test to make sure freeing the data actually works
1145           as expected.
1146
1147         * tests/benchmarks/.cvsignore:
1148           Random cvsignore addendum.
1149
1150 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1151
1152         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
1153           (GST_DEBUG_BIN_TO_DOT_FILE):
1154           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
1155           to it in the docs (since these are macros the types of the arguments
1156           won't be shown in the docs otherwise).
1157
1158 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1159
1160         * gst/gstpad.c:
1161           Do not abort on out of memory for pad_alloc_buffer.
1162
1163 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1164
1165         * libs/gst/check/gstcheck.c:
1166           Remove blank line between symbol name ad parameters to fix gtkdoc
1167           warning.
1168
1169 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1170
1171         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1172
1173         * docs/gst/gstreamer-sections.txt:
1174         * gst/gstsegment.c:
1175         * gst/gstsegment.h:
1176         * win32/common/libgstreamer.def:
1177           Expose gst_segment_copy() to make things easier for the c++ bindings.
1178           Fixes #518932.
1179           API: gst_segment_copy()
1180
1181 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1182
1183         * gst/gst.c: (gst_init_get_option_group), (init_post):
1184           Fix const position; ref GType classes for enum types to work
1185           around thread-safety issues in GLib versions < 2.16.
1186
1187 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1188
1189         * docs/design/part-buffering.txt:
1190         Fix some typos and set the estimated total for push mode to -1.
1191
1192         * gst/gstquery.c: (gst_query_new_buffering):
1193         Set buffering-left to 0 as we're not buffering by default.
1194
1195         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1196         Implement BUFFERING query.
1197
1198 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1199
1200         Based on patch by: Milosz Derezynski <internalerror gmail com>
1201
1202         * gst/gsterror.c: (_gst_stream_errors_init):
1203         * gst/gsterror.h:
1204           Add two new error codes for encrypted content. Fixes #524659.
1205           API: GST_STREAM_ERROR_DECRYPT
1206           API: GST_STREAM_ERROR_DECRYPT_NOKEY
1207
1208 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1209
1210         * gst/gstquery.h:
1211           Fix typo.
1212
1213         * win32/common/libgstreamer.def:
1214           Add new functions.
1215
1216 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
1217
1218         * plugins/elements/gstidentity.c: (gst_identity_event),
1219         (gst_identity_start):
1220         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
1221         event after processing some data. Fixes bug #526042.
1222
1223 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1224
1225         * docs/gst/gstreamer-sections.txt:
1226         * gst/gstquery.c: (gst_query_parse_latency),
1227         (gst_query_set_buffering_percent),
1228         (gst_query_parse_buffering_percent),
1229         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
1230         * gst/gstquery.h:
1231         Rename _avail -> _range
1232         API: gst_query_set_buffering_range
1233         API: gst_query_parse_buffering_range
1234
1235 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1236
1237         * docs/design/part-buffering.txt:
1238         * gst/gstquark.c:
1239         * gst/gstquark.h:
1240         * gst/gstquery.c: (gst_query_parse_latency),
1241         (gst_query_new_buffering), (gst_query_set_buffering_percent),
1242         (gst_query_parse_buffering_percent):
1243         * gst/gstquery.h:
1244         Add busy field and quark for the buffering query so that the app can
1245         only use the query to see if buffering is in progress.
1246
1247 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1248
1249         * docs/gst/gstreamer-sections.txt:
1250         * gst/gstmessage.c: (gst_message_set_buffering_stats),
1251         (gst_message_parse_buffering_stats):
1252         * gst/gstmessage.h:
1253         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1254         (gst_query_parse_latency), (gst_query_new_buffering),
1255         (gst_query_set_buffering_percent),
1256         (gst_query_parse_buffering_percent),
1257         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
1258         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
1259         * gst/gstquery.h:
1260         Reorder the message docs and headers for clarity.
1261         Add aditional buffering stats API for messages.
1262         Add buffering query.
1263         Convert some leftover queries to use GstQuark.
1264         API: gst_message_set_buffering_stats
1265         API: gst_message_parse_buffering_stats
1266         API: GST_QUERY_BUFFERING
1267         API: GstBufferingMode
1268         API: gst_query_new_buffering
1269         API: gst_query_set_buffering_percent
1270         API: gst_query_parse_buffering_percent
1271         API: gst_query_set_buffering_stats
1272         API: gst_query_parse_buffering_stats
1273
1274 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1275
1276         * gst/gstmessage.c: (gst_message_new_error),
1277         (gst_message_new_warning), (gst_message_new_info),
1278         (gst_message_new_buffering), (gst_message_new_state_changed),
1279         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
1280         (gst_message_new_new_clock), (gst_message_new_segment_start),
1281         (gst_message_new_segment_done), (gst_message_new_duration),
1282         (gst_message_new_async_start), (gst_message_parse_buffering),
1283         (gst_message_parse_state_changed),
1284         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1285         (gst_message_parse_new_clock), (gst_message_parse_error),
1286         (gst_message_parse_warning), (gst_message_parse_info),
1287         (gst_message_parse_segment_start),
1288         (gst_message_parse_segment_done), (gst_message_parse_duration),
1289         (gst_message_parse_async_start):
1290         Use GstQuark for messages.
1291
1292 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1293
1294         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1295         * gst/gstquark.h:
1296         Add some more quarks needed for messages and queries.
1297
1298 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1299
1300         * docs/design/part-buffering.txt:
1301         Remove the "none" buffering mode, STREAM is a good default.
1302         Move estimated-time to the avail query, that's when it will be needed.
1303         Other small typo fixes and updates.
1304
1305 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1306
1307         * gst/gstindex.c: (gst_index_resolver_get_type):
1308           Don't put descriptions into the nick field of a GEnumValue: it's not
1309           meant for that and some language bindings rely on the nick field to
1310           construct constants and the like. Fixes #526705.
1311
1312 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1313
1314         * NEWS:
1315         * RELEASE:
1316         * gstreamer.doap:
1317           Merge other changes from 0.10.19 release branch.
1318
1319 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
1320
1321         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1322
1323         * configure.ac:
1324         Actually build dlls when cross-compiling with mingw32.
1325         Fixes bug #526247.
1326
1327 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
1328
1329         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1330
1331         * gst/gstpoll.c:
1332         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
1333
1334 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1335
1336         * docs/design/draft-latency.txt:
1337         Fix typo.
1338
1339         * docs/design/part-buffering.txt:
1340         Update design docs with more buffering ideas.
1341
1342 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
1343
1344         * configure.ac:
1345           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
1346
1347 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1348
1349         * configure.ac:
1350           Revert part that belongs to the preset patch.
1351
1352 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1353
1354         * configure.ac:
1355           Add qoutes to the define. Fixes # 525961.
1356
1357 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
1358
1359         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
1360         (gst_file_index_load), (gst_file_index_add_id),
1361         (gst_file_index_get_assoc_entry):
1362         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
1363         (gst_mem_index_free_id), (gst_mem_index_add_id),
1364         (gst_mem_index_index_format):
1365         Use GSlice when possible.
1366
1367 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
1368
1369         * libs/gst/controller/gstinterpolationcontrolsource.c:
1370         (gst_control_point_free),
1371         (gst_interpolation_control_source_set_internal):
1372         Use GSlice for allocating the control points.
1373
1374 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
1375
1376         * plugins/elements/gsttypefindelement.c:
1377         (gst_type_find_element_class_init),
1378         (gst_type_find_element_set_property),
1379         (gst_type_find_element_get_property),
1380         (gst_type_find_element_activate):
1381         * plugins/elements/gsttypefindelement.h:
1382         Cleanup properties.
1383         Fix pad leak when peer query fails.
1384         We can still typefind when the peer returns -1.
1385         Add property to force caps and bypass typefinding. This will be used in
1386         uridecodebin.
1387         API::force-caps
1388
1389 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
1390
1391         * configure.ac:
1392         Require GLib 2.12.
1393
1394         * gst/glib-compat-private.h:
1395         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
1396         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1397         Unconditionally use GSlice for allocation.
1398
1399         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
1400         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
1401         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
1402         (gst_structure_free):
1403         Use GSlice for allocation.
1404
1405 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
1406
1407         * gst/parse/Makefile.am:
1408         * gst/parse/grammar.tab.pre.c:
1409         * gst/parse/grammar.tab.pre.h:
1410         * gst/parse/lex._gst_parse_yy.pre.c:
1411         Require a new enough flex and bison and remove the parser hacks to use
1412         a pre-regenerated version.
1413
1414 2008-04-01  Julien Moutte  <julien@fluendo.com>
1415
1416         patch by: Jason Zhao <E3423C@motorola.com>
1417
1418         * configure.ac: Add a configure switch to disable option parsing
1419         in gst_init.
1420         Fixes #522882.
1421
1422 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1423
1424         * configure.ac:
1425         * gst/gstregistry.c:
1426           MacOS has plugins under .so or under .dylib. Add detection for MacOS
1427           and handle this case.
1428
1429         * gst/gst.c:
1430           Add a comment here describing, why we stat each plugin and not try to
1431           be smart.
1432
1433 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
1434
1435         * libs/gst/base/gstbasetransform.c:
1436         (gst_base_transform_prepare_output_buffer):
1437         Also unset the GAP flag on buffers if we're working inplace but
1438         the element is not GAP-aware.
1439
1440         Mark a comment as FIXME 0.11.
1441
1442 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1443
1444         * gst/gst.c:
1445           Fix type in log message and add one to ease seeing how long registry
1446           cache verification takes.
1447
1448         * gst/gstregistry.c:
1449           Only test plugin filenames against G_MODULE_SUFFIX.
1450
1451 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1452
1453         * gst/gstdebugutils.c:
1454           Improve handling ghost/proxy pads.
1455
1456 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
1457
1458         * docs/gst/gstreamer-sections.txt:
1459         * gst/gstpad.c:
1460         * gst/gstpad.h:
1461           Expose macro to docs and fix link to it.
1462
1463 2008-03-27  Michael Smith <msmith@fluendo.com>
1464
1465         * libs/gst/dataprotocol/dataprotocol.c:
1466         (gst_dp_packet_from_event_1_0):
1467           When calculating GDP body CRC, use the correct pointer. 
1468           Fixes part of #522401.
1469
1470 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1471
1472         Patch by: Mark Nauwelaerts <manauw at skynet be>
1473
1474         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1475         (gst_identity_init), (gst_identity_prepare_output_buffer):
1476         Identity is not always a passthrough element, it can modify the buffer
1477         timestamps when it has a datarate and operates in single-segment mode.
1478         We therefore make it an in_place filter with a custom buffer prepare
1479         function that conditionally makes the input buffer metadata writable
1480         when needed.  Fixes #523985.
1481
1482 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1483
1484         Patch by: Mark Nauwelaerts <manauw at skynet be>
1485
1486         * gst/gstclock.h:
1487         * libs/gst/base/gstbasesrc.h:
1488         * libs/gst/base/gstbasetransform.c:
1489         * libs/gst/check/gstcheck.c:
1490         Small documentation fixes. Fixes #523978.
1491
1492 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1493
1494         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1495         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
1496         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
1497
1498 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1499
1500         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
1501         (single_queue_underrun_cb):
1502         When trying to make room in the queue, bump the max allowed buffers
1503         bigger than the current amount of buffers in the queue. this fixes some
1504         nasty deadlocks in multiqueue when dynamically changing the limits of
1505         the queue.
1506
1507 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1508
1509         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1510
1511         * gst/gstcaps.c: (gst_caps_set_simple),
1512         (gst_caps_set_simple_valist), (gst_caps_intersect):
1513         * gst/gstcaps.h:
1514         Constify the field gchar * params in set_simple and friends.
1515         Fixes #522326.
1516
1517 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1518
1519         * gst/gstvalue.c: (gst_value_transform_object_string):
1520         Transform a GstObject to a more meaningfull string that includes the
1521         object type in addition to its name.
1522
1523 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
1524
1525         * ChangeLog:
1526           ChangeLog surgery to add bugnumber to commit.
1527
1528 2008-03-23  Rene Stadler  <mail@renestadler.de>
1529
1530         * libs/gst/base/gstbasetransform.c:
1531         (gst_base_transform_set_gap_aware): Fix confusing documentation.
1532
1533 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1534
1535         * gst/gstregistrybinary.c: (gst_registry_binary_write):
1536         Rename constant everywhere and don't forget one occurence.
1537
1538 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1539
1540         * gst/gstregistrybinary.c: (gst_registry_binary_write):
1541         Align memory to the pointer size even if the architecture allows
1542         unaligned memory access. Unaligned memory access usually comes with
1543         performance penality.
1544
1545 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
1546
1547         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1548         (gst_registry_binary_check_magic),
1549         (gst_registry_binary_load_pad_template),
1550         (gst_registry_binary_load_feature),
1551         (gst_registry_binary_load_plugin):
1552         Align memory to the pointer size instead of always 32 bit. Fixes
1553         unaligned memory accesses on ia64 and friends.
1554
1555         * gst/gstregistrybinary.h:
1556         Bump binary registry format version for this as it changes the
1557         format on those architectures that don't have unaligned access
1558         and 64 bit pointers.
1559
1560 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1561
1562         * docs/pwg/advanced-dparams.xml:
1563         * docs/pwg/building-props.xml:
1564         * docs/pwg/other-source.xml:
1565         * gst/glib-compat.h:
1566         * gst/gstbin.c: (gst_bin_class_init):
1567         * gst/gstclock.c: (gst_clock_class_init):
1568         * gst/gstindex.c: (gst_index_class_init):
1569         * gst/gstobject.c: (gst_object_class_init):
1570         * gst/gstpad.c: (gst_pad_class_init):
1571         * gst/gstpipeline.c: (gst_pipeline_class_init):
1572         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1573         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1574         * libs/gst/base/gstbasetransform.c:
1575         (gst_base_transform_class_init):
1576         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
1577         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
1578         (_gst_check_fault_handler_sighandler),
1579         (_gst_check_fault_handler_setup), (gst_check_init):
1580         * libs/gst/controller/gstcontroller.c:
1581         (_gst_controller_class_init):
1582         * libs/gst/controller/gstlfocontrolsource.c:
1583         (gst_lfo_control_source_class_init):
1584         * libs/gst/net/gstnetclientclock.c:
1585         (gst_net_client_clock_class_init):
1586         * libs/gst/net/gstnettimeprovider.c:
1587         (gst_net_time_provider_class_init):
1588         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1589         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1590         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1591         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1592         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1593         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1594         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1595         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1596         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
1597         * plugins/elements/gstqueue.c: (gst_queue_class_init):
1598         * plugins/elements/gsttee.c: (gst_tee_class_init):
1599         * plugins/elements/gsttypefindelement.c:
1600         (gst_type_find_element_class_init):
1601         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1602         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
1603         use it everywhere for GParamSpecs that use static strings (i.e. all).
1604         This gives us less memory usage, fewer allocations and thus less
1605         memory defragmentation. Fixes bug #523806.
1606
1607 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
1608
1609         * gst/gstminiobject.c: (gst_value_dup_mini_object),
1610         (gst_param_spec_mini_object):
1611         * gst/gstminiobject.h:
1612         * win32/common/libgstreamer.def:
1613         * docs/gst/gstreamer-sections.txt:
1614         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
1615         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
1616         GstParamSpecMiniObject into a public header for this.
1617
1618         This make GstMiniObject a bit more consistent with GObject and makes
1619         it possible to extend the param specs.
1620
1621         gst_value_dup_mini_object is mainly useful for set_property methods.
1622
1623         Fixes bug #523798.
1624
1625         * tools/gst-inspect.c: (print_element_properties_info):
1626         Print something useful for GstMiniObject properties and not just
1627         "unknown type".
1628
1629 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
1630
1631         * docs/gst/gstreamer-sections.txt:
1632         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1633         (gst_registry_binary_check_magic):
1634         * gst/gstregistrybinary.h:
1635         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
1636         and add it to the (private part) of the docs to fix the build.
1637
1638 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
1639
1640         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1641         (gst_registry_binary_check_magic),
1642         (gst_registry_binary_read_cache):
1643         * gst/gstregistrybinary.h:
1644         Don't use GST_MAJORMINOR for the binary registry version. Instead
1645         hardcode a value that must be changed whenever the format changes
1646         in an incompatible way.
1647         Also don't GST_ERROR when there is a version mismatch, just
1648         regenerate the registry silently.
1649
1650 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
1651
1652         * configure.ac:
1653         Back to development - 0.10.18.1
1654
1655 === release 0.10.18 ===
1656
1657 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
1658
1659         * configure.ac:
1660           releasing 0.10.18, "So far away"
1661
1662 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
1663
1664         * configure.ac:
1665         * win32/common/config.h:
1666         0.10.17.4 pre-release
1667
1668 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1669
1670         Patch by: Ole André Vadla Ravnås
1671             <ole dot andre dot ravnas at tandberg dot com>
1672
1673         * docs/gst/gstreamer-sections.txt:
1674         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
1675         (gst_poll_update_winsock_event_mask),
1676         (gst_poll_prepare_winsock_active_sets),
1677         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
1678         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
1679         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
1680         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1681         (gst_poll_check_ctrl_commands), (gst_poll_wait):
1682         * gst/gstpoll.h:
1683         * win32/common/libgstreamer.def:
1684         Add new function gst_poll_fd_ignored() for improved Windows
1685         compatibility.
1686         Various minor fixes and cleanups. See #520808.
1687
1688 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
1689
1690         * gst/gstindex.c: (gst_index_entry_free):
1691         * gst/gstindex.h:
1692           Don't free key strings which we don't own. Fixes crash in
1693           gst_index_entry_free() (#522741).
1694
1695         * tests/check/Makefile.am:
1696         * tests/check/gst/.cvsignore:
1697         * tests/check/gst/gstindex.c: (test_index_entries),
1698           (gst_index_suite), (gst_index):
1699           Add unit test for the above.
1700
1701 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
1702
1703         * win32/common/libgstreamer.def:
1704         Remove symbols that were removed recently. Fixes bug #521740.
1705
1706 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
1707
1708         * configure.ac:
1709         * win32/common/config.h:
1710         0.10.17.3 pre-release
1711
1712 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1713
1714         Patch by: Ole André Vadla Ravnås
1715             <ole dot andre dot ravnas at tandberg dot com>
1716
1717         * docs/gst/gstreamer-sections.txt:
1718         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
1719         (gst_poll_update_winsock_event_mask), (gst_poll_new),
1720         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
1721         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
1722         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
1723         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1724         (gst_poll_fd_can_write), (gst_poll_wait),
1725         (gst_poll_set_controllable), (gst_poll_restart),
1726         (gst_poll_set_flushing):
1727         * gst/gstpoll.h:
1728         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
1729         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
1730         (gst_net_time_provider_new):
1731         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
1732         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
1733         * tests/benchmarks/gstpollstress.c: (main):
1734         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
1735         Remove GstPollMode from the API, it does not make sense to let the
1736         application control this.
1737         Add support for Win32.
1738         Fix the testsuite. Fixes #520671.
1739
1740 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
1741
1742         Patch by: Ole André Vadla Ravnås
1743             <ole dot andre dot ravnas at tandberg dot com>
1744
1745         * gst/gstregistrybinary.c:
1746         Include io.h for write() and close() when building with MSVC. Fixes
1747         bug #520877.
1748
1749 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
1750
1751         * configure.ac:
1752         * gst/gst_private.h:
1753         * gst/gstconfig.h.in:
1754         * gst/gstregistry.h:
1755         * gst/gstregistrybinary.c:
1756         * win32/common/gstconfig.h:
1757           Move registry backend API to private headers where we can. Add
1758           fixme-0.11 comments for the others. Add stubs for the xml backend when
1759           using the binary to ensure they functions exists (they should not be
1760           used though). Fixes #520756.
1761
1762 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
1763
1764         * configure.ac:
1765         * win32/common/config.h:
1766         0.10.17.2 prelease
1767
1768 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
1769
1770         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1771         (gst_registry_binary_read_cache):
1772         * gst/gstregistryxml.c: (gst_registry_save):
1773         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
1774         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
1775         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
1776         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
1777         Switch to using portabl gsize/gssize instead of size_t/ssize_t
1778         Fixes #520152
1779
1780 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
1781
1782         * gst/gstminiobject.c:
1783         Import gst_private.h before any other header that might include other
1784         glib headers. This fixes the build on windows using native compilers.
1785
1786 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1787
1788         * win32/common/gstconfig.h:
1789           Add here too, just for completeness.
1790
1791 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1792
1793         * configure.ac:
1794         * gst/gstconfig.h.in:
1795         * gst/gstregistry.h:
1796           Fix broken use of config.h-defined preprocessor directive in a public
1797           header file. Add a corresponding define to gstconfig.h, since we can't
1798           really remove those function declarations from the header file now
1799           (or can we? and why are they there in the first place?).
1800
1801 2008-03-03  Andy Wingo  <wingo@pobox.com>
1802
1803         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
1804         the new warning.
1805
1806         * gst/gststructure.c (gst_structure_from_string): Warn if
1807         structure_from_string didn't consume the whole string, but the
1808         caller did not provide an end pointer.
1809
1810 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
1811
1812         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
1813
1814         * gst/gstregistryxml.c: (read_string), (load_feature):
1815           Strings allocated by libxml2 should be freed with xmlFree(), not
1816           with g_free(). Fixes issues on windows in certain contexts (#519698).
1817
1818 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
1819
1820         * gst/gstinterface.c: (gst_element_implements_interface):
1821           Don't crash if the element supports the interface queried, but does
1822           not implement GstImplementsInterface. Fixes #519584.
1823
1824         * tests/check/Makefile.am:
1825         * tests/check/gst/.cvsignore:
1826         * tests/check/gst/gstinterface.c:
1827           Add unit test for the above.
1828
1829 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1830
1831         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1832         Small doc update.
1833
1834 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1835
1836         * gst/gstsegment.c: (gst_segment_set_seek),
1837         (gst_segment_to_stream_time):
1838         Improve some comment.
1839         Update variables where it makes more sense.
1840
1841 2008-02-29  Rene Stadler  <mail@renestadler.de>
1842
1843         * gst/gsturi.c: (gst_uri_handler_get_protocols):
1844         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
1845         URIHandlers implemented using language bindings.
1846
1847 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
1848
1849         * gst/gstelementfactory.h:
1850         * tests/check/elements/fakesink.c:
1851         * tests/check/elements/fakesrc.c: (setup_fakesrc):
1852         * tests/check/elements/fdsrc.c: (setup_fdsrc):
1853         * tests/check/elements/filesink.c: (setup_filesink):
1854         * tests/check/elements/filesrc.c: (setup_filesrc):
1855         * tests/check/elements/identity.c: (setup_identity):
1856         * tests/check/elements/tee.c:
1857         * tests/check/generic/sinks.c:
1858         * tests/check/generic/states.c: (setup), (teardown):
1859         * tests/check/gst/gst.c:
1860         * tests/check/gst/gstabi.c:
1861         * tests/check/gst/gstbin.c:
1862         * tests/check/gst/gstbus.c: (pull_messages):
1863         * tests/check/gst/gstcaps.c:
1864         * tests/check/gst/gstelement.c:
1865         * tests/check/gst/gstevent.c:
1866         * tests/check/gst/gstghostpad.c:
1867         * tests/check/gst/gstiterator.c:
1868         * tests/check/gst/gstmessage.c:
1869         * tests/check/gst/gstminiobject.c: (my_foo_init):
1870         * tests/check/gst/gstobject.c: (thread_name_object),
1871         (gst_object_suite):
1872         * tests/check/gst/gstpad.c:
1873         * tests/check/gst/gstplugin.c:
1874         * tests/check/gst/gstpoll.c:
1875         * tests/check/gst/gstquery.c:
1876         * tests/check/gst/gstsegment.c:
1877         * tests/check/gst/gststructure.c:
1878         * tests/check/gst/gstsystemclock.c:
1879         * tests/check/gst/gsttask.c:
1880         * tests/check/gst/gstutils.c:
1881         * tests/check/gst/gstvalue.c:
1882         * tests/check/gst/struct_hppa.h:
1883         * tests/check/gst/struct_i386.h:
1884         * tests/check/gst/struct_ppc32.h:
1885         * tests/check/gst/struct_ppc64.h:
1886         * tests/check/gst/struct_x86_64.h:
1887         * tests/check/libs/adapter.c: (create_and_fill_adapter):
1888         * tests/check/libs/basesrc.c:
1889         * tests/check/libs/controller.c: (GST_START_TEST):
1890         * tests/check/libs/gdp.c:
1891         * tests/check/libs/gstnetclientclock.c:
1892         * tests/check/libs/gstnettimeprovider.c:
1893         * tests/check/libs/libsabi.c:
1894         * tests/check/libs/struct_hppa.h:
1895         * tests/check/libs/struct_i386.h:
1896         * tests/check/libs/struct_ppc32.h:
1897         * tests/check/libs/struct_ppc64.h:
1898         * tests/check/libs/struct_x86_64.h:
1899         * tests/check/pipelines/cleanup.c:
1900         * tests/check/pipelines/simple-launch-lines.c:
1901         * tests/check/pipelines/stress.c:
1902         And correct even more valid sparse warnings.
1903
1904         * win32/common/libgstreamer.def:
1905         Add gst_poll_fd_init to the list of symbols.
1906
1907 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
1908
1909         * gst/gstconfig.h.in:
1910         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
1911         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
1912         (gst_check_log_critical_func), (gst_check_drop_buffers),
1913         (gst_check_element_push_buffer_list):
1914         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
1915         (gst_controller_get_type):
1916         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
1917         (gst_object_get_controller), (gst_object_get_control_source):
1918         * libs/gst/controller/gstinterpolationcontrolsource.c:
1919         (gst_interpolation_control_source_new):
1920         * libs/gst/controller/gstlfocontrolsource.c:
1921         (gst_lfo_control_source_new):
1922         * libs/gst/dataprotocol/dataprotocol.c:
1923         (gst_dp_event_from_packet_0_2):
1924         * plugins/elements/gstfdsrc.c:
1925         * plugins/elements/gstmultiqueue.c:
1926         * plugins/elements/gsttee.c:
1927         * plugins/elements/gsttypefindelement.c:
1928         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
1929         (gst_file_index_add_association):
1930         * plugins/indexers/gstmemindex.c:
1931         * tests/benchmarks/gstpollstress.c: (mess_some_more):
1932         * tests/check/elements/queue.c: (setup_queue):
1933         * tests/check/gst/gstpipeline.c:
1934         * tests/check/libs/collectpads.c: (setup), (teardown),
1935         (gst_collect_pads_suite):
1936         * tests/examples/adapter/adapter_test.c:
1937         * tests/examples/metadata/read-metadata.c: (make_pipeline):
1938         * tests/examples/xml/createxml.c:
1939         * tests/examples/xml/runxml.c:
1940         * tools/gst-inspect.c:
1941         * tools/gst-run.c:
1942         Correct all relevant warnings found by the sparse semantic code
1943         analyzer. This include marking several symbols static, using
1944         NULL instead of 0 for pointers, not using variable sized arrays
1945         on the stack, moving variable declarations to the beginning of
1946         a block and using "foo (void)" instead of "foo ()" for declarations.
1947
1948 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
1949
1950         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
1951         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1952         Don't reset GstPollFDs, this is not necessary at all.
1953
1954         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1955         (delayed_restart), (delayed_control):
1956         Use GST_POLL_FD_INIT.
1957
1958 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1959
1960         * gst/gstpoll.c: (gst_poll_fd_init):
1961         * gst/gstpoll.h:
1962         Added Since tags.
1963
1964         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
1965         Use some more init macros.
1966
1967 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1968
1969         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
1970         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1971         Use init macros and functions.
1972
1973 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1974
1975         * docs/gst/gstreamer-sections.txt:
1976         * gst/gstpoll.c: (gst_poll_fd_init):
1977         * gst/gstpoll.h:
1978         Add INIT macro and _init method for initializing the GstPollFD.
1979
1980 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
1981
1982         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
1983         (gst_fd_sink_update_fd):
1984         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1985         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1986         (delayed_restart), (delayed_control):
1987         Initialize some uninitialized variables as spotted by valgrind.
1988
1989 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1990
1991         * tests/benchmarks/Makefile.am:
1992         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
1993         (main):
1994         Add poll stress test.
1995
1996 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1997
1998         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1999
2000         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2001         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
2002         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
2003         * plugins/elements/gstfdsink.h:
2004         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2005         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
2006         (gst_fd_src_unlock_stop), (gst_fd_src_create),
2007         (gst_fd_src_uri_set_uri):
2008         * plugins/elements/gstfdsrc.h:
2009         Port to GstPoll. See #505417.
2010
2011 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
2012
2013         * win32/common/libgstreamer.def:
2014         Add new gst_poll_ symbols to win32 defs.
2015
2016 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2017
2018         * docs/libs/gstreamer-libs-sections.txt:
2019         * libs/gst/net/gstnetclientclock.c:
2020         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
2021         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2022         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2023         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2024         * libs/gst/net/gstnetclientclock.h:
2025         * libs/gst/net/gstnettimeprovider.c:
2026         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
2027         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2028         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2029         (gst_net_time_provider_new):
2030         * libs/gst/net/gstnettimeprovider.h:
2031         Use a private stuct to not break ABI.
2032
2033 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2034
2035         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2036
2037         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
2038         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2039         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2040         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2041         * libs/gst/net/gstnetclientclock.h:
2042         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
2043         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2044         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2045         (gst_net_time_provider_new):
2046         * libs/gst/net/gstnettimeprovider.h:
2047         Massive code removal and cleanups because of GstPoll.
2048         Fixes #505417.
2049
2050 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2051
2052         * configure.ac:
2053         Add checks for poll, ppoll and pselect.
2054
2055         * docs/gst/gstreamer-docs.sgml:
2056         * docs/gst/gstreamer-sections.txt:
2057         Add docs for GstPoll.
2058
2059         * gst/Makefile.am:
2060         * gst/gst.h:
2061         * gst/gstpoll.c: (find_index), (selectable_fds),
2062         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
2063         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
2064         (gst_poll_set_mode), (gst_poll_get_mode),
2065         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
2066         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2067         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
2068         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
2069         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
2070         (gst_poll_fd_can_write), (gst_poll_wait),
2071         (gst_poll_set_controllable), (gst_poll_restart),
2072         (gst_poll_set_flushing):
2073         * gst/gstpoll.h:
2074         Add generic poll abstraction. We ideally don't want to have this in core
2075         here but in glib intead...
2076         This code will be used in various network elements and ultimately for
2077         the nanosecond precision monotonic clock (that's why it's here in core).
2078         It'll allow us to implement cancelable socket operations for windows too.
2079
2080         * tests/check/Makefile.am:
2081         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2082         (delayed_stop), (delayed_restart), (delayed_flush),
2083         (delayed_control), (gst_poll_suite):
2084         Add GstPoll unit test.
2085
2086 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
2087
2088         * gst/gstfilter.c:
2089           Improve documentation of gst_filter_run(). Fixes #518627.
2090
2091 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2092
2093         * docs/README:
2094           Add a few lines about the new 'check-inspected-versions' target.
2095
2096 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2097
2098         * tests/check/gst/gstevent.c:
2099           Add qos to the event test. Rename tcase/tsuite; is not only about
2100           custom events.
2101
2102 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2103
2104         * plugins/elements/gstqueue.c:
2105           Ensure that buffer metadata is writeable, before modifying. Spotted by
2106           Mike.
2107
2108 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
2109
2110         * plugins/elements/gstqueue.c:
2111         * plugins/elements/gstqueue.h:
2112           When dropping buffers in leaky modes, mark next buffers we sent as
2113           DISCONT.
2114
2115 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2116
2117         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
2118           Also, if mmap() fails that would be a READ error, not OPEN_READ.
2119
2120 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2121
2122         * plugins/elements/Makefile.am:
2123         * plugins/elements/gstbufferstore.c:
2124         * plugins/elements/gstbufferstore.h:
2125         * plugins/elements/gsttypefindelement.h:
2126           Remove GstBufferStore, no idea why we were still building it.
2127           It's not used anywhere and superseded by GstAdapter.
2128
2129         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2130           (gst_file_src_create_mmap):
2131         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
2132           Printf format fixes for 64-bit integers.
2133
2134 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2135
2136         * configure.ac:
2137         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
2138         We're not in 0.8 times anymore.
2139
2140 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
2141
2142         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
2143         (gst_check_element_push_buffer_list):
2144         * libs/gst/check/gstcheck.h:
2145         Make the declaration in the header for
2146         gst_check_element_push_buffer_list match the implementation.
2147
2148         Fix up spelling, grammar and wording of the documentation in a few
2149         places, and add the Since keyword to new API functions.
2150         Use g_list_delete_link instead of g_list_remove in
2151         gst_check_drop_buffers, since it's immeasurably more efficient.
2152
2153         * tests/check/elements/fakesrc.c: (GST_START_TEST):
2154         Use new gst_check_drop_buffers function where appropriate.
2155
2156         * win32/common/libgstbase.def:
2157         * win32/common/libgstreamer.def:
2158         Add new symbols gst_collect_pads_take_buffer, 
2159         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
2160         exports
2161
2162         Changelog surgery to add API keyword to new gst_check API.
2163
2164 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2165
2166         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
2167         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
2168         Update pre-generated flex files with flex 2.3.34.
2169
2170 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2171
2172         * gst/gstminiobject.c:
2173           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
2174           friendly to subclasses and not require them to know all internals
2175           of their parent class.
2176
2177 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2178
2179         * docs/libs/gstreamer-libs-sections.txt:
2180         * libs/gst/base/gstcollectpads.c:
2181         * libs/gst/base/gstcollectpads.h:
2182           Add sub-buffer functions to collectpads. Fixes #516187.
2183           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
2184
2185 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2186
2187         * gst/gstbuffer.c:
2188           Copy selected buffer-flags when creating subbuffers.
2189           Fixes #516395.
2190
2191 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
2192
2193         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
2194         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
2195         * gst/gstmessage.c: (gst_message_class_init),
2196         (gst_message_finalize):
2197         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
2198         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
2199         (gst_mmap_buffer_finalize):
2200         Properly chain up finalize functions to the parent class.
2201
2202 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
2203
2204         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
2205
2206         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
2207         (gst_index_set_resolver_full):
2208         * gst/gstindex.h:
2209         Add new function with option to dispose of user_data in resolver.
2210         Actually call the dispose function when finalizing the object and not
2211         just when changing the resolver/filter.
2212         API: GstIndex::gst_index_set_resolver_full()
2213
2214         * docs/gst/gstreamer-sections.txt:
2215         Add new function to docs. Fixes #515469.
2216
2217 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
2218
2219         * gst/gstindex.c: (gst_index_finalize):
2220         Chain up finalize to the parent class. Fixes leaking the GstObject
2221         name and other things.
2222
2223 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
2224
2225         * configure.ac:
2226         Make DISABLE_DEPRECATED defined *only* during CVS, not during
2227         pre-releases or releases.
2228
2229         * docs/faq/gst-uninstalled:
2230         Add gst-plugins-gl
2231
2232         * docs/random/release:
2233         Change one of the steps - we only upload core & base to Gnome FTP
2234
2235 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
2236
2237         * gst/gstconfig.h.in:
2238           Add 'id' for example.
2239
2240         * gst/gstpad.c:
2241         * gst/gstutils.c:
2242         * plugins/elements/gstfdsink.c:
2243           Link to signals. Doc and comment fixes.
2244
2245 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
2246
2247         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
2248         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
2249           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
2250           unused and unimplemented; finally, it is plugin features, not
2251           plugins, that have ranks.
2252           
2253 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2254
2255         * gst/gstpluginfeature.h:
2256           Clarify GstRank range docs.
2257
2258 2008-02-05  David Schleef  <ds@schleef.org>
2259
2260         * gst/gst.c: Add a separate gst_deinitialized that prevents
2261           gst_init() from being called after gst_deinit().  Fixes #509559
2262
2263 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2264
2265         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
2266         (gst_bin_class_init):
2267         * gst/gstelement.c: (gst_element_base_class_init),
2268         (gst_element_class_add_pad_template):
2269         * gst/gstpadtemplate.c: (gst_pad_template_init):
2270         * gst/gstpipeline.c: (gst_pipeline_get_type),
2271         (gst_pipeline_base_init), (gst_pipeline_class_init):
2272         * libs/gst/base/gstbasesink.c:
2273         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2274         (gst_base_src_base_init), (gst_base_src_class_init):
2275         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2276         (gst_capsfilter_class_init):
2277         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2278         (gst_fake_sink_class_init):
2279         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2280         (gst_fake_src_class_init):
2281         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2282         (gst_fd_sink_class_init):
2283         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2284         (gst_fd_src_class_init):
2285         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2286         (gst_file_sink_class_init):
2287         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2288         (gst_file_src_class_init):
2289         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2290         (gst_identity_class_init):
2291         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2292         (gst_multi_queue_class_init):
2293         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2294         (gst_queue_class_init):
2295         * plugins/elements/gsttee.c: (gst_tee_base_init),
2296         (gst_tee_class_init):
2297         * plugins/elements/gsttypefindelement.c:
2298         (gst_type_find_element_base_init),
2299         (gst_type_find_element_class_init):
2300         * tests/check/gst/gstelement.c: (gst_element_suite):
2301         Revert previous changes to the behaviour of GstPadTemplates, etc
2302         and the possiblity to call them in class_init as it breaks too
2303         many elements. Reopens bug #491501.
2304
2305         Should be applied again for 0.11, thus added a few FIXME 0.11 at
2306         several places.
2307
2308 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2309
2310         * tools/gst-launch.c:
2311         Dump one graph per pipeline state-change and state change name
2312         (if GST_DEBUG_DUMP_DOT_DIR is set).
2313
2314 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
2315
2316         * gst/gstpad.c:
2317         * tests/check/gst/gstpad.c:
2318         Be sure that we have a new copy of the caps and not
2319         reffed caps from a template
2320
2321 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2322
2323         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2324         * gst/gstpipeline.c: (gst_pipeline_get_type),
2325         (gst_pipeline_class_init):
2326         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2327         (gst_base_sink_class_init):
2328         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2329         (gst_base_src_class_init):
2330         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2331         (gst_base_transform_class_init):
2332         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2333         (gst_collect_pads_class_init):
2334         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
2335         * libs/gst/net/gstnettimeprovider.c:
2336         (gst_net_time_provider_base_init),
2337         (gst_net_time_provider_class_init):
2338         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2339         (gst_capsfilter_class_init):
2340         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2341         (gst_fake_sink_class_init):
2342         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2343         (gst_fake_src_class_init):
2344         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2345         (gst_fd_sink_class_init):
2346         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2347         (gst_fd_src_class_init):
2348         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2349         (gst_file_sink_class_init):
2350         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2351         (gst_file_src_class_init):
2352         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2353         (gst_identity_class_init):
2354         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2355         (gst_multi_queue_class_init):
2356         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2357         (gst_queue_class_init):
2358         * plugins/elements/gsttee.c: (gst_tee_base_init),
2359         (gst_tee_class_init):
2360         * plugins/elements/gsttypefindelement.c:
2361         (gst_type_find_element_base_init),
2362         (gst_type_find_element_class_init):
2363         Don't use base_init where not absolutely necessary. For example it's
2364         not necessary anymore for adding pad templates or setting element
2365         details.
2366
2367         Leave empty base_init functions in several places as GST_BOILERPLATE
2368         still defines and uses them.
2369
2370 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2371
2372         * gst/gstelement.c: (gst_element_base_class_init),
2373         (gst_element_class_add_pad_template):
2374         * gst/gstpadtemplate.c:
2375         Make it possible (and recommended) to set element details and add
2376         pad templates in the class_init functions by copying the details/pad
2377         templates in GstElement's base_init.
2378
2379         Also make it possible to replace existing pad templates by adding
2380         a new one with the same name. This was done in a hackish fashion
2381         in same elements before already.
2382
2383         Don't reference pad templates that are added a second time. A
2384         new pad template has a refcount of one and is not floating anymore
2385         and to be owned by the element's class. Make this more explicit by
2386         mentioning it in the docs of gst_element_class_add_pad_template().
2387
2388         These changes are backwards compatible. Fixes bug #491501.
2389
2390         * tests/check/gst/gstelement.c:
2391         Add unit test for setting element details, adding pad templates and
2392         replacing them in a subclass.
2393
2394 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2395
2396         * tools/gst-inspect.c: (print_interfaces),
2397         (print_element_properties_info), (print_pad_info),
2398         (print_signal_info), (print_element_info):
2399         Fix a few memory leaks.
2400
2401 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2402
2403         * docs/libs/gstreamer-libs-sections.txt:
2404         * libs/gst/check/gstcheck.c:
2405         * libs/gst/check/gstcheck.h:
2406         Add more functions for unit testing: gst_check_drop_buffers,
2407         gst_check_caps_equal, gst_check_element_push_buffer_list,
2408         gst_check_element_push_buffer
2409         API: gst_check_drop_buffers
2410         API: gst_check_caps_equal
2411         API: gst_check_element_push_buffer_list
2412         API: gst_check_element_push_buffer
2413
2414 2008-02-01  Julien Moutte  <julien@fluendo.com>
2415
2416         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
2417         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
2418         (gst_index_finalize), (gst_index_entry_free),
2419         (gst_index_add_association): Fix memory leaks.
2420         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
2421         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
2422         (gst_mem_index_free_format), (gst_mem_index_free_id),
2423         (gst_mem_index_finalize): Fix memory leaks.
2424         * win32/common/config.h: Updated to CVS HEAD.
2425
2426 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
2427
2428         * docs/README:
2429           Some more details about how the plugin docs works.
2430
2431         * docs/plugins/gstreamer-plugins-sections.txt:
2432           Whitespace cleanup.
2433
2434 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
2435
2436         * gst/parse/grammar.tab.pre.c:
2437         * gst/parse/grammar.tab.pre.h:
2438         * gst/parse/grammar.y:
2439         * gst/parse/lex._gst_parse_yy.pre.c:
2440           Add delayed set-property. This allows to set properties on dynamicaly
2441           created objects (pads in videomxer). Fixes #509391.
2442
2443 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2444
2445         * gst/gstutils.c:
2446         Check if caps are not NULL (fix bug #510194)
2447
2448 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2449
2450         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
2451         (gst_base_sink_get_position_paused):
2452         Add fixme regarding EOS in pull mode.
2453         Fix position reporting in PAUSED for negative rates.
2454
2455 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2456
2457         * gst/gstminiobject.c: (gst_mini_object_replace):
2458         When replacing a miniobject, do a quick equality check first so that we
2459         can avoid a ref/unref pair.
2460
2461 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2462
2463         * docs/design/part-synchronisation.txt:
2464         Update some docs.
2465
2466         * docs/plugins/Makefile.am:
2467         * docs/plugins/gstreamer-plugins-docs.sgml:
2468         * docs/plugins/gstreamer-plugins-sections.txt:
2469         * plugins/elements/gstmultiqueue.c:
2470         Add multiqueue to the docs.
2471
2472 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2473
2474         * configure.ac:
2475           Back to CVS
2476
2477 === release 0.10.17 ===
2478
2479 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
2480
2481         * configure.ac:
2482           releasing 0.10.17, "Due Negligence"
2483
2484 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2485
2486         * gst/gstutils.c:
2487         Revert caps != NULL check temporarily for 0.10.17 release.
2488
2489 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
2490
2491         * gst/gstutils.c:
2492         Check if caps are not NULL (fix bug #510194)
2493
2494 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2495
2496         * gst/gstutils.c:
2497         Fix compilation on systems that have posix timers but no
2498         monotonic clock.
2499         Fixes: #512715
2500         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
2501         dot net>
2502
2503 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2504
2505         * tools/gst-inspect.c:
2506         Revert previous commit in preparation for an impromptu 0.10.17 release
2507
2508 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
2509
2510         * tools/gst-inspect.c: (print_interfaces),
2511         (print_element_properties_info), (print_pad_info),
2512         (print_signal_info), (print_element_info):
2513         Fix a few memory leaks.
2514
2515 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
2516
2517         * configure.ac:
2518         Back to CVS
2519
2520 === release 0.10.16 ===
2521
2522 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
2523
2524         * configure.ac:
2525           releasing 0.10.16, "Special Dispensation"
2526
2527 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
2528
2529         * configure.ac:
2530           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
2531           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
2532           not fail when trying to crosscompile on OpenEmbedded (#511750).
2533
2534 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
2535
2536         * docs/manuals.mak:
2537         Use $(MAKE) instead of make to fix the build if GNU make is
2538         called different. Fixes bug #510747.
2539
2540 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2541
2542         * gst/gstplugin.c: (_gst_plugin_initialize):
2543           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
2544           again, which I broke two commits ago when changing the API
2545           of gst_plugin_register_static(): the g_list_foreach() in
2546           _gst_plugin_register_static still assumed the old function
2547           signature and would therefore fail (re-fixes #510187).
2548
2549         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
2550           (_gst_plugin_register_static), (gst_plugin_register_static):
2551           Revert the (technically correct) change to call g_thread_init() from
2552           the pre-main() constructor. This will break programs which call
2553           g_thread_init() without an if (!g_thread_supported()) guard in their
2554           main function. We could just blame it on GLib or the application, but
2555           it's probably best to just avoid this altogether and simply not use
2556           any GLib functions here and use plain old malloc() with a simple
2557           array to store the plugins to register later when gst_init() is
2558           finally called (re-fixes #510187).
2559
2560         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
2561           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
2562           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
2563           (GST_START_TEST), (gst_plugin_suite):
2564           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
2565           works.
2566
2567 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2568
2569         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2570           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
2571           This makes gtk-doc complain, but results in slightly better
2572           compiler errors. The old _gst_plugin_register_static() is
2573           still guarded, so there'll be a compiler warning about that
2574           instead. Fixes #510187 too.
2575
2576 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
2577
2578         * gst/gst.c: (init_post):
2579         * gst/gstplugin.c: (_gst_plugin_register_static),
2580           (gst_plugin_register_static), (_gst_plugin_initialize):
2581         * gst/gstplugin.h: (GstPluginFilter):
2582           Change API of gst_plugin_register_static() to not take
2583           a GstPluginDesc, but rather just take all the arguments
2584           in a GstPluginDesc directly. This is more intuitive and
2585           avoids certain mistakes when porting code from
2586           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
2587           Fixes #510187.
2588
2589         * tests/check/gst/gstplugin.c:
2590           Fix up for changed API.
2591
2592 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2593
2594         * docs/faq/legal.xml:
2595           Update FAQ, Totem actually has an exception these days.
2596
2597 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
2598
2599         * win32/common/libgstreamer.def:
2600         Add new API declarations
2601
2602 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
2603
2604         * gst/gstminiobject.c:
2605           Spelling fixes for the API docs.
2606
2607 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
2608
2609         * libs/gst/base/gstbasetransform.c:
2610           Fix long property description for QoS.
2611
2612 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
2613
2614         * gst/gst.c:
2615         _gst_trace_on is already provided by gsttrace.h, no need to declare
2616         it ourselves.
2617
2618         * docs/libs/gstreamer-libs-sections.txt:
2619         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
2620         and remove strange tcase_add_test which is outputting a warning.
2621
2622         * libs/gst/check/gstcheck.c:
2623         * libs/gst/check/gstcheck.h:
2624         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
2625         and define them in gstcheck.c instead of having every .c file whcih
2626         includes gstcheck.h be defining its own copy and relying on symbol
2627         interposing to marry them all, which doesn't work on Solaris.
2628
2629         * tests/check/elements/identity.c: (GST_START_TEST):
2630         Don't define 'buffers' locally, it comes from libgstcheck.
2631
2632         * tests/check/generic/sinks.c: (send_buffer):
2633         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
2634
2635         * tests/check/gst/gststructure.c: (GST_START_TEST):
2636         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
2637         * tests/check/gst/gstutils.c: (GST_START_TEST):
2638         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2639         Add a bunch of casts to make various constants fit the types
2640         they're being assigned to.
2641
2642 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
2643
2644         * gst/gstchildproxy.c:
2645           Improve docs and add some ideas for making this more general-purpose.
2646
2647 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * gst/gst_private.h: (GST_CAT_TYPES):
2650           Add GST_CAT_TYPES, for consistency, and so that the other
2651           debug categories don't make fun of it. Spotted by Saur on IRC.
2652
2653 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2654
2655         * gst/parse/Makefile.am:
2656           Move types.h from EXTRA_DIST to noinst_HEADERS.
2657
2658 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2659
2660         * autogen.sh:
2661           Add -Wno-portability to the automake parameters to stop warnings
2662           about GNU make extensions being used. We require GNU make in almost
2663           every Makefile anyway.
2664
2665         * configure.ac:
2666           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
2667           at the same time is required for per target flags.
2668
2669 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2670
2671         * gst/gstmacros.h:
2672           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
2673           __GNUC__ is defined before using it.
2674
2675 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2676
2677         * docs/gst/gstreamer-sections.txt:
2678         * gst/gst.c: (init_post):
2679         * gst/gstplugin.c: (_gst_plugin_register_static),
2680           (gst_plugin_register_static), (_gst_plugin_initialize),
2681           (gst_plugin_register_func):
2682         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2683           API: add gst_plugin_register_static() and deprecate
2684           GST_PLUGIN_DEFINE_STATIC, since it's not portable
2685           (#498924).
2686           Also, in _gst_plugin_register_static(), make sure to call
2687           g_thread_init() before calling GLib functions such as
2688           g_list_append() if we're not initialised yet, since that
2689           may lead to random crashes with older GSlice/GLib versions.
2690
2691         * tests/check/gst/gstplugin.c:
2692           Adapt unit test to above changes.
2693
2694 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2695
2696         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
2697         * gst/gstcaps.c: (gst_caps_to_string):
2698         * gst/gststructure.c: (GST_ASCII_IS_STRING),
2699           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
2700           Yet another gratuitous GString micro-optimisation: add a (private)
2701           function that serialises a structure appending to an existing
2702           GString, so that when we serialise caps we don't need to alloc+free
2703           a throwaway GString for each structure (each of which also entailing
2704           multiple reallocs on the way); also use g_string_sized_new() in
2705           various places with an approximate string length to avoid reallocs
2706           within GString. See #500143.
2707
2708 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2709
2710         * gst/gststructure.c: (gst_structure_id_set_value):
2711           Always check UTF-8 conformance of structure strings and not only
2712           if the debugging system is enabled; reasoning: the behaviour of
2713           the actual code shouldn't really change depending on whether the
2714           debugging system is enabled or not (#508291).
2715
2716 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
2717
2718         * Makefile.am:
2719           Remove old coverage target in favour of "make lcov".
2720
2721 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2722
2723         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2724         (gst_base_src_loop):
2725         The start segment for reverse playback goes from start to last_stop.
2726
2727 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2728
2729         Patch by: Peter Kjellerstedt <pkj axis com>
2730
2731         * gst/gstclock.h:
2732         Cast the results from the timeval/spec_to_time macros to what the
2733         docs say it casts to, a GstClockTime. fixes #508175.
2734
2735 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2736
2737         * gst/gstbuffer.c:
2738         Update some comments.
2739
2740         * tools/gst-inspect.c: (print_element_properties_info):
2741         Improve printing of flags.
2742
2743 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2744
2745         * libs/gst/base/gstbasetransform.c:
2746           (gst_base_transform_transform_size):
2747           Print element name with g_warning() if there's a problem
2748           with the unit size.
2749
2750 2008-01-07  David Schleef  <ds@schleef.org>
2751
2752         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
2753
2754         * libs/gst/controller/gstcontroller.h:
2755         * libs/gst/controller/gstcontrolsource.h:
2756         * libs/gst/controller/gstinterpolationcontrolsource.h:
2757         * libs/gst/controller/gstlfocontrolsource.h:
2758         * libs/gst/dataprotocol/dataprotocol.h:
2759           Fix empty prototypes.  Fixes bug #507957.
2760
2761 2008-01-07  David Schleef  <ds@schleef.org>
2762
2763         * docs/faq/dependencies.xml: Fix typo.
2764
2765 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2766
2767         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
2768         (gst_base_src_loop):
2769         Don't update the last_stop position in do_seek, that's the position we
2770         did a seek to.
2771         Read backwards when we have a negative rate.
2772
2773         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
2774         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
2775         (filesrc_suite):
2776         Add check for reverse reading.
2777
2778 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
2779
2780         Patch by: Alexis Ballier <aballier at gentoo org>
2781
2782         * tests/check/gst/gstabi.c:
2783         * tests/check/gst/struct_ppc64.h:
2784         * tests/check/libs/libsabi.c:
2785         * tests/check/libs/struct_ppc64.h:
2786           Decide which header to include based on the userland ABI target
2787           and not the kernel/cpu. Fix up structure sizes of ppc64 header
2788           for 64-bit userland (#503590).  Might need something similar for
2789           x86 too.
2790
2791 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2792
2793         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
2794           Log the reason why fopen fails in addition to the fact that it failed.
2795           
2796 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
2797
2798         * gst/parse/parse.l:
2799         Use "%option never-interactive" to prevent useless calls to isatty()
2800         on every input when parsing. Also use "%option noinput" to not define
2801         the static input/yyinput functions which we don't use anyway. This
2802         removes a compiler warning with gcc 4.3 and saves some bytes in the
2803         library.
2804         
2805         * gst/parse/lex._gst_parse_yy.pre.c:
2806         Regenerated for the above change.
2807
2808 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2809
2810         * gst/gstpad.c: (fixate_value):
2811         Don't crash when trying to fixate and empty list.
2812         Fixes #506643.
2813
2814 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
2815
2816         * docs/faq/gst-uninstalled:
2817         Clarify the comments to make the usage of this script and what it
2818         does easier to understand.
2819
2820 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2821
2822         * tools/gst-plot-timeline.py:
2823         Add more options to gst-plot-timeline
2824
2825 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
2826
2827         * docs/design/part-synchronisation.txt:
2828         Some more info on how the stream_time in GstBaseSink is done.
2829
2830 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
2831
2832         * tests/check/generic/sinks.c: (gst_sinks_suite):
2833           Put back the tcase_set_timeout(), apparently it's needed after
2834           all; fix it up in a way that makes things work with valgrind too.
2835
2836 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
2837
2838         * gst/gstdebugutils.c:
2839           Add warning when failed to open file for writing.
2840
2841 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
2844
2845         * gst/gstvalue.c: (gst_value_is_fixed):
2846           Optimisation: bail out of the loop as early as possible (#500143).
2847
2848 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
2849
2850         * gst/gstcaps.c: (gst_caps_to_string):
2851         * gst/gstinfo.c: (gst_debug_construct_term_color):
2852         * gst/gstparse.c: (gst_parse_launchv):
2853         * gst/gstutils.c: (gst_util_dump_mem):
2854         * gst/gstvalue.c: (gst_value_serialize_any_list),
2855           (gst_value_transform_any_list_string):
2856           Bunch of gratuitous nano-optimisations.
2857
2858 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
2859
2860         * tests/check/generic/sinks.c: (async_done_func),
2861           (async_done_eos_func):
2862           Fix leak in unit test (bus sync handler must unref the message
2863           if it returns GST_BUS_DROP). Don't fiddle with the default test
2864           timeout, this is smaller than the current preconfigured value
2865           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
2866           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
2867
2868 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2869
2870         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
2871
2872         * configure.ac:
2873         Check for stdio_ext.h for the filesink changes.
2874
2875         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
2876         (gst_file_sink_class_init), (gst_file_sink_init),
2877         (gst_file_sink_dispose), (gst_file_sink_set_property),
2878         (gst_file_sink_get_property), (gst_file_sink_open_file),
2879         (gst_file_sink_close_file):
2880         * plugins/elements/gstfilesink.h:
2881         Add two properties to control the buffering mode and size.
2882         API: GstFileSink::buffer-mode
2883         API: GstFileSink::buffer-size
2884         Fixes #500150.
2885
2886 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2887
2888         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
2889         Add some more docs to explain why a FIXME was wrongly added. 
2890
2891 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
2892
2893         * gst/gstobject.c:
2894           Fix typo in the gst_object_{ref,unref} documentation.
2895
2896 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
2897
2898         * tests/check/libs/controller.c:
2899         * tests/check/libs/typefindhelper.c:
2900         * tests/check/pipelines/parse-launch.c:
2901           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
2902           going to be deprecated (see #498924).
2903
2904 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
2905
2906         * gst/gsttypefind.c: (gst_type_find_register):
2907           Make gst_type_find_register work for static typefind functions,
2908           ie. allow passing plugin == NULL (prerequisite for #498924).
2909
2910         * gst/gstelementfactory.c: (gst_element_register):
2911           Small docs addition.
2912
2913 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2914
2915         * gst/gstpad.c: (gst_pad_dispose):
2916         Really unlink the peer pad instead of setting the peer pointer to NULL
2917         when we dispose the pad.
2918         This correctly calls the unlink functions and makes sure that the peer
2919         does not have a handle to invalid memory. See #504671.
2920
2921         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2922         Add testsuite for above case.
2923
2924 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2925
2926         Patch by: Peter Kjellerstedt <pkj axis com>
2927
2928         * libs/gst/check/gstcheck.h:
2929           Fix detection of the check version we're compiling against (would
2930           otherwise break if check goes v0.10.0); correctly report the
2931           name of the failed test again in case of failure, instead of
2932           just 'tf' (fixes #504499).
2933
2934 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2935
2936         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2937         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2938         (gst_base_src_loop), (gst_base_src_set_flushing),
2939         (gst_base_src_change_state):
2940         Allow sending EOS to the source to make it send out an EOS event from
2941         the streaming thread.
2942         Update docs and deprecate the old NULL/READY shutdown method.
2943
2944         * tests/check/libs/basesrc.c: (GST_START_TEST),
2945         (gst_basesrc_suite):
2946         Add unit test for controlled shutdown.
2947
2948 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2949
2950         * docs/design/part-synchronisation.txt:
2951         Small updates.
2952
2953         * gst/gstsegment.c: (gst_segment_set_seek),
2954         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2955         (gst_segment_to_running_time):
2956         The seek format can be different from the segment format when the start
2957         and stop values are not to be updated, when we only do a rate change for
2958         example.
2959
2960         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2961         (gst_segment_suite):
2962         Add a testcase for the rate-only seeks, checking that the format is
2963         correctly ignored when start and stop are not updated.
2964
2965 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
2966
2967         Patch by: Matthias Bolte <photon at mail dot upb dot de>
2968
2969         * win32/vs8/grammar.vcproj:
2970         * win32/vs8/libgstcontroller.vcproj:
2971         * win32/vs8/libgstreamer.vcproj:
2972         Fix compilation with VS8 and include some missing files.
2973
2974 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2975
2976         * gst/gsttaglist.c:
2977           Small docs addition: mention that the strings returned by
2978           gst_tag_list_get_string*() are in UTF-8 encoding.
2979
2980 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2981
2982         * Makefile.am:
2983           The check-exports stuff moved to common/win32.mak, so include that.
2984
2985 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
2986
2987         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2988         (gst_base_src_perform_seek), (gst_base_src_get_range),
2989         (gst_base_src_set_playing), (gst_base_src_change_state):
2990         Make _wait_playing() not check any variables so that we can call this
2991         function from subclasses. Move the checks elsewhere similar to
2992         _wait_preroll() in basesink.
2993         Add some debugging.
2994         Only signal the LIVE cond when we are going back to PLAYING.
2995
2996 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2997
2998         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
2999           Use g_remove() and g_rename(). Check result of g_rename(), and
3000           don't leak the open file descriptor if we error out when writing.
3001
3002         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
3003           Must check the return value of close() after writing out the new
3004           registry file.  Sometimes write problems such as out-of-diskspace
3005           are only reported when the file is closed and not already during
3006           the write.  This may have caused partial/broken registry files in
3007           some rare circumstances. Should fix #503675.
3008
3009 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
3010
3011         * docs/gst/.cvsignore:
3012         * docs/libs/.cvsignore:
3013         * docs/plugins/.cvsignore:
3014         Ignore files generated by new common/* modifications
3015
3016 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3017
3018         * win32/common/libgstbase.def:
3019           Yes, you can also have a <TAB> if you want.
3020
3021 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3022
3023         * win32/common/libgstbase.def:
3024           Add new basetransform API to win export file.
3025
3026 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3027
3028         * tests/check/gst/gstbin.c:
3029           Adjust the test to the refcount change two days ago.
3030
3031 2007-12-14  David Schleef  <ds@schleef.org>
3032
3033         * docs/faq/getting.xml: Fix typo.
3034
3035 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
3036
3037         * docs/libs/gstreamer-libs-sections.txt:
3038         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3039           (gst_base_transform_prepare_output_buffer),
3040           (gst_base_transform_set_gap_aware):
3041         * libs/gst/base/gstbasetransform.h:
3042           API: Add gst_base_transform_set_gap_aware() to control whether
3043           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
3044           get buffers with this flag at all. Fixes #503231.
3045
3046 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
3047
3048         * libs/gst/base/gstbasesink.c:
3049         * libs/gst/base/gstbasesrc.c:
3050         * libs/gst/base/gstbasetransform.c:
3051           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
3052           thread. Correct log message in gstbasesrc.c.
3053
3054 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3055
3056         * gst/gstutils.c: (element_find_unconnected_pad):
3057           Fix possible compiler warning (#503417).
3058
3059 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3060
3061         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
3062           Don't use GST_CAT_EVENT here for logging, it makes no sense.
3063
3064 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
3065
3066         * tools/gst-inspect.c: (print_element_properties_info):
3067           Add support for GstFraction properties.
3068
3069 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * Makefile.am:
3072           Add check-exports target and run it as part of 'make check'
3073           (see #499140 and #493983).
3074
3075         * gst/gst_private.h:
3076         * gst/gstelementfactory.h:
3077         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
3078         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
3079           (_priv_gst_in_valgrind):
3080         * gst/gstinfo.h: (GstLogFunction):
3081         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
3082           (gst_type_find_register):
3083         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
3084           (gst_type_find_factory_get_type):
3085         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
3086           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
3087           (gst_controller_new_valist), (gst_controller_new_list),
3088           (_gst_controller_dispose), (_gst_controller_class_init):
3089         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
3090         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
3091           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
3092           (gst_object_get_controller), (gst_object_set_controller),
3093           (gst_object_suggest_next_sync), (gst_object_sync_values),
3094           (gst_object_set_control_source), (gst_object_get_control_source),
3095           (gst_object_get_value_arrays), (gst_object_get_value_array),
3096           (gst_object_get_control_rate), (gst_object_set_control_rate):
3097         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
3098         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
3099           Make some functions that should be static static; rename some
3100           private symbols so that they don't get exported; add some FIXME
3101           comments so we can move accidentally exported functions into
3102           our private section in 0.11.
3103
3104         * win32/common/libgstreamer.def:
3105           Add gst_utils_get_timestamp().
3106
3107 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3108
3109         * gst/gstvalue.c:
3110         * gst/gstvalue.h:
3111           Add more missing "Since:" tags to docs.
3112
3113 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3114
3115         * gst/gstutils.c:
3116           Add mising "Since:" to docs.
3117
3118 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3119
3120         * gst/gstplugin.c:
3121           Include "glib-compat-private.h" to fix the build on system with
3122           glib < 2.10. Fixes #503131.
3123
3124 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3125
3126         * gst/gstutils.c:
3127         * gst/gstutils.h:
3128           Actually its not PURE as it gets the time from elsewhere.
3129
3130 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3131
3132         * docs/gst/gstreamer-sections.txt:
3133         * gst/gstclock.h:
3134         * gst/gstdebugutils.c:
3135         * gst/gstinfo.c:
3136         * gst/gstutils.c:
3137         * gst/gstutils.h:
3138         * libs/gst/base/gstbasesink.c:
3139         * tools/gst-launch.c:
3140           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
3141           uses as we don't have HAVE_POSIX_TIMERS in public headers.
3142           Thanks Tim for spotting.
3143           API: gst_util_get_timestamp
3144
3145 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
3146
3147         * configure.ac:
3148           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
3149
3150 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
3151
3152         * gst/gststructure.c: (gst_structure_validate_name),
3153           (gst_structure_new_valist), (gst_structure_parse_value),
3154           (gst_structure_from_string):
3155           Don't crash in _from_string() if the structure name is not valid
3156           (fixes #501560).  Allow structure names to start with a number
3157           again (this apparently broke the ubuntu codec installer).
3158
3159         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
3160           (GST_START_TEST):
3161           Add unit test for the crash; update unit tests for new behaviour.
3162
3163 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
3164
3165         * gst/gstutils.c:
3166         Clarify gst_element_get_compatible_pad() documentation.
3167         Fixes #500919.
3168
3169 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
3170
3171         * tests/check/Makefile.am:
3172           Don't forget to dist {gst,libs}/struct_hppa.h.
3173
3174 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3175
3176         * libs/gst/base/gstbasesink.c:
3177           Use new API to get elapsed time.
3178
3179 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3180
3181         * gst/gstdebugutils.c:
3182         * gst/gstinfo.c:
3183           Fix wrong order of args in GST_CLOCK_DIFF() usage.
3184
3185         * tools/gst-launch.c:
3186           Use new API to get elapsed time.
3187
3188 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3189
3190         * docs/gst/gstreamer-sections.txt:
3191         * gst/gstclock.h:
3192         * gst/gstdebugutils.c:
3193         * gst/gstinfo.c:
3194           Rename new API + ChangeLog surgery to remove old name from last entry..
3195
3196 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3197
3198         * docs/gst/gstreamer-sections.txt:
3199         * gst/gstclock.h:
3200         * gst/gstdebugutils.c:
3201         * gst/gstinfo.c:
3202           Now hide the different clock stuff behind a macro.
3203
3204 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3205
3206         * configure.ac:
3207         * gst/gstdebugutils.c:
3208         * gst/gstinfo.c:
3209           Apply the posix-timer check from #361155. Conditionally use the posix
3210           timer for logging. This gives better timestamp precission, less
3211           overhead and no ntp jitter.
3212
3213 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
3214
3215         * gst/gstminiobject.c: (gst_mini_object_get_type),
3216         (gst_mini_object_class_init), (gst_mini_object_copy_default),
3217         (gst_mini_object_finalize), (gst_mini_object_copy),
3218         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
3219         (gst_mini_object_replace), (param_mini_object_validate),
3220         (gst_param_spec_mini_object_get_type):
3221         Some cleanup and checking against invalid function parameters.
3222
3223 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
3224
3225         * docs/gst/gstreamer-sections.txt:
3226         * gst/gstclock.h:
3227         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3228         (gst_systemclock_suite):
3229         Start merging in the easy bits of #361155, the monotonic clock patch.
3230         This one adds a few handy macros with docs and a testsuite.
3231
3232 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
3233
3234         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
3235         Be a bit smarter when seeking, like, don't try to do a seek when it's
3236         not needed. This avoids errors when the file is not seekable.
3237         Fixes #499771.
3238
3239 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
3240
3241         * docs/gst/gstreamer-docs.sgml:
3242         * docs/gst/gstreamer-sections.txt:
3243         * docs/gst/gstreamer.types.in:
3244         * gst/Makefile.am:
3245         * gst/gst.h:
3246         * gst/gstpreset.c:
3247         * gst/gstpreset.h:
3248         * plugins/elements/gstqueue.c:
3249           Due to popular request remove preset interface again. :-(.
3250
3251 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3252
3253         * tools/gst-inspect.c:
3254           Print 'default value' for enums and flags too.
3255
3256 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3257
3258         * docs/random/ensonic/profiling.txt:
3259           More ideas.
3260
3261         * gst/gstbin.c:
3262           Fix typo and give better log output.
3263
3264         * gst/gstdebugutils.c:
3265         * gst/gstdebugutils.h:
3266           More ideas, make graphs a bit smaller and fix param name in macro.
3267
3268 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3269
3270         * gst/gstpreset.c:
3271           Try harder to use the return value from fgets().
3272
3273 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
3274
3275         * gst/gstpreset.c:
3276           For theses two fgets we handle the error below.
3277
3278 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3279
3280         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
3281         Only send upstream events upstream. Fixes #498746.
3282
3283 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3284
3285         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3286
3287         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3288         (gst_identity_init), (gst_identity_transform_ip),
3289         (gst_identity_set_property), (gst_identity_get_property):
3290         * plugins/elements/gstidentity.h:
3291         Add property to disable handoff signal emission. Fixes #498694.
3292         API: GstIdentity::signal-handoffs
3293
3294 2007-11-21  Julien Moutte  <julien@fluendo.com>
3295
3296         * docs/faq/gst-uninstalled: Yet another missing library for the
3297         uninstalled script (fft)
3298
3299 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
3300
3301         * docs/faq/developing.xml:
3302         Add a question about how to submit new translations.
3303
3304         * docs/random/release:
3305         Update the contact email address for the Translation Project
3306
3307         * plugins/elements/gstfdsrc.c:
3308         The parent_class for fdsrc is pushsrc, not GstElement.
3309
3310 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3311
3312         * gst/gstpreset.c:
3313           Plug a leak and fix saving.
3314
3315 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
3316
3317         * docs/gst/gstreamer-sections.txt:
3318         Add new gst_preset__get_property_names() function to the docs
3319         to fix the build.
3320
3321 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3322
3323         * gst/gstpreset.c:
3324         * gst/gstpreset.h:
3325           Change _get_preset_names API to return a strv with copies. Add
3326           _get_property_names to allow implementations to filter and provide
3327           good default implementation.
3328
3329 2007-11-20  Julien MOUTTE  <julien@moutte.net>
3330
3331         * docs/faq/gst-uninstalled: Add another library to the uninstalled
3332         script (sdp).
3333
3334 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3335
3336         * gst/gstpreset.c:
3337           More cleanups, docs, and TODOs from comments that now slowly come in.
3338
3339 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3340
3341         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
3342         search path.
3343
3344 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3345
3346         * gst/gstpreset.c:
3347           Fix bogus warning and make the property type specific code more
3348           similar.
3349
3350 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3351
3352         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
3353         it build on OS X.
3354
3355 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
3356
3357         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3358         (gst_bin_add_func), (gst_bin_remove_func),
3359         (gst_bin_change_state_func), (gst_bin_continue_func):
3360         Change email, cleanups add some more debug and comments.
3361         Also set bus and clock on new elements when the pipeline was in error.
3362
3363 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
3364
3365         * gst/gstbin.c:
3366         * gst/gstdebugutils.c:
3367           Fix build with --disable-gst-debug. Fixes #497859.
3368           Spotted by Sameer Naik.
3369
3370 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3371
3372         * gst/gstevent.c:
3373           Little documentation improvment.
3374
3375         * gst/gstpreset.c:
3376           More TODO cleanups. Remove c++ comments.
3377
3378         * libs/gst/controller/gstcontroller.c:
3379           Add TODO and use quark from static string.
3380
3381         * tests/check/gst/gstmessage.c:
3382         * tests/check/gst/gststructure.c:
3383           Use quark from static string.
3384
3385 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3386
3387         * gst/gstpreset.c:
3388           Add some comments and TODOs.
3389
3390         * gst/gstpreset.h:
3391           Add padding for future changes.
3392
3393         * plugins/elements/gstqueue.c:
3394           Implement the iface.    
3395
3396 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3397
3398         * docs/gst/gstreamer-docs.sgml:
3399         * docs/gst/gstreamer-sections.txt:
3400         * docs/gst/gstreamer.types.in:
3401         * gst/Makefile.am:
3402         * gst/gst.h:
3403         * gst/gstpreset.c:
3404         * gst/gstpreset.h:
3405           Add the preset interface (Fixes #396779). Do some doc cleanups along.
3406
3407 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
3408
3409         * configure.ac:
3410
3411         Back to CVS
3412
3413 === release 0.10.15 ===
3414
3415 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
3416
3417         * configure.ac:
3418           releasing 0.10.15, "October"
3419
3420 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
3421
3422         * win32/vs6/libgstreamer.dsp:
3423         Convert line endings back to DOS.
3424
3425 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
3426
3427         * docs/design/draft-tagreading.txt:
3428         * docs/random/ensonic/profiling.txt:
3429         Update fast tagreading draft and performance profiling ideas.
3430
3431 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
3432
3433         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
3434         Don't hold the object lock when unreffing a buffer because it could
3435         cause a deadlock when the finalize function wants to grab the object
3436         lock too. Fixes #495133.
3437
3438 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
3439
3440         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
3441         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3442         Also accumulate time correctly when doing reverse playback. Fixes
3443         #488201,
3444         When converting to running and stream time, use default values for
3445         start/stop/time/accum when comparing different formats. Fixes #494245.
3446
3447         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3448         Do running/stream time in TIME format.
3449
3450         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3451         (gst_segment_suite):
3452         2 new unit tests for segment accumulation.
3453
3454 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3455
3456         * gst/gst.c: (init_pre):
3457         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
3458           (_gst_debug_bin_to_dot_file):
3459           Move getenv() back into gst_init, so everyone can live happily
3460           ever after. Make sure the symbol isn't exported though.
3461
3462 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3463
3464         Patch by: Sebastien Moutte  <sebastien moutte net>
3465
3466         * win32/common/gstenumtypes.c:
3467         * win32/common/gstenumtypes.h:
3468           Update enum types.
3469
3470         * win32/vs6/libgstreamer.dsp:
3471           Update vs6 project files (#494343).
3472
3473 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3474
3475         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
3476         (gst_base_src_perform_seek), (gst_base_src_default_event),
3477         (gst_base_src_set_flushing), (gst_base_src_activate_push),
3478         (gst_base_src_activate_pull):
3479         Unify flushing code, remove some old unlock code that is no longer used.
3480         Take the streaming lock when seeking to avoid races. Fixes #492729.
3481         Added some more comments.
3482
3483 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3484
3485         * gst/gst.c: (_gst_disable_segtrap):
3486           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
3487           we can use gst_segtrap_is_enabled() there now that we have that API.
3488           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
3489           to do the getenv here (and export the variable).
3490
3491         * gst/gstdebugutils.c: (debug_dump_element),
3492           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
3493           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
3494
3495         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
3496           (gst_debug_log_default):
3497           Rename _gst_info_start_time to priv_gst_info_start_time so it
3498           doesn't get exported (was never in any header).
3499
3500         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
3501           (gst_plugin_loading_mutex):
3502           Make static mutex gst_plugin_loading_mutex really static (was never
3503           in any header), and use gst_segtrap_is_enabled() instead of
3504           _gst_disable_segtrap.
3505
3506         * gst/gsttrace.c: (_gst_trace_default):
3507           Make local _gst_trace_default static (was never in any header).
3508
3509 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3510
3511         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
3512
3513         * win32/common/libgstbase.def:
3514         * win32/common/libgstcontroller.def:
3515         * win32/common/libgstdataprotocol.def:
3516         * win32/common/libgstnet.def:
3517         * win32/common/libgstreamer.def:
3518           Add more missing symbols, remove some duplicates, and sort
3519           as the 'sort' command sorts it (partially fixes #493983).
3520
3521 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3522
3523         * gst/gstelement.c: (gst_element_set_state_func):
3524         Only change the state cookie if a different state was set on the
3525         element. See #492729.
3526
3527 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3528
3529         * gst/gstvalue.c:
3530           Remove unused and uninitialised type variables that were still
3531           exported for some reason (they were never in any header files
3532           though).
3533
3534 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3535
3536         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3537         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
3538         (gst_base_sink_event), (gst_base_sink_get_position_last),
3539         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3540         (gst_base_sink_change_state):
3541         Don't try to report a 0 position when we don't know, return -1 and FALSE
3542         instead. This mostly happens when we are prerolling.
3543         Make sure we can report the right position before we post the ASYNC_DONE
3544         message so that a message handler can query position without races.
3545
3546         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
3547         (async_done_handoff), (async_done_func), (send_buffer),
3548         (async_done_eos_func), (gst_sinks_suite):
3549         Add two tests for the above.
3550
3551 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3552
3553         * MAINTAINERS:
3554         Update with new email address.
3555
3556         * docs/design/part-TODO.txt:
3557         Add some more info about future pad-block and negotiation changes.
3558
3559         * docs/design/part-buffering.txt:
3560         Add some ideas about buffering reporting.
3561
3562 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
3563
3564         * tests/check/gst/gstobject.c:
3565         Disable silly racy test that always fails on this combination of CPU
3566         and kernel.
3567
3568 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3569
3570         Patch by: Murray Cumming  <murrayc@murrayc.com>
3571
3572         * gst/gstobject.c:
3573           Corrected the registration of the parent-set and parent-unset
3574           signals: The parameter is a GstObject, not a GObject (#493134).
3575
3576 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3577
3578         * gst/gst_private.h:
3579         * gst/gstbuffer.h:
3580         * gst/gstevent.h:
3581         * gst/gstformat.h:
3582         * gst/gstmessage.h:
3583         * gst/gstplugin.h:
3584         * gst/gstquery.h:
3585         * gst/gsttaglist.h:
3586         * gst/gstvalue.h:
3587           Move declaration of private _gst_foo_initialize() functions into
3588           our private header file where they should have been all along.
3589
3590 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3591
3592         * docs/plugins/gstreamer-plugins-sections.txt:
3593         * gst/gstdebugutils.h:
3594         * gst/gstxml.h:
3595         * plugins/elements/gstqueue.c:
3596           gtk-doc fixes; trailing-comma-in-enum fix.
3597
3598 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3599
3600         * gst/gst.c: (gst_deinit):
3601           Clean up on deinit (not the external ones though, doesn't seem to be
3602           needed for some reason).
3603
3604 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3605
3606         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
3607           Remove __declspec(dllimport) for MSVC that was copied over into core
3608           from a plugin, obviously without ever having been tested (note the
3609           single underscore in _declspec in the initial commit), and that doesn't
3610           really make sense.  See #492077.
3611
3612 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3613
3614         * gst/gst.c: (init_post):
3615         * gst/gstevent.c: (_gst_event_initialize):
3616         * gst/gstquery.c: (_gst_query_initialize):
3617         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
3618           g_type_class_ref() other types as well, see #349410 and #64764.
3619
3620         * gst/gstbuffer.c: (_gst_buffer_initialize):
3621         * gst/gstmessage.c: (_gst_message_initialize):
3622           Simplify existing g_type_class_ref().
3623
3624 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3625
3626         * gst/gstformat.c: (_gst_format_initialize):
3627           g_type_class_ref() our GstFormat type to make sure we avoid the
3628           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
3629           bug #64764. Should fix intermittent tee unit test failures (#474823).
3630
3631 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * tests/check/elements/tee.c: (test_num_buffers):
3634           Simplify, simplify, simplify - or not.  Rewrite unit test
3635           not to use gst_parse_launch(); allow N sub-streams. Increasing
3636           the number of sub-streams seems to reproduce #474823 more easily.
3637
3638 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
3639
3640         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
3641
3642         * gst/gsttrace.c:
3643         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3644         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3645         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
3646           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
3647           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
3648           so use _pipe() directly (#492077).
3649
3650         * win32/common/dirent.c: (_treaddir):
3651           Add a couple of casts to make it build without warnings with MSVC.
3652
3653         * win32/common/libgstreamer.def:
3654           Add some more symbols that need to be exported.
3655
3656 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
3657
3658         * tests/examples/metadata/read-metadata.c: (message_loop):
3659           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
3660           arriving in a second or third tag message are added to
3661           the tag list as well.
3662
3663 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
3664
3665         * libs/gst/base/gstbasesrc.c:
3666           Its "Since:" and not "@Since:". And remove an superflous cast.
3667
3668 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
3669
3670         * docs/libs/gstreamer-libs-sections.txt:
3671         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3672         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
3673         (gst_base_sink_get_property), (gst_base_sink_render_object),
3674         (gst_base_sink_preroll_object),
3675         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3676         (gst_base_sink_change_state):
3677         * libs/gst/base/gstbasesink.h:
3678         Add a new last-buffer property that contains the last buffer used in
3679         basesink for preroll or rendering. useful for making snapshots.
3680         API: gst_base_sink_get_last_buffer()
3681         API: GstBaseSink::last-buffer
3682
3683 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
3684
3685         * docs/gst/running.xml:
3686         * gst/gst.c:
3687         * gst/gstdebugutils.c:
3688         * gst/gstdebugutils.h:
3689         * tools/gst-launch.c:
3690           Improve bin graph dumping, by using the envvar to specify a path.
3691           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
3692
3693 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
3694
3695         * plugins/elements/gsttypefindelement.c:
3696           (gst_type_find_element_handle_event),
3697           (gst_type_find_element_activate):
3698           Post special error message if we can't determine the type of a stream
3699           because it's empty.
3700
3701 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
3702
3703         * docs/gst/running.xml:
3704         * gst/gstdebugutils.c:
3705           Document new env-var. Add one log-line after dumpng a graph.
3706
3707 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
3708
3709         * configure.ac:
3710           Ugly hack to put the (recently removed and non-portable, apparently)
3711           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
3712           GNU ld, because without that 'make check' fails miserably on my debian
3713           stable box.  Someone with more knowledge of linker intricacies and
3714           portability issues than me fix this properly please.
3715
3716 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
3717
3718         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3719         Reset last seen position after flushing so that we don't report the old
3720         position anymore.
3721
3722 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3723
3724         * gst/gstelementfactory.c: (gst_element_register):
3725         * gst/gsturi.h:
3726         Patch from Alessandro Decina adding get_type_full and
3727         get_protocols_full private vfuncs to the URIHandler interface
3728         to allow bindings to support creating URI handlers. 
3729         Partially fixes: #339279
3730         API: GstURIHandlerInterface::get_type_full
3731         API: GstURIHandlerInterface::get_protocols_full
3732
3733 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3734
3735         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
3736         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
3737         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
3738         Make it so that pads are considered linked until a buffer is pushed
3739         and discovered otherwise. This avoids problems with decodebin2 hanging
3740         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
3741         case.
3742
3743         Make sure we lock the multiqueue when updating the max-size properties.
3744         
3745         Fix a crash on Solaris in a debug statement in get_request_pad that
3746         passes a NULL string to GST_DEBUG. 
3747
3748         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3749         (run_output_order_test):
3750         Fix the test to allow the first buffer on not-linked pads to come out
3751         of sequence while multiqueue discovers that they are not-linked.
3752
3753 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
3754
3755         * configure.ac:
3756         * libs/gst/check/Makefile.am:
3757         Use a custom export symbol regex for libgstcheck, as it needs
3758         to export symbols that don't match the standard GStreamer gst_*
3759         pattern, and  --export-dynamic is not portable (only works on 
3760         GNU ld)
3761
3762         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3763         (gst_check_setup_sink_pad):
3764         Make sure to pass a message parameter to the fail_* macros.
3765
3766         * tests/check/gst/gstinfo.c: (GST_START_TEST):
3767         Fix some compiler warnings.
3768
3769 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
3770
3771         * tests/check/gst/gststructure.c: (test_to_string):
3772           Disable test that checks that white spaces are not allowed
3773           in structure names or field names, since we need to
3774           support that for now for backwards compatibility reasons.
3775
3776 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
3777
3778         * docs/gst/gstreamer-sections.txt:
3779         * gst/gsttaglist.c:
3780         * gst/gsttaglist.h:
3781           API: add GST_TAG_ARTIST_SORTNAME
3782           API: add GST_TAG_ALBUM_SORTNAME
3783           API: add GST_TAG_TITLE_SORTNAME
3784           Add tag variants for sorting (#414539).
3785
3786 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         * gst/gststructure.c:
3789           Also allow white space for names so we don't break
3790           backwards compatibility.
3791
3792 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
3793
3794         * docs/design/part-TODO.txt:
3795         * docs/design/part-segments.txt:
3796         * docs/design/part-streams.txt:
3797         Small updates.
3798
3799 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
3800
3801         * docs/gst/gstreamer-sections.txt:
3802          Fixed documentation from my previous commit (added new API add
3803          gst_value_set_structure(), add gst_value_get_structure() and
3804          GST_VALUE_HOLDS_STRUCTURE).
3805
3806 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
3807
3808         * gst/gstdebugutils.c:
3809           Reflow code to fix uninitialized variable warning.
3810
3811 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
3812
3813         * gst/gstcaps.c: (gst_caps_to_string),
3814         (gst_caps_from_string_inplace):
3815         * gst/gststructure.c: (gst_structure_get_abbrs),
3816         (gst_structure_to_string), (gst_structure_from_string):
3817         * gst/gstvalue.c: (gst_value_set_structure),
3818         (gst_value_get_structure), (gst_value_serialize_structure),
3819         (gst_value_deserialize_structure), (_gst_value_initialize):
3820         * gst/gstvalue.h:
3821         * tests/check/gst/gststructure.c: (GST_START_TEST),
3822         (gst_structure_suite):
3823         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3824          Added GstStructure to gst_value_table and its related functions.
3825          Changed gst_structure_to_string to print ';' in the end.
3826          Changed gst_caps_to_string to not print ';' beteween its
3827          fields (structures) anymore and remove the lastes ';' from latest
3828          structure. Now it is possible to have nested structures.
3829          In addition, backward compatibilty is assured by accepting '\0' as
3830          end delimiter. Fixes: #487969.
3831          API: add gst_value_set_structure()
3832          API: add gst_value_get_structure()
3833          API: add GST_VALUE_HOLDS_STRUCTURE
3834
3835 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
3836
3837         * gst/gstbus.c:
3838           When no GSource callback has been set up, tell developer
3839           to use a function that actually exists.
3840
3841 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
3842
3843         * docs/gst/gstreamer-sections.txt:
3844         * gst/Makefile.am:
3845         * gst/gst.c:
3846         * gst/gst.h:
3847         * gst/gstdebugutils.c:
3848         * gst/gstdebugutils.h:
3849         * gst/gstinfo.c:
3850         * gst/gstinfo.h:
3851         * tools/gst-launch.c:
3852           Allow dumping pipelines as dot graphs. Fixes #456573.
3853
3854 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3855
3856         * gst/gststructure.c:
3857           Allow '+' as well, it can be part of media or mime types
3858           such as image/svg+xml.
3859
3860 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3861
3862         * docs/gst/gstreamer-sections.txt:
3863         * gst/gstbus.c:
3864         * gst/gstbus.h:
3865           API: add gst_bus_pop_filtered
3866           API: add gst_bus_timed_pop_filtered
3867           Two new functions for waiting for specific message types on the
3868           bus for a specified amount of time without iterating any main
3869           loops or main contexts.
3870
3871         * tests/check/gst/gstbus.c:
3872           Some tests for the new functions.
3873
3874 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3875
3876         * docs/libs/gstreamer-libs-sections.txt:
3877           Make gtk-doc ignore stuff it should ignore.
3878
3879 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
3880
3881         * libs/gst/check/gstcheck.c:
3882         * libs/gst/check/gstcheck.h:
3883           Allow runtime selection of unit tests to run via the GST_CHECKS
3884           environment variable (test case function names, comma-separated).
3885
3886 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
3887
3888         * gst/gststructure.c:
3889         * tests/check/gst/gststructure.c:
3890           Revert serialisation change and constrain structure-names after
3891           consensus on irc. Update api documentation to reflect the change.
3892
3893 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
3894
3895         * gst/gststructure.c:
3896           Improve serialization and fix tests.
3897
3898         * tests/check/gst/gststructure.c:
3899           Add another test that covers why I actually did the previous structure
3900           change.
3901
3902 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
3903
3904         * tools/gst-inspect.c: (print_element_info):
3905         Don't crash when inspecting an element.
3906
3907 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3908
3909         * tests/check/gst/gststructure.c:
3910           Add unit test for escaping of structure name when serialising
3911           and deserialising to/from strings.
3912
3913 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
3914
3915         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
3916         (gst_single_queue_new):
3917         * plugins/elements/gstqueue.c: (gst_queue_init),
3918         (gst_queue_push_one):
3919         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
3920         upstream is tricked into thinking it can suggest a format downstream
3921         while downstream does not support that format. The real problem is that
3922         core calls acceptcaps when pushing a buffer with new caps, for which we
3923         do a little workaround by setting the caps on the srcpad ourselves
3924         before pushing the buffer (until this is figured out). Fixes #486758.
3925
3926 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
3927
3928         * gst/gststructure.c:
3929         * gst/gstvalue.c:
3930           Add some more comments and debug output. Quote structure name to fix
3931           deserialisation of some strings.
3932
3933 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
3934
3935         * gst/gstbuffer.h:
3936           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
3937           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
3938
3939 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
3940
3941         * tools/gst-inspect.c:
3942           Save approx. 400 1 byte allocs when printing. Use API to acces element
3943           details.
3944
3945         * tools/gst-run.c:
3946           Avoid a strdup.
3947
3948         * tools/gst-xmlinspect.c:
3949           Use API to acces element details.
3950
3951 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
3952
3953         * gst/gstinfo.c:
3954           Fix some spelling errors.
3955
3956 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
3957
3958         * gst/gstbin.c: (bin_handle_async_done):
3959         Correctly set the next state if all of our async children commited their
3960         state. This makes sure we can actually cancel the state change in
3961         progress. Fixes a regression in Rhythmbox when seeking.
3962
3963 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3964
3965         * gst/gstbin.c:
3966           Don't shadow local variable.
3967
3968         * gst/gstinfo.c:
3969           Don't shadow global function name.
3970
3971 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3972
3973         * gst/gstelementfactory.c:
3974         * gst/gstpluginfeature.c:
3975         * gst/gstpluginfeature.h:
3976         * gst/gstregistrybinary.c:
3977         * gst/gstregistryxml.c:
3978         * gst/gsttypefind.c:
3979           Use already-interned string for the private GstPluginFeature
3980           plugin_name field.
3981
3982 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3983
3984         * docs/libs/gstreamer-libs-sections.txt:
3985           Add new API to docs; fixes the build.
3986
3987 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
3988         
3989         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
3990
3991         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
3992         (gst_base_sink_event):
3993         * libs/gst/base/gstbasesink.h:
3994         Add function to wait for EOS, subclasses can use this to correctly wait
3995         for devices to drain before performing the EOS logic. Fixes #485343.
3996         API: gst_base_sink_wait_eos()
3997
3998 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3999
4000         * gst/gstplugin.h:
4001           Cast description string constants in GST_PLUGIN_DEFINE macros
4002           to a (gchar*) to make C++ code using these macros compile
4003           without warning with g++-4.2 (see #462737).  Even if slightly
4004           ugly, this seems preferable to putting the description strings
4005           into the GLib quark table or making the structure member a
4006           const gchar * and doing casts in core code that allocs and
4007           frees these strings, or requiring a cast in the C++ code.
4008
4009 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4010
4011         * gst/gstinfo.h:
4012           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
4013           to print the entire class/function signature into the log
4014           file for C++ code.  This only affects C++ code, for C code
4015           everything remains the same.
4016
4017 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
4018
4019         * gst/gstbin.c: (remove_from_queue):
4020         Work around a problem with pipelines containing (semi)loops until a
4021         proper, more complicated solution is ready. See #475455.
4022
4023 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4024
4025         * gst/gstplugin.c:
4026         * gst/gstplugin.h:
4027         * gst/gstregistrybinary.c:
4028         * gst/gstregistryxml.c:
4029           Put more strings into the GLib quark table. No need to keep
4030           a hundred-something copies of identical version strings,
4031           license strings, package name strings and package origin
4032           strings around. 
4033
4034 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4035
4036         * docs/manual/advanced-dataaccess.xml:
4037           Don't imply that it's okay to unconditionally change
4038           buffer data or buffer metadata in a pad probe callback,
4039           and a bunch of other comments. Fixes #430031.
4040
4041 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4042
4043         * win32/common/gstenumtypes.c:
4044         * win32/common/gstenumtypes.h:
4045         * win32/common/gstversion.h:
4046           Update generated files.
4047
4048 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4049
4050         * docs/manual/advanced-autoplugging.xml:
4051           Prefix section with broken code with a warning (see #342432).
4052
4053 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4054
4055         * docs/manual/appendix-integration.xml:
4056         * docs/manual/basics-init.xml:
4057           Call g_thread_init() before g_option_context_new() to
4058           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
4059
4060 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4061
4062         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4063         (gst_base_sink_queue_object_unlocked),
4064         (gst_base_sink_queue_object), (gst_base_sink_event),
4065         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
4066         When we received EOS and are waiting for when to post the EOS message,
4067         our state is prerolled and we should not return ASYNC.
4068         Reorganize some code paths to implement this behavior.
4069
4070         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4071         (gst_sinks_suite):
4072         Add unit test to verify above EOS fix.
4073
4074 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4075
4076         * plugins/elements/gsttypefindelement.c:
4077         (gst_type_find_element_have_type), (gst_type_find_element_init),
4078         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
4079         Move detecting the input caps of the sinkpad to the setcaps function.
4080         This allows us to update the output caps when we receive new input caps
4081         instead of always using the first detected caps.
4082
4083 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4084
4085         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4086         (gst_base_sink_get_position):
4087         Don't try to preroll non-async elements after a flush.
4088         Subtract latency form clock times when reporting position.
4089
4090 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4091
4092         * gst/gstpad.c: (gst_pad_pause_task):
4093         * gst/gstutils.c:
4094         Small comment and documentation update.
4095
4096 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4097
4098         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4099         (gst_base_src_set_live), (gst_base_src_is_live),
4100         (gst_base_src_query_latency), (gst_base_src_perform_seek),
4101         (gst_base_src_default_event), (gst_base_src_wait),
4102         (gst_base_src_do_sync), (gst_base_src_get_range),
4103         (gst_base_src_pad_get_range), (gst_base_src_loop),
4104         (gst_base_src_unlock), (gst_base_src_unlock_stop),
4105         (gst_base_src_set_flushing), (gst_base_src_set_playing),
4106         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4107         (gst_base_src_change_state):
4108         Rework the locking of basesrc in a similar fashion to basesink. We
4109         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
4110         us to handle live sources and semi live ones much better.
4111         Simplify flushing.
4112         Fix unlocking when seeking, shutting down and pausing in live sources.
4113
4114 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4115
4116         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
4117         Fix compilation again.
4118
4119 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4120
4121         * gst/gstelement.c:
4122           Use meaningful categories for the logs to clean the default one.
4123
4124 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4125
4126         * tests/check/pipelines/cleanup.c:
4127           Print message name and not just number.
4128
4129 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4130
4131         * docs/design/draft-tagreading.txt:
4132           Add some more thoughts.
4133
4134 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4135
4136         * tests/check/pipelines/simple-launch-lines.c:
4137           Print message name and not just number.
4138
4139 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4140
4141         * libs/gst/base/gsttypefindhelper.c:
4142           Speedup typefinding. This is work in progress (see #459862).
4143
4144 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4145
4146         * gst/gstplugin.c:
4147           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
4148           Spotted by Josep Torra Valles <josep@fluendo.com>.
4149
4150 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
4151
4152         * gst/gstclock.h:
4153           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
4154           field has moved to GstObject.
4155
4156 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
4157
4158         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
4159         (gst_base_src_get_range), (gst_base_src_change_state):
4160         Call unlock for live sources so that they can't get stuck in _create and
4161         produce a buffer before they are set back to PLAYING.
4162
4163 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
4164
4165         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4166         (gst_queue_locked_dequeue):
4167         Comment the segment-related code... in the PROPER function.
4168         See #482147 and my commit from yesterday.
4169
4170 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
4171
4172         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4173         Also initialize the counter that calculates the first timestamp on a
4174         buffer correctly for non-live sources.
4175
4176 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
4177
4178         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
4179         Disable code that's breaking the current-time-level reporting.
4180         See #482147
4181
4182 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
4183
4184         * docs/gst/gstreamer-sections.txt:
4185         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
4186         as they shouldn't show up. Fixes the docs build.
4187
4188 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
4189         
4190         * gst/gstinfo.h:
4191         Add an explicit variable importation needed on VS6 (only for MSC_VER)
4192         Define M_PI which is used in files which are including gstinfo.h. 
4193         VS6 includes doesn't define it.
4194         * win32/common/libgstbase.def:
4195         * win32/common/libgstcontroller.def:
4196         * win32/common/libgstreamer.def:
4197         Add new exported functions and variables.
4198         * win32/vs6/libgstcontroller.dsp:
4199         * win32/vs6/libgstreamer.dsp:
4200         Update the list of files to build.
4201         
4202 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4203
4204         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4205
4206         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
4207         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
4208         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
4209         Improve debugging. Fixes #480858.
4210
4211 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4212
4213         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4214
4215         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4216         First patch of code cleanups, use the macros and right arguments in the
4217         macros to signal and lock the queue. See #480858.
4218
4219 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
4220
4221         * gst/gstbus.c: (poll_func):
4222         Improve debugging when dealing with _poll().
4223
4224 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4225
4226         * gst/gstregistryxml.c:
4227           Fix memory leak I introduced a few days ago.
4228
4229 2007-09-26  Michael Smith <msmith@fluendo.com>
4230
4231         * gst/gstbuffer.c: (gst_buffer_finalize):
4232           Make it once again possible to free GstBuffers in the default
4233           build.
4234           The poisoning scribbles on parts of the miniobject we need in
4235           order to free it.
4236           Fixes #480341
4237
4238 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4239
4240         * docs/gst/gstreamer-sections.txt:
4241         * gst/gsttaglist.c:
4242         * gst/gsttaglist.h:
4243         API: add GST_TAG_COMPOSER, fixes #459809.
4244
4245 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
4246
4247         * gst/gstplugin.c:
4248         * gst/gstplugin.h:
4249         Add the 3-clause BSD license and the MIT/X11 license to the license
4250         list. Fixes #479784.
4251
4252 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4253
4254         * docs/faq/getting.xml:
4255           Add Q+A about different GStreamer versions (#364056).
4256
4257 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4258
4259         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4260         (gst_base_sink_event), (gst_base_sink_change_state):
4261         Return correct gboolean from query function.
4262
4263 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4264
4265         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4266         (gst_base_sink_event), (gst_base_sink_query),
4267         (gst_base_sink_change_state):
4268         Simplify latency query.
4269         When not synchronizing, we can report latency without querying the peer
4270         element.
4271
4272 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4273
4274         * gst/gstobject.h:
4275         * gst/gstvalue.c:
4276         Fix small typos in the docs.
4277
4278 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4279
4280         * docs/design/draft-latency.txt:
4281         * docs/design/draft-push-pull.txt:
4282         * docs/design/draft-tagreading.txt:
4283         * docs/design/part-MT-refcounting.txt:
4284         * docs/design/part-activation.txt:
4285         * docs/design/part-block.txt:
4286         * docs/design/part-element-source.txt:
4287         * docs/design/part-events.txt:
4288         * docs/design/part-gstbin.txt:
4289         * docs/design/part-gstelement.txt:
4290         * docs/design/part-gstobject.txt:
4291         * docs/design/part-gstpipeline.txt:
4292         * docs/design/part-messages.txt:
4293         * docs/design/part-preroll.txt:
4294         * docs/design/part-push-pull.txt:
4295         * docs/design/part-qos.txt:
4296         * docs/design/part-query.txt:
4297         * docs/design/part-scheduling.txt:
4298         * docs/design/part-seeking.txt:
4299         * docs/design/part-segments.txt:
4300         * docs/design/part-states.txt:
4301         Documentation updates and typo fixes.
4302
4303 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4304
4305         * plugins/elements/gstfakesink.c:
4306           Add some debug text to error message to indicate that
4307           we errored out on request.
4308
4309         * tools/gst-launch.c:
4310           When the state change to PLAYING fails, check for an
4311           error message on the bus and print it.
4312
4313 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4314
4315         translated by: Jorge González González <aloriel@gmail.com>
4316
4317         * po/LINGUAS:
4318         * po/es.po:
4319           Added Spanish translation.
4320
4321 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
4322
4323         * plugins/elements/gstqueue.c: (gst_queue_push_one):
4324         Fix printf arguments.
4325
4326 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4327
4328         * tests/check/generic/states.c:
4329           Improved state change unit test.
4330
4331 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4332
4333         * gst/gstbin.h:
4334           Move priv to the right place.
4335
4336         * gst/gstsystemclock.c:
4337           Add FIXME: and improve log.
4338
4339         * tests/check/Makefile.am:
4340         * tests/examples/manual/Makefile.am:
4341           Work with all types of registries.
4342
4343 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
4344
4345         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4346         Don't unref the event after pushing it. Fixes #478401.
4347
4348 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4349
4350         * .cvsignore:
4351         * tests/examples/manual/.cvsignore:
4352           Ignore registries in any format.
4353
4354 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4355
4356         * gst/glib-compat-private.h:
4357           Add compatibility macro for g_intern_string() for
4358           GLib-2.8 (any reason we can't just bump the
4359           requirement to at least 2.10?)
4360
4361         * gst/gstpadtemplate.h:
4362         * gst/gstelementfactory.c:
4363         * gst/gstregistryxml.c:
4364         * gst/gstregistrybinary.c:
4365           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
4366           up the internal code accordingly.  This shouldn't be a problem, since
4367           there is no reason external code could ever assume the string in such
4368           a structure is dynamically allocated unless it did that itself;  the
4369           use of g_strdup() is private to element factories.  The new code also
4370           saves some memory by putting pad template name strings into the GLib
4371           quark table instead of allocating them dynamically.
4372           Declaring this field constant fixes warnings with g++-4.2 when using
4373           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
4374
4375 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4376
4377         * gst/gstelementfactory.c:
4378           Release static caps. Fixes #475723.
4379
4380 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
4381
4382         * gst/gstinfo.c:
4383         * gst/gstinfo.h:
4384           Make some internal API take const gchar * instead of just
4385           gchar * to avoid compiler warnings with g++-4.2.2 when
4386           passing string constants (partially fixes #478092).
4387
4388 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
4389
4390         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
4391         A latency query fails when one of the sinks fail.
4392
4393         * gst/gstelement.c: (gst_element_set_base_time):
4394         Improve debugging.
4395
4396 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
4397
4398         * gst/gstbin.c: (gst_bin_continue_func):
4399         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4400         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
4401         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
4402
4403         Fix minor compilation warnings shown with Forte.
4404
4405 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
4406
4407         * plugins/elements/gstqueue.c: (apply_buffer),
4408         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
4409         Measure queue level based on the diff between head and tail timestamps
4410         even when pushing the first buffer.
4411
4412 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4413
4414         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4415         (gst_base_sink_event), (gst_base_sink_change_state):
4416         Sinks that don't preroll can always be queried for the latency.
4417         Don't post ASYNC start when we are not async.
4418
4419 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4420
4421         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4422         (gst_queue_handle_sink_event), (gst_queue_chain),
4423         (gst_queue_push_one), (gst_queue_handle_src_query),
4424         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
4425         * plugins/elements/gstqueue.h:
4426         When downstream returns UNEXPECTED from pushing a buffer, don't try to
4427         push more buffers but allow pushing of EOS and NEWSEGMENT.
4428         Add some more debug info here and there. Fixes #476514.
4429
4430 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4431
4432         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4433         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
4434         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4435         (gst_base_sink_set_flushing), (gst_base_sink_query),
4436         (gst_base_sink_change_state):
4437         Latency query is allowed after we are prerolled. Introduce a new flag
4438         for this and stop abusing other variables.
4439
4440 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4441
4442         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4443         Push OOB events downstream when we get them in send_event. This allows
4444         the application to insert events in the pipeline.
4445         Add some more comments.
4446
4447 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4448
4449         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
4450         (do_bin_latency), (gst_bin_change_state_func):
4451         * gst/gstpipeline.c: (gst_pipeline_change_state):
4452         Move latency query from GstPipeline to GstBin so that we can also
4453         use it when async-handling is enabled on bins.
4454
4455 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4456
4457         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4458         (gst_base_src_do_sync), (gst_base_src_change_state):
4459         Update docs.
4460         Clean up the timestamping and syncing code for pseudo live sources.
4461
4462 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
4463
4464         Patch by: Steve Fink  <sphink gmail com>
4465
4466         * docs/manual/appendix-checklist.xml:
4467           Mention less -R switch in the section about debug output (#474055).
4468
4469 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4470
4471         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4472         Queue can latency to the pipeline up to the configured max size in time.
4473         Report this fact in the latency query.
4474
4475 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4476
4477         Patch by: Sebastien Moutte <sebastien at moutte dot net>
4478
4479         * libs/gst/controller/gstinterpolation.c:
4480         * libs/gst/controller/gstlfocontrolsource.c:
4481         Use gst_guint64_to_gdouble() when converting from a uint64 or
4482         GstClockTime to double to fix the build on win32. Fixes #474371.
4483
4484 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4485
4486         * gst/gstbuffer.c: (gst_buffer_finalize):
4487         Implement poisoning for GstBuffer if --enable-poisoning is specified.
4488         When finalizing a buffer the complete struct is filled with 0xff,
4489         thus making a use of the buffer after the final unref impossible.
4490
4491 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4492
4493         * tests/check/libs/controller.c: (GST_START_TEST):
4494         Use fail_unless_equals_int(a, b) instead of
4495         fail_unless_equals (a == b) to get better output on failures.
4496
4497 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
4498
4499         * tests/check/gst/gsturi.c:
4500           Also check for the other file URI variant on win32.
4501
4502 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * gst/gsturi.c: (gst_uri_get_location):
4505           If there's no hostname, we want to return 'c:/foo/bar.txt'
4506           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
4507
4508         * tests/check/gst/gsturi.c:
4509           Unit test for the above and a few more things.
4510
4511 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
4512
4513         * docs/design/part-live-source.txt:
4514         Add docs on how live sources should timestamp.
4515
4516         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4517         Add some more debug info.
4518         For subclasses that are live and like to sync, add aditional startup
4519         latency to sync time and timestamps so that we timstamp according to the
4520         design doc.
4521
4522 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
4523
4524         * gst/gstbuffer.c:
4525           Also do a g_type_class_ref() for the subbuffer type in
4526           the init function.
4527
4528 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
4529
4530         * docs/gst/gstreamer-sections.txt:
4531         * gst/gstpad.c: (gst_pad_peer_query):
4532         * gst/gstpad.h:
4533         Add function to perform a query on the peer of a pad.
4534         API: gst_pad_peer_query()
4535
4536 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
4537
4538         * tests/check/gst/gstsystemclock.c:
4539           Cleanup the test a little (use gst-logging and not g_message). Improve
4540           test to check if a wait reached the target.
4541
4542 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
4543
4544         * docs/libs/gstreamer-libs-sections.txt:
4545           Add new API to docs and fix the build.
4546
4547 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
4548
4549         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4550         (gst_base_src_init), (gst_base_src_set_do_timestamp),
4551         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
4552         (gst_base_src_get_property), (gst_base_src_do_sync):
4553         * libs/gst/base/gstbasesrc.h:
4554         Add property to make the basesrc timestamp buffers based on the current
4555         running time.
4556         API: GstBaseSrc::do-timestamp
4557         API: gst_base_src_set_do_timestamp()
4558         API: gst_base_src_get_do_timestamp()
4559
4560 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
4561
4562         * docs/random/release:
4563           Really make sure translations are up-to-date before
4564           a release (#465010).
4565
4566 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
4567
4568         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4569         Always destroy the timer, also in error cases.
4570
4571 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
4572
4573         * docs/manual/highlevel-xml.xml:
4574         Fix XML example code. Fixes #472714.
4575
4576 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
4577
4578         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4579         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4580         (gst_base_sink_query):
4581         Protect eos and have_preroll with the OBJECT lock so we don't need to
4582         take the PREROLL lock when querying the latency. Fixes #473846.
4583
4584 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
4585
4586         * gst/gstelement.c:
4587           Give some log-messages a category.
4588
4589 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
4590
4591         * gst/gststructure.c:
4592         (gst_structure_fixate_field_nearest_fraction):
4593         Fix fraction list fixation code. Take the fraction with the smallest
4594         difference with the target instead of the first one in the list.
4595
4596         * tests/check/gst/gststructure.c: (GST_START_TEST),
4597         (gst_structure_suite):
4598         Added test to verify correct fraction list fixation behaviour.
4599
4600 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
4601
4602         * win32/common/libgstreamer.def:
4603           Export gst_bus_add_signal_watch too.
4604
4605 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
4606
4607         * docs/libs/gstreamer-libs-sections.txt:
4608         Add new methods to docs.
4609
4610         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4611         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
4612         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
4613         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
4614         * libs/gst/base/gstbasesink.h:
4615         Add ts-offset property to fine-tune the synchronisation.
4616         API: GstBaseSink::ts-offset property
4617         API: gst_base_sink_set_ts_offset()
4618         API: gst_base_sink_get_ts_offset()
4619
4620 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
4621
4622         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4623         (gst_base_sink_init), (gst_base_sink_set_sync),
4624         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4625         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
4626         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
4627         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
4628         (gst_base_sink_get_property), (gst_base_sink_change_state):
4629         * libs/gst/base/gstbasesink.h:
4630         Add async property to instruct the sink never to inform the parent about
4631         ASYNC state changes, update docs.
4632         Check argument with g_return_* for the public functions.
4633         API: GstBaseSink::async property
4634         API: gst_base_sink_set_async_enabled()
4635         API: gst_base_sink_is_async_enabled()
4636
4637 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
4638
4639         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
4640         Improve debugging.
4641
4642         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4643         (gst_base_src_default_query), (gst_base_src_wait),
4644         (gst_base_src_do_sync), (gst_base_src_change_state):
4645         Rearrange some code so that we can add support for measuring the 
4646         startup latency.
4647
4648 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
4649
4650         * docs/random/ensonic/dynlink.txt:
4651           More thoughs on this.
4652
4653         * plugins/elements/gstcapsfilter.c:
4654           Add bugzilla ticket number to FIXME comment.
4655
4656 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
4657
4658         * docs/design/part-TODO.txt:
4659         * docs/design/part-block.txt:
4660         Update some docs.
4661
4662 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4663
4664         * gst/Makefile.am:
4665           Revert patch which uses $(gst_headers) instead of $^ because it
4666           breaks make dist.
4667
4668 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4669
4670         * tests/check/gst/gstbin.c: (GST_START_TEST):
4671           Fix leaks in the new unit test.
4672
4673 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
4674
4675         * gst/gst.c:
4676           Don't use GST_INFO before the debug system is actually initialised
4677           (shouldn't do any harm, but won't print anything either, so we can
4678           just as well remove it).
4679
4680         * gst/gstinfo.h:
4681           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
4682           compilers that don't support variadic macros (such as MSVC), should
4683           check for debug_level <= __gst_debug_min as well, since that's the
4684           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
4685           inline helper functions. Should improve performance a bit, but also
4686           makes sure uses of GST_INFO et.al are ignored if the debugging
4687           system isn't initialised yet (instead of printing an assertion
4688           failure).
4689
4690 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
4691
4692         patch by: David Nečas <yeti@physics.muni.cz>
4693
4694         * gst/Makefile.am:
4695           Replace some non portable makefile constructs.
4696
4697 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
4698
4699         * common/gtk-doc-plugins.mak:
4700           Grrrrr. Don't remove the types file on make clean.
4701
4702 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
4703
4704         * tools/gst-launch.1.in:
4705         Add colorspace to example pipeline. Fixes #458274.
4706
4707 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
4708
4709         * docs/random/release:
4710           The release manager should run 'make download-po' before making a
4711           release to make sure translations are up-to-date.
4712
4713         * po/LINGUAS:
4714         * po/be.po:
4715         * po/pl.po:
4716         * po/rw.po:
4717           Add some new translations.
4718
4719 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
4720
4721         * tools/gst-launch.c: (event_loop), (main):
4722         Don´t try to do any state management when a live pipeline posts
4723         buffering messages.
4724         Also make the buffering string translatable.
4725
4726 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4727
4728         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
4729         (bin_handle_async_start), (gst_bin_handle_message_func):
4730         Improve debugging.
4731         When adding elements, insert messages into the bus of the newly added
4732         element and make sure the element is the source of the message. This
4733         allows the parent bin to intercept the message and do the
4734         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
4735         messages to the app (which is not allowed).
4736         Update some docs.
4737
4738         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4739         Fix testsuite so that is does not work around messages that should not
4740         have been posted in the first place.
4741
4742 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4743
4744         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
4745         (update_degree), (gst_bin_sort_iterator_next):
4746         Fix annoying bug in the sorted iterator where a sink that is not really
4747         a sink (when it has downstream links) screwed up the iterator.
4748
4749         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4750         Unit test to verify the fix.
4751
4752 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
4753
4754         * gst/gstmessage.h:
4755         Add some more docs for the messages.
4756
4757         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4758         (gst_base_sink_query):
4759         Add some more debugging.
4760
4761         * tools/gst-launch.c: (event_loop):
4762         When interrupting, don't try to set pipeline to PAUSED twice.
4763
4764 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
4765
4766         
4767         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
4768         (bin_handle_async_start), (gst_bin_handle_message_func):
4769         Move ASYNC_START message posting to where it belongs, similar to
4770         async_done. 
4771         Don't post ASYNC_START when we are in error. 
4772         Post ASYNC_START when we added an async element to a bin.
4773
4774 2007-08-14  Julien MOUTTE  <julien@moutte.net>
4775
4776         * gst/gstindex.c: (gst_index_add_association): Fix index entry
4777         generation from vargs. Fixes #466595.
4778
4779 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
4780
4781         * gst/gstbin.c: (gst_bin_element_set_state):
4782         Always change the state of a NO_PREROLL element even if it has ASYNC
4783         elements inside (in case of a bin).
4784
4785         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
4786         Unit test for this case.
4787
4788 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
4789
4790         * libs/gst/check/gstbufferstraw.c:
4791         * libs/gst/check/gstcheck.h:
4792         * libs/gst/controller/gstcontroller.c:
4793         * libs/gst/controller/gstcontrolsource.h:
4794         * libs/gst/controller/gstlfocontrolsource.h:
4795         * plugins/elements/gstcapsfilter.h:
4796         * plugins/elements/gstfdsink.h:
4797         * plugins/elements/gstfdsrc.h:
4798           Add more missing docs.
4799
4800 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
4801
4802         * gst/gststructure.c:
4803         Add Since tag to docs.
4804
4805 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
4806
4807         * docs/gst/gstreamer-sections.txt:
4808         * gst/gststructure.c: (gst_structure_get_uint):
4809         * gst/gststructure.h:
4810         Add function to get uint from a structure.
4811         API: gst_structure_get_uint()
4812
4813 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
4814
4815         * gst/gstcaps.c: (gst_caps_set_simple_valist),
4816         (gst_caps_intersect):
4817         Fix proper check for simple caps.
4818
4819 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
4820
4821         * docs/gst/Makefile.am:
4822         * docs/libs/Makefile.am:
4823           Remove cruft and do some cleanups.
4824
4825         * docs/gst/gstreamer-docs.sgml:
4826         * docs/libs/gstreamer-libs-docs.sgml:
4827           Prepare for comming gtkdoc features (rebase against online docs).
4828
4829 2007-08-10  Michael Smith <msmith@fluendo.com>
4830
4831         * docs/gst/gstreamer-sections.txt:
4832           Add gst_registry_add_path to docs.
4833
4834 2007-08-10  Michael Smith <msmith@fluendo.com>
4835
4836         * gst/gstregistry.h:
4837           Add gst_registry_add_path, which was missing from this header.
4838
4839 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
4840
4841         * libs/gst/controller/gstlfocontrolsource.c:
4842           Printf format fix.
4843
4844 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
4845
4846         * libs/gst/base/gstbasesink.c:
4847           Don't send an async_start message during downwards state change if 
4848           target state is less than READY
4849
4850 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4851
4852         translated by: Gabor Kelemen <kelemeng@gnome.hu>
4853
4854         * po/LINGUAS:
4855         * po/hu.po:
4856           Added Hungarian translation.
4857
4858 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4859
4860         * po/fi.po:
4861         * po/it.po:
4862         * po/nl.po:
4863         * po/sv.po:
4864         * po/uk.po:
4865           Updated translations.
4866
4867 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
4868
4869         * libs/gst/controller/Makefile.am:
4870         Dist gstlfocontrolsourceprivate.h
4871
4872 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
4873
4874         * docs/libs/gstreamer-libs.types:
4875         Don't register the enum type gst_lfo_waveform_get_type() in the
4876         .types file - only GObject derived types belong.
4877
4878 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
4879
4880         Patch by: <arenevier at fdn dot fr>
4881
4882         * gst/gstbuffer.h:
4883         Remove comma from last element in enum to avoid compile errors when
4884         using -pendantic. Fixes #464366.
4885
4886 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
4887
4888         * docs/design/part-TODO.txt:
4889         Add some more TODO items
4890
4891         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
4892         Improve debugging.
4893
4894         * gst/gstcaps.c: (gst_caps_intersect):
4895         Optimize trivial intersection case between identical caps pointers.
4896
4897         * gst/gstelement.c: (gst_element_continue_state),
4898         (gst_element_set_state_func):
4899         * gst/gstpad.c:
4900         Fix spelling and grammar mistakes.
4901
4902 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
4903
4904         * po/POTFILES.in:
4905         * po/POTFILES.skip:
4906           Update POTFILES. Fixes #461599.
4907
4908 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
4909
4910         * gst/gst.c:
4911         Fix confusing typo in debug output.
4912
4913 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
4914
4915         reviewed by: Stefan Kost <ensonic@users.sf.net>
4916
4917         * libs/gst/controller/Makefile.am:
4918         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
4919         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
4920         (gst_lfo_control_source_new),
4921         (gst_lfo_control_source_set_waveform),
4922         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
4923         (gst_lfo_control_source_finalize),
4924         (gst_lfo_control_source_dispose),
4925         (gst_lfo_control_source_set_property),
4926         (gst_lfo_control_source_get_property),
4927         (gst_lfo_control_source_class_init):
4928         * libs/gst/controller/gstlfocontrolsource.h:
4929         * libs/gst/controller/gstlfocontrolsourceprivate.h:
4930         API: Add GstLFOControlSource, a control source that gives values
4931         for specific timestamps based on several periodic waveforms.
4932         Fixes #459717.
4933
4934         * tests/check/libs/controller.c: (GST_START_TEST),
4935         (gst_controller_suite):
4936         * docs/libs/gstreamer-libs-docs.sgml:
4937         * docs/libs/gstreamer-libs-sections.txt:
4938         * docs/libs/gstreamer-libs.types:
4939         Add documentation and unit tests for GstLFOControlSource.
4940
4941 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
4942
4943         * configure.ac:
4944         Back to CVS
4945
4946 === release 0.10.14 ===
4947
4948 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
4949
4950         * configure.ac:
4951           releasing 0.10.14, "Breathing Vacuum"
4952
4953 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
4954
4955         * gst/gstelement.c: (gst_element_class_set_details_simple):
4956         * gst/gstelement.h:
4957           Make strings passed to gst_element_class_set_details_simple()
4958           constant, as they should be (#462752).
4959
4960 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
4961
4962         * gst/gstbin.c: (gst_bin_change_state_func),
4963         (bin_handle_async_done), (gst_bin_handle_message_func):
4964         Don't forget about the fact that some element went ASYNC even after a
4965         resync. This makes us post the ASYNC_DONE message correctly.
4966         Fixes #462558.
4967
4968 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4969
4970         * gst/gstregistry.c: (gst_registry_add_feature):
4971         When replacing an existing feature in the registry, make sure to
4972         continue holding a reference until we've replaced the name string
4973         within our feature hash table. Make sure to use g_hash_table_replace
4974         instead of g_hash_table_insert to ensure the new name string is used
4975         as a key instead of the old one that we're about to free.
4976         Fixes: #462085
4977
4978 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4979
4980         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4981         (gst_plugin_feature_set_name):
4982         Revert patch from #459466 until after the release and we can work
4983         out exactly what the problem is (if any).
4984
4985 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4986
4987         * docs/gst/gstreamer-sections.txt:
4988         * gst/gsttaglist.c:
4989         * gst/gsttaglist.h:
4990           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
4991
4992 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4993
4994         * docs/libs/Makefile.am:
4995         Include our build-prefix libs and includes before the generic ones to
4996         avoid linking against the installed libs when we want the build-tree
4997         ones.
4998
4999 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5000
5001         Patch by: Steve Fink  <sphink gmail com>
5002
5003         * docs/pwg/building-testapp.xml:
5004           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
5005           if people try to build or install the example from the plugin
5006           template against a GStreamer from package using the configure
5007           defaults.
5008
5009 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5010
5011         Patch by: Steve Fink  <sphink gmail com>
5012
5013         * tools/gst-inspect.1.in:
5014           Document --print-all and --print-plugin-auto-install-info command
5015           line options in man page.
5016
5017 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5018
5019         * docs/gst/gstreamer-sections.txt:
5020         Add docs for new api function.
5021
5022 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5023
5024         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
5025         * gst/gstelementfactory.h:
5026         API: gst_element_factory_has_interface()
5027         Added method to check if an element factory implements a named
5028         interface.
5029
5030 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
5031
5032         * configure.ac:
5033         * docs/gst/gstreamer.types.in:
5034           Another conditional doc check.
5035
5036         * gst/gstmessage.c:
5037         * gst/gstparamspecs.h:
5038         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5039         * gst/gstvalue.c:
5040         * gst/gstxml.h:
5041           API-doc fixes.
5042
5043 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5044
5045         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
5046         (gst_registry_binary_load_feature),
5047         (gst_registry_binary_load_plugin),
5048         (gst_registry_binary_read_cache):
5049           Print error just once and with additional info.
5050
5051 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5052
5053         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5054         (helper_find_suggest), (helper_find_get_length),
5055         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
5056         (gst_type_find_helper_for_buffer):
5057           Cleanup the typefindhelper code and add private doc comments.
5058
5059 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
5060
5061         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5062         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
5063         Fix capsfilter for cases where the caps set on capsfilter will provide
5064         additional information.
5065         Fixes #449197
5066
5067 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5068
5069         * gst/gsttypefindfactory.c:
5070           Fix docs that recommened wrong function to use.
5071
5072 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5073
5074         * tools/gst-inspect.c: (print_plugin_features):
5075           Also give media-type for typefinders in element output.
5076
5077 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5078
5079         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
5080         (gst_registry_remove_features_for_plugin_unlocked),
5081         (gst_registry_add_feature), (gst_registry_remove_feature),
5082         (gst_registry_lookup_feature_locked):
5083         * gst/gstregistry.h:
5084           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
5085           Fixes #459501.
5086
5087 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5088
5089         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5090         (gst_plugin_feature_set_name):
5091           Avoid double memory usage for pluginfeature names. Fixes #459466.
5092
5093 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5094
5095         * gst/gstpad.h:
5096           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
5097           driving the pipeline may need to explicitly check for NOT_LINKED as
5098           well, since IS_FATAL doesn't cover that.
5099
5100 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5101
5102         * docs/pwg/advanced-types.xml:
5103           Fix typo and duplicate entry in video formats list.
5104
5105 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
5106
5107         * libs/gst/controller/gstinterpolation.c:
5108         Also round to the nearest int when using cubic interpolation.
5109
5110 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
5111
5112         * libs/gst/controller/gstinterpolation.c:
5113         When linearly interpolating integer types, round to the nearest int
5114         by adding 0.5. Don't do it for float/double types.
5115         Fixes the failing controller test on my machine, which is somehow
5116         rounding differently than on the buildbots.
5117
5118 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5119
5120         * tools/gst-plot-timeline.py:
5121           Better log parsing (categories can have -). Adjust text vs. lines, so
5122           that they span the same y-range.        
5123
5124 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5125
5126         * docs/random/ensonic/audiobaseclasses.txt:
5127         * docs/random/ensonic/dynlink.txt:
5128         * docs/random/ensonic/profiling.txt:
5129           Save my thoughts.
5130
5131         * docs/random/moving-plugins:
5132           Add note to use g_assert type macros.
5133
5134 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5135
5136         * configure.ac:
5137         * libs/gst/check/Makefile.am:
5138           Add libm check as we use in for plugins.
5139
5140 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
5141
5142         * gst/gstbin.c: (gst_bin_continue_func):
5143         Check that the state_cookie hasn't changed since the continue_func
5144         was scheduled. Avoids problems where the state changes back to
5145         something it shouldn't be because it was changed in the meantime.
5146
5147 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
5148
5149         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
5150         (gst_registry_binary_save_string),
5151         (gst_registry_binary_save_pad_template),
5152         (gst_registry_binary_save_feature),
5153         (gst_registry_binary_save_plugin),
5154         (gst_registry_binary_load_feature),
5155         (gst_registry_binary_load_plugin),
5156         (gst_registry_binary_read_cache):
5157           Fix memory leak. Be less verbose in the log.
5158
5159 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5160
5161         * tests/check/elements/.cvsignore:
5162         Add file to cvsignore as commanded.
5163
5164 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5165
5166         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5167         (mq_dummypad_event), (run_output_order_test):
5168         Use a GStaticMutex to protect all cases where libcheck
5169         fail_if/fail_unless macros might be called from multiple threads
5170         simultaneously to avoid errors like:
5171           "check_pack.c:107: :-1081725400:Bad message type arg"
5172
5173 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5174
5175         * tests/check/pipelines/stress.c: (GST_START_TEST):
5176         Make sure we set the pipeline back to the NULL state before
5177         dropping our final reference.
5178
5179 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5180
5181         * tests/check/elements/tee.c: (GST_START_TEST):
5182         Make the tee stress-test a little less stressful so it doesn't just
5183         time out on slow-machines, and remove a small race when it's starting 
5184         up by adding a get_state() call.
5185
5186 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
5187
5188         * gst/gst.c:
5189           Avoid reading registry twice on startup. Fixes #457322.
5190
5191 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5192
5193         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5194         * pkgconfig/gstreamer-check.pc.in:
5195         Substitute the CFLAGS for libcheck into our .pc file too so that
5196         dependent modules will pick it up properly if libcheck is installed
5197         into some other prefix.
5198
5199 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5200
5201         * configure.ac:
5202         Revert the pkg-config check for libcheck, since it pulls in the
5203         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
5204         a proper solution, either from the check project, or something else.
5205
5206 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
5207
5208         * configure.ac:
5209           Use pkg-config to locate check.
5210
5211 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
5212
5213         * gst/gsttaglist.c:
5214           Fix doc syntax.
5215
5216         * gst/gstutils.c:
5217         * gst/gstutils.h:
5218           Add deprecation guards.
5219
5220         * libs/gst/base/gstcollectpads.h:
5221           Don't document object (this is implicitly private).
5222
5223 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
5224
5225         * gst/gststructure.c: (gst_structure_parse_value):
5226           When deserialising foo=bar without a type cast, check if it's a
5227           boolean before falling back to a string type, otherwise things like
5228           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
5229           because the filtercaps end up having a signed=(string)true field,
5230           which causes problems later when intersection caps.
5231
5232         * tests/check/gst/gststructure.c: (GST_START_TEST):
5233           Add a unit test for this.
5234
5235 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
5236
5237         Reviewed by: Stefan Kost <ensonic@users.sf.net>
5238
5239         * libs/gst/controller/Makefile.am:
5240         * libs/gst/controller/gstcontroller.c:
5241         (gst_controlled_property_add_interpolation_control_source),
5242         (gst_controlled_property_new), (gst_controlled_property_free),
5243         (gst_controller_find_controlled_property),
5244         (gst_controller_new_valist), (gst_controller_new_list),
5245         (gst_controller_new), (gst_controller_remove_properties_valist),
5246         (gst_controller_remove_properties_list),
5247         (gst_controller_remove_properties),
5248         (gst_controller_set_property_disabled),
5249         (gst_controller_set_disabled), (gst_controller_set_control_source),
5250         (gst_controller_get_control_source), (gst_controller_get),
5251         (gst_controller_sync_values), (gst_controller_get_value_array),
5252         (_gst_controller_dispose), (gst_controller_get_type),
5253         (gst_controlled_property_set_interpolation_mode),
5254         (gst_controller_set), (gst_controller_set_from_list),
5255         (gst_controller_unset), (gst_controller_unset_all),
5256         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
5257         * libs/gst/controller/gstcontroller.h:
5258         * libs/gst/controller/gstcontrollerprivate.h:
5259         * libs/gst/controller/gstcontrolsource.c:
5260         (gst_control_source_class_init), (gst_control_source_init),
5261         (gst_control_source_get_value),
5262         (gst_control_source_get_value_array), (gst_control_source_bind):
5263         * libs/gst/controller/gstcontrolsource.h:
5264         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
5265         (gst_object_get_control_source):
5266         * libs/gst/controller/gstinterpolation.c:
5267         (gst_interpolation_control_source_find_control_point_node),
5268         (gst_interpolation_control_source_get_first_value),
5269         (_interpolate_none_get), (interpolate_none_get),
5270         (interpolate_none_get_boolean_value_array),
5271         (interpolate_none_get_enum_value_array),
5272         (interpolate_none_get_string_value_array),
5273         (_interpolate_trigger_get), (interpolate_trigger_get),
5274         (interpolate_trigger_get_boolean_value_array),
5275         (interpolate_trigger_get_enum_value_array),
5276         (interpolate_trigger_get_string_value_array):
5277         * libs/gst/controller/gstinterpolationcontrolsource.c:
5278         (gst_control_point_free), (gst_interpolation_control_source_reset),
5279         (gst_interpolation_control_source_new),
5280         (gst_interpolation_control_source_set_interpolation_mode),
5281         (gst_interpolation_control_source_bind),
5282         (gst_control_point_compare), (gst_control_point_find),
5283         (gst_interpolation_control_source_set_internal),
5284         (gst_interpolation_control_source_set),
5285         (gst_interpolation_control_source_set_from_list),
5286         (gst_interpolation_control_source_unset),
5287         (gst_interpolation_control_source_unset_all),
5288         (gst_interpolation_control_source_get_all),
5289         (gst_interpolation_control_source_get_count),
5290         (gst_interpolation_control_source_init),
5291         (gst_interpolation_control_source_finalize),
5292         (gst_interpolation_control_source_dispose),
5293         (gst_interpolation_control_source_class_init):
5294         * libs/gst/controller/gstinterpolationcontrolsource.h:
5295         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
5296         API: Refactor GstController into the core controller which can take
5297         a GstControlSource for providing actual values for timestamps.
5298         Implement a interpolation control source and use this for backward
5299         compatibility, deprecate a bunch of functions that are now handled
5300         by GstControlSource or GstInterpolationControlSource.
5301         Make it possible to disable the controller completely or only for
5302         specific properties. Fixes #450711.
5303         * docs/libs/gstreamer-libs-docs.sgml:
5304         * docs/libs/gstreamer-libs-sections.txt:
5305         * docs/libs/gstreamer-libs.types:
5306         Add new functions and classes to the docs.
5307         * tests/check/libs/controller.c: (GST_START_TEST),
5308         (gst_controller_suite):
5309         * tests/examples/controller/audio-example.c: (main):
5310         Port unit test and example to the new API and add some new
5311         unit tests.
5312
5313 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
5314
5315         Patch by: Mark Nauwelaerts <manauw at skynet be>
5316
5317         * plugins/elements/gstmultiqueue.c:
5318         (gst_multi_queue_get_internal_links), (apply_buffer),
5319         (single_queue_overrun_cb), (gst_single_queue_new):
5320         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
5321         the pipeline layout can be tracked correctly. Fixes #453732.
5322
5323 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
5324
5325         * docs/gst/Makefile.am:
5326         * docs/libs/Makefile.am:
5327         * docs/plugins/Makefile.am:
5328           Simplify --extra-dir as gtkdoc scans recursively.
5329
5330 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5331
5332         * tools/gst-launch.c: (main):
5333         When we got an error, there is no point in waiting for preroll when
5334         shutting down.
5335
5336 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5337
5338         * plugins/elements/gsttee.c: (gst_tee_base_init),
5339         (gst_tee_request_new_pad), (gst_tee_release_pad),
5340         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
5341         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
5342         (gst_tee_chain):
5343         Be a lot smarter when deciding what srcpad to use for proxying
5344         the buffer_alloc. Also handle pad added/removed when doing so.
5345         Fixes #357959.
5346         Keep track of what pads we already pushed on in case we have pads
5347         added/removed while pushing. Fixes #374639 
5348
5349         * tests/check/Makefile.am:
5350         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
5351         (tee_suite):
5352         Added unit test for pad resync.
5353
5354 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5355
5356         * po/nl.po:
5357         * po/sv.po:
5358           Updated translations.
5359
5360 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5361
5362         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
5363
5364         * po/LINGUAS:
5365         * po/fi.po:
5366           Added new Finnish translation.
5367
5368 2007-06-28  Wim Taymans  <wim@fluendo.com>
5369
5370         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5371         (single_queue_overrun_cb):
5372         When figuring out when a queue is filled, use our internal time estimate
5373         based on segments, just like check_full does.
5374
5375 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
5376
5377         * gst/gstminiobject.c: (gst_mini_object_get_type):
5378           Remove 3 do-nothing methods.
5379
5380 2007-06-27  Wim Taymans  <wim@fluendo.com>
5381
5382         Patch by: Tim Angus <tim at ngus dot net>
5383
5384         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5385         (gst_capsfilter_set_property):
5386         Take a reference instead of a copy when setting "caps".
5387         Fix documentation to clarify this behaviour. Fixes #449414.
5388
5389 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
5390
5391         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5392         * gst/gstplugin.c: (gst_plugin_init):
5393         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
5394         * gst/gstquery.c: (gst_query_get_type):
5395         * gst/gstregistry.c: (gst_registry_init):
5396         * gst/gsturi.c: (gst_uri_handler_base_init):
5397           Remove empty instance_init() functions to save relocs and lessen the
5398           noise. Remove some of the function prototypes that are doubled by
5399           G_DEFINE_TYPE.
5400           
5401 2007-06-27  Wim Taymans  <wim@fluendo.com>
5402
5403         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
5404
5405         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
5406         Add peer and direction in the XML serialisation of ghostpads.
5407         Fixes #449226.
5408
5409 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
5410
5411         * configure.ac:
5412           Preserve useful information, thanks Tim.
5413
5414 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
5415
5416         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5417         (gst_single_queue_flush), (apply_segment), (apply_buffer),
5418         (gst_single_queue_push_one), (gst_multi_queue_loop),
5419         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5420         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
5421         (compute_high_id), (gst_single_queue_new):
5422         * plugins/elements/gstmultiqueue.h:
5423         Take the multiqueue lock when updating the fill level so we don't get
5424         confused. 
5425
5426         After applying a buffer or event on the src pad segment, make sure to
5427         call gst_data_queue_limits_changed() to get the data queue to unblock
5428         and check the filled state again.
5429         
5430         Rework the not-linked pad handling so the logic is that not-linked 
5431         pads can push as fast as they like, but only so they never get 
5432         ahead of any linked pads.
5433
5434         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
5435         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
5436         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
5437
5438         Add a test to check that not-linked pads always stay behind
5439         linked pads.
5440
5441         Fixes: #430682
5442
5443 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
5444
5445         * docs/random/release:
5446           Some updates to the release procedure.
5447
5448 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
5449
5450         * gst/gstelementfactory.c: (__gst_element_details_clear):
5451           Microoptimization that saves stunning 80 bytes.
5452
5453 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
5454
5455         * docs/plugins/gstreamer-plugins.args:
5456         * docs/plugins/inspect/plugin-coreelements.xml:
5457         * docs/plugins/inspect/plugin-coreindexers.xml:
5458           Update docs with caps info.
5459
5460 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5461
5462         * po/it.po:
5463           Updated Italian translation.
5464
5465 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5466
5467         * ChangeLog:
5468         * po/vi.po:
5469           Update Vietnamese translations.
5470
5471 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5472
5473         * libs/gst/base/gstbasesink.c:
5474           Remove unused signal enum.
5475
5476 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
5477
5478         * docs/gst/gstreamer-sections.txt:
5479         * gst/gstelement.c:
5480         * gst/gstutils.c: (gst_type_register_static_full):
5481         Beef up and include the docs for gst_type_register_static_full and
5482         gst_element_class_set_details_simple and add the API keyword
5483         in the ChangeLog.
5484
5485 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
5486
5487         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5488         (update_time_level), (gst_single_queue_push_one),
5489         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
5490         (single_queue_overrun_cb), (single_queue_underrun_cb),
5491         (single_queue_check_full):
5492         Fix setting max-* properties after adding queues.
5493         Use IS_FILLED for checking visible items.
5494         Signal overrun if multiple queues overrun.
5495         Add extra debug output.
5496         Patch by: Wim Taymans <wim@fluendo.com>
5497
5498 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
5499
5500         * gst/gstelement.c: (gst_element_class_set_details_simple):
5501         * gst/gstelement.h:
5502         * gst/gstutils.c: (gst_type_register_static_full):
5503         * gst/gstutils.h:
5504         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
5505         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
5506         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
5507         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
5508         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
5509         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
5510         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
5511         * plugins/elements/gstidentity.c: (gst_identity_base_init):
5512         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
5513         * plugins/elements/gstqueue.c: (gst_queue_base_init),
5514         (apply_buffer), (gst_queue_chain):
5515         * plugins/elements/gsttee.c: (gst_tee_base_init):
5516         * plugins/elements/gsttypefindelement.c:
5517         (gst_type_find_element_base_init),
5518         (gst_type_find_element_class_init):
5519           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
5520           API: add gst_type_register_static_full
5521           API: add gst_element_class_set_details_simple
5522
5523 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5524
5525         * docs/pwg/advanced-types.xml:
5526           Fix typo in iana.org URI.
5527
5528 2007-06-19  Andy Wingo  <wingo@pobox.com>
5529
5530         * tests/check/pipelines/simple-launch-lines.c
5531         (test_state_change_returns): Enable pull-mode tests now that
5532         basesink has been fixed.
5533
5534         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
5535         Changed from gst_base_sink_is_prerolled, reversing the sense of
5536         the return value. Returns FALSE also if the sink is in pull mode,
5537         in which case it needs no preroll.
5538         (gst_base_sink_query, gst_base_sink_change_state): Update for
5539         needs_preroll change.
5540         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
5541         chaining up, in which we return SUCCESS directly if we activated
5542         in pull mode instead of ASYNC. Involves countering an async_start
5543         message sent before chaining up; not sure if this is correct, in
5544         an ideal world we only send async-start when activating in push
5545         mode.
5546
5547         * tests/check/pipelines/simple-launch-lines.c
5548         (test_state_change_returns): New test, partially disabled until
5549         basesink is fixed.
5550
5551 2007-06-19  Wim Taymans  <wim@fluendo.com>
5552
5553         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5554         (gst_multi_queue_sink_event):
5555         Fix event leak.
5556
5557 2007-06-19  Wim Taymans  <wim@fluendo.com>
5558
5559         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5560         (gst_bin_change_state_func), (bin_push_state_continue),
5561         (bin_handle_async_start), (bin_handle_async_done),
5562         (gst_bin_handle_message_func):
5563         Move the common code for posting state-change messages into
5564         one function.
5565         Broadcast the state signal after we posted the messages.
5566         Mark the bin as busy when it's doing a state-change.
5567         Make sure async-start/done messages don't interfere with the bin's
5568         state when it's busy.
5569         After the state change, let the bin check which elements completed the
5570         state change while it was busy so that it can update its state.
5571
5572 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
5573
5574         * docs/random/release:
5575         Add a note about updating the doap file to the release checklist
5576
5577 2007-06-18  Wim Taymans  <wim@fluendo.com>
5578
5579         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5580         (gst_single_queue_push_one), (gst_multi_queue_chain),
5581         (gst_multi_queue_sink_event):
5582         Make sure we don't reference the buffer/event after we have given away
5583         ownership in the queue.
5584
5585 2007-06-18  Wim Taymans  <wim@fluendo.com>
5586
5587         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5588         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
5589         Update queue state _after_ adding the item in the queue because else we
5590         could end up being full without the element added yet.
5591
5592 2007-06-18  Wim Taymans  <wim@fluendo.com>
5593
5594         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5595         (gst_bin_remove_func), (gst_bin_get_state_func),
5596         (gst_bin_element_set_state), (gst_bin_continue_func),
5597         (bin_push_state_continue), (bin_handle_async_start),
5598         (bin_handle_async_done), (gst_bin_handle_message_func):
5599         * gst/gstbin.h:
5600         Immediatly commit the toplevel bin state when receiving an async-done
5601         message. This enables us to avoid spawning a thread to commit the state
5602         in some common cases and it also avoids some races.
5603         Avoid spawning a state thread when adding/removing async elements to a
5604         toplevel bin. Instead we immediatly update the bin state.
5605         Get rid of iterating all the children when getting the state in the bin
5606         because it is now always up-to-date.
5607         Fix bug where locked elements would always return _SUCCESS even it they
5608         returned NO_PREROLL before being locked.
5609         Fix the order of the state_change, async-start/done messages that was
5610         sometimes incorrect.
5611         Mark the state_dirty field as deprecated, we don't need it anymore as we
5612         are always up-to-date.
5613
5614         * gst/gstelement.c: (gst_element_get_state_func),
5615         (gst_element_continue_state):
5616         Small debug inprovements.
5617         Return the previous element state return when nothing is pending instead
5618         of blindly returning SUCCESS.
5619
5620         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
5621         (gst_sinks_suite):
5622         Add a whole bunch of new testcases.
5623
5624 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5625
5626         * po/uk.po:
5627         * po/vi.po:
5628           Update translations.
5629
5630 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
5631
5632         * gst/gstpad.c:
5633         Fix typo in the docs.
5634
5635 2007-06-15  Wim Taymans  <wim@fluendo.com>
5636
5637         * docs/libs/gstreamer-libs-sections.txt:
5638         Add docs for new methods.
5639
5640 2007-06-15  Wim Taymans  <wim@fluendo.com>
5641
5642         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
5643         (gst_multi_queue_item_new):
5644         Don't use GSlice because we don't depend on >= 2.10 yet.
5645
5646 2007-06-15  Wim Taymans  <wim@fluendo.com>
5647
5648         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5649         (update_time_level), (apply_segment), (apply_buffer),
5650         (gst_single_queue_push_one), (gst_multi_queue_item_new),
5651         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
5652         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
5653         (single_queue_underrun_cb), (single_queue_check_full):
5654         Remove debug printf.
5655
5656 2007-06-15  Wim Taymans  <wim@fluendo.com>
5657
5658         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
5659         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
5660         (gst_data_queue_set_flushing), (gst_data_queue_push),
5661         (gst_data_queue_pop), (gst_data_queue_drop_head),
5662         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
5663         * libs/gst/base/gstdataqueue.h:
5664         Various cleanups.
5665         Added methods to get the current levels and to inform the queue that the
5666         'full' limits changed.
5667
5668         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5669         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5670         (gst_single_queue_flush), (update_time_level), (apply_segment),
5671         (apply_buffer), (gst_single_queue_push_one),
5672         (gst_multi_queue_item_steal_object),
5673         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5674         (gst_multi_queue_loop), (gst_multi_queue_chain),
5675         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5676         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
5677         (gst_multi_queue_src_query), (single_queue_overrun_cb),
5678         (single_queue_underrun_cb), (single_queue_check_full),
5679         (gst_single_queue_new):
5680         Keep track of time in the queue by measuring the difference between
5681         running_time on input and output. This gives more accurate results and
5682         can compensate for segments correctly.
5683         Make a queue by default only 5 buffers deep. We will now increase the
5684         buffer size depending on the filledness of the other queues.
5685         Factor out commong flush code.
5686         Make sure we don't add additional refcounts to buffers when we can avoid
5687         it.
5688         Propagate GstFlowReturn differently.
5689         Use GSlice for intermediate GstMultiQueueItems.
5690         Keep track of EOS.
5691         Resize queues on over and underruns based on filled level of other
5692         queues.
5693         When checking if the queue is filled, prefer to measure in time if we
5694         can and fall back to bytes when no time is known.
5695
5696         * plugins/elements/gstqueue.c:
5697         Fix return value.
5698
5699 2007-06-15  Wim Taymans  <wim@fluendo.com>
5700
5701         * libs/gst/base/gstbasetransform.c:
5702         (gst_base_transform_sink_event):
5703         Work around the brokenness of the event vmethod in basetransform. Prefer
5704         to return TRUE when the subclass returned FALSE (meaning don't forward
5705         the event). 
5706
5707         * libs/gst/base/gstbasetransform.h:
5708         Clarify the docs.
5709
5710 2007-06-15  Wim Taymans  <wim@fluendo.com>
5711
5712         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
5713         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5714         (gst_base_src_default_query), (gst_base_src_get_range),
5715         (gst_base_src_start):
5716         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
5717         Improve debugging.
5718
5719 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
5720
5721         * docs/pwg/advanced-types.xml:
5722           Added more formats to caps table.
5723
5724 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
5725
5726         * tools/gst-launch.c: (main):
5727           Remove crufy code. GOption does not need this workaround.
5728
5729 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
5730
5731         * libs/gst/controller/gstcontroller.c:
5732         (gst_controlled_property_set_interpolation_mode):
5733           Fix wrong getter for enums in controller.
5734
5735 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5736
5737         * libs/gst/check/gstcheck.c: (gst_check_init):
5738           Intercept criticals and warnings in the Gst-Phonon log domain, so
5739           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
5740           well.
5741         
5742 2007-06-14  Edward Hervey  <edward@fluendo.com>
5743
5744         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
5745         Since this file doesn't include "gst.h" it will not go through the
5746         macros that disable GST_LOG if debugging was disabled.
5747
5748 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5749
5750         * libs/gst/check/Makefile.am:
5751         * libs/gst/check/gstcheck.h:
5752         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5753         * pkgconfig/gstreamer-check.pc.in:
5754           Ugly 'fix' for the controller unit test on the p5 bot: in
5755           fail_unless_equals_float() check whether the values are 'almost
5756           equal' by allowing a small absolute error, which should be good
5757           enough for our use cases (normal numbers and values close to 0).
5758           Proper fixage left to floating point arithmetic aficionados.
5759
5760 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
5761
5762         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
5763         (gst_base_sink_render_object), (gst_base_sink_get_position):
5764           Add two breaks thats where missing.
5765
5766 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5767
5768         * docs/libs/gstreamer-libs-sections.txt:
5769         * libs/gst/check/gstcheck.h:
5770           API: add fail_unless_equals_float() and assert_equals_float().
5771           Add documentation for some of the macros.
5772
5773         * tests/check/libs/controller.c: (GST_START_TEST):
5774           Use newly-added asserts.
5775
5776 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
5777
5778         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
5779           Show the caps change in the log to help spotting the case of not
5780           exactly matching caps.
5781
5782 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5783
5784         * docs/pwg/building-boiler.xml:
5785           Fix typos, spotted by Thijs Vermeir (#447190).
5786
5787 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
5788
5789         * docs/plugins/tmpl/.cvsignore:
5790         Ignore file to keep the buildbots happy
5791
5792 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
5793
5794         * docs/plugins/Makefile.am:
5795         * docs/plugins/gstreamer-plugins-docs.sgml:
5796         * docs/plugins/gstreamer-plugins-sections.txt:
5797         Pull fdsink into the docs too.
5798
5799 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
5800
5801         * libs/gst/controller/gstinterpolation.c:
5802         Actually use the new functions with min/max checks for the trigger and
5803         none interpolation modes for get() and get_value_array() instead of
5804         just the latter.
5805
5806 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
5807
5808         * libs/gst/controller/gstcontroller.c:
5809         (gst_controlled_property_free):
5810         Unset the minimum and maximum GValues when freeing the corresponding
5811         GstControllerProperty struct.
5812
5813 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
5814
5815         * libs/gst/controller/gstcontroller.c:
5816         (gst_controlled_property_new):
5817         * libs/gst/controller/gstcontrollerprivate.h:
5818         * libs/gst/controller/gstinterpolation.c:
5819         (gst_controlled_property_find_control_point_node),
5820         (interpolate_none_get), (interpolate_none_get_enum_value_array),
5821         (interpolate_none_get_string_value_array),
5822         (interpolate_trigger_get),
5823         (interpolate_trigger_get_enum_value_array),
5824         (interpolate_trigger_get_string_value_array):
5825         Protect against values larger or smaller than the minimum or maximum
5826         allowed value for the property when using values that can be compared.
5827
5828         Optimize trigger interpolator a bit by taking the last requested value
5829         into account instead of always looping through the complete list.
5830
5831         Fix coding style a bit, everywhere else we use "return foo" instead
5832         of "return (foo)".
5833         
5834         * tests/check/libs/controller.c: (GST_START_TEST),
5835         (gst_controller_suite):
5836         Add unit test for the protection against too large or too small
5837         values.
5838
5839 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
5840
5841         * docs/random/slomo/controller.txt:
5842         Add some thoughts about the future of the controller.
5843
5844 2007-06-08  Wim Taymans  <wim@fluendo.com>
5845
5846         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5847         Don't overflow in retimestamping code.
5848
5849 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
5850
5851         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
5852         Use gst_util_guint64_to_gdouble for conversions.
5853         * win32/common/libgstreamer.def:
5854         Add new exported functions.
5855
5856 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
5857
5858         * gst/gstutils.c:
5859           Small docs addition.
5860
5861 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
5862
5863         * README:
5864           Remove that test line again.
5865
5866 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
5867
5868         * README:
5869           Test commit mail sending.
5870
5871 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
5872
5873         * configure.ac:
5874           Fix typo and test commit mail sending.
5875
5876 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
5877
5878         * tests/examples/controller/audio-example.c:
5879           Improve comment and test commit mail sending.
5880
5881 2007-06-07  Wim Taymans  <wim@fluendo.com>
5882
5883         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
5884         (gst_bin_remove_func), (gst_bin_element_set_state),
5885         (bin_handle_async_start), (bin_handle_async_done),
5886         (gst_bin_handle_message_func):
5887         Add helper function to find messages.
5888         Generate the async-done messages together with the state change
5889         messages.
5890         Small cleanups in handling toplevel bins.
5891
5892 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
5893
5894         * libs/gst/base/gstdataqueue.c:
5895         * libs/gst/base/gstdataqueue.h:
5896         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5897         (gst_multi_queue_item_new), (gst_multi_queue_chain),
5898         (gst_multi_queue_sink_event):
5899         * tests/check/elements/multiqueue.c: (multiqueue_suite):
5900           Fix multiqueue leaking buffers and events when downstream or the
5901           queue are flushing. Make refcounting assumptions explicit and
5902           document them (shouldn't break existing code that uses it other than
5903           maybe leak miniobjects, but that already happens anyway). Add unit
5904           test for the most common flushing case. Fixes #423700.
5905           
5906 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
5907
5908         * libs/gst/controller/gstcontroller.c:
5909         Clarify docs: The get_all, get_value_array(s) functions
5910         don't modify the GObject properties.
5911
5912 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
5913
5914         * libs/gst/controller/gstcontroller.c:
5915         (gst_controlled_property_set_interpolation_mode),
5916         (gst_controlled_property_prepend_default),
5917         (gst_controlled_property_new), (gst_controller_set_unlocked),
5918         (gst_controller_set), (gst_controller_set_from_list),
5919         (gst_controller_unset), (gst_controller_unset_all):
5920         * libs/gst/controller/gstcontrollerprivate.h:
5921         * libs/gst/controller/gstinterpolation.c:
5922         Factor out the 'set' logic into gst_controller_set_unlocked for the
5923         gst_controller_set and gst_controller_set_from_list functions.
5924
5925         To make life of the interpolators easier always add a control point
5926         at timestamp zero with the default value.
5927
5928         In the linear interpolator make things more obvious by better variable
5929         naming (slope).
5930
5931         Implement cubic interpolation mode (by using a natural cubic spline)
5932         and map the quadratic interpolation mode to this too (as quadratic
5933         doesn't make much sense, see discussion on the list).
5934
5935         * tests/check/libs/controller.c: (GST_START_TEST),
5936         (gst_controller_suite):
5937         Add unit test for the cubic interpolation mode and check everywhere
5938         if the interpolation mode could be set as expected.
5939
5940 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
5941
5942         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
5943           Don't use GLib-2.10 functions, we still depend on
5944           GLib-how-old-is-it-again-2.8.
5945
5946 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
5947
5948         * docs/gst/gstreamer-sections.txt:
5949         * gst/Makefile.am:
5950         * gst/gst.c:
5951         * gst/gst.h:
5952         * gst/gstparamspecs.c: (_gst_param_fraction_init),
5953         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
5954         (_gst_param_fraction_values_cmp),
5955         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
5956         * gst/gstparamspecs.h:
5957         * gst/gstvalue.c:
5958         * tests/check/Makefile.am:
5959         * tests/check/gst/.cvsignore:
5960         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
5961         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
5962         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
5963         (GST_START_TEST), (gst_param_spec_suite):
5964           API: add GstParamSpecFraction, so elements can have fraction
5965           properties without lots of painful string parsing (#444648).
5966
5967 2007-06-05  Wim Taymans  <wim@fluendo.com>
5968
5969         * gst/gstobject.c: (gst_object_class_init):
5970         Fix signal signature.
5971
5972         * gst/gstsegment.c:
5973         Add small clarification in the api docs.
5974
5975         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
5976         States are protected with object lock.
5977
5978 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
5979
5980         * AUTHORS:
5981         I should probably be listed as an author by now.
5982
5983         * docs/random/release:
5984         Update the release doc
5985
5986 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
5987
5988         * gst/gstvalue.c:
5989           Make docs for gst_value_compare() mention return enums that
5990           actually exist.
5991
5992 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
5993
5994         * configure.ac:
5995           Back to CVS
5996
5997 === release 0.10.13 ===
5998
5999 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
6000
6001         * configure.ac:
6002           releasing 0.10.13, "With or without you"
6003
6004 2007-05-25  Wim Taymans  <wim@fluendo.com>
6005
6006         * gst/gstbin.c: (bin_handle_async_done):
6007         Make sure that the child bin stops after completing the async state
6008         change so that the parent can continue the state change to PLAYING.
6009         Fixes #441159.
6010
6011 2007-05-25  Wim Taymans  <wim@fluendo.com>
6012
6013         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6014         (unref_data), (gst_collect_pads_remove_pad),
6015         (gst_collect_pads_check_pads):
6016         Use additional refcounting to avoid crashes when dynamically adding and
6017         removing pads. Fixes #420206.
6018
6019 2007-05-24  Wim Taymans  <wim@fluendo.com>
6020
6021         * tools/gst-launch.c: (event_loop):
6022         When buffering goes from a two digit to a single digit number, make sure
6023         to remove the old second digit by writing a blank over it.
6024
6025 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6026
6027         * libs/gst/base/gstdataqueue.c:
6028           Eliminate tabs and trailing comma in enum list; fix some typos.
6029
6030 2007-05-24  Wim Taymans  <wim@fluendo.com>
6031
6032         * tests/check/gst/gstbin.c: (GST_START_TEST):
6033         Allow refcount of 3 and 4 because some state thread might still be busy
6034         with it.
6035
6036 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6037
6038         * plugins/elements/Makefile.am:
6039         * plugins/elements/gstmultiqueue.h:
6040         * plugins/elements/gstqueue.h:
6041           These are not installed headers, no need for padding.
6042
6043 2007-05-24  Wim Taymans  <wim@fluendo.com>
6044
6045         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6046         (gst_bin_continue_func):
6047         Enable latency for next release.
6048         Restore STATE_LOCK around recalc_state that was left out during the
6049         rewrite and could result in racy behaviour when _get_state and
6050         recalc_state are run concurrently. See #440463.
6051
6052 2007-05-23  Wim Taymans  <wim@fluendo.com>
6053
6054         * tests/check/gst/gstsystemclock.c: (store_callback),
6055         (GST_START_TEST):
6056         Improve test_async_order to also work when both timers are already
6057         expired when we get scheduled to check it.
6058
6059 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6060
6061         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
6062         (gst_bin_set_property), (gst_bin_get_property),
6063         (gst_bin_remove_func), (gst_bin_handle_message_func):
6064         * gst/gstbin.h:
6065           'private' is a c++ keyword, let's not use that in header files,
6066           otherwise c++ compilers will throw a tantrum.
6067
6068 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6069
6070         * plugins/elements/gstelements.c:
6071         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
6072         (gst_file_sink_get_current_offset):
6073         * plugins/indexers/gstindexers.c: (plugin_init):
6074           Use #ifdef for HAVE_XYZ for consistency.
6075
6076         * tests/check/Makefile.am:
6077         * tests/check/elements/.cvsignore:
6078         * tests/check/elements/filesink.c: (setup_filesink),
6079         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
6080           Add some unit tests for filesink.
6081
6082 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6083
6084         Patch by: Mark Nauwelaerts <manauw at skynet be>
6085
6086         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6087         (gst_file_sink_query), (gst_file_sink_do_seek),
6088         (gst_file_sink_get_current_offset), (gst_file_sink_render):
6089         * plugins/elements/gstfilesink.h:
6090           Fix position reporting; rename data_written member to current_pos to
6091           reflect its real meaning (fixes #412648).
6092
6093 2007-05-22  Edward Hervey  <edward@fluendo.com>
6094
6095         * docs/gst/gstreamer-sections.txt:
6096         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6097         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
6098         (gst_bin_remove_func), (gst_bin_handle_message_func):
6099         * gst/gstbin.h:
6100         Add a property for bins that handle the state change of their childs.
6101         Fixes #435880
6102
6103 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
6104
6105         * libs/gst/controller/gstinterpolation.c:
6106         Use an array of the correct type when using _get_value_array with
6107         linear interpolation.
6108
6109 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
6110
6111         * gst/gstelement.c (gst_element_requires_clock,
6112           gst_element_provides_clock, gst_element_request_pad,
6113           gst_element_class_set_details, gst_element_class_set_details_simple,
6114           gst_element_default_send_event, gst_element_abort_state,
6115           gst_element_continue_state, gst_element_set_state,
6116           gst_element_set_state_func, iterator_activate_fold_with_resync):
6117         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
6118           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
6119           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
6120           gst_pad_get_range, gst_pad_pull_range):
6121         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
6122           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
6123           GstPadActivateModeFunction, GstPadChainFunction,
6124           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
6125           GstPadFixateCapsFunction, GstPadTemplate):
6126         * gst/gstpipeline.c (gst_pipeline_change_state,
6127           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
6128           gst_pipeline_set_clock, gst_pipeline_auto_clock,
6129           gst_pipeline_get_delay):
6130           Whitespace and docs fixes.
6131
6132 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6133
6134         * libs/gst/controller/gstinterpolation.c:
6135         (interpolate_trigger_get_enum_value_array),
6136         (interpolate_trigger_get_string_value_array):
6137         Add support for retrieving value arrays when using the trigger
6138         interpolation mode. 
6139
6140 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6141
6142         * libs/gst/controller/gstcontroller.c:
6143         (gst_controller_get_value_array):
6144         * libs/gst/controller/gstcontroller.h:
6145         Clarify the docs of gst_controller_get_value_array(): The array where
6146         the values should be written to must be allocated as there seems to be
6147         no way to get the size of a random GType. This doesn't change any
6148         behaviour. Also fix some typos all over the place and remove an unused,
6149         commented function that is not necessary as g_object_set() could be
6150         used instead.
6151         * tests/check/libs/controller.c: (GST_START_TEST),
6152         (gst_controller_suite):
6153         Add unit test for gst_controller_get_value_array().
6154
6155 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
6156
6157         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6158
6159         Disable part of the gst_buffer_try_new_and_alloc test, because
6160         it can happily succeed on 64-bit systems where there's more address
6161         space available.
6162
6163 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6164
6165         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6166         Add unit test for the improved caps checking from bug #421543.
6167
6168 2007-05-21  Wim Taymans  <wim@fluendo.com>
6169
6170         * docs/design/part-synchronisation.txt:
6171         Small addition.
6172
6173         * gst/gstbin.c: (gst_bin_query):
6174         * plugins/elements/gstqueue.c: (apply_segment):
6175         Improve debugging.
6176
6177         * gst/gstmessage.h:
6178         Improve docs.
6179
6180 2007-05-21  Wim Taymans  <wim@fluendo.com>
6181
6182         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6183         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
6184         (gst_pad_configure_src):
6185         Added simple version of improved caps checking. It was previously
6186         assumed that a setcaps function would check the validity of the caps but
6187         people prefer us to check caps against the template automatically. 
6188         Fixes #421543.
6189
6190 2007-05-21  Wim Taymans  <wim@fluendo.com>
6191
6192         * libs/gst/base/gstbasetransform.h:
6193         Fix macro for locking/unlocking the transform lock.
6194
6195 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6196
6197         * docs/plugins/tmpl/.cvsignore:
6198           Ignore more.
6199
6200 2007-05-18  Edward Hervey  <edward@fluendo.com>
6201
6202         * plugins/elements/gstqueue.c: (gst_queue_loop):
6203         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
6204         for the subtle art of warning a potentially blocking thread that it
6205         should check the source pad return value, and relay the information
6206         upstream.
6207
6208 2007-05-18  Edward Hervey  <edward@fluendo.com>
6209
6210         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6211         Release the queue lock !
6212
6213 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6214
6215         * docs/libs/gstreamer-libs-sections.txt:
6216         Add the two new controller functions to the appropiate places.
6217
6218 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6219
6220         reviewed by: Stefan Kost <ensonic@users.sf.net>
6221
6222         * libs/gst/controller/gstcontroller.c:
6223         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
6224         (_gst_controller_get_property), (_gst_controller_set_property),
6225         (_gst_controller_init), (_gst_controller_class_init):
6226         * libs/gst/controller/gstcontroller.h:
6227         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
6228         (gst_object_get_control_rate), (gst_object_set_control_rate):
6229         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
6230         Add API that provides sync suggestion timestamps for elements that
6231         call gst_object_sync_values() from which those elements can subdivide
6232         their processing loop to get the best results for the controlled
6233         properties. For now it just suggests last_sync + control_rate as
6234         new timestamp but this will be improved in the future.
6235
6236         While doing that change the control-rate property to a GstClockTime
6237         from guint and change it's meaning from samples to nanoseconds as
6238         the GstController doesn't know anything about sampling rate. Strictly
6239         speaking this breaks ABI but as the control-rate property didn't do
6240         anything in the past and as such couldn't be used this should be no
6241         problem.        
6242
6243 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6244
6245         reviewed by: Stefan Kost <ensonic@users.sf.net>
6246
6247         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6248         (gst_controller_unset_all):
6249         * libs/gst/controller/gstcontrollerprivate.h:
6250         * libs/gst/controller/gstinterpolation.c:
6251         (gst_controlled_property_find_control_point_node):
6252         Save last synced value from the list to continue searching from there
6253         in future syncs. This speeds everything up a bit.
6254         
6255 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6256
6257         reviewed by: Stefan Kost <ensonic@users.sf.net>
6258
6259         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
6260         (gst_control_point_find), (gst_controlled_property_new),
6261         (gst_control_point_free), (gst_controlled_property_free),
6262         (gst_controller_set), (gst_controller_set_from_list),
6263         (gst_controller_unset), (gst_controller_unset_all),
6264         (gst_controller_sync_values):
6265         * libs/gst/controller/gstcontroller.h:
6266         * libs/gst/controller/gstcontrollerprivate.h:
6267         * libs/gst/controller/gstinterpolation.c:
6268         (gst_controlled_property_find_control_point_node),
6269         (interpolate_none_get), (interpolate_trigger_get):
6270         Add a new private GstControlPoint struct which "inherits" from
6271         GstTimedValue to allow different interpolators to store internal
6272         values next to each control point. From the outside everything is
6273         still a GstControlPoint so we don't loose binary compatibility.
6274         Also fixup all the GValue handling to not leak GValues or list nodes.
6275         * tests/check/libs/controller.c: (GST_START_TEST):
6276         Free the list nodes and GValues in the controller_misc test.
6277
6278 2007-05-17  Edward Hervey  <edward@fluendo.com>
6279
6280         * gst/gstsegment.c:
6281         Small doc fix.
6282
6283 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6284
6285         * gst/gstplugin.c: (gst_plugin_load_file):
6286           If we fail to load a plugin because of unresolved symbols or missing
6287           libraries and spew a warning to stderr, we may just as well mention
6288           which plugin it was that failed to load.
6289
6290 2007-05-13  David Schleef  <ds@schleef.org>
6291
6292         * docs/Makefile.am: the gtk-doc makefile snippet correctly
6293           handles the case when ENABLE_GTK_DOC is false, and installs
6294           the prebuilt documentation.  So gtk-doc subdirs are 
6295           unconditionally enabled.  Fixes: #349099.
6296
6297 2007-05-13  David Schleef  <ds@schleef.org>
6298
6299         * gst/gstutils.h: Reword some documentation.
6300
6301 2007-05-12  David Schleef  <ds@schleef.org>
6302
6303         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
6304           do anything with the passed "module" parameter, so remove it.
6305           Allows removal of additional vestigal code.
6306
6307 2007-05-12  David Schleef  <ds@schleef.org>
6308
6309         * gst/gstplugin.c:
6310           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
6311           Switch to using g_stat() because it's more portable.
6312
6313 2007-05-12  David Schleef  <ds@schleef.org>
6314
6315         * gst/gst.c:
6316           Add GST_DISABLE_OPTION_PARSING, in order to disable option
6317           parsing for embedded systems.
6318         * gst/gstelementfactory.c:
6319           Allow gst_element_register() to be called with plugin==NULL.
6320           Did nobody notice that static elements were broken?
6321
6322 2007-05-12  Wim Taymans  <wim@fluendo.com>
6323
6324         * tools/gst-launch.c: (event_loop):
6325         Give more interesting info when buffering starts and stops.
6326         Fix case where buffering starts but we fail to update the buffering flag
6327         because the target state is not PLAYING.
6328
6329 2007-05-12  Wim Taymans  <wim@fluendo.com>
6330
6331         * plugins/elements/gstqueue.c: (gst_queue_init),
6332         (gst_queue_finalize), (update_time_level), (apply_segment),
6333         (apply_buffer), (gst_queue_locked_flush),
6334         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
6335         (gst_queue_handle_sink_event), (gst_queue_chain),
6336         (gst_queue_push_one), (gst_queue_loop):
6337         * plugins/elements/gstqueue.h:
6338         Refactor an cleanup queue a bit.
6339         Do better time level calculations that also work when the srcpad is not
6340         yet running.
6341         Remove some unneeded debug lines.
6342
6343         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
6344         Added testcase for time level measurement.
6345         Try to make some stuff more racefree.
6346
6347 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6348
6349         * gst/gsturi.c: (gst_element_make_from_uri):
6350           Don't leak plugin feature.
6351
6352         * tests/check/Makefile.am:
6353         * tests/check/gst/.cvsignore:
6354         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
6355           Add brain-dead unit test.
6356
6357 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6358
6359         Patch by: Jeroen Wouters <woutersj at gmail com>
6360
6361         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
6362           Treat protocol strings in a case-insensitive way (#437563).
6363
6364 2007-05-11  Michael Smith <msmith@fluendo.com>
6365
6366         * gst/gstplugin.c: (gst_plugin_load_file):
6367         * gst/gstregistry.c: (gst_registry_scan_path_level):
6368           Don't print a g_warning for any failure to load a shared object.
6369           Instead, push this down into gstplugin.c, and warn _only_ if we
6370           failed to open the module (i.e. failure to link).
6371           Avoids warnings on normal, working, non-plugin .so files.
6372
6373 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
6374
6375         * gst/gstplugin.c (gst_plugin_load_file):
6376         * gst/gstregistry.c (GST_CAT_DEFAULT,
6377           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
6378           Print a g_warning if there was an error when loading a plugins during
6379           registry scan. The shuld help beginners starting with gst-plugin
6380           template.
6381
6382 2007-05-10  Wim Taymans  <wim@fluendo.com>
6383
6384         * plugins/elements/gstqueue.c: (gst_queue_class_init),
6385         (update_time_level), (gst_queue_locked_flush),
6386         (gst_queue_handle_sink_event), (gst_queue_chain),
6387         (gst_queue_push_one), (gst_queue_loop):
6388         * plugins/elements/gstqueue.h:
6389         Be smarter when calculating the current amount of data in the queue by
6390         measuring the difference between start and end timestamps (in running
6391         time) inside the queue. Fixes #432876.
6392         API: GstQueue::pushing to notify elements that we are pushing data again
6393         since the running signal is rather broken for this purpose.
6394
6395 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
6396
6397         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
6398           gst_queue_base_init, gst_queue_init):
6399           use GST_BOILERPLATE
6400
6401 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
6402
6403         * win32/common/libgstreamer.def:
6404         Add new exported functions.
6405         * win32/vs6/grammar.dsp:
6406         Use grammar pre-generated files.
6407
6408 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6409
6410         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
6411
6412         * gst/Makefile.am:
6413         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
6414         * gst/gstparse.h:
6415         * gst/gstutils.c: (gst_parse_bin_from_description):
6416         * gst/gstutils.h:
6417           Maintain API and ABI when --disable-parse is used. Now that
6418           we have an appropriate error code, we can just return NULL and the
6419           appropriate error when gst_parse_launch() is used despite it having
6420           been disabled (#342564).
6421
6422         * tests/check/Makefile.am:
6423         * tests/check/pipelines/.cvsignore:
6424         * tests/check/pipelines/parse-disabled.c:
6425           Make sure these functions exist and return NULL plus a GError when
6426           --disable-parse is used.
6427
6428 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6429
6430         * tests/benchmarks/complexity.c: (main):
6431         * tests/benchmarks/mass-elements.c: (main):
6432           Set a good example and don't leak messages.
6433
6434 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
6435
6436         * docs/gst/Makefile.am:
6437         * docs/libs/Makefile.am:
6438           Correct fixxrefs options.
6439
6440         * docs/plugins/Makefile.am:
6441         * docs/plugins/gstreamer-plugins-docs.sgml:
6442         * docs/plugins/gstreamer-plugins-sections.txt:
6443         * plugins/elements/Makefile.am:
6444         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
6445         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
6446           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
6447           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
6448           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
6449           _GstCapsFilterClass, trans_class):
6450         * plugins/elements/gstelements.c (name, rank, type, _elements):
6451         * plugins/elements/gstidentity.c
6452           (gst_identity_check_imperfect_timestamp,
6453           gst_identity_check_imperfect_offset):
6454           Document capsfilter and add doc-blurb to identity.
6455
6456 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6457
6458         * libs/gst/controller/gstcontroller.c:
6459         (gst_controlled_property_set_interpolation_mode):
6460         * libs/gst/controller/gstinterpolation.c:
6461           Don't crash if someone tries to set an interpolation mode that
6462           is invalid or that isn't supported yet. Fixes #422295.
6463
6464         * tests/check/libs/controller.c: (GST_START_TEST),
6465         (gst_controller_suite):
6466           Add a test case for the above.
6467
6468 2007-05-03  Edward Hervey  <edward@fluendo.com>
6469
6470         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6471         Properly set the last_stop position on GstSegment. This will only happen
6472         if there is a buffer to push out.
6473
6474 2007-05-03  Wim Taymans  <wim@fluendo.com>
6475
6476         * libs/gst/base/gstbasetransform.c:
6477         (gst_base_transform_buffer_alloc):
6478         always_in_place does not mean that the sink and source caps are the
6479         same! Make sure we don't blindly proxy the buffer_alloc in this case.
6480
6481 2007-05-03  Wim Taymans  <wim@fluendo.com>
6482
6483         * docs/libs/gstreamer-libs-sections.txt:
6484         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6485         (gst_base_src_default_query), (gst_base_src_get_range):
6486         * libs/gst/base/gstbasesrc.h:
6487         API: gst_base_src_query_latency(). Added method so that subclasses can
6488         easily get the latency values of the base source class.
6489
6490 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
6491
6492         * tools/gst-inspect.c (print_implementation_info):
6493         Remove 0.8 cruft.
6494
6495 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * tools/Makefile.am:
6498         * tools/gst-launch.1.in:
6499           Don't create a customised man page based on the host architecture,
6500           describe the default registry path generically. That way the man
6501           page is the same for all architectures and packagers have one
6502           multilib issue less to deal with. Fixes #434926.
6503
6504 2007-05-02  Wim Taymans  <wim@fluendo.com>
6505
6506         * gst/gstpad.c:
6507         Fix documentation as spotted by rg on IRC. 
6508
6509 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
6510
6511         * gst/gstutils.c:
6512           Improve docs for gst_element_{link,unlink}.
6513
6514 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
6515
6516         * docs/design/part-events.txt:
6517         * docs/design/part-overview.txt:
6518         * gst/gstevent.c:
6519         * gst/gsturi.c:
6520         * gst/gsturi.h:
6521         * libs/gst/base/gstbasesink.c:
6522           Typo fixes; minor docs addition.
6523
6524 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6525
6526         * docs/gst/gstreamer-sections.txt:
6527         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
6528         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
6529         * gst/gsturi.h:
6530         API: Add gst_uri_protocol_is_supported(), which checks if a sink
6531         or src that supports a given URI protocol exists.
6532
6533 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6534
6535         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6536         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6537         Set the location to NULL if "file://" is set as URI. Otherwise
6538         some random previous URI would still be set if "file://" is
6539         set on an already used filesink/filesrc.
6540
6541 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
6542
6543         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6544         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6545         Special case the "file://" URI as as this is used by some
6546         applications to test with gst_element_make_from_uri if there's
6547         an element that supports the URI protocol.
6548         Also move the g_path_is_absolute() check for the location part
6549         of the URI to also check this for "file://localhost/bla" URIs.
6550
6551 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
6552
6553         * docs/gst/gstreamer-sections.txt:
6554         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
6555         * gst/gstbuffer.h:
6556         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6557         (gst_buffer_suite):
6558           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
6559
6560 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
6561
6562         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6563         (gst_registry_binary_load_pad_template),
6564         (gst_registry_binary_load_plugin),
6565         (gst_registry_binary_read_cache):
6566         * gst/gstregistrybinary.h:
6567           Implement no-mmap alternative for registry reading. Do code cleanups.
6568           Add more comments about avoiding strdups for all text data. Comments
6569           welcome.
6570
6571 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
6572
6573         * gst/gstregistrybinary.h (GstBinaryPluginElement,
6574           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
6575           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
6576           Comment structs and reformat to fix the build (that stuff should go
6577           into a priv. header).
6578
6579 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
6580
6581         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
6582         (gst_registry_binary_load_feature):
6583         * gst/gstregistrybinary.h:
6584           Refactor so that we can implement multiple features. Add support for
6585           TypeFindFactory features.
6586
6587 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
6588
6589         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
6590
6591         * configure.ac:
6592           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
6593
6594 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
6595
6596         * gst/gstbin.c: (gst_bin_element_set_state),
6597         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
6598         (bin_handle_async_done), (gst_bin_handle_message_func):
6599           Fix build with --gst-disable-gst-debug
6600
6601 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
6602
6603         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
6604           Make sure streaming has finished before calling the ::stop() vfunc,
6605           since that vfunc might clear state which is being used in the
6606           streaming thread. This fixes a race that caused crashes in
6607           audioresample when shutting down a pipeline (#420106).
6608
6609 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6610
6611         * docs/gst/gstreamer-sections.txt:
6612           That was one byte missing.
6613
6614 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6615
6616         * configure.ac:
6617         * docs/gst/gstreamer-sections.txt:
6618         * gst/Makefile.am:
6619         * gst/gstconfig.h.in:
6620         * gst/gstobject.c: (gst_object_class_init),
6621         (gst_signal_object_class_init):
6622         * gst/gstobject.h:
6623           2nd attempt to have a xml-less build as a joined effort of #413123
6624           and #421480.
6625
6626 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
6627
6628         * docs/design/draft-tagreading.txt:
6629           Added open issues/thoughts to draft.
6630
6631 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6632
6633         * gst/parse/grammar.tab.pre.c:
6634         * gst/parse/grammar.tab.pre.h:
6635         * gst/parse/lex._gst_parse_yy.pre.c:
6636         Update the prebuild parser sources.
6637
6638 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6639
6640         * gst/parse/Makefile.am:
6641         And now fix the building of the flex sources. Now everything should
6642         work as expected.
6643
6644 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6645
6646         * gst/parse/Makefile.am:
6647         Now hopefully fix the build failures by setting proper rule
6648         dependencies and moving instead of copying.
6649
6650 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6651
6652         * tests/benchmarks/complexity.gnuplot:
6653         * tests/benchmarks/complexity.scm:
6654         * tests/benchmarks/mass-elements.gnuplot:
6655         * tests/benchmarks/mass-elements.scm:
6656           Total licensification.
6657
6658 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6659
6660         * gst/parse/Makefile.am:
6661           Fix the build by correcting the rule that gave wrong files to flex.
6662
6663 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
6664
6665         * tests/benchmarks/complexity.c:
6666         * tests/benchmarks/mass-elements.c:
6667           Change licence to LGPL as granted by Benjamin and Andy.
6668
6669 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
6670
6671         * gst/parse/Makefile.am:
6672         Add correct grammar.tab.h dependency if compiling without new enough
6673         flex. Fixes #431150.
6674
6675 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
6676
6677         * gst/parse/Makefile.am:
6678         Fix typo and use outdated sources if the flex/bison sources are newer
6679         than the pregenerated ones but flex is too old. Print a warning in
6680         that case. This should fix the build on the build bot.
6681
6682 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
6683
6684         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
6685         * gst/parse/Makefile.am:
6686         * gst/parse/grammar.y:
6687         * gst/parse/parse.l:
6688         Make the parser reentrant and recursively callable. This requires flex
6689         >= 2.5.31, for older versions pregenerated sources are used as we
6690         can't bump the build dependency. Finally fixes #349180.
6691
6692         * gst/gstparse.c: (gst_parse_launch):
6693         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
6694         now anyway.
6695
6696         * docs/gst/Makefile.am:
6697         * docs/gst/Makefile.am:
6698         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
6699         (__gst_parse_strfree), (__gst_parse_link_new),
6700         (__gst_parse_link_free), (__gst_parse_chain_new),
6701         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
6702         (gst_parse_element_set), (gst_parse_free_link),
6703         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
6704         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
6705         (_gst_parse_launch):
6706         * gst/parse/grammar.tab.pre.h:
6707         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
6708         (yy_get_previous_state), (yy_try_NUL_trans), (input),
6709         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
6710         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
6711         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
6712         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
6713         (_gst_parse_yypop_buffer_state),
6714         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
6715         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
6716         (yy_fatal_error), (_gst_parse_yyget_extra),
6717         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
6718         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
6719         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
6720         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
6721         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
6722         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
6723         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
6724         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
6725         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
6726         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
6727         (_gst_parse_yyfree):
6728         If the installed flex version is too old use pre-generated parser
6729         sources. These pre-generated parser sources are always updated when
6730         the actual flex/bison sources change but require everybody who wants
6731         to change something in the parser to have flex >= 2.5.31 installed.
6732
6733 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
6734
6735         * common/m4/gst-gettext.m4:
6736         * gst/gst-i18n-lib.h:
6737           Make --disable-nls to work
6738
6739 2007-04-17  Wim Taymans  <wim@fluendo.com>
6740
6741         * gst/gstconfig.h.in:
6742         Revert previous change that broke the build.
6743
6744 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
6745
6746         * configure.ac:
6747         * gst/Makefile.am:
6748         * gst/gstconfig.h.in:
6749           Drop libxml2 dependency when building with 
6750           --enable-binary-registry --disable-loadsave
6751
6752 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
6753
6754         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6755         (gst_registry_binary_read_cache):
6756         * gst/gstregistrybinary.h:
6757           Remove unnecessary <sys/mman.h> include which broke the win32 build
6758           with MingW; move includes from header file to .c file, even if the
6759           header file isn't installed; use g_strerror() where UTF-8 strings
6760           are expected, such as in GST_DEBUG messages.
6761
6762 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6763
6764         * docs/libs/gstreamer-libs-sections.txt:
6765         Remove bogus addition for API I didn't end up keeping.
6766
6767         * libs/gst/base/gstbasesrc.h:
6768         Mention Since: 0.10.13 in the documentation.
6769
6770         Add the API keyword to the previous ChangeLog entry.
6771
6772 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6773
6774         * docs/libs/gstreamer-libs-sections.txt:
6775         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6776         (gst_base_src_default_prepare_seek_segment),
6777         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
6778         * libs/gst/base/gstbasesrc.h:
6779         Allow basesrc derived classes to execute seeks in other formats
6780         by providing a prepare_seek_segment vmethod. Sub-classes can choose
6781         to prepare the GstSegment in any format that their perform_seek method
6782         will be able to understand. The default implementation provides the
6783         old behaviour of attempting to convert the seek offsets to the 
6784         configured native format.
6785
6786         API: basesrc::prepare_seek_segment vmethod.
6787
6788 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6789
6790         * gst/gstelement.c: (gst_element_get_state_func):
6791         Don't output the same debug statement twice.
6792
6793         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
6794         (gst_adapter_peek), (gst_adapter_take_buffer):
6795         Optimise the case where we have buffers at the head of the queue that
6796         can be joined quickly (because they're contiguous sub-buffers) by
6797         merging them together rather than copying data out into new memory.
6798
6799         * gst/parse/grammar.y:
6800         * tests/check/pipelines/parse-launch.c:
6801         Fix a leak in an error path for parse_launch, and add a check 
6802         for it to the testsuite.
6803
6804 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
6805
6806         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6807           Don't deadlock when releasing a pad - gst_pad_set_active may try
6808           and take the multiqueue lock too.
6809
6810 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6811
6812         * gst/gsterror.c: (_gst_core_errors_init):
6813         * gst/gsterror.h:
6814           API: add GST_CORE_ERROR_DISABLED (#392804).
6815
6816 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6817
6818         * docs/faq/gst-uninstalled:
6819           don't get empty paths on the PATH variables
6820         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
6821           Don't format for the uncommon terminal width of 84 characters.
6822
6823 2007-04-06  Wim Taymans  <wim@fluendo.com>
6824
6825         * gst/gstpipeline.c: (reset_stream_time),
6826         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
6827         Only try to select a different pipeline clock when we went back to
6828         PAUSED and not when we merely got flushed.
6829
6830 2007-04-05  Michael Smith  <msmith@fluendo.com>
6831
6832         * tools/gst-launch.1.in:
6833           fractions are better supported in gstreamer than ractions, so
6834           suggest using those.
6835
6836 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6837
6838         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
6839
6840         * po/LINGUAS:
6841         * po/da.po:
6842           Added Danish translation.
6843
6844 2007-04-05  Wim Taymans  <wim@fluendo.com>
6845
6846         * libs/gst/base/gstbasesink.c:
6847         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
6848         Fix leak caused when refusing newsegment after EOS.
6849
6850         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6851         (gst_fake_sink_init), (gst_fake_sink_set_property),
6852         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
6853         (gst_fake_sink_render), (gst_fake_sink_change_state):
6854         * plugins/elements/gstfakesink.h:
6855         Add num-buffers property to make the element generate EOS after a
6856         configurable amount of buffers.
6857         API: fakesink::num-buffers property.
6858
6859         * tests/check/elements/fakesink.c: (GST_START_TEST),
6860         (fakesink_suite):
6861         Fix GstBus leak in test.
6862         Test for fakesink num-buffers.
6863
6864 2007-04-05  Wim Taymans  <wim@fluendo.com>
6865
6866         * libs/gst/base/gstbasesink.c:
6867         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6868         (gst_base_sink_change_state):
6869         Don't accept anything after an EOS, return UNEXPECTED instead.
6870
6871         * tests/check/elements/fakesink.c: (GST_START_TEST),
6872         (fakesink_suite):
6873         Unit test for new EOS behaviour.
6874
6875 2007-04-05  Wim Taymans  <wim@fluendo.com>
6876
6877         * gst/gstelement.c: (gst_element_get_request_pad):
6878         Make padtemplates also work when they don't contain %s or %d.
6879
6880 2007-04-05  Wim Taymans  <wim@fluendo.com>
6881
6882         * docs/gst/gstreamer-sections.txt:
6883         * gst/gstclock.c: (gst_clock_adjust_unlocked),
6884         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
6885         * gst/gstclock.h:
6886         Improve _adjust_unlocked() so that it overflows less.
6887         Add gst_clock_unadjust_unlocked to convert from external time to
6888         internal time based on calibration.
6889         Add some more debug.
6890         API: GstClock::gst_clock_unadjust_unlocked()
6891
6892 2007-04-03  Wim Taymans  <wim@fluendo.com>
6893
6894         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6895
6896         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6897         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
6898         when releasing sink pad. Fixes #425400.
6899
6900 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
6901
6902         * docs/random/ensonic/dynlink.txt:
6903           More work on proposal for new core api.
6904
6905         * docs/libs/gstreamer-libs-sections.txt:
6906         * libs/gst/base/gstbasetransform.h:
6907           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
6908           
6909         * libs/gst/controller/gstcontroller.c:
6910         (on_object_controlled_property_changed),
6911         (gst_controller_sync_values),
6912         (gst_controller_set_interpolation_mode):
6913         * libs/gst/controller/gstcontroller.h:
6914           Less verbose logging add docs for unimplemented parts and correctly
6915           return when using unavailable parts.
6916
6917 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
6918
6919         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
6920         Move all the debug to the CLOCK category, and associate it with
6921         the clock object.
6922
6923 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
6924
6925         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
6926         Make take_buffer a bit quicker by removing redundant checks
6927         caused by calling gst_adapter_take.
6928
6929 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
6930
6931         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
6932           Don't leak GCond.
6933
6934         * tests/check/Makefile.am:
6935         * tests/check/elements/.cvsignore:
6936         * tests/check/elements/multiqueue.c: (setup_multiqueue),
6937         (GST_START_TEST), (multiqueue_suite):
6938           Add some dead simple unit tests for the 'multiqueue' element
6939           (some bits don't work yet and are disabled for now).
6940
6941 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
6942
6943         * gst/gstelement.c: (gst_element_get_request_pad),
6944         (gst_element_class_get_request_pad_template):
6945           Make gst_element_get_request_pad() create request pads only for
6946           request pad templates and not for, say, sometimes pad templates.
6947
6948 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
6949
6950         * docs/design/draft-klass.txt:
6951           Add example that needs more thinking.
6952         
6953         * docs/design/draft-missing-plugins.txt:
6954           More thoughts about wrapper plugins.
6955         
6956         * docs/random/ensonic/embedded.txt:
6957         * docs/random/ensonic/profiling.txt:
6958           More design work.
6959
6960 2007-03-25  Wim Taymans  <wim@fluendo.com>
6961
6962         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
6963         (gst_base_src_loop):
6964         Only push the segment events in the PLAYING state for live sources.
6965
6966 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
6967
6968         * gst/gstpipeline.c: (gst_pipeline_change_state):
6969         Modify the clock distribution path in PAUSED->PLAYING so that we 
6970         never attempt to choose a new clock unless we're actually leaving
6971         the PAUSED state for the first time. This prevents choosing a
6972         different clock when the state_change gets called for a 2nd time due
6973         to some element doing an async state change.
6974
6975 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
6976
6977         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
6978         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
6979         (gst_pad_chain_unchecked), (gst_pad_push):
6980         Revert last commit. This needs some more thoughts.
6981
6982 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
6983
6984         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
6985         (gst_pad_chain_unchecked), (gst_pad_push):
6986         Check in set_caps if the caps are compatible with the pad and remove
6987         two functions that are redundant now. Fixes #421543.
6988
6989 2007-03-22  Wim Taymans  <wim@fluendo.com>
6990
6991         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
6992         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
6993         Unref some more to make valgrind happy.
6994
6995 2007-03-22  Wim Taymans  <wim@fluendo.com>
6996
6997         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
6998         (gst_system_clock_id_wait_jitter),
6999         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
7000         Fix anoying regression that survived a few releases. When adding an
7001         async entry while blocking on a sync entry, the sync entry will unblock
7002         but still be busy, so it should continue to wait instead of returning
7003         _BUSY to the app.
7004         Add some comments here and there.
7005
7006         * tests/check/gst/gstsystemclock.c: (mixed_thread),
7007         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
7008         Add testcase for this.
7009
7010 2007-03-22  Wim Taymans  <wim@fluendo.com>
7011
7012         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
7013         Handle errors from the clock sync better, only UNSCHEDULED indicates a
7014         WRONG_STATE and can silently pause the task. All other cases should
7015         error out.
7016
7017 2007-03-22  Wim Taymans  <wim@fluendo.com>
7018
7019         Patch by: Ville Syrjala <syrjala at sci dot fi>
7020
7021         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
7022         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
7023         Improve debugging.
7024
7025 2007-03-21  Michael Smith  <msmith@fluendo.com>
7026
7027         * docs/pwg/advanced-types.xml:
7028           Fix some errors in the typefinding docs pointed out on irc.
7029
7030 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
7031
7032         * libs/gst/base/gstbasesrc.c:
7033         Clarify FIXME comment in the face of having added unlock_stop()
7034
7035 2007-03-21  Wim Taymans  <wim@fluendo.com>
7036
7037         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
7038         Prepare for release where we warn against possible app breakage in the
7039         case of live pipelines along with an env var to enable/disable live
7040         preroll mode (GST_COMPAT=[no-]live-preroll).
7041
7042 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7043
7044         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
7045         So we should use correct constants for checking for None offset.
7046
7047 2007-03-20  Wim Taymans  <wim@fluendo.com>
7048
7049         * docs/design/part-block.txt:
7050         Mention the fact that the newly switched element should be set to at
7051         least PAUSED.
7052
7053 2007-03-20  Wim Taymans  <wim@fluendo.com>
7054
7055         * gst/gst.c:
7056         Fix compilation with registry disabled as spotted by Saur.
7057
7058 2007-03-20  Wim Taymans  <wim@fluendo.com>
7059
7060         Patch by: Olivier Crete <tester at tester dot ca>
7061
7062         * gst/gstelement.c: (gst_element_sync_state_with_parent):
7063         Look at the pending state too when syncing the element state to the
7064         parent. Fixes #420133.
7065
7066 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
7067
7068         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7069         (gst_base_sink_change_state):
7070         * libs/gst/base/gstbasesink.h:
7071         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7072         (gst_base_src_default_event), (gst_base_src_unlock_stop),
7073         (gst_base_src_deactivate):
7074         * libs/gst/base/gstbasesrc.h:
7075         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
7076         for sub-classes to correctly clear any state they set trying to
7077         unlock, such as clearing out unlock commands from a command fd.
7078         API: basesrc::unlock_stop
7079         API: basesink::unlock_stop
7080
7081         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
7082         (gst_fd_sink_render), (gst_fd_sink_unlock),
7083         (gst_fd_sink_unlock_stop):
7084         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
7085         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
7086         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
7087
7088         Implement unlock_stop in fdsrc and fdsink.
7089         Implement seeking in fdsrc when a seekable fd is passed, as in
7090         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
7091
7092 2007-03-19  Wim Taymans  <wim@fluendo.com>
7093
7094         Patch by: Evan Nemerson <evan at coeus dash group dot com>
7095
7096         * gst/gstelement.c: (gst_element_class_init):
7097         Fix pad-added and pad-removed signal signatures so that the pad type is
7098         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
7099
7100 2007-03-19  Wim Taymans  <wim@fluendo.com>
7101
7102         * docs/gst/gstreamer-sections.txt:
7103         Add new element field and method.
7104
7105         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7106         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
7107         (gst_bin_recalc_state), (gst_bin_get_state_func),
7108         (gst_bin_element_set_state), (gst_bin_change_state_func),
7109         (gst_bin_continue_func), (bin_bus_handler),
7110         (bin_push_state_continue), (bin_handle_async_start),
7111         (bin_handle_async_done), (gst_bin_handle_message_func):
7112         Make async state changes a bit smarter by using new ASYNC_START and
7113         ASYNC_DONE messages. This reduces the number of times we run the state
7114         recalculation thread.
7115         Don't change state of element with a pending ASYNC_START message.
7116         Deprecate STATE_DIRTY messages.
7117         
7118         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
7119         (gst_element_get_state_func), (gst_element_continue_state),
7120         (gst_element_lost_state), (gst_element_set_state_func),
7121         (gst_element_change_state):
7122         * gst/gstelement.h:
7123         Keep the state that was last set by the app in a new element field.
7124         Don't allow state changes when handling an element event.
7125         Post ASYNC_START and ASYNC_DONE messages.
7126         Change lost_state so that we go to PAUSED and wait for the parent to set
7127         us to PLAYING again (so latency calculation can be performed)
7128         Export gst_element_change_state() method so that subclasses can use it.
7129         API: gst_element_change_state()
7130         API: GST_STATE_TARGET
7131
7132         * gst/gstpipeline.c: (gst_pipeline_class_init),
7133         (reset_stream_time), (gst_pipeline_change_state),
7134         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
7135         Using the new ASYNC_START message we can reset the base_time when
7136         needed. This can then be used to implement base_time redistribution in
7137         flushing seeks so that we can remove the explicit seek handling.
7138         Perform latency query and configuration when going to PLAYING.
7139
7140         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7141         (gst_base_sink_query), (gst_base_sink_change_state):
7142         Post new ASYNC_START/ASYNC_DONE messages.
7143
7144         * tests/check/generic/sinks.c: (GST_START_TEST):
7145         Fix test because the bin will not set the async element to PLAYING right
7146         away.
7147
7148         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
7149         Make the message check a little stronger.
7150         Handle ASYNC messages.
7151
7152         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
7153         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
7154         Expect ASYNC_DONE messages.
7155
7156 2007-03-19  Wim Taymans  <wim@fluendo.com>
7157
7158         * docs/gst/gstreamer-sections.txt:
7159         * gst/gstmessage.c: (gst_message_new_async_start),
7160         (gst_message_new_async_done), (gst_message_parse_info),
7161         (gst_message_parse_async_start):
7162         * gst/gstmessage.h:
7163         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
7164         support.
7165
7166 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7167
7168         * tools/gst-inspect.c:
7169         (print_plugin_automatic_install_info_codecs):
7170           Now that we don't check for the 'Codec' keyword any longer in the
7171           klass, we shouldn't spew a warning if the klass isn't a decoder or
7172           encoder (since it might be a Source/Network, for example).
7173
7174 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7175
7176         * tools/gst-inspect.c:
7177         (print_plugin_automatic_install_info_codecs):
7178           Don't require decoder/demuxer/depayloader elements or
7179           encoder/muxer/paylader elements to have 'Codec' as part of their
7180           factory class string when introspecting a plugin's capabilities.
7181           draft-klass.txt mentions that it might be removed in future, and
7182           flump3dec doesn't have it as part of its class string, so chances
7183           are others might also not have it.
7184
7185 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7186
7187         * po/af.po:
7188         * po/az.po:
7189         * po/bg.po:
7190         * po/ca.po:
7191         * po/cs.po:
7192         * po/de.po:
7193         * po/en_GB.po:
7194         * po/fr.po:
7195         * po/it.po:
7196         * po/nb.po:
7197         * po/nl.po:
7198         * po/ru.po:
7199         * po/sq.po:
7200         * po/sr.po:
7201         * po/sv.po:
7202         * po/tr.po:
7203         * po/uk.po:
7204         * po/vi.po:
7205         * po/zh_CN.po:
7206         * po/zh_TW.po:
7207           Update translations from translation project
7208
7209 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
7210
7211         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
7212         (gst_child_proxy_set_property):
7213           Invert precondition check to be alike the ones in the mimiced gobject
7214           api.
7215
7216 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
7217
7218         * docs/design/draft-tagreading.txt:
7219         * docs/random/ensonic/audiobaseclasses.txt:
7220           Do some Architect work.
7221
7222         * gst/gstobject.c: (gst_object_set_name):
7223           Add a WARNING.
7224
7225         * gst/gstpad.c:
7226           Add docs that point from gst_pad_get_range to gst_pad_pull_range
7227
7228 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
7229
7230         * gst/gstsystemclock.c: (gst_system_clock_init),
7231         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
7232         Defer starting the async system clock thread until the first async
7233         wait is scheduled. Fixes #414986.
7234
7235 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7236
7237         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
7238         (gst_single_queue_free):
7239           Fix small leak (free GstSingleQueue structure too, not only contents).
7240
7241 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
7242
7243         * gst/gstbin.c:(gst_bin_add):
7244         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
7245         * win32/common/libgstbase.def:
7246         * win32/common/libgstreamer.def:
7247         Add new exported functions.
7248
7249 2007-03-09  Wim Taymans  <wim@fluendo.com>
7250
7251         * docs/plugins/gstreamer-plugins-sections.txt:
7252         Fix GstTee docs.
7253
7254 2007-03-09  Wim Taymans  <wim@fluendo.com>
7255
7256         * docs/gst/gstreamer-sections.txt:
7257         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
7258         * gst/gstbuffer.h:
7259         Add metadata copy functions. Fixes #393099.
7260         API: gst_buffer_copy_metadata()
7261
7262         * gst/gstutils.c: (gst_buffer_stamp):
7263         * libs/gst/base/gstbasetransform.c:
7264         (gst_base_transform_prepare_output_buffer):
7265         Use new metadata copy functions.
7266
7267 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7268
7269         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7270         (gst_identity_init), (gst_identity_check_perfect),
7271         (gst_identity_check_imperfect_timestamp),
7272         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
7273         (gst_identity_set_property), (gst_identity_get_property):
7274         * plugins/elements/gstidentity.h:
7275         Separate out check-imperfect-timestamp and check-imperfect-offset.
7276         Put back check-perfect as it was to keep compatibility.
7277
7278 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
7279
7280         * gst/gstelement.c: (gst_element_dispose):
7281         There's no need to warn if VOID_PENDING is not NONE here, as
7282         long as the state is NULL it's ok, and that's checked immediately
7283         above.
7284
7285 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7286
7287         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7288         Fix check for perfect stream to ignore buffers with -1 
7289         offsets/offset ends when checking data contiguity.
7290
7291 2007-03-08  Wim Taymans  <wim@fluendo.com>
7292
7293         * tools/gst-launch.c: (event_loop):
7294         Print INFO messages.
7295
7296 2007-03-08  Wim Taymans  <wim@fluendo.com>
7297
7298         * libs/gst/base/gstbasetransform.c:
7299         (gst_base_transform_sink_eventfunc),
7300         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7301         (gst_base_transform_activate):
7302         * libs/gst/base/gstbasetransform.h:
7303         Add support for dropping buffers with custom GstFlowReturn.
7304         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
7305         buffers or dropped buffers.
7306
7307         * docs/libs/gstreamer-libs-sections.txt:
7308         docs for new custom return code.
7309
7310         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7311         Use drop support in base class to implement drop-probability.
7312
7313 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7314
7315         * gst/gst.c: (load_plugin_func):
7316         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
7317         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7318         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7319           Remove newlines at end of debug log strings.
7320
7321 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7322
7323         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7324         Only post bus message at max, once per buffer received.
7325
7326 2007-03-07  Wim Taymans  <wim@fluendo.com>
7327
7328         * docs/design/Makefile.am:
7329         * docs/design/part-synchronisation.txt:
7330         Add doc about synchronisation
7331
7332         * docs/design/draft-latency.txt:
7333         * docs/design/part-TODO.txt:
7334         * docs/design/part-clocks.txt:
7335         * docs/design/part-events.txt:
7336         * docs/design/part-gstbus.txt:
7337         * docs/design/part-gstpipeline.txt:
7338         * docs/design/part-live-source.txt:
7339         * docs/design/part-messages.txt:
7340         * docs/design/part-overview.txt:
7341         * docs/design/part-streams.txt:
7342         * docs/design/part-trickmodes.txt:
7343         Documentation updates.
7344
7345 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7346
7347         * gstreamer.doap:
7348         Update the doap file.
7349
7350 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7351
7352         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7353         Rename non-perfect to imperfect for Mike and for the sanctity of the
7354         language.
7355         Also make sure bus message gets emitted for data-incontiguities.
7356
7357 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7358
7359         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
7360         (gst_identity_start):
7361         * plugins/elements/gstidentity.h:
7362         Emit bus message if check-perfect is true and we encounter a
7363         non-perfect stream between 2 consecutive buffers.
7364         Fixes #415394.
7365
7366 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7367
7368         * configure.ac:
7369         Back to CVS
7370
7371 === release 0.10.12 ===
7372
7373 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
7374
7375         * configure.ac:
7376           releasing 0.10.12, "Inevitable Demise"
7377
7378 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
7379
7380         * configure.ac:
7381          Version 0.10.11.2 (0.10.12 pre-release)
7382          Bump libtool versioning.
7383
7384 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
7385
7386         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7387           Log flow-names and not numbers.
7388
7389 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7390
7391         * configure.ac:
7392           Convert to new AG_GST style.
7393
7394 2007-02-28  Wim Taymans  <wim@fluendo.com>
7395
7396         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
7397         Don't unref query twice.
7398
7399 2007-02-28  Wim Taymans  <wim@fluendo.com>
7400
7401         * gst/gstvalue.c: (gst_value_transform_object_string),
7402         (_gst_value_initialize):
7403         Implement GstObject -> string transform so we print object names
7404         when serializing GValues containing GstObjects.
7405
7406 2007-02-28  Wim Taymans  <wim@fluendo.com>
7407
7408         * docs/gst/gstreamer-sections.txt:
7409         Add new stuff to docs.
7410
7411 2007-02-28  Wim Taymans  <wim@fluendo.com>
7412
7413         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
7414         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
7415         (gst_base_sink_change_state):
7416         Improve latency query code.
7417         Don't leak latency events.
7418
7419         * tests/check/gst/gstbin.c: (GST_START_TEST):
7420         Improve debugging.
7421
7422 2007-02-28  Wim Taymans  <wim@fluendo.com>
7423
7424         * gst/gstelement.c: (gst_element_message_full),
7425         (gst_element_get_state_func):
7426         * gst/gstelement.h:
7427         Improve docs a little. Added Since: for new macro.
7428
7429         * gst/gstobject.c: (gst_object_sink):
7430         * gst/gstpipeline.c: (gst_pipeline_change_state),
7431         (gst_pipeline_set_new_stream_time):
7432         * gst/gstpipeline.h:
7433         Improve debugging and docs.
7434
7435         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7436         Improve debugging.
7437
7438 2007-02-28  Wim Taymans  <wim@fluendo.com>
7439
7440         * gst/gstelement.c: (gst_element_message_full),
7441         (gst_element_set_locked_state), (gst_element_get_state_func),
7442         (gst_element_change_state):
7443         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
7444         Documentation updates.
7445         Small code cleanups.
7446
7447         * gst/gstmessage.c: (gst_message_new_info),
7448         (gst_message_parse_info):
7449         * gst/gstmessage.h:
7450         API: gst_message_new_info()
7451         API: gst_message_parse_info()
7452         Add INFO message create and parse code.
7453
7454 2007-02-28  Wim Taymans  <wim@fluendo.com>
7455
7456         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
7457         (bin_query_latency_done):
7458         Also report the live parameter of a latency query.
7459
7460 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
7463           Copy the current generic/states example from -base and adapt so
7464           we can use the exact same code everywhere.
7465           Check a STATES_IGNORE_ELEMENTS env var which can be used
7466           to ignore certain element factories for this test, which is
7467           what is being done in -base
7468         * tests/check/Makefile.am:
7469           Mention this environment variable.
7470
7471 2007-02-27  Wim Taymans  <wim@fluendo.com>
7472
7473         * docs/gst/gstreamer-sections.txt:
7474         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7475         (gst_bus_timed_pop), (gst_bus_pop):
7476         * gst/gstbus.h:
7477         API: gst_bus_timed_pop()
7478         Implement gst_bus_timed_pop() to do a blocking timed wait for a
7479         message to arrive on the bus.
7480
7481         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
7482         (gst_bus_suite):
7483         Two unit tests for new _timed_pop() function.
7484
7485 2007-02-23  Wim Taymans  <wim@fluendo.com>
7486
7487         * gst/gstpipeline.c: (gst_pipeline_change_state),
7488         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
7489         Don't ref a NULL clock in _provide_clock_func().
7490         Don't allow an INVALID delay.
7491         Don't try to calculate base_time with an invalid start_time.
7492         Also distribute and notify a NULL clock when it was selected.
7493
7494         * tools/gst-launch.c: (event_loop):
7495         Don't crash when a NULL clock was selected in the pipeline.
7496
7497 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7498
7499         * docs/design/Makefile.am:
7500         * docs/design/draft-missing-plugins.txt:
7501         * docs/random/draft-missing-plugins.txt:
7502           Some small updates: update plugin system identifier prefix
7503           ('gstreamer.net' to 'gstreamer'), mention our new install
7504           API in libgstbaseutils rather than libgimme-codec, add
7505           reference to the online docs.
7506
7507 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7508
7509         * win32/common/config.h:
7510           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
7511           use moap cl ci to only check in what is mentioned in the ChangeLog.
7512
7513 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7514
7515         * docs/gst/gstreamer-sections.txt:
7516         * gst/gstelement.h:
7517           Fix up documentation to link to the correct GstGError section.
7518           Add GST_ELEMENT_INFO macro since someone else added a Info message.
7519
7520 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7521
7522         * tools/gst-launch.c: (event_loop):
7523           Make sure that we actually show the important message part of a
7524           warning message.
7525           No need to check if the gerror is not NULL to free; first of all
7526           g_free accepts NULL; and second the default error handler would
7527           segfault if gerror was NULL.
7528
7529 2007-02-21  Wim Taymans  <wim@fluendo.com>
7530
7531         * docs/gst/gstreamer-sections.txt:
7532         Removed docs as well.
7533
7534 2007-02-21  Wim Taymans  <wim@fluendo.com>
7535
7536         * gst/gstmessage.c: (gst_message_parse_duration):
7537         * gst/gstmessage.h:
7538         Remove new messages for release.
7539
7540 2007-02-20  Wim Taymans  <wim@fluendo.com>
7541
7542         * docs/design/part-gstghostpad.txt:
7543         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
7544         (gst_ghost_pad_new_full):
7545         Make the ghostpad a parent of the internal pad again for better backward
7546         compatibility. Don't write code that relies on this however.
7547
7548         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7549         (gst_pad_link_check_hierarchy):
7550         Require that parents should be GstElements in the hierarchy check.
7551
7552 2007-02-20  Wim Taymans  <wim@fluendo.com>
7553
7554         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
7555         (gst_bin_change_state_func), (bin_query_min_max_init),
7556         (bin_query_latency_fold), (bin_query_latency_done),
7557         (gst_bin_query):
7558         Improve debug info.
7559         Implement latency query.
7560
7561 2007-02-20  Wim Taymans  <wim@fluendo.com>
7562
7563         * docs/design/part-gstghostpad.txt:
7564         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
7565         (gst_ghost_pad_internal_do_activate_push),
7566         (gst_ghost_pad_internal_do_activate_pull),
7567         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7568         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
7569         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
7570         Do not set the internal pad as a parent anymore so we can avoid
7571         hierarchy linking errors when the ghostpad has no parent yet. This also
7572         fixes failed activation because of unlinked internal pads, which in
7573         turn fixes the impossible case where you have to activate a pad before
7574         you can add it to a running element.
7575         Also fix the docs.
7576
7577         * gst/gstpad.c: (pre_activate), (post_activate),
7578         (gst_pad_set_active), (gst_pad_activate_pull),
7579         (gst_pad_activate_push), (gst_pad_check_pull_range):
7580         Add some more debug info.
7581         Mark activation mode in pre_activate so that we don't try to activate in
7582         endless loops. Fixes #385084.
7583
7584 2007-02-19  Wim Taymans  <wim@fluendo.com>
7585
7586         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
7587         (gst_base_transform_check_get_range):
7588         Implement a checkgetrange function instead of relying on the default
7589         core behaviour that assumes we can operate in pull mode if we have a
7590         getrange function. First step at fixing #385084.
7591
7592 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
7593
7594         * gst/gstchildproxy.h:
7595         * libs/gst/base/gstbasesink.h:
7596         * libs/gst/base/gstbasesrc.h:
7597         * libs/gst/base/gstbasetransform.h:
7598         More docs coverage and some ChangeLog surgery (add missing names)
7599
7600 2007-02-15  Wim Taymans  <wim@fluendo.com>
7601
7602         * docs/design/part-TODO.txt:
7603         * docs/design/part-activation.txt:
7604         * docs/design/part-block.txt:
7605         * docs/design/part-buffering.txt:
7606         * docs/design/part-clocks.txt:
7607         * docs/design/part-element-source.txt:
7608         * docs/design/part-events.txt:
7609         * docs/design/part-gstbin.txt:
7610         * docs/design/part-gstbus.txt:
7611         * docs/design/part-gstpipeline.txt:
7612         * docs/design/part-live-source.txt:
7613         * docs/design/part-messages.txt:
7614         * docs/design/part-overview.txt:
7615         * docs/design/part-qos.txt:
7616         * docs/design/part-query.txt:
7617         * docs/design/part-states.txt:
7618         * docs/design/part-trickmodes.txt:
7619         Some doc updates. Start renaming from stream_time to running_time where
7620         it was used wrongly.
7621
7622 2007-02-15  Wim Taymans  <wim@fluendo.com>
7623
7624         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
7625         Answer LATENCY query.
7626
7627 2007-02-15  Wim Taymans  <wim@fluendo.com>
7628
7629         * tests/check/gst/gstevent.c: (event_probe), (test_event),
7630         (GST_START_TEST):
7631         Improve debugging.
7632
7633 2007-02-15  Wim Taymans  <wim@fluendo.com>
7634
7635         * gst/gstpad.c: (gst_pad_get_internal_links_default),
7636         (gst_pad_dispatcher):
7637         Improve debugging of default pad dispatcher and query functions.
7638
7639 2007-02-15  Wim Taymans  <wim@fluendo.com>
7640
7641         * docs/gst/gstreamer-sections.txt:
7642         Remove old unused method.
7643
7644 2007-02-13  Wim Taymans  <wim@fluendo.com>
7645
7646         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7647         Fix check
7648
7649 2007-02-13  Wim Taymans  <wim@fluendo.com>
7650
7651         * docs/design/part-seeking.txt:
7652         Some small update.
7653
7654         * gst/gstsegment.c: (gst_segment_set_seek):
7655         Revert old bogus change that should make seeking work again.
7656
7657 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
7658
7659         * docs/random/ensonic/dynlink.txt:
7660         * docs/random/ensonic/interfaces.txt:
7661         * docs/random/ensonic/receipies.txt:
7662           Possible dynamic reconnection api, plus some type fixes the other two
7663           docs.
7664
7665 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
7666
7667         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7668         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7669         Also check for an absolute path following file:// in the filesrc
7670         element. Remove redundant check and call g_path_is_absolute() on the
7671         unescaped location.
7672
7673 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
7674
7675         * docs/design/draft-klass.txt:
7676           Add existing category analysis.
7677           
7678         * gst/gstcaps.c:
7679           Fix doc example, framerate is a fraction.
7680
7681 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
7682
7683         * configure.ac:
7684         * docs/gst/Makefile.am:
7685         * docs/gst/gstreamer-sections.txt:
7686         * docs/libs/Makefile.am:
7687           Erm, forgot a bunch of --extra-dir.
7688
7689 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
7690
7691         * configure.ac:
7692         * docs/gst/Makefile.am:
7693         * docs/libs/Makefile.am:
7694         * docs/plugins/Makefile.am:
7695           Add crossreferences to glib/gobject docs.
7696
7697 2007-02-12  Wim Taymans  <wim@fluendo.com>
7698
7699         * docs/design/draft-latency.txt:
7700         Small update.
7701
7702         * docs/libs/gstreamer-libs-sections.txt:
7703         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7704         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
7705         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
7706         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
7707         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
7708         (gst_base_sink_get_position), (gst_base_sink_query),
7709         (gst_base_sink_change_state):
7710         * libs/gst/base/gstbasesink.h:
7711         API: gst_base_sink_query_latency() to let subclasses query the upstream
7712         latency.
7713         API: gst_base_sink_get_latency() to let subclasses query the configured
7714         latency in the sink.
7715         Implement query and set latency.
7716         Update some docs.
7717         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
7718         don't continue preroll when we are flushing. Fixes #405284.
7719
7720         * tests/check/pipelines/stress.c: (change_state_timeout),
7721         (quit_timeout), (GST_START_TEST), (stress_suite):
7722         Test for #405284.
7723
7724 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
7725
7726         Patch by: René Stadler <mail at renestadler de>
7727
7728         * docs/gst/gstreamer-sections.txt:
7729         * gst/gsttaglist.c: (_gst_tag_initialize):
7730         * gst/gsttaglist.h:
7731           API: add GST_TAG_REFERENCE_LEVEL (#403597).
7732
7733 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
7734
7735         * docs/libs/Makefile.am:
7736           Fix path to core docs.
7737
7738         * gst/gstbin.c: (gst_bin_get_by_interface),
7739         (gst_bin_iterate_all_by_interface):
7740           Refix docs by also renaming 'interface' to 'iface' in implementation.
7741
7742         * docs/gst/gstreamer-sections.txt:
7743         * gst/gstcaps.c:
7744         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
7745         * gst/gstchildproxy.h:
7746         * gst/gstelementfactory.c:
7747         * gst/gstpadtemplate.h:
7748         * libs/gst/controller/gstcontroller.c:
7749         (gst_controlled_property_new):
7750           Document more.
7751
7752 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
7753
7754         * gst/gstbin.h:(gst_bin_get_by_interface),
7755         (gst_bin_iterate_all_by_interface):
7756         Replace interface parameter name by iface as interface is 
7757         a reserved keyword in Visual Studio for C++ projects so it removes
7758         a build error for application developpers using VS.
7759         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
7760         Fix a bug on Windows in uri format check. Now the prefix checked
7761         is file:// and next we check if the path after file:// is absolute.
7762         * win32/common/libgstbase.def:
7763         * win32/common/libgstdataprotocol.def:
7764         * win32/common/libgstgstreamer.def:
7765         Add new exported functions.
7766
7767 2007-02-09  Andy Wingo  <wingo@pobox.com>
7768
7769         * tests/check/pipelines/simple-launch-lines.c
7770         (simple_launch_lines_suite, test_tee): Disable tee test until I
7771         have time to fix it :-(
7772
7773         * tests/check/Makefile.am (noinst_HEADERS): 
7774         * tests/check/libs/libsabi.c: 
7775         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
7776         * tests/check/gst/gstabi.c: 
7777         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
7778
7779         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
7780         tests for push and pull tee behavior.
7781
7782         * plugins/elements/gsttee.h: 
7783         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
7784         mark as deprecated as well as unimplemented. It was a crack idea.
7785         Add support for tee operating in pull mode, off by default.
7786
7787         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
7788         normal-case logs down to LOG, raise errors to WARNING.
7789         (gst_registry_xml_read_cache): Don't log before calling a function
7790         that logs.
7791
7792         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
7793         exit (registry finalize).
7794         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
7795         DEBUG log when we emit signals that people don't even have the
7796         chance to connect to.
7797         (gst_registry_scan_path_level): Less logging in the normal case.
7798
7799 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
7800
7801         Patch by: Michal Benes <michal dot benes at itonis dot tv>
7802
7803         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7804         Correctly generate EOS for non-seekable files. We don't have a total
7805         length for them and would get an unexpected end of file if we only
7806         special-cased for regular files. (Fixes: #404569)
7807
7808 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
7809
7810         * tests/check/elements/filesrc.c: (GST_START_TEST),
7811         (filesrc_suite):
7812         Add unit test for the GstURIHandler interface in filesrc. This also
7813         tests the newly added file://localhost/foo/bar support.
7814
7815 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
7816
7817         * gst/gstelementfactory.h:
7818           The klass string is not a hierarchy. Add reference to the design doc
7819           for more information and common types.
7820
7821 2007-02-02  Wim Taymans  <wim@fluendo.com>
7822
7823         * gst/gstquery.c: (gst_query_new_latency):
7824         Remove old structure field.
7825
7826 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
7827
7828         * tools/gst-launch.1.in:
7829           Give example for network streaming (#351998)
7830
7831 2007-02-02  Wim Taymans  <wim@fluendo.com>
7832
7833         * docs/gst/gstreamer-sections.txt:
7834         Add docs for new methods.
7835
7836         * gst/gstevent.c: (gst_event_new_latency),
7837         (gst_event_parse_latency):
7838         * gst/gstevent.h:
7839         Add new LATENCY event to configure latency in a pipeline.
7840         API: gst_event_new_latency
7841         API: gst_event_parse_latency
7842
7843         * gst/gstmessage.c: (gst_message_new_buffering),
7844         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
7845         (gst_message_new_latency), (gst_message_parse_buffering),
7846         (gst_message_parse_lost_preroll):
7847         * gst/gstmessage.h:
7848         Added messages used in draft-latency.
7849         API: gst_message_new_lost_preroll
7850         API: gst_message_parse_lost_preroll
7851         API: gst_message_new_prerolled
7852         API: gst_message_new_latency
7853
7854         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
7855         (gst_query_parse_latency):
7856         * gst/gstquery.h:
7857         Implemented new latency query as in design doc.
7858         API: gst_query_new_latency
7859         API: gst_query_set_latency
7860         API: gst_query_parse_latency
7861
7862 2007-02-02  Wim Taymans  <wim@fluendo.com>
7863
7864         * docs/design/draft-latency.txt:
7865         Slight redesign to allow for dynamic latency adjustments.
7866
7867         * docs/design/part-negotiation.txt:
7868         Fix some typos.
7869
7870 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
7871
7872         reviewed by: Wim Taymans <wim@fluendo.com>
7873
7874         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7875         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7876         Allow file://localhost/foo/bar URLs and correctly fail for every other
7877         hostname that one sets. This was gnomevfssrc is linked for those if
7878         installed as it can handle it (#403172)
7879
7880 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
7881
7882         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7883
7884         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7885         (unref_data), (gst_collect_pads_add_pad_full):
7886         * libs/gst/base/gstcollectpads.h:
7887         Don't put the previously added destroy notify in the GstCollectData
7888         struct as all it's padding is already used and we don't want to break
7889         ABI. Instead put in the pad's GObject data for now. This should be
7890         cleaned up for 0.11 (#402393).
7891
7892 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
7893
7894         reviewed by: Wim Taymans <wim@fluendo.com>
7895
7896         * docs/libs/gstreamer-libs-sections.txt:
7897         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7898         (unref_data), (gst_collect_pads_add_pad),
7899         (gst_collect_pads_add_pad_full):
7900         * libs/gst/base/gstcollectpads.h:
7901         API: Add function to specify a destroy notification for custom
7902         GstCollectData when adding new pads in GstCollectPads (#402393).
7903
7904 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
7905
7906         * po/sv.po:
7907           Update Swedish translation (#378255).
7908
7909 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
7910
7911         * docs/design/draft-klass.txt:
7912           Fix the previous change, this is a list of categories and not a hierarchy.
7913
7914 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
7915
7916         * docs/design/draft-klass.txt:
7917           Add info about how to get a list of used classes.
7918
7919 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
7920
7921         * plugins/elements/gsttypefindelement.c:
7922         (gst_type_find_element_chain_do_typefinding),
7923         (gst_type_find_element_change_state):
7924           Don't leak found caps in chain function (no idea why that never
7925           showed up as a leak anywhere).
7926
7927 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
7928
7929         * gst/gstplugin.h:
7930           Fix and expand GstPluginDesc API docs.
7931
7932 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
7933
7934         * gst/gstcaps.c:
7935         * gst/gstelementfactory.c:
7936         * gst/gstpadtemplate.h:
7937           api doc fixes
7938
7939         * libs/gst/controller/gstcontroller.c:
7940         (gst_controlled_property_new):
7941         * tests/examples/controller/audio-example.c:
7942           comment fixes
7943
7944 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
7945
7946         * configure.ac:
7947           comment about refining the xml deps
7948
7949         * docs/manuals.mak:
7950           comments about moving away from jade for docs
7951         
7952         * gst/gst.c:
7953           recommit the ifdefs to use the binary registry
7954         
7955         * gst/gstbin.c: (gst_bin_change_state_func):
7956           this break is obsolete
7957
7958         * gst/gstelementfactory.h:
7959           better GST_ELEMENT_DETAILS docs, add comment about translation
7960
7961         * gst/gstinfo.h:
7962           remove eol slash
7963
7964         * gst/gstobject.c: (gst_signal_object_get_type):
7965           add G_UNLIKELY as usual
7966
7967         * gst/gstpad.c: (gst_pad_event_default):
7968           add fall trhu comment
7969
7970         * gst/gstregistrybinary.c: (gst_registry_binary_write),
7971         (gst_registry_binary_initialize_magic),
7972         (gst_registry_binary_save_string),
7973         (gst_registry_binary_save_pad_template),
7974         (gst_registry_binary_save_feature),
7975         (gst_registry_binary_save_plugin),
7976         (gst_registry_binary_write_cache),
7977         (gst_registry_binary_check_magic),
7978         (gst_registry_binary_load_pad_template),
7979         (gst_registry_binary_load_feature),
7980         (gst_registry_binary_load_plugin),
7981         (gst_registry_binary_read_cache):
7982           comment typo and formatting
7983
7984         * gst/gstutils.c: (gst_element_state_get_name),
7985         (gst_element_state_change_return_get_name):
7986           remove obsolete breaks
7987
7988         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7989           add FIXME 0.11 and remove cpp comment
7990
7991 2007-01-29  Edward Hervey  <edward@fluendo.com>
7992
7993         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7994         Fix print statement in an even more portable way.
7995
7996 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
7997
7998         * docs/gst/gstreamer-sections.txt:
7999         * gst/gstutils.h:
8000           API: add GST_ROUND_DOWN_* macros (#401781).
8001
8002 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
8003
8004         * docs/gst/gstreamer.types.in:
8005         * gst/gstregistry.c: (gst_registry_class_init):
8006           Document registry signals and make gtk-doc pick them up (#401381).
8007
8008 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8009
8010         * docs/pwg/building-testapp.xml:
8011           Add some audioconverts and audioresample to the pipeline, and some
8012           more comments and error handling.
8013
8014 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8015
8016         * docs/manual/manual.xml:
8017         * docs/pwg/pwg.xml:
8018           Fix typo (#400987).
8019
8020 2007-01-26  Wim Taymans  <wim@fluendo.com>
8021
8022         * gst/gstcaps.c: (gst_static_caps_get):
8023         Init caps flags too.
8024
8025 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
8026
8027         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
8028
8029         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8030         If not using mmap'ed files try to seek to the end instead of the
8031         start to determine whether we can seek at all. This fixes the case
8032         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
8033         seeks for everything afterwards fail. Fixes #400656
8034
8035 2007-01-25  Wim Taymans  <wim@fluendo.com>
8036
8037         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
8038         Add some refcount debugging.
8039         Make gst_static_caps_get threadsafe, which is needed when autoplugging
8040         in multiple streaming threads.
8041
8042 2007-01-25  Wim Taymans  <wim@fluendo.com>
8043
8044         Patch by: David Schleef <ds at schleef dot org>
8045
8046         * docs/libs/gstreamer-libs-sections.txt:
8047         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
8048         * libs/gst/base/gstadapter.h:
8049         API: gst_adapter_copy() that can reduce the amount of memcpy when
8050         getting data from the adapter. Fixes #388201.
8051
8052 2007-01-25  Edward Hervey  <edward@fluendo.com>
8053
8054         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8055         In print statements, "%x" is for guint. Fixes build on macosx.
8056
8057 2007-01-24  Edward Hervey  <edward@fluendo.com>
8058
8059         * plugins/elements/gstmultiqueue.c:
8060         (gst_multi_queue_loop):
8061         Small fix.
8062         (single_queue_overrun_cb), (single_queue_underrun_cb),
8063         (single_queue_check_full), (gst_single_queue_new):
8064         Implement single queue growth system.
8065         This uses the extra-size properties, and will grow single queues by
8066         that much if one goes full whereas there are others empty. This is
8067         called extra-mode in the code.
8068         When a single queue's levels go back below the initial max-size
8069         limits, it is no longer in extra-mode. This is to ensure we don't
8070         consume too much memory.
8071         Fixes #399875
8072
8073 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
8074
8075         * gst/gst.c: (gst_init_get_option_group):
8076           Make warning about late g_thread_init() calls a bit more explicit,
8077           so that it's more obvious to application developers what they need
8078           to do if a user files a bug against their application.
8079
8080 2007-01-22  Edward Hervey  <edward@fluendo.com>
8081
8082         * plugins/elements/gstmultiqueue.c:
8083         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
8084         Remove previous hack of unsetting the flushing flag for the source pad
8085         instead of activating it. Instead, fix the source pad activate function
8086         so that it no longer depends on having a parent set or not.
8087
8088 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
8089
8090         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
8091
8092         * docs/manual/basics-bus.xml:
8093           Fix example code, gst_element_unref() doesn't exist any longer.
8094
8095 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
8096
8097         Patch by: Mark Nauwelaerts <manauw at skynet be>
8098
8099         * gst/gstpad.c:
8100           Fix two docs typoes (#399094).
8101
8102 2007-01-19  Edward Hervey  <edward@fluendo.com>
8103
8104         * docs/faq/gst-uninstalled:
8105         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
8106         depending on libgstbaseutils can work in uninstalled environment.
8107
8108 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
8109
8110         * gst/gsttaglist.h:
8111         * gst/gsttagsetter.c:
8112         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
8113         statement for new tag.
8114
8115 2007-01-17  Edward Hervey  <edward@fluendo.com>
8116
8117         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
8118         When dynamically creating single queues, activate sinkpad before adding
8119         it.
8120         We should be doing the same thing for the source pad, but we can't
8121         since it would call a method which needs the parent to be set in order
8122         to work propertly. Instead of activating the source pad, we just unset
8123         the flushing flag, which is the minimal requirement for adding a pad
8124         to an element in a state greater than READY.
8125
8126 2007-01-17  Edward Hervey  <edward@fluendo.com>
8127
8128         * docs/faq/gst-uninstalled:
8129         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
8130         Mac OS X.
8131
8132 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
8133
8134         * tests/check/gst/gstabi.c:
8135         * tests/check/gst/struct_hppa.h:
8136         * tests/check/libs/libsabi.c:
8137         * tests/check/libs/struct_hppa.h:
8138           Add ABI structs for HPPA (see #393796).
8139
8140 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
8141
8142         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8143           Actually write ABI structs to the file specified in the GST_ABI
8144           environment variable, as the message we print claims we would.
8145
8146 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8147
8148         * tests/check/gst/gsttask.c:
8149           Fix header comment.
8150
8151 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8152
8153         * gst/gsttaglist.c: (_gst_tag_initialize):
8154           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
8155           previous two entries.
8156
8157 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8158
8159         * docs/gst/gstreamer-sections.txt:
8160         * gst/gsttaglist.c: (_gst_tag_initialize):
8161         * gst/gsttaglist.h:
8162           Add tag support for beat-per-minute.
8163
8164 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8165
8166         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8167         (gst_registry_binary_initialize_magic),
8168         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
8169         (gst_registry_binary_save_pad_template),
8170         (gst_registry_binary_save_feature),
8171         (gst_registry_binary_save_plugin),
8172         (gst_registry_binary_write_cache),
8173         (gst_registry_binary_check_magic),
8174         (gst_registry_binary_load_pad_template),
8175         (gst_registry_binary_load_feature),
8176         (gst_registry_binary_load_plugin),
8177         (gst_registry_binary_read_cache):
8178         * gst/gstregistrybinary.h:
8179           Use glib types, cleanup comments, impement interfaces and uri-types.
8180
8181 2007-01-13  Andy Wingo  <wingo@pobox.com>
8182
8183         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
8184         getrange() to return buffers with other caps, while we fix
8185         demuxers and typefind, or otherwise change part-negotiation.txt.
8186
8187 2007-01-12  Andy Wingo  <wingo@pobox.com>
8188
8189         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
8190         Factor start/stop into this private function instead of partially
8191         in activate functions and partially in the change_state function.
8192         Fixes setup before the element has changed from READY->PAUSED, as
8193         is the case in pull-mode pipelines.
8194         (gst_base_transform_sink_activate_push)
8195         (gst_base_transform_src_activate_pull): Refactor to use
8196         gst_base_transform_activate().
8197         (gst_base_transform_change_state): Removed, not needed any more.
8198
8199         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8200         Truncate before fixating.
8201         
8202         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8203         Don't set_caps() if the result of fixating is ANY, as it's not
8204         supported, and not necessary in the case of a link with no
8205         template caps on either side. Fixes tests/check/libs/basesrc in
8206         some pull-mode tests.
8207
8208         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
8209         (gst_base_transform_init, gst_base_transform_sink_activate_push)
8210         (gst_base_transform_src_activate_pull): 
8211         Track the activation mode.
8212         (gst_base_transform_setcaps): In pull mode, when activating the
8213         src pad, after activating the sink pad, activate the sink pad's
8214         peer, as discussed in part-negotiation.txt.
8215
8216         * libs/gst/base/gstbasesrc.h: 
8217         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
8218         vmethod, as in basesink.
8219
8220         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
8221
8222         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
8223         mode, first proxy the setcaps to the peer pad.
8224         (gst_base_sink_pad_fixate): Add a fixate function that calls the
8225         new fixate vmethod.
8226         (gst_base_sink_default_activate_pull): Rename from
8227         gst_base_sink_activate_pull.
8228         (gst_base_sink_negotiate_pull): New function, performs negotiation
8229         in pull mode before calling ::activate_pull().
8230         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
8231         vmethod instead of the default implementation. I have no idea how
8232         this worked before. Negotiate before calling activate_pull.
8233
8234         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
8235         sink pads in pull mode. In addition to being correct, fixes
8236         filesrc ! decodebin ! identity ! fakesink.
8237         (gst_pad_get_range, gst_pad_pull_range): Don't call
8238         gst_pad_set_caps() if the caps changes; instead error out with
8239         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
8240
8241 2007-01-12  Andy Wingo  <wingo@pobox.com>
8242
8243         * docs/design/part-negotiation.txt: Update with more policy.
8244
8245 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8246
8247         * libs/gst/check/gstbufferstraw.h:
8248         * libs/gst/check/gstcheck.h:
8249           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
8250           belongs.
8251
8252 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8253
8254         * tests/check/Makefile.am:
8255         * tests/check/gst/.cvsignore:
8256         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
8257         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
8258         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
8259         (GST_START_TEST), (gst_tag_setter_suite):
8260           Add minimal unit test for beforementioned GstTagSetter bug.
8261
8262 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8263
8264         Patch by: René Stadler <mail at renestadler dot de>
8265
8266         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
8267           gst_tag_list_merge() returns a new list, so it's not the best idea
8268           to ingore its return value. Effectively meant that tags could only
8269           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
8270           Also add function guard to require a non-NULL taglist as input (has
8271           always been so due to gst_tag_list_copy(), just making it explicit).
8272
8273 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8274
8275         * docs/random/draft-missing-plugins.txt:
8276           Some additions: mention new API that is supposed to be used at the
8277           various stages; short blob about new gst-inspect introspection
8278           option; mention potential future problem with plugins that have
8279           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
8280
8281 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8282
8283         * tools/gst-inspect.c:
8284         (print_plugin_automatic_install_info_codecs),
8285         (print_plugin_automatic_install_info_protocols),
8286         (print_plugin_automatic_install_info), (main):
8287         Add --print-plugin-auto-install-info option to gst-inspect, so we can
8288         introspect plugin files and get machine-parsable output that corresponds
8289         to the last bit of the missing-plugin installer string (small gotcha:
8290         doesn't take into account ranks).
8291
8292 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
8293
8294         * configure.ac:
8295         * docs/gst/gstreamer-sections.txt:
8296         * gst/Makefile.am:
8297         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
8298         (gst_registry_lookup_locked):
8299         * gst/gstregistry.h:
8300         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8301         (gst_registry_binary_initialize_magic),
8302         (gst_registry_binary_save_string),
8303         (gst_registry_binary_save_pad_template),
8304         (gst_registry_binary_save_feature),
8305         (gst_registry_binary_save_plugin),
8306         (gst_registry_binary_write_cache),
8307         (gst_registry_binary_check_magic),
8308         (gst_registry_binary_load_pad_template),
8309         (gst_registry_binary_load_feature),
8310         (gst_registry_binary_load_plugin),
8311         (gst_registry_binary_read_cache):
8312         * gst/gstregistrybinary.h:
8313         * gst/gstregistryxml.c: (load_feature),
8314         (gst_registry_xml_read_cache):
8315           commit binary registry (disabled by default, see #359653)
8316
8317 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8318
8319         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
8320           Fix 'make check' too.
8321
8322 2007-01-10  Andy Wingo  <wingo@pobox.com>
8323
8324         * docs/design/part-negotiation.txt: Fix a typo, add a couple
8325         notes.
8326         
8327         * docs/design/part-negotiation.txt: Update with, um, one way that
8328         pull-mode negotiation might work?
8329
8330         * gst/gstpad.h: 
8331         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
8332         that the pad must be a src pad; makes sense to call it the other
8333         way in pull mode, and the logic is symmetric anyway.
8334
8335 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
8336
8337         * plugins/elements/gstfilesink.c:
8338           Include <stdio.h> for fseeko().
8339
8340 2007-01-10  Wim Taymans  <wim@fluendo.com>
8341
8342         * gst/gstevent.c:
8343         * gst/gstevent.h:
8344         Reserve LATENCY event.
8345
8346 2007-01-09  Wim Taymans  <wim@fluendo.com>
8347
8348         * docs/design/draft-latency.txt:
8349         Updates.
8350
8351 2007-01-09  Wim Taymans  <wim@fluendo.com>
8352
8353         * docs/design/draft-latency.txt:
8354         Updates.
8355
8356         * gst/gstelement.h:
8357         * gst/gststructure.c:
8358         * gst/gsttrace.c:
8359         Small typo fixes.
8360
8361 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8362
8363         * tests/check/.cvsignore:
8364           Ignore test-registry.xml as well.
8365
8366 2007-01-09  Wim Taymans  <wim@fluendo.com>
8367
8368         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8369         unref data at the end when we are done with the pad.
8370
8371 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
8372
8373         * docs/gst/gstreamer-sections.txt:
8374         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
8375         (init_post), (gst_deinit), (gst_update_registry):
8376         * gst/gst.h:
8377           API: add gst_update_registry() (#391296).
8378
8379         * tests/check/Makefile.am:
8380         * tests/check/gst/gstregistry.c:
8381         * tests/check/gst/.cvsignore:
8382           Simple unit test for the above.
8383
8384 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
8385
8386         * gst/gstregistry.c: (gst_registry_scan_path_level):
8387           Plugin extension on HP-UX is .sl, add that to the list of approved
8388           plugin extensions (see #393796).
8389
8390         * tests/check/gst/gstpad.c: (GST_START_TEST):
8391           ulong => gulong. Fixes compilation with HP-UX compiler.
8392
8393         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8394           Fix compilation if valgrind headers are not available.
8395
8396 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
8397
8398         * win32/common/libgstreamer.def: 
8399           Add new exported function.
8400         * win32/vs6/libgstbase.dsp: 
8401           Add gstdataqueue.c to the build.
8402         * win32/vs6/libgstcoreelements.dsp:
8403           Add gstmultiqueue.c to the build.
8404         
8405 2007-01-06  Andy Wingo  <wingo@pobox.com>
8406
8407         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
8408         activate_pull(), providing for a way to specialize the process of
8409         spawning a thread to pull on the sink pad. There is a default
8410         implementation.
8411
8412         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
8413         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
8414         (gst_base_sink_init): Renamed pad activation functions (inserting
8415         "_pad" in their names). Refactor to use the new activate_pull
8416         vmethod, as appropriate.
8417         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
8418         default activate_pull function to start a task pulling from the
8419         sink pad, as before.
8420
8421         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
8422         on the pads if necessary, as in push()/chain(). Update docs.
8423         Shouldn't affect existing pull() usage as it is currently only
8424         being used on buffers without caps.
8425
8426 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8427
8428         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8429         (init_pre):
8430           Call g_thread_init() first thing in gst_init() / gst_check_init().
8431           When initialisation is done via gst_init_get_option_group() and
8432           GOption parsing, issue a warning if the GLib thread system has not
8433           been initialised yet by the time gst_init_get_option_group() is
8434           called, as it's quite likely other GLib functions such as
8435           g_option_context_new() have been called already then, and
8436           g_thread_init() must be called before any other GLib function. The
8437           application in question must be fixed in that case, since memory
8438           corruption might happen otherwise.
8439           We issue the warning because even if the GLib folks decide to work
8440           around the problem on their end in future, this is still an issue
8441           with all GLib versions >= 2.10.0, so we should warn until we depend
8442           on a GLib version we know to be safe.
8443           Update documentation as well.
8444           Closes bug #391278.
8445
8446 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8447
8448         * tools/gst-inspect.c: (main):
8449         * tools/gst-launch.c: (main):
8450         * tools/gst-typefind.c: (main):
8451         * tools/gst-xmlinspect.c: (main):
8452           Call g_thread_init() really really early, before any other GLib
8453           function (see #342564 and recent discussion on gtk-devel-list).
8454
8455 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8456
8457         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
8458
8459         * gst/gst_private.h:
8460         * gst/gstconfig.h.in:
8461         * gst/gstinfo.h:
8462           On win32, all the __declspec stuff for symbol exporting is
8463           apparently only needed with MSVC, but doesn't work with MingW.
8464           Fixes compilation with MingW and #391909.
8465
8466 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8467
8468         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
8469           Change some GST_ERROR_OBJECT that aren't really errors to
8470           GST_WARNING_OBJECT in order to reduce terminal spam.
8471
8472 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
8473
8474         * tests/check/Makefile.am:
8475           disable test again, as there seem to be still race problems
8476
8477 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
8478
8479         * tests/check/Makefile.am:
8480         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8481         (GST_START_TEST), (queue_suite):
8482           enable queue test again, add tests for the leaky behaviour
8483
8484 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
8485
8486         * configure.ac:
8487         * tests/examples/Makefile.am:
8488           Compile adapter test/example only if the required headers are
8489           available (fixes #391915).
8490
8491 2007-01-01  David Schleef  <ds@schleef.org>
8492
8493         * gst/gstplugin.c:
8494           Restore the previous signal handler for SIGSEGV instead of
8495           setting to default, since we may have stolen it away from
8496           someone.  (i.e., Mono)
8497
8498 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
8499
8500         * docs/random/draft-missing-plugins.txt:
8501           Some small additions and clarifications.
8502
8503 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
8504
8505         * gst/gstregistryxml.c: (gst_registry_save_escaped):
8506           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
8507           since that can lead to random memory corruptions and crashes
8508           (may or may not be related to #383244, #386711, and #386711).
8509
8510 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8511
8512         * tests/check/.cvsignore:
8513         * tests/check/Makefile.am:
8514           sync .cvsignome and CLEANFILES
8515
8516 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8517
8518         * tests/check/Makefile.am:
8519           fix distcheck
8520
8521 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8522
8523         * docs/design/part-states.txt:
8524           two tiny additional comments
8525         
8526         * gst/gststructure.c:
8527           doc fixing
8528
8529         * tests/check/Makefile.am:
8530         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8531         (GST_START_TEST):
8532           disable test for now, unless it gets fixed
8533
8534 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8535
8536         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8537         (GST_START_TEST):
8538           fix race in underrun test
8539
8540 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8541
8542         * tests/check/elements/.cvsignore:
8543           ignore more
8544
8545         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8546         (GST_START_TEST):
8547           try to narrow test failure
8548
8549 2006-12-21  David Schleef  <ds@schleef.org>
8550
8551         * plugins/elements/gstfakesrc.c:
8552           Use g_random_int_range(), since it produces better random
8553           numbers in a range than almost-correct floating point code.
8554
8555 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8556
8557         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8558         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8559         (gst_check_teardown_sink_pad):
8560           do not automatically (de)activate pads
8561
8562         * tests/check/Makefile.am:
8563         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8564         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
8565           add new, yet simple tests for queue
8566
8567         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
8568         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
8569         * tests/check/elements/filesrc.c: (cleanup_filesrc),
8570         (GST_START_TEST):
8571         * tests/check/elements/identity.c: (cleanup_identity):
8572           consistent pad (de)activation
8573
8574 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
8575
8576         Patch by: Sebastian Dröge  <slomo ubuntu com>
8577
8578         * libs/gst/base/gstcollectpads.c:
8579           Fix two doc typos (#387866).
8580
8581 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
8582
8583         * docs/manual/advanced-dparams.xml:
8584           Fix typo (g_object_control_properties() doesn't exist).
8585
8586 2006-12-19  Edward Hervey  <edward@fluendo.com>
8587
8588         * gst/gstsegment.c: (gst_segment_set_seek):
8589         Fine tune the cases where the segment start/stop values are really
8590         updated.
8591         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8592         Add tests for the return values of gst_segment_set_seek().
8593
8594 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
8595
8596         * gst/gst.c:
8597           Docs typo fix.
8598
8599         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8600         (gst_queue_init):
8601           Fix incorrect documentation and flesh it out a bit more.
8602           Set default values for the max properties on the GParamSpec as well,
8603           so it shows up correctly in gst-inspect.
8604
8605 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
8606
8607         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
8608           Correct docs of queue, add more detail and crosslink it more.
8609
8610 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8611
8612         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8613           Print additional debug info when the stream isn't perfectly
8614           timestamped; don't try to use invalid durations.
8615
8616 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
8617
8618         * docs/design/Makefile.am:
8619           Dist new design docs.
8620
8621 2006-12-16  Wim Taymans  <wim@fluendo.com>
8622
8623         Patch by: Sjoerd Simons <sjoerd at luon dot net>
8624
8625         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
8626         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8627         (gst_collect_pads_stop), (gst_collect_pads_event),
8628         (gst_collect_pads_chain):
8629         * libs/gst/base/gstcollectpads.h:
8630         Add refcounting to the collectpads data so we can track when it's safe
8631         to free the data. Fixes #383382.
8632
8633 2006-12-15  Wim Taymans  <wim@fluendo.com>
8634
8635         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8636         (gst_collect_pads_remove_pad):
8637         Automatically activate/deactivate pads when they are added to a
8638         started/stoped collectpads.
8639
8640 2006-12-15  Wim Taymans  <wim@fluendo.com>
8641
8642         * gst/gstelement.c: (gst_element_add_pad):
8643         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8644         * gst/gstpad.c: (gst_pad_init):
8645         Set pads to FLUSHING when they are created. Check, warn and fix when a
8646         demuxer adds an inactive pad to itself when running. Fixes #339326.
8647
8648 2006-12-15  Wim Taymans  <wim@fluendo.com>
8649
8650         * gst/gstelement.c: (gst_element_class_init),
8651         (gst_element_default_send_event), (gst_element_send_event),
8652         (gst_element_default_query), (gst_element_query):
8653         Expose default element send_event and query handling as vmethods that
8654         subclasses can chain up to.
8655
8656 2006-12-15  Wim Taymans  <wim@fluendo.com>
8657
8658         * gst/gstelement.c: (gst_element_set_state_func):
8659         Small documentation fixes.
8660
8661 2006-12-15  Wim Taymans  <wim@fluendo.com>
8662
8663         * docs/design/draft-latency.txt:
8664         Checked in draft for handling latency in pipelines.
8665
8666 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8667
8668         * Makefile.am:
8669         * gstreamer.doap:
8670         * gstreamer.spec.in:
8671           adding .doap file
8672
8673 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
8674
8675         * gst/gst.c: (init_pre), (init_post):
8676           init_pre() and init_post() might be called via our GOptionGroup or
8677           from gst_init(), and we should skip both of them if we've already
8678           been initialised, otherwise we will init some things twice or add
8679           two default log functions.
8680
8681 2006-12-13  Edward Hervey  <edward@fluendo.com>
8682
8683         * docs/manual/basics-bus.xml:
8684         No, gst_main_loop does not exist. Its g_main_loop.
8685         Discovered by somebody who abused the copy-paste technique of coding :)
8686
8687 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
8688
8689         * gst/gstghostpad.c:
8690           Log ghostpad debug stuff to the GST_PADS category as well rather
8691           than just to the default category.
8692
8693 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
8694
8695         * configure.ac:
8696         * gst/gst.c: (init_pre):
8697           Add some basic system details such as OS and architecture
8698           to the debug output if possible, courtesy of uname().
8699
8700 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
8701
8702         * docs/gst/running.xml:
8703           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
8704           environment variables.
8705
8706 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
8707
8708         * tests/check/gst/gstbin.c: (GST_START_TEST):
8709         It is acceptable to have a refcount of 2 or 3 at this point in the
8710         test, because the pipeline might be just posting its state_change
8711         message. The next line then waits for that message to appear using
8712         bus_poll, so that should be fine too.
8713
8714 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
8715
8716         * gst/gst.c: (ensure_current_registry_forking):
8717         Ignore EINTR when reading from the child registry pipe.
8718         Explicitly ignore the return value from close, since it makes no
8719         difference.
8720
8721         * gst/gstminiobject.c: (gst_mini_object_ref),
8722         (gst_mini_object_unref):
8723         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
8724
8725         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
8726         When removing cached plugins, remove their features too, so they're
8727         not visible after they've disappeared.
8728
8729         * gst/gstutils.c: (prepare_link_maybe_ghosting):
8730         In the unlikely case that we are linking pads with no parents, don't
8731         crash trying to get the non-existent parent bin.
8732
8733         * gst/parse/grammar.y:
8734         Output debug in the PIPELINE category
8735
8736 2005-03-08  Wim Taymans  <wim@fluendo.com>
8737
8738         Patch by: René Stadler <mail at renestadler dot de>
8739
8740         * gst/gstclock.c: (gst_clock_new_periodic_id):
8741         Reject invalid clock times for interval of periodic ids.
8742         Fixes ##383506.
8743
8744 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
8745
8746         * gst/gstelementfactory.c: (gst_element_factory_create):
8747         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8748         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
8749         * tools/gst-inspect.c: (print_element_info):
8750         Fix refcounting of gst_plugin_feature_load to match the docs. 
8751         Fixes: #380129
8752
8753 2006-12-07  Wim Taymans  <wim@fluendo.com>
8754
8755         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
8756         (gst_base_sink_get_position):
8757         Improve debugging of events.
8758
8759 2006-12-07  Wim Taymans  <wim@fluendo.com>
8760
8761         Patch by: René Stadler <mail at renestadler dot de>
8762
8763         * gst/gstclock.c: (gst_clock_id_wait):
8764         Make period ids add the interval to the origial requested time instead
8765         of the possibly updated time which can be wrong when there are multiple
8766         waiters for the same id. Fixes #382592.
8767
8768         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
8769         (gst_system_clock_id_wait_jitter_unlocked),
8770         (gst_system_clock_id_wait_jitter):
8771         Fix restart in the async notify thread when an async entry is added to
8772         the front of the list. Fixes #381492. 
8773
8774         * tests/check/gst/gstsystemclock.c: (store_callback),
8775         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
8776         Added test for multiple async waits.
8777         Added test for async wait order.
8778
8779 2006-12-07  Wim Taymans  <wim@fluendo.com>
8780
8781         * gst/gstbin.c: (gst_bin_query):
8782         Add some more docs about the POSITION query.
8783
8784 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
8785
8786         * configure.ac:
8787         Bump version nano - back to CVS.
8788
8789 === release 0.10.11 ===
8790
8791 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
8792
8793         * configure.ac:
8794           releasing 0.10.11, "Love never runs on time"
8795
8796 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
8797
8798         * win32/common/libgstbase.def:
8799         * win32/common/libgstreamer.def:
8800         * win32/vs8/libgstbase.vcproj:
8801         * win32/vs8/libgstcoreelements.vcproj:
8802         * win32/vs8/libgstreamer.vcproj:
8803         Fix compilation on win32 under VS8
8804         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8805         Partially fixes #381175
8806
8807 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8808
8809         * gst/gstvalue.c: (gst_value_compare_fraction):
8810         If someone is foolish enough to compare 2 fractions with denominator =
8811         0, return UNORDERED rather than aborting.
8812
8813 2006-11-28  Edward Hervey  <edward@fluendo.com>
8814
8815         * libs/gst/base/Makefile.am:
8816         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
8817         (gst_data_queue_base_init), (gst_data_queue_class_init),
8818         (gst_data_queue_init), (gst_data_queue_new),
8819         (gst_data_queue_cleanup), (gst_data_queue_finalize),
8820         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
8821         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
8822         (gst_data_queue_is_empty), (gst_data_queue_is_full),
8823         (gst_data_queue_set_flushing), (gst_data_queue_push),
8824         (gst_data_queue_pop), (gst_data_queue_drop_head),
8825         (gst_data_queue_set_property), (gst_data_queue_get_property):
8826         * libs/gst/base/gstdataqueue.h:
8827         New GstDataQueue object for threadsafe queueing. Most useful for
8828         elements that need some queueing functionnality.
8829         * docs/libs/gstreamer-libs-docs.sgml:
8830         * docs/libs/gstreamer-libs-sections.txt:
8831         Insert documentation for GstDataQueue
8832         * plugins/elements/Makefile.am:
8833         * plugins/elements/gstelements.c:
8834         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
8835         (gst_multi_queue_class_init), (gst_multi_queue_init),
8836         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8837         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
8838         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
8839         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8840         (gst_multi_queue_loop), (gst_multi_queue_chain),
8841         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8842         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
8843         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
8844         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
8845         (wake_up_next_non_linked), (compute_next_non_linked),
8846         (single_queue_overrun_cb), (single_queue_underrun_cb),
8847         (single_queue_check_full), (gst_single_queue_new):
8848         * plugins/elements/gstmultiqueue.h:
8849         New multiqueue element, using GstDataQueue. Used for queuing multiple
8850         streams.
8851         Closes #344639 and #347785
8852
8853 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
8854
8855         * docs/pwg/advanced-types.xml:
8856           add more missing type details
8857
8858         * tools/gst-run.c: (main):
8859           remove unused variable
8860
8861 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
8862
8863         * docs/libs/Makefile.am:
8864         * docs/libs/gstreamer-libs.types:
8865           add types of base classes to enable gobject specific stuff in the docs
8866
8867         * docs/random/ensonic/embedded.txt:
8868           more ideas about isolating platform specific things
8869
8870 2006-11-20  Wim Taymans  <wim@fluendo.com>
8871
8872         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
8873
8874         * libs/gst/check/gstcheck.h:
8875         Fix compilation and running against 0.9.4. Fixes #377332.
8876
8877 2006-11-20  Wim Taymans  <wim@fluendo.com>
8878
8879         * gst/gstsegment.c: (gst_segment_set_seek),
8880         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8881         (gst_segment_to_running_time):
8882         Fix boundary checking in to_running_time() and to_stream_time().
8883         Fixes #377183.
8884
8885         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8886         stream and running time can now be calculated for the complete
8887         clipped segment.
8888
8889 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
8890
8891         * gst/gstpad.c: (gst_pad_push_event):
8892           Can't access event structure after giving away ownership of
8893           the event.
8894
8895 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
8896
8897         * docs/random/ensonic/embedded.txt:
8898         * docs/random/ensonic/profiling.txt:
8899         * docs/random/ensonic/receipies.txt:
8900           more thinking
8901
8902 2006-11-13  Wim Taymans  <wim@fluendo.com>
8903
8904         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8905
8906         * gst/gstpad.c:
8907         Fix documentation for gst_pad_dispatcher. Fixes #374475.
8908
8909 2006-11-13  Wim Taymans  <wim@fluendo.com>
8910
8911         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
8912
8913         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8914         Store new length in segment duration so we don't keep on calling the
8915         potentially expensize get_size() call. Fixes #370865.
8916
8917 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
8918
8919         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
8920
8921         * win32/common/libgstreamer.def:
8922           Add two missing symbols (#366492).
8923
8924 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
8925
8926         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
8927         (gst_adapter_take_buffer):
8928         Fix format string to use all its arguments.
8929         Remove useless >= check on a guint
8930
8931 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
8932
8933         * tests/examples/adapter/.cvsignore:
8934         Ignore build file as commanded by the build-bot
8935
8936 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
8937
8938         * tests/examples/adapter/Makefile.am:
8939         * tests/examples/adapter/adapter_test.c: (run_test_take),
8940         (run_test_take_buffer), (run_tests), (main):
8941
8942         Add new files from the previous commit
8943
8944 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
8945
8946         * Makefile.am:
8947         * configure.ac:
8948         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
8949         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
8950         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
8951         * libs/gst/base/gstadapter.h:
8952         * tests/check/libs/adapter.c: (create_and_fill_adapter),
8953         (GST_START_TEST), (gst_adapter_suite):
8954         * tests/examples/Makefile.am:
8955         Do some optimisation work in GstAdapter to avoid copies in more cases.
8956         It could still do slightly better by merging buffers when
8957         gst_buffer_is_span_fast is true, but is already faster. 
8958
8959         Also, avoid traversing a single-linked list to append each incoming 
8960         buffer inside the adapter.
8961
8962         Add simple test app that times the adapter behaviour in different
8963         situations, and extend the unit test to check that bytes enter and
8964         exit the adapter in their original order.
8965
8966 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8967
8968         * docs/random/draft-missing-plugins.txt:
8969           Update: use element message instead of adding a new message
8970           type to the core; don't provide GStreamer API to initiate the
8971           plugin download, just provide API to compose the strings needed
8972           and let an external libgimmestuff handle the rest.
8973
8974 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
8975
8976         * tools/gst-inspect.c: (print_element_properties_info):
8977         Print a string instead of 'unknown type' for GValueArray properties
8978
8979 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
8980
8981         * docs/random/draft-missing-plugins.txt:
8982         More small fixes.
8983
8984 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8985
8986         * tests/examples/typefind/typefind.c: (type_found), (main):
8987           Make typefind element example work again (#371894); add a
8988           license header.
8989
8990 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8991
8992         * docs/random/draft-missing-plugins.txt:
8993           Commit initial draft about how to deal with missing plugins,
8994           needs work (API too).
8995
8996 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
8997
8998         * docs/pwg/advanced-types.xml:
8999           documents the new caps elements (see #363118)
9000
9001 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9002
9003         * gst/gstplugin.c: (gst_plugin_load_file):
9004         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
9005         (gst_file_src_map_region), (gst_file_src_start):
9006         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
9007         (gst_file_index_commit):
9008           Use g_strerror() instead of strerror() - we want UTF-8.
9009
9010 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9011
9012         Patch by: Peter Kjellerstedt <pkj at axis com>
9013
9014         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9015           Another printf fix (#371493).
9016
9017 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9018
9019         * tests/check/gst/gsttag.c:
9020           relicence (okay with author=company)
9021
9022 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9023
9024         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9025         (gst_pad_push_event):
9026           Enhance debug and improve docs
9027         
9028         * gst/gsturi.c:
9029           Fix docs
9030
9031 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9032
9033         * docs/random/ensonic/distributed.txt:
9034         * docs/random/ensonic/profiling.txt:
9035           more ideas
9036
9037 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9038
9039         * docs/gst/gstreamer-sections.txt:
9040           add new API and fix the build
9041           
9042         * gst/gstbin.c: (gst_bin_recalc_state):
9043         * gst/gstelement.c: (gst_element_message_full),
9044         (gst_element_get_state_func), (gst_element_set_state_func):
9045           use new API and improve logging
9046         
9047         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9048         * gst/gstutils.h:
9049           API: add function to get StateChangereturn names to improve logs 
9050
9051 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9052
9053         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9054           I'm considering shooting the next person to put strerror stuff
9055           in the translateable part of the message.
9056
9057 2006-11-03  Wim Taymans  <wim@fluendo.com>
9058
9059         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9060         Get the type and printf conversion specifiers right.
9061
9062 2006-11-03  Wim Taymans  <wim@fluendo.com>
9063
9064         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9065
9066         * gst/gstpad.c: (gst_pad_init), (pre_activate),
9067         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
9068         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
9069         Some small cleanups. Improve debugging.
9070         * gst/gstpad.h:
9071         Signal all waiting threads with a broadcast instead of just one.
9072         Fixes #369942.
9073
9074 2006-11-03  Wim Taymans  <wim@fluendo.com>
9075
9076         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
9077         (gst_fd_src_create):
9078         Add some debugging. 
9079         Only update fd when it's different from the old.
9080
9081 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9082
9083         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
9084           Printf fixes for PPC/OSX, take two (#369366).
9085
9086 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9087
9088         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
9089
9090         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9091         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9092         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
9093           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
9094           don't cast to long long for portability reasons, but use
9095           GLib's types instead.
9096
9097 2006-10-30  Michael Smith  <msmith@fluendo.com>
9098
9099         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
9100           Get the arguments to lseek() the right way around.
9101           Fixes 367677.
9102
9103 2006-10-30  Wim Taymans  <wim@fluendo.com>
9104
9105         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
9106
9107         * gst/gstinfo.h:
9108         _declspec should be __declspec (two underscores, not one). Fixes 366572.
9109
9110 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9111
9112         Patch by: Kjartan Maraas  <kmaraas at gnome org>
9113
9114         * docs/design/part-MT-refcounting.txt:
9115         * docs/random/wtay/capsnego2-docs:
9116         * gst/gstclock.c:
9117         * gst/gstxml.c:
9118           Typo fixes (#366212).
9119
9120 2006-10-28  Wim Taymans  <wim@fluendo.com>
9121
9122         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9123
9124         * gst/gst.c:
9125         * win32/common/libgstbase.def:
9126         * win32/common/libgstreamer.def:
9127         * win32/vs8/libgstbase.vcproj:
9128         * win32/vs8/libgstcontroller.vcproj:
9129         Add needed entries in .def files.
9130         Use HAVE_UNISTD_H.
9131         Rearrange def files in vs8 solutions. Fixes #366286.
9132
9133 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9134
9135         * win32/common/gstconfig.h:
9136           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
9137           hand-made win32 gstconfig.h. Fixes #366321.
9138
9139 2006-10-27  Wim Taymans  <wim@fluendo.com>
9140
9141         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
9142         (gst_ghost_pad_new_full):
9143         Make acceptcaps return TRUE when we don't have a target, just like
9144         setcaps does.
9145
9146 2006-10-27  Wim Taymans  <wim@fluendo.com>
9147
9148         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9149         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
9150
9151 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
9152
9153         * gst/gststructure.c: (gst_structure_id_set_value):
9154           If someone tries to set a non-UTF8 string field on a structure,
9155           don't just print a warning, but also ignore the request and do
9156           not change/add that field to the structure.
9157
9158         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9159           Test for the above.
9160
9161 2006-10-25  David Schleef  <ds@schleef.org>
9162
9163         * gst/gstinfo.c:
9164           g_hash_table_insert() needs a cast to a non-const pointer duh.
9165
9166 2006-10-25  David Schleef  <ds@schleef.org>
9167
9168         * gst/gstinfo.c:
9169         * gst/gstinfo.h:
9170           Change name parameter of _gst_debug_register_funcptr to const
9171           to reflect the constness of its use in the function as well
9172           as to quiet a gcc warning.
9173
9174 2006-10-25  Edward Hervey  <edward@fluendo.com>
9175
9176         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9177         Don't push the buffer if it's empty.
9178         Closes #363095
9179
9180 2006-10-24  Wim Taymans  <wim@fluendo.com>
9181
9182         * gst/gstevent.h:
9183         Add small comment.
9184
9185         * libs/gst/base/gstbasetransform.c:
9186         (gst_base_transform_sink_eventfunc):
9187         Debug segment values *after* updating them as this is more
9188         interesting.
9189
9190 2006-10-23  Wim Taymans  <wim@fluendo.com>
9191
9192         * docs/design/part-events.txt:
9193         Update some docs.
9194
9195         * docs/design/part-block.txt:
9196         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9197         (gst_pad_push_event):
9198         Revert BLOCKING patch, it tries to be smart without really having a
9199         clear idea what or how. So, now we discard all FLUSHING events again on
9200         a blocking pad. Should fix gnonlin again.
9201
9202 2006-10-23  Wim Taymans  <wim@fluendo.com>
9203
9204         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9205
9206         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9207         (gst_base_src_start), (gst_base_src_activate_push):
9208         Make sure size is always initialized. Fixes #364388.
9209
9210 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
9211
9212         * docs/random/ensonic/distributed.txt:
9213           add some ideas about doing distributed processing
9214
9215         * docs/random/ensonic/profiling.txt:
9216           get_rusage look promising
9217
9218 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9219
9220         * docs/manual/basics-helloworld.xml:
9221           Add a cast in example to fix compile warning
9222
9223 2006-10-18  Wim Taymans  <wim@fluendo.com>
9224
9225         * gst/gstsegment.c: (gst_segment_set_last_stop),
9226         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9227         Relax arg checking again, -1 is allowed.
9228
9229 2006-10-18  Wim Taymans  <wim@fluendo.com>
9230
9231         * gst/gstsegment.c: (gst_segment_set_last_stop),
9232         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9233         _set_last_stop() must be with a value != -1
9234         A _TYPE_SET to -1 means seek to 0.
9235         Calc last_stop correctly for negative rates.
9236         Make sure we work with positive durations when updating a segment.
9237
9238 2006-10-18  Wim Taymans  <wim@fluendo.com>
9239
9240         * docs/design/part-live-source.txt:
9241         * gst/gstclock.h:
9242         Small docs fixes.
9243
9244 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
9245
9246         * gst/gstbuffer.h:
9247           Add an explicit cast to GstBuffer** to keep old code that added an
9248           explicit cast to GstMiniObject** for gst_mini_object_replace()
9249           compiling without warning.
9250
9251 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9252
9253         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
9254           check for validity of dates
9255
9256 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9257
9258         * docs/gst/gstreamer-sections.txt:
9259           Forgot this one, makes gtk-doc shut up.
9260
9261 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9262
9263         Patch by: Peter Kjellerstedt <pkj at axis com>
9264
9265         * gst/gstobject.h:
9266           Don't define xmlNodePtr to gpointer if the core was built with
9267           --disable-loadsave and --disable-registry, this will break
9268           applications that want to use libxml2 but are buildling against a
9269           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
9270           instead so we don't have to mess with the libxml2 namespace
9271           (#361675).
9272
9273 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9274
9275         * gst/gstbuffer.h:
9276           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
9277           type-punned pointer warnings.
9278
9279 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
9280
9281         * gst/gstelement.h:
9282           Add casts to the correct return type to state <=> state transition
9283           macros.
9284
9285 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
9286
9287         * docs/design/part-live-source.txt:
9288           describe howto handle latency
9289         
9290         * docs/random/ensonic/profiling.txt:
9291           more ideas
9292
9293         * tools/gst-plot-timeline.py:
9294           fix log parsing for solaris, remove unused function
9295
9296 2006-10-16  Wim Taymans  <wim@fluendo.com>
9297
9298         * docs/design/part-trickmodes.txt:
9299         * gst/gstevent.c:
9300         Update some docs regarding reverse playback.
9301
9302 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9303
9304         Patch by: Marcus Granado  <mrc dot gran at gmail com>
9305
9306         * win32/vs8/grammar.vcproj:
9307           Error out with a warning if glib-genmarshal.exe is not in path,
9308           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
9309
9310 2006-10-13  Wim Taymans  <wim@fluendo.com>
9311
9312         * gst/gstsegment.c: (gst_segment_set_seek):
9313         When seeking to stop -1, set last_stop (current position) to the
9314         duration of the segment.
9315
9316 2006-10-13  Wim Taymans  <wim@fluendo.com>
9317
9318         * gst/gstelement.h:
9319         Clarify _NO_PREROLL a bit more.
9320
9321         * gst/gstevent.c:
9322         Fix docs.
9323
9324         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
9325         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
9326         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
9327         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
9328         due to wrong locking order. Fixes #361769.
9329         Remove some redundant/misplaced checks in pad_block.
9330
9331         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9332         For negative rates, count backwards from the duration.
9333
9334 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9335
9336         * gst/gsterror.c: (_gst_library_errors_init):
9337           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
9338           up with something better).
9339
9340 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9341
9342         * win32/vs6/libgstreamer.dsp:
9343         * win32/vs7/libgstreamer.vcproj:
9344         * win32/vs8/libgstreamer.vcproj:
9345           Don't reference glib-compat.c which is currently not used and not
9346           disted; add gstquark.c which was recently added. Fixes #361730.
9347
9348 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9349
9350         * win32/common/libgstbase.def:
9351         * win32/common/libgstcontroller.def:
9352         * win32/common/libgstreamer.def:
9353           Add gst_caps_merge() and a bunch of other recently-added functions.
9354           Fixes #361732.
9355
9356 2006-10-11  Wim Taymans  <wim@fluendo.com>
9357
9358         * docs/plugins/gstreamer-plugins.args:
9359         * docs/plugins/inspect/plugin-coreelements.xml:
9360         * docs/plugins/inspect/plugin-coreindexers.xml:
9361         Update element args.
9362
9363         * gst/gstsystemclock.c:
9364         Small comment update.
9365
9366         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
9367         (gst_tee_request_new_pad), (gst_tee_release_pad),
9368         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
9369         (gst_tee_sink_activate_pull):
9370         * plugins/elements/gsttee.h:
9371         Some tee loving:
9372         Add default property defines.
9373         Implement release pad function.
9374         Give properties better blubs etc.
9375         Activate pads before adding them to a running tee.
9376         Do simple buffer_alloc on the first requested pad.
9377         Post error when activation fails.
9378
9379 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
9380
9381         * gst/gst.c: (ensure_current_registry_forking):
9382           Check return value of write() to make compiler happy.
9383
9384 2006-10-11  Wim Taymans  <wim@fluendo.com>
9385
9386         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9387
9388         * plugins/elements/gstqueue.c: (gst_queue_chain):
9389         Recheck queue filledness after signalling the overrun when we're about
9390         to leak downstream because we released the lock when emitting the signal
9391         and the queue could be empty again. Fixes #352345.
9392
9393 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
9394
9395         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
9396           Fix refcounting here too, just like we did for _new_valist() a few
9397           days ago (#357180) (thanks to René Stadler). Also remove all those
9398           'Since: 0.9' from the gtk-doc blobs.
9399
9400         * tests/check/libs/controller.c: (controller_refcount_new_list),
9401         (gst_controller_suite):
9402           Unit test for the above.
9403
9404 2006-10-10  Wim Taymans  <wim@fluendo.com>
9405
9406         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
9407
9408         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
9409         (gst_pad_save_thyself):
9410         Update some docs.
9411         Write pad direction in XML output. Fixes #345496.
9412
9413 2006-10-10  Wim Taymans  <wim@fluendo.com>
9414
9415         Patch by: René Stadler <mail at renestadler dot de>
9416
9417         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9418         (gst_controller_new_list), (_gst_controller_dispose),
9419         (_gst_controller_finalize), (_gst_controller_class_init):
9420         Take ref to controlled object so that it cannot disappear. 
9421         Fixes #357432.
9422
9423 2006-10-10  Wim Taymans  <wim@fluendo.com>
9424
9425         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9426         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9427         (gst_check_teardown_sink_pad):
9428         Activate/deactivate pads in setup/teardown respectively.
9429
9430 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9431
9432         Patch by: Josep Torra Valles <josep@fluendo.com>
9433
9434         * gst/Makefile.am:
9435         Cast values when making gstenumtypes.h.  This pacifies Forte
9436         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
9437         in the enumeration.
9438
9439 2006-10-09  Wim Taymans  <wim@fluendo.com>
9440
9441         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
9442         Rename some more @cur to @start to fix docs. 
9443
9444         * gst/gstsegment.c: (gst_segment_set_seek):
9445         Fix typo.
9446         time and start must always stay in sync as defined in design doc.
9447
9448         * gst/gsttaglist.c: (gst_tag_list_is_empty):
9449         Rename param to fix docs.
9450
9451         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9452         Check that start and time are in sync.
9453
9454         * tests/check/pipelines/parse-launch.c:
9455         (gst_parse_test_element_change_state):
9456         Activate pad before adding to the element.
9457
9458 2006-10-09  Wim Taymans  <wim@fluendo.com>
9459
9460         * docs/design/part-qos.txt:
9461         Fix typo.
9462
9463         * gst/gstevent.c:
9464         * gst/gstevent.h:
9465         Update seek event docs regarding negative rates.
9466         Rename @cur to @start. 
9467
9468         * gst/gstsegment.c: (gst_segment_set_seek):
9469         * gst/gstsegment.h:
9470         Update set_seek docs regarding negative rates.
9471         Correctly update last_stop to @stop when dealing with negative
9472         rates.
9473         Rename @cur to @start. 
9474
9475         * tests/check/gst/gstpad.c: (GST_START_TEST):
9476         Activate pads before trying to use them.
9477
9478         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9479         (gst_segment_suite):
9480         Add simple check for segments and negative rates.
9481
9482 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9483
9484         * gst/gsttaglist.c: (gst_tag_list_is_empty):
9485         * gst/gsttaglist.h:
9486         * docs/gst/gstreamer-sections.txt:
9487           API: add gst_tag_list_is_empty() (#360467).
9488
9489         * tests/check/gst/gsttag.c: (GST_START_TEST):
9490           And a test case.
9491
9492 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9493
9494         * gst/gstmessage.h:
9495         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
9496         a value that doesn't fit on enumeration.
9497
9498 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9499
9500         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9501         Remove local debugging system and use Gstreamer's instead.
9502
9503 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9504
9505         Patch by: Josep Torra Valles <josep@fluendo.com>
9506
9507         * common/m4/gst-error.m4:
9508         Disable warning of statement not reached on Forte.
9509         * gst/gstmessage.h:
9510         Fix warning on Forte (value doesn't fit on enumeration).
9511         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
9512         Fix warning on Forte (value doesn't fit on enumeration).
9513         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9514         DEBUG macro says it takes minimum of 2 args and so Forte
9515         complains about the use with just 1 arg.
9516         * plugins/elements/gstfdsink.c:
9517         * plugins/elements/gstfdsrc.c:
9518         * plugins/elements/gstfilesink.c:
9519         * plugins/elements/gstfilesrc.c:
9520         Use correct return type for the uri handler implementations.
9521
9522         All these fix warnings in Forte.  Fixes bug #360860.
9523
9524 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9525
9526         * gst/gstelement.h:
9527           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
9528           format string, so don't use G_GNUC_PRINTF for those versions.
9529
9530 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
9531
9532         * gst/gsttaglist.c: (gst_is_tag_list):
9533         * gst/gsttaglist.h:
9534           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
9535
9536         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9537           Small test for the above.
9538
9539 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
9540
9541         * gst/gsttaglist.h:
9542           Less tabs, more spaces.
9543
9544 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
9545
9546         * gst/gstinfo.h:
9547           Those two function declarations do actually belong there, revert
9548           commit from yesterday that turned them intro macros.
9549
9550 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9551
9552         Patch by: Josep Torra Valles <josep@fluendo.com>
9553
9554         * gst/gst.c: (gst_init_get_option_group):
9555         Fix empty declaration and type mismatch.
9556         * gst/gstbin.c: (gst_bin_change_state_func):
9557         Fix type mismatch.
9558         * gst/gstelement.c: (gst_element_continue_state),
9559         (gst_element_set_state_func), (gst_element_change_state),
9560         (gst_element_change_state_func):
9561         Fix type mismatches.
9562         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
9563         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
9564         Cast as appropriate.
9565         * gst/gstobject.c: (gst_class_signal_connect):
9566         Cast as appropriate.  The function pointer parameter really
9567         has the wrong type but would break API if we change it.
9568         * gst/gstquery.c:
9569         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
9570         order of including string.h.
9571         * gst/gstutils.c: (gst_element_state_get_name):
9572         Remove unreachable line.
9573         * gst/gstxml.c: (gst_xml_parse_doc):
9574         Fix type mismatch.
9575         All these caught by Forte.
9576
9577 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9578
9579         Patch by: Josep Torra Valles <josep@fluendo.com>
9580
9581         * common/m4/gst-error.m4:
9582         Fixed bug #360151.
9583         We need to disable warnings on Forte for empty declarations
9584         due to gst-indent adding ;s to lines that just use macros
9585         where the macro actually doesn't need a ; at end to end
9586         statement.
9587
9588 2006-10-06  Wim Taymans  <wim@fluendo.com>
9589
9590         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
9591         (gst_file_sink_close_file), (gst_file_sink_event),
9592         (gst_file_sink_render):
9593         Add some FIXME for the NEWSEGMENT handling.
9594
9595 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9596
9597         * gst/parse/grammar.y:
9598         Remove static function gst_parse_element_lock as all it does
9599         is return.  Looks like cruft from 0.8.
9600
9601 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9602
9603         Patch by: Josep Torra Valles <josep@fluendo.com>
9604
9605         * common/m4/gst-error.m4:
9606         * configure.ac:
9607         * libs/gst/net/Makefile.am:
9608         Fix a compilation issue with Forte on Solaris.  inet_aton is in
9609         libresolv.
9610
9611 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
9612
9613         * gst/gstpad.c: (pre_activate):
9614         * gst/gstregistry.c: (gst_registry_scan_path_level):
9615         * gst/gstregistryxml.c: (load_plugin):
9616         * libs/gst/controller/gstcontroller.c:
9617         (gst_controlled_property_set_interpolation_mode):
9618         * libs/gst/dataprotocol/dataprotocol.c:
9619         (gst_dp_packet_from_event_1_0):
9620         * libs/gst/net/gstnetclientclock.c:
9621         (gst_net_client_clock_observe_times):
9622         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9623           Printf fixes.
9624
9625 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
9626
9627         * configure.ac:
9628         * docs/gst/gstreamer-sections.txt:
9629         * gst/gstconfig.h.in:
9630         * gst/gstelement.h:
9631         * gst/gstinfo.h:
9632           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
9633           whether we can use G_GNUC_PRINTF in other header files and at
9634           least check the printf format/arguments of debug messages and
9635           GST_ELEMENT_ERROR messages when the printf extension is not
9636           being used.
9637           Replace more tabs with spaces in gstinfo.h and remove two spurious
9638           function declarations in GST_DISABLE_DEBUG part with macros.
9639
9640 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
9641
9642         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
9643           More docs for the sync-message signal (mention that it is not
9644           emitted by default); log message structures of messages posted on
9645           the bus as well.
9646
9647 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
9648
9649         * gst/gst.c: (ensure_current_registry_forking):
9650         Use a pipe pair to receive status results from the forked child, and
9651         ignore the result from waitpid. Fixes #355499
9652
9653 2006-10-02  Wim Taymans  <wim@fluendo.com>
9654
9655         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9656         (gst_ghost_pad_suite):
9657         Fix leak in check.
9658
9659 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9660
9661         * gst/gstpad.c:
9662           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
9663
9664 2006-10-02  Edward Hervey  <edward@fluendo.com>
9665
9666         * docs/design/part-block.txt:
9667         Further explain the use of flushing on blocked pads.
9668         * docs/gst/gstreamer-sections.txt:
9669         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9670         (gst_pad_push_event):
9671         * gst/gstpad.h:
9672         Added new GstPadFlag : GST_PAD_BLOCKING.
9673         Adds the notion of pads really blocking, which enables to properly
9674         handle FLUSH_START/FLUSH_STOP events on blocked pads.
9675         Fixes #358999
9676         API: gst_pad_is_blocking()
9677         API: GST_PAD_IS_BLOCKING() macro
9678         API: GST_PAD_BLOCKING GstPadFlag
9679         
9680 2006-10-02  Wim Taymans  <wim@fluendo.com>
9681
9682         Patch by: mrcgran <mrc.gran at gmail dot com>
9683
9684         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
9685         Filter the proxied caps against the padtemplate if we have one.
9686
9687         * gst/gstquery.c: (gst_query_new_segment):
9688         Add include for gstinfo.h so that compilation with
9689         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
9690
9691 2006-10-02  Wim Taymans  <wim@fluendo.com>
9692
9693         Patch by: Alessandro Decina  <alessandro at nnva org>
9694
9695         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
9696         (gst_file_sink_set_location), (gst_file_sink_open_file),
9697         (gst_file_sink_close_file), (gst_file_sink_event),
9698         (gst_file_sink_render):
9699         Set file to NULL when closing filesink so that we can set a new filename
9700         in READY. Fixes #358613.
9701
9702 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9703
9704         Patch by: Alessandro Decina  <alessandro at nnva org>
9705
9706         * gst/gstevent.c: (_gst_event_copy):
9707           Fix gst_mini_object_make_writable() and gst_event_copy() for events
9708           with event structures by setting the parent refcount address of the
9709           copied structure to the address of the refcount member of the newly
9710           copied event rather than the address of the refcount member of the
9711           original event. Fixes #358737.
9712
9713         * tests/check/gst/gstevent.c: (GST_START_TEST):
9714           Unit test for the above.
9715
9716 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
9717
9718         * docs/design/Makefile.am:
9719           Dist some more files.
9720
9721 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9722
9723         * tests/check/libs/controller.c: (GST_START_TEST),
9724         (gst_controller_suite):
9725           Add test for the previous fix; add some more tests
9726           for correct refcounting behaviour; fix a few leaks
9727           in test cases; call gst_controller_init() at start
9728           of all tests.
9729
9730 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9731
9732         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9733         (gst_controller_set_from_list):
9734           Don't g_return_val_if_fail() on timed values with invalid timestamps
9735           inside a critical section without unlocking the mutex. Spotted by
9736           René Stadler. (#357617)
9737           Also, fix up refcounting properly: when returning an existing
9738           controller, we should increase the reference only once and not
9739           once per property and when trying to control a property again
9740           we should also increase the refcount.
9741
9742 2006-09-29  Wim Taymans  <wim@fluendo.com>
9743
9744         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9745         * libs/gst/net/gstnettimeprovider.c:
9746         (gst_net_time_provider_thread):
9747         Stop reading commands when EOF as well.
9748
9749         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9750         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9751         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9752         Unify description of the dump property.
9753
9754 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9755
9756         * tests/examples/manual/.cvsignore:
9757         OK, so it's actually cvsignore that needs changing. Stop laughing.
9758
9759 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9760
9761         * tests/examples/manual/Makefile.am:
9762         Gah, declare vars *before* using them
9763
9764 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9765
9766         * gst/gst.c: (init_pre), (scan_and_update_registry),
9767         (ensure_current_registry_nonforking),
9768         (ensure_current_registry_forking), (ensure_current_registry),
9769         (init_post), (gst_debug_help), (gst_deinit):
9770         * gst/gst_private.h:
9771         * gst/gstregistry.c: (gst_registry_finalize),
9772         (gst_registry_remove_features_for_plugin_unlocked),
9773         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9774         (gst_registry_scan_path),
9775         (_priv_gst_registry_remove_cache_plugins),
9776         (_priv_gst_registry_cleanup):
9777         * gst/gstregistry.h:
9778         Re-commit the registry changes, along with an extra fix:
9779           When a cached plugin is encountered at a different file path,
9780           update the stored path in the registry cache so that the parent
9781           process knows where it actually is now when it re-reads the registry
9782           cache. Fixes the thing that broke distcheck with the previous commit.
9783
9784         * tests/check/Makefile.am:
9785         Clean up files named 'core' too when running make clean.
9786
9787         * tests/examples/manual/Makefile.am:
9788         Set up a registry path for running these tests, and clean it properly
9789         for distcheck.
9790
9791 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
9792
9793         * configure.ac:
9794         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
9795         want gmodule-no-export-2.0.pc instead so that we don't drag in
9796         --export-dynamic on every project that links to GStreamer.
9797
9798         Also, make our export regex only match the start of symbols, rather 
9799         than any symbol that contains '_gst' somewhere.
9800
9801         * libs/gst/check/Makefile.am:
9802         The libgstcheck we build does however need export-dynamic, as it
9803         produces some symbols that don't match our _gst... style regex.
9804         Fixes: #318031
9805
9806 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
9807
9808         * gst/gst.c: (init_pre), (scan_and_update_registry),
9809         (ensure_current_registry_nonforking),
9810         (ensure_current_registry_forking), (ensure_current_registry),
9811         (init_post), (gst_debug_help), (gst_deinit):
9812         * gst/gst_private.h:
9813         * gst/gstregistry.c: (gst_registry_finalize),
9814         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9815         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
9816         (_gst_registry_cleanup):
9817         * gst/gstregistry.h:
9818           Revert previous change until I figure out why it breaks distcheck.
9819
9820 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
9821
9822         * gst/gst.c: (init_pre), (scan_and_update_registry),
9823         (ensure_current_registry_nonforking),
9824         (ensure_current_registry_forking), (ensure_current_registry),
9825         (init_post), (gst_debug_help), (gst_deinit):
9826
9827           Make init_pre and init_post take the full complement of GOptionFunc
9828           args so they can return useful GErrors. Make the registry updating
9829           functions do so.
9830
9831           Call _priv_gst_registry_remove_cache_plugins after scanning files to
9832           ensure that the registry we're about to write out doesn't contain
9833           stale information about old-deleted plugin files.
9834
9835           Make _priv_gst_registry_remove_cache_plugins return a boolean so
9836           that deletion of plugin files is considered a registry change.
9837
9838         * gst/gst_private.h:
9839         * gst/gstregistry.c: (gst_registry_finalize),
9840         (gst_registry_remove_features_for_plugin_unlocked),
9841         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9842         (gst_registry_scan_path),
9843         (_priv_gst_registry_remove_cache_plugins),
9844         (_priv_gst_registry_cleanup):
9845         * gst/gstregistry.h:
9846         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
9847         by adding _priv prefix, so that they won't appear in the global
9848         symbol table. They still do atm though because of #318031. Move the
9849         prototypes to gst_private.h
9850
9851         When removing a plugin, remove all features for that plugin too. 
9852         Fixes #340878.
9853
9854 2006-09-27  Wim Taymans  <wim@fluendo.com>
9855
9856         * docs/random/moving-plugins:
9857         Make it clear that the "compiled-in descriptions" really mean
9858         the element details.
9859
9860         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9861         (gst_base_sink_wait_preroll):
9862         Update docs.
9863
9864         * docs/libs/gstreamer-libs-sections.txt:
9865         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9866         (gst_base_src_get_range), (gst_base_src_activate_push):
9867         * libs/gst/base/gstbasesrc.h:
9868         Added function to block while waiting for PLAYING, this function
9869         is used by live sources that block on the clock.
9870         API: gst_base_src_wait_playing()
9871
9872 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9873
9874         Patch by: Peter Kjellerstedt <pkj at axis com>
9875
9876         * Makefile.am:
9877           gst-element-check.m4 is generated and should therefore be
9878           copied from the build dir rather than the source dir (#357593).
9879           'make distcheck' hasn't noticed this because we were disting
9880           the file as well, so stop doing that.
9881
9882 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9883
9884         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9885           Add some tests for gst_caps_intersect().
9886
9887         * tools/gst-launch.c: (event_loop):
9888           Print all buffering percentages we get, even the 100% one.
9889
9890 2006-09-26  Wim Taymans  <wim@fluendo.com>
9891
9892         * tools/gst-inspect.c: (print_element_properties_info),
9893         (print_signal_info):
9894         Fix printing of flags to match the look of enums.
9895
9896 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
9897
9898         * gst/gstelementfactory.c:
9899           Fix typo in docs blurb.
9900
9901 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
9902
9903         * gst/gsturi.c: (search_by_entry):
9904           Don't assert/crash here if a uri handler doesn't return any
9905           supported protocols. The list of protocols could be generated
9906           dynamically at runtime or at plugin registration, and an error
9907           in the underlying library shouldn't be fatal (#353301).
9908
9909 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
9910
9911         * gst/gstinfo.c:
9912           Fix warning if HAVE_PRINTF_EXTENSION is undefined
9913           (spotted by Peter Kjellerstedt).
9914
9915 2006-09-23  Wim Taymans  <wim@fluendo.com>
9916
9917         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
9918
9919         * libs/gst/base/gstbasesrc.c:
9920         (gst_base_src_default_check_get_range), (gst_base_src_start),
9921         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9922         (gst_base_src_change_state):
9923         Match _start/_stop calls in the activate functions. Remove redundant
9924         _stop call from the state change function. Fixes #356910.
9925         Turn failure DEBUG into ERROR. 
9926
9927 2006-09-22  Wim Taymans  <wim@fluendo.com>
9928
9929         * docs/design/part-buffering.txt:
9930         * gst/gstmessage.c: (gst_message_new_buffering),
9931         (gst_message_parse_buffering):
9932         Update docs about buffering.
9933
9934         * docs/design/part-trickmodes.txt:
9935         Fix typo.
9936
9937 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
9938
9939         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9940         (gst_controller_new_list):
9941           Ref instances when returning them again (fixes #357180)
9942
9943 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
9944
9945         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
9946           Don't forget to release proxy lock when there's an error.
9947
9948 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
9949
9950         * gst/gstcaps.h:
9951           Add extra initialisers for Caps things, to fix some plugin warnings
9952           when using -Wextra
9953
9954 2006-09-18  Wim Taymans  <wim@fluendo.com>
9955
9956         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9957           Also set template on the internal pad so that a getcaps from the 
9958           target pad returns the template caps.
9959
9960 2006-09-18  Wim Taymans  <wim@fluendo.com>
9961
9962         * gst/gstelement.c: (gst_element_post_message),
9963         (gst_element_dispose):
9964         Use _DEBUG_OBJECT some more.
9965
9966         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9967         Avoid typechecks.
9968
9969         * tools/gst-launch.c: (main):
9970         If the toplevel element is not a GstPipeline, it must be put in a
9971         pipeline so that a bus and clock is selected.
9972
9973 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
9974
9975         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9976           JITTER, RATE, and LATENCY query should be handled by the
9977           default case and not by the CONVERT query code.
9978
9979 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
9980
9981         * gst/gstformat.c: (gst_format_register):
9982           Fix locking order (must take lock before using n_values).
9983
9984         * gst/gstvalue.c: (gst_value_serialize_enum),
9985         (gst_value_deserialize_enum_iter_cmp),
9986         (gst_value_deserialize_enum):
9987           Fix serialisation/deserialisation of custom registered GstFormats.
9988
9989         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9990           Unit test for custom format serialisation/deserialisation.
9991
9992 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
9993
9994         * docs/pwg/building-boiler.xml:
9995         * plugins/elements/gstcapsfilter.c:
9996         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
9997         section.
9998
9999 2006-09-16  Edward Hervey  <edward@fluendo.com>
10000
10001         * libs/gst/base/gstbasetransform.c:
10002         (gst_base_transform_buffer_alloc):
10003         Check if requested caps are the same as the sinks caps IF
10004         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
10005         is FALSE.
10006         This fixes the renegotiation issues stated in #352827.
10007
10008 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10009
10010         * configure.ac:
10011         * docs/manual/advanced-autoplugging.xml:
10012         * tests/examples/Makefile.am:
10013         * tests/examples/manual/.cvsignore:
10014         * tests/examples/manual/Makefile.am:
10015         * tests/examples/manual/extract.pl:
10016           Extract the manual examples again like we used to do.
10017           Fix one of them.
10018
10019 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10020
10021         * win32/common/config.h:
10022           update for version
10023
10024 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
10025
10026         * gst/gsterror.c:
10027           Documents how to receive errors.
10028
10029 2006-09-15  Wim Taymans  <wim@fluendo.com>
10030
10031         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
10032         (event_loop), (main):
10033         Added some comments here and there.
10034         Post an application message when an interrupt is caught instead of doing
10035         an uncontrolled state change.
10036         Clean up the event loop.
10037         Handle buffering messages, pause/resume the pipeline.
10038         Make shutdown because of an interrupt more reliable.
10039
10040 2006-09-15  Wim Taymans  <wim@fluendo.com>
10041
10042         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10043         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
10044         (gst_base_sink_preroll_object):
10045         Make sure that our internal state is correct when we commit our state
10046         asynchronously. This solves a race where a state change to PLAYING
10047         could cause the sink to remain blocked in preroll in some situations.
10048
10049 2006-09-15  Wim Taymans  <wim@fluendo.com>
10050
10051         * tools/gst-inspect.c: (print_element_properties_info),
10052         (print_signal_info):
10053         List flags as hex so it's easier to deal with.
10054
10055 2006-09-15  Wim Taymans  <wim@fluendo.com>
10056
10057         * docs/libs/gstreamer-libs-sections.txt:
10058         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
10059         (gst_base_sink_do_sync):
10060         * libs/gst/base/gstbasesink.h:
10061         Expose logic to wait for preroll so that subclasses such as audiosink
10062         can also use this method.
10063         API: gst_base_sink_wait_preroll()
10064
10065 2006-09-15  Wim Taymans  <wim@fluendo.com>
10066
10067         * gst/gstobject.c: (gst_object_set_parent):
10068         * gst/gstpipeline.c: (do_pipeline_seek):
10069         Small cleanups in docs and code.
10070
10071         * gst/gstsegment.c: (gst_segment_clip):
10072         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10073         if stop == start and start is in the segment, no clipping should be
10074         done. Also add a test for this.
10075
10076 2006-09-15  Wim Taymans  <wim@fluendo.com>
10077
10078         * docs/design/part-buffering.txt:
10079         * docs/gst/gstreamer-sections.txt:
10080         * gst/gstmessage.c: (gst_message_new_buffering),
10081         (gst_message_parse_buffering):
10082         * gst/gstmessage.h:
10083         Added methods to create and parse BUFFERING messages.
10084         Added preliminary docs about buffering.
10085         API: gst_message_new_buffering
10086         API: gst_message_parse_buffering
10087
10088 2006-09-06  Wim Taymans  <wim@fluendo.com>
10089
10090         * gst/gstbin.c:
10091         Update documentation.
10092
10093         * gst/gstelement.c: (gst_element_class_init),
10094         (gst_element_release_request_pad), (gst_element_set_clock),
10095         (gst_element_get_index), (gst_element_add_pad),
10096         (gst_element_remove_pad), (gst_element_get_random_pad),
10097         (gst_element_send_event), (gst_element_get_query_types),
10098         (gst_element_query), (gst_element_post_message),
10099         (gst_element_message_full), (gst_element_continue_state),
10100         (gst_element_lost_state), (gst_element_save_thyself),
10101         (gst_element_restore_thyself):
10102         Documentation updates.
10103         Rename last bit of the new-pad -> pad-added signal rename.
10104         Fix the case where an element query would only work if the source
10105         pad was linked.
10106         Avoid some useless type checking in message handling.
10107
10108         * gst/gstevent.c:
10109         * gst/gstevent.h:
10110         * gst/gstutils.c:
10111         Documentation updates.
10112
10113 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10114
10115         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10116           add an INFO line for when we actually update the fd
10117
10118 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10119
10120         * configure.ac:
10121           back to TRUNK
10122
10123 === release 0.10.10 ===
10124
10125 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
10126
10127         * configure.ac:
10128           releasing 0.10.10, "Pais"
10129
10130 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
10131
10132         * docs/manual/advanced-position.xml:
10133           Fix typo in sample code.
10134
10135 2006-09-05  Wim Taymans  <wim@fluendo.com>
10136
10137         * libs/gst/net/gstnetclientclock.c: (inet_aton),
10138         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
10139         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
10140         * libs/gst/net/gstnetclientclock.h:
10141         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10142         * libs/gst/net/gstnettimepacket.h:
10143         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
10144         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
10145         (gst_net_time_provider_thread), (gst_net_time_provider_new):
10146         * libs/gst/net/gstnettimeprovider.h:
10147         Make stuff compile on windows. Fixes #345295.
10148
10149 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10150
10151         * gst/gst.c: (ensure_current_registry_forking):
10152           Print better details when child was terminated by signal.
10153
10154 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10155
10156         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
10157           Print a warning rather than g_assert() if a plugin feature
10158           is a URI handler but returns no protocols (#353976).
10159
10160 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
10161
10162         * docs/random/moving-plugins:
10163         Fix two typos.         
10164
10165 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10166
10167         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
10168           Fix locking order, handle NULL function values properly.
10169
10170         * gst/gstinfo.h:
10171           Fix docs.
10172
10173         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
10174           Initialise variable before using it and fix debug statement to
10175           print the address of the function rather than the address of the
10176           variable on the stack holding the address of the function.
10177
10178 2006-09-01  Wim Taymans  <wim@fluendo.com>
10179
10180         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
10181         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
10182         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10183         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
10184         (gst_ghost_pad_parent_unset),
10185         (gst_ghost_pad_internal_do_activate_push),
10186         (gst_ghost_pad_internal_do_activate_pull),
10187         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10188         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10189         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10190         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
10191         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
10192         (gst_ghost_pad_new_no_target_from_template),
10193         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10194         More cleanups.
10195         Avoid needless typechecking in macros.
10196         Since the internal pad is always present and never changes, there is
10197         no need to locking or ref when retrieving it.
10198         Improve debugging a bit.
10199         Handle link errors when setting the target. Fixes #341029.
10200
10201 2006-09-01  Wim Taymans  <wim@fluendo.com>
10202
10203         * docs/libs/gstreamer-libs-sections.txt:
10204         * docs/plugins/gstreamer-plugins-sections.txt:
10205         Fix docs some more.
10206
10207         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10208         (gst_collect_pads_event):
10209         * libs/gst/base/gstcollectpads.h:
10210         Documentation updates.
10211         Free queued buffer when removing a pad.
10212
10213 2006-08-31  Michael Smith  <msmith@fluendo.com>
10214
10215         * gst/gstutils.c: (gst_element_link_pads),
10216         (gst_element_link_pads_filtered):
10217           Ensure that we set a capsfilter to NULL if we failed to link it
10218           when doing filtered linking, to avoid criticals.
10219
10220           No need to check for unreffing srcpad, which is explicly NULLed
10221           above (a trivial code cleanup).
10222
10223 2006-08-31  Wim Taymans  <wim@fluendo.com>
10224
10225         * docs/design/part-gstghostpad.txt:
10226         Update ascii art in documentation.
10227
10228         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
10229         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
10230         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10231         (gst_ghost_pad_internal_do_activate_push),
10232         (gst_ghost_pad_internal_do_activate_pull),
10233         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10234         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10235         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
10236         (gst_ghost_pad_set_target):
10237         Small cleanups and leak fixes.
10238         Remove some checks now that the internal pad is never NULL.
10239         Fix the case where linking pads without a target would create nasty
10240         criticals. Fixes #341029.
10241         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
10242         value of _set_target().
10243
10244         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10245         (gst_ghost_pad_suite):
10246         Some more tests for creating and linking untargeted ghostpads.
10247
10248 2006-08-31  Edward Hervey  <edward@fluendo.com>
10249
10250         * docs/gst/gstreamer-sections.txt:
10251         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
10252         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10253         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
10254         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
10255         (gst_ghost_pad_new_from_template),
10256         (gst_ghost_pad_new_no_target_from_template):
10257         * gst/gstghostpad.h:
10258         Refactored *_new() functions.
10259         Templates are now used as a g_object_new() parameter.
10260         Use template in _do_getcaps() if we don't have a target.
10261         Small documentation cleanups.
10262         Added two new constructors:
10263         gst_ghost_pad_new_from_template()
10264         gst_ghost_pad_new_no_target_from_template()
10265         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10266         (gst_ghost_pad_suite):
10267         Added tests for new ghostpad instanciation functions.
10268
10269         API additions: gst_ghost_pad_new_from_template,
10270         gst_ghost_pad_new_no_target_from_template
10271
10272 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
10273
10274         * docs/random/ensonic/profiling.txt:
10275           Ideas about qos profiling.
10276
10277 2006-08-29  Wim Taymans  <wim@fluendo.com>
10278
10279         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
10280         Code cleanups.
10281         Fix memleak.
10282
10283 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
10284
10285         * gst/gstxml.c:
10286           Improve and detypofy docs.
10287
10288         * tests/check/Makefile.am:
10289         * tests/check/gst/.cvsignore:
10290         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
10291           Add a basic test suite for GstXML.
10292
10293 2006-08-29  Wim Taymans  <wim@fluendo.com>
10294
10295         * gst/gstelement.c: (activate_pads), (clear_caps),
10296         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10297         Clear the pad caps when the element shut down all of the pads and
10298         is not streaming data that could modify the caps. 
10299         Fixes #352958.
10300
10301 2006-08-28  Michael Smith  <msmith@fluendo.com>
10302
10303         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10304           Revert previous change; I misunderstood single-segment mode.
10305
10306 2006-08-28  Michael Smith  <msmith@fluendo.com>
10307
10308         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10309           Unset DISCONT on buffers when using single-segment mode.
10310
10311 2006-08-28  Wim Taymans  <wim@fluendo.com>
10312
10313         * gst/gstcaps.c: (gst_caps_merge_structure):
10314         * gst/gstcaps.h:
10315         Fix docs and indentation again.
10316
10317         * tests/check/gst/gstquery.c: (GST_START_TEST):
10318         Fix leak in tests and add some more tests.
10319
10320 2006-08-28  Edward Hervey  <edward@fluendo.com>
10321
10322         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10323         Inform GstSegment of the last stop position in order for the current
10324         segment to have a proper duration if it doesn't have a specific stop
10325         position from which a duration could be calculated.
10326         This bug was noticeable when a non-flushing, non-update new segment was
10327         followed by another segment (all buffers from the new segment were being
10328         dropped).
10329
10330 2006-08-28  Wim Taymans  <wim@fluendo.com>
10331
10332         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10333         Small comment update.
10334
10335         * plugins/elements/gstidentity.c: (gst_identity_class_init),
10336         (gst_identity_transform_ip):
10337         Drop-probability is broken, mention this in the code with a 
10338         FIXME and also in the property description.
10339         Make silent also be silent about the drop messages.
10340
10341 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
10342
10343         * docs/manual/appendix-win32.xml:
10344           Remove mention of popt, we don't depend on that any
10345           longer (#353136). Add some comments pointing out that
10346           this section is slightly outdated.
10347
10348 2006-08-28  Wim Taymans  <wim@fluendo.com>
10349
10350         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10351
10352         * gst/gstquery.c: (gst_query_new_segment):
10353         * tests/check/gst/gstquery.c: (GST_START_TEST):
10354         Initialize variables when creating a new segment query.
10355         Fixes #353121.
10356
10357 2006-08-28  Wim Taymans  <wim@fluendo.com>
10358
10359         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10360
10361         * gst/gstelement.c: (gst_element_get_bus):
10362         * tests/check/gst/gstelement.c: (GST_START_TEST):
10363         Check for NULL before _reffing the bus. Fixes #353122.
10364
10365 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
10366
10367         * docs/manual/basics-bus.xml:
10368           Docs update: fix wrong callback return value explanation; add
10369           some lines about the implicit relationship between main loop
10370           and main context; remove duplicate main loop variable declaration.
10371
10372 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
10373
10374         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10375           Don't leak caps in unit test; add a few more simple
10376           checks. 
10377
10378 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
10379
10380         * docs/gst/gstreamer-sections.txt:
10381         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
10382         (gst_caps_structure_is_subset), (gst_caps_merge),
10383         (gst_caps_merge_structure):
10384         * gst/gstcaps.h:
10385         * libs/gst/base/gstbasetransform.c:
10386         (gst_base_transform_transform_caps):
10387         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10388           implement caps merging (fixes #352580)
10389
10390 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
10391
10392         * tools/Makefile.am:
10393         * tools/gst-plot-timeline.py:
10394           add debug-log plotting developer tool (#340674)
10395
10396 2006-08-23  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
10399         (gst_pad_stop_task):
10400         Improve debugging for task functions.
10401
10402         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
10403         (gst_task_start), (gst_task_pause), (gst_task_join):
10404         Make sure that the task function started and finished after a 
10405         join(). 
10406         Don't try to push the task function on the threadpool multiple
10407         times.
10408         Improve the g_warning message with some useful suggestions
10409         about how to fix the problem. 
10410
10411 2006-08-23  Wim Taymans  <wim@fluendo.com>
10412
10413         * gst/gstutils.c: (gst_pad_proxy_getcaps):
10414         Handle RESYNC correctly in _proxy_getcaps.
10415
10416 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
10417
10418         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
10419         (gst_xml_parse_memory), (gst_xml_get_element):
10420           Chain up to parent class in dispose function and also
10421           unref the elements in the toplevel_elements GList.
10422           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
10423           Always return a reference in gst_xml_get_element() rather
10424           than only sometimes.
10425
10426         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10427           Don't leak GstXml object.
10428
10429 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
10430
10431         * docs/gst/gstreamer-sections.txt:
10432         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
10433         (gst_caps_merge):
10434         * gst/gstcaps.h:
10435         * libs/gst/base/gstbasetransform.c:
10436         (gst_base_transform_transform_caps):
10437           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
10438           in a better way
10439
10440 2006-08-21  Edward Hervey  <edward@fluendo.com>
10441
10442         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
10443         Implement GObject::dispose virtual method in GstXML so we can free the
10444         top_elements GList.
10445
10446 2006-08-21  Wim Taymans  <wim@fluendo.com>
10447
10448         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
10449         (gst_buffer_create_sub):
10450         Copy duration/offset_end/caps when creating a subbuffer of the
10451         complete parent.
10452         Make the subbuffer read-only when we make the metadata writable for
10453         now. Fixes #351768.
10454
10455         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10456         Added check for metadata copy when creating subbuffers.
10457
10458 2006-08-21  Edward Hervey  <edward@fluendo.com>
10459
10460         * libs/gst/base/gstbasetransform.c:
10461         (gst_base_transform_buffer_alloc):
10462         Only call downstream buffer_alloc if transform element is passthrough
10463         or always_in_place. Closes #350449.
10464
10465 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10466
10467         * ChangeLog:
10468           ChangeLog surgery to add comments to previous changes
10469
10470 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10471
10472         * gst/gst.c:
10473           Add comments
10474
10475         * gst/gstpad.c: (gst_pad_set_active):
10476           Be more verbose in the log
10477
10478         * libs/gst/base/gstbasetransform.c:
10479         (gst_base_transform_transform_caps):
10480           Simplify caps to get rid of duplicates, fixes #345444
10481
10482 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10483
10484         * gst/gstvalue.c:
10485         * gst/gstvalue.h:
10486           Use these optimizations only internally.
10487
10488 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10489
10490         * gst/gstvalue.c: (gst_value_compare_list),
10491         (gst_value_compare_fraction_range),
10492         (gst_value_intersect_fraction_fraction_range),
10493         (gst_value_intersect_fraction_range_fraction_range),
10494         (gst_value_subtract_fraction_fraction_range),
10495         (gst_value_subtract_fraction_range_fraction_range),
10496         (gst_value_get_compare_func), (gst_value_compare),
10497         (gst_value_compare_with_func):
10498         * gst/gstvalue.h:
10499           Saves the expensive lookup of the compare function in many cases
10500          (#345444)
10501
10502 2006-08-18  Edward Hervey  <edward@fluendo.com>
10503
10504         * tests/check/gst/gstinfo.c: (gst_info_suite):
10505         Disable test that require gstdebug if it wasn't built in core.
10506
10507 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
10508
10509         * docs/random/ensonic/logging.txt:
10510           update ideas
10511           
10512         * gst/gstinfo.c: (gst_debug_log_default):
10513           reorder fields, save some columns, add optional color codes for log
10514           levels
10515
10516 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
10517
10518         * docs/random/ensonic/logging.txt:
10519           add ideas about making the logs a bit more useful
10520
10521 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
10522
10523         * docs/pwg/advanced-events.xml:
10524         * docs/pwg/titlepage.xml:
10525           Update for 0.10 API (#340627). Add myself
10526           to authors list.
10527
10528 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
10529
10530         * docs/libs/gstreamer-libs-docs.sgml:
10531         * docs/libs/gstreamer-libs-sections.txt:
10532         * libs/gst/check/gstbufferstraw.c:
10533           Make gstcheck stuff show up in docs (still needs to
10534           be documented properly though).
10535
10536 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
10537
10538         * docs/gst/gstreamer-sections.txt:
10539         * gst/Makefile.am:
10540         * gst/gst.c: (init_post):
10541         * gst/gst_private.h:
10542         * gst/gstquark.c: (_priv_gst_quarks_initialize):
10543         * gst/gstquark.h:
10544         * gst/gstquery.c: (gst_query_new_position),
10545         (gst_query_set_position), (gst_query_parse_position),
10546         (gst_query_new_duration), (gst_query_set_duration),
10547         (gst_query_parse_duration), (gst_query_new_convert),
10548         (gst_query_set_convert), (gst_query_parse_convert),
10549         (gst_query_new_segment), (gst_query_set_segment),
10550         (gst_query_parse_segment), (gst_query_new_seeking),
10551         (gst_query_set_seeking), (gst_query_parse_seeking):
10552         Add internal helpers for pre-registering quarks from static strings
10553         and using the quark values directly instead of looking them up when
10554         creating and parsing queries. Can be used for event construction too.
10555         Closes #350432.
10556
10557 2006-08-16  Wim Taymans  <wim@fluendo.com>
10558
10559         * gst/gstbin.c:
10560         Fix bogus docs.
10561
10562 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10563
10564         * gst/gstutils.c: (gst_util_set_value_from_string):
10565           Fix memleak (#351502).
10566
10567         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10568           Add unit test for most of gst_util_set_value_from_string()
10569           (not that one would want to encourage use of this function).
10570
10571 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10572
10573         * libs/gst/check/gstcheck.h:
10574           Use const gchar * variables in fail_unless_equals_string
10575           macro to avoid compiler warnings (and don't use tabs for
10576           indenting).
10577
10578 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10579
10580         * tools/gst-launch.c: (print_tag):
10581           More space on the left for the tag names, to cater
10582           for the 'extended comment' tag (not touching the
10583           string for the first line since it's translated).
10584
10585 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
10586
10587         * libs/gst/check/gstcheck.h:
10588           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
10589           print something when they fail.
10590
10591 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10592
10593         * docs/gst/gstreamer-sections.txt:
10594         * gst/gsttaglist.c: (_gst_tag_initialize):
10595         * gst/gsttaglist.h:
10596           API: add GST_TAG_EXTENDED_COMMENT (#350935).
10597           Also change merge function for GST_TAG_COMMENT to
10598           use_first.
10599
10600 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10601
10602         * gst/gstinfo.c: (gst_debug_print_object):
10603           Make GST_PTR_FORMAT print messages as well.
10604
10605         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
10606         (GST_START_TEST), (gst_info_suite):
10607           More tests.
10608
10609 2006-08-14  Edward Hervey  <edward@fluendo.com>
10610
10611         * gst/gstelementfactory.c: (gst_element_register):
10612         If the GstElementClass doesn't have a GstElementDetails with all fields
10613         filled up correctly (longname, description AND author), then error out
10614         nicely instead of crashing.
10615
10616 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
10617
10618         * gst/gststructure.c:
10619           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
10620
10621         * gst/gstvalue.h:
10622           Expand on the difference between arrays and lists as we use them.
10623           
10624 2006-08-14  Wim Taymans  <wim@fluendo.com>
10625
10626         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
10627         If the parent state change function failed, don't assume we can safely
10628         stop the source, this will be done when the pads are deactivated.
10629
10630 2006-08-14  Wim Taymans  <wim@fluendo.com>
10631
10632         * gst/gstbuffer.c:
10633         * gst/gsttask.c: (gst_task_join):
10634         Small doc updates.
10635
10636         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10637         (gst_pad_stop_task):
10638         When pad (de)activation failed for some reason, restore the old
10639         activation mode and set the pad to flushing instead of assuming the
10640         pad is deactivated.
10641         If the _task_join() failed, reinstall the task on the pad so that it can
10642         be stopped later and return an error.
10643
10644 2006-08-11  Andy Wingo  <wingo@pobox.com>
10645
10646         * configure.ac:
10647         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10648         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
10649         is only for users of API that don't want to see deprecated
10650         functions in the headers; people that want to compile out
10651         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
10652         CFLAGS. Fixes the build of multifdsink, or will soon..
10653
10654 2006-08-11  Wim Taymans  <wim@fluendo.com>
10655
10656         * docs/gst/gstreamer-sections.txt:
10657         Add GstClockClass vmethod docs.
10658
10659         * gst/gstcaps.h:
10660         Mark #endif with comment for associated #if
10661
10662         * gst/gstclock.c: (gst_clock_id_wait):
10663         * gst/gstclock.h:
10664         Add vmethod wait_jitter to avoid an unneeded _get_time() for
10665         most clock implementations.
10666         Document vmethods.
10667         Flesh out docs about resolution methods.
10668         API: GstClockClass::wait_jitter
10669
10670         * gst/gstsystemclock.c: (gst_system_clock_class_init),
10671         (gst_system_clock_async_thread),
10672         (gst_system_clock_id_wait_jitter_unlocked),
10673         (gst_system_clock_id_wait_jitter):
10674         Use base class wait_jitter variant for improved performance
10675         due to less clock polling.
10676
10677 2006-08-11  Edward Hervey  <edward@fluendo.com>
10678
10679         * gst/gst.c: (gst_init_check), (init_post):
10680         Set gst as being initialized before scanning/updating the registry,
10681         since there might be my python plugin loader that calls gst_init() and
10682         we don't want to loop back in.
10683         Closes #350879
10684
10685 2006-08-11  Wim Taymans  <wim@fluendo.com>
10686
10687         * docs/design/part-qos.txt:
10688         Bring docs in line with the code. Mostly the sign of the jitter was
10689         wrong in the docs. Fixes #349943.
10690
10691         * gst/gstclock.c:
10692         Fix the docs for the jitter.
10693
10694         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
10695         (gst_event_parse_tag), (gst_event_new_buffer_size),
10696         (gst_event_parse_buffer_size), (gst_event_parse_qos),
10697         (gst_event_new_seek), (gst_event_parse_seek),
10698         (gst_event_new_navigation):
10699         Make sure the GstStructure has no parent when creating custom
10700         events.
10701         Add some more argument checking so that we avoid 0.0 rates.
10702         Flesh out the docs for the QoS event some more.
10703
10704 2006-08-11  Wim Taymans  <wim@fluendo.com>
10705
10706         * docs/gst/gstreamer-sections.txt:
10707         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10708         (ensure_current_registry_forking), (ensure_current_registry),
10709         (parse_one_option), (parse_goption_arg), (gst_deinit),
10710         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
10711         * gst/gst.h:
10712         Doc updates.
10713         Added API and command line option to disable registry forking in
10714         addition to the environment variable.
10715         Constify some static arrays.
10716         Added some more debug.
10717         Don't deinit twice.
10718         API: gst_registry_fork_is_enabled()
10719         API: gst_registry_fork_set_enabled()
10720         API: --gst-disable-registry-fork command line option
10721         Fixes #348918.
10722
10723 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
10724
10725         * gst/gst.c: (gst_init):
10726           Fix typo in error message.
10727
10728 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
10729
10730         * libs/gst/controller/gstcontroller.h:
10731           fix ABI size-correction
10732
10733         * tests/check/libs/gdp.c: (gst_dp_suite):
10734           make tests that use deprecated API conditional
10735
10736 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
10737
10738         * docs/libs/gstreamer-libs-sections.txt:
10739         * libs/gst/controller/gstcontroller.c:
10740         (_gst_controller_get_property), (_gst_controller_set_property),
10741         (_gst_controller_init), (_gst_controller_class_init):
10742         * libs/gst/controller/gstcontroller.h:
10743         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
10744         (gst_object_set_control_rate):
10745           API: add gst_object_{s,g}et_control_rate(), add private data section,
10746           fix docs
10747
10748         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10749         * libs/gst/dataprotocol/dataprotocol.h:
10750           add deprecation guards to make gtk-doc happy and allow disabling cruft
10751
10752 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
10753
10754         * tests/check/Makefile.am:
10755         * tests/check/gst/.cvsignore:
10756           Let's enable the new unit test as well.
10757
10758 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
10759
10760         * configure.ac:
10761         * docs/gst/gstreamer-sections.txt:
10762         * gst/gstconfig.h.in:
10763         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
10764         (_gst_info_printf_extension_ptr),
10765         (_gst_info_printf_extension_segment):
10766           API: add GST_SEGMENT_FORMAT, which is a printf extension we
10767           register that lets us easily dump GstSegments into debug
10768           logs (#350419).
10769
10770         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
10771         (info_segment_format_printf_extension), (gst_info_suite):
10772           Add simple unit test that logs a bunch of different segments (not
10773           valgrinded at the moment because of leaks in
10774           gst_debug_add_log_function).
10775
10776 2006-08-09  Edward Hervey  <edward@fluendo.com>
10777
10778         * libs/gst/base/gstbasetransform.c:
10779         (gst_base_transform_buffer_alloc):
10780         Even if we can't figure out the proper format to request downstream,
10781         call buffer_alloc() downstream with the input parameters without setting
10782         the caps on the srcpad. This will force negotiation in the chain
10783         function.
10784         Closes #350449
10785
10786 2006-08-08  Edward Hervey  <edward@fluendo.com>
10787
10788         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10789         Unlinking from a pad without a target is now a perfectly valid case
10790         which should NOT raise an assertion.
10791         This case would happen if a linked ghostpad its target set to NULL after
10792         it was previously linked.
10793
10794 2006-08-08  Edward Hervey  <edward@fluendo.com>
10795
10796         * tests/check/libs/gdp.c:
10797         Also comment out the test (see below).
10798
10799 2006-08-08  Edward Hervey  <edward@fluendo.com>
10800
10801         * tests/check/libs/gdp.c: (gst_dp_suite):
10802         Use the architecture information from config.h and not gcc macros
10803         in order to properly disable a test that fails on PPC64.
10804
10805 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
10806
10807         * gst/gstelement.c: (gst_element_remove_pad):
10808           Don't crash printing the warning if the pad has no parent.
10809
10810 2006-08-02  Wim Taymans  <wim@fluendo.com>
10811
10812         * libs/gst/dataprotocol/dataprotocol.c:
10813         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10814         (gst_dp_crc), (gst_dp_header_payload_length),
10815         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
10816         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
10817         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
10818         (gst_dp_event_from_packet), (gst_dp_validate_header),
10819         (gst_dp_validate_payload):
10820         Make debug category static
10821         Constify the crc table.
10822         Do some more arg checking in public functions.
10823         Fix some docs and do some small cleanups.
10824
10825         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
10826         Add some more checks to see if GDP deals with bogus input.
10827
10828 2006-07-31  Wim Taymans  <wim@fluendo.com>
10829
10830         * gst/gstvalue.c: (gst_value_compare_list):
10831         Fix GstValueList comparison code. Fixes #347293.
10832
10833         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10834         Check to test GstValueList comparison.
10835
10836 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
10837
10838         * gst/gstelementfactory.c: (gst_element_factory_create):
10839         Remove unnecessary ref/unref pair
10840
10841         * gst/parse/grammar.y:
10842         Make sure to free the parse buffer on all code paths.
10843         Move a g_free up to the error handler where it's easier to see.
10844
10845         * tests/check/gst/gstevent.c: (test_event):
10846         Extending timeout for downstream travelling events to 10 seconds to
10847         hopefully avoid intermittent failure on the buildbots.
10848
10849         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
10850         Don't manually set the state of the src element - it will happen as a
10851         natural consequence of the pipeline changing state, and that way it
10852         will do it in the right order too.
10853
10854 2006-07-31  Wim Taymans  <wim@fluendo.com>
10855
10856         * libs/gst/base/gstbasetransform.c:
10857         (gst_base_transform_buffer_alloc):
10858         Use OBJECT_LOCK and refcounting to get the pad caps in the
10859         buffer_alloc function because the caps could change while we are
10860         busy with them. Fixes #349105
10861
10862 2006-07-31  Wim Taymans  <wim@fluendo.com>
10863
10864         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
10865         Protect _PAD_CAPS with OBJECT_LOCK.
10866
10867 2006-07-31  Wim Taymans  <wim@fluendo.com>
10868
10869         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10870         (gst_pad_get_property), (gst_pad_activate_pull),
10871         (gst_pad_activate_push), (gst_pad_set_blocked_async),
10872         (gst_pad_set_activate_function),
10873         (gst_pad_set_activatepull_function),
10874         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
10875         (gst_pad_set_getrange_function),
10876         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
10877         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10878         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
10879         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
10880         (gst_pad_set_acceptcaps_function),
10881         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
10882         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
10883         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
10884         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
10885         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
10886         (gst_pad_configure_sink), (gst_pad_configure_src),
10887         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
10888         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
10889         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
10890         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
10891         (gst_pad_send_event):
10892         Use _DEBUG_OBJECT when it makes sense.
10893         Protect GST_PAD_CAPS with the OBJECT_LOCK.
10894         Small cleanups and code reflows.
10895         Avoid caps refcounting in _accept_caps.
10896         Refactor alloc_buffer so that the code performed on the peer is in a
10897         separate function. Also if the pad does not implement a buffer alloc
10898         function, we should still check if the pad is flushing before falling
10899         back to the default allocator.
10900
10901 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
10902
10903         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10904         Make all uses of identity and fakesink have silent=true to avoid
10905         serialising every passing data structure, which is breaking tests
10906         on FC4 for some unknown reason.
10907
10908 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
10909
10910         * gst/parse/Makefile.am:
10911         * gst/parse/grammar.y:
10912         * gst/parse/parse.l:
10913           Reverted previous patch as it required to bump the flex dependency to
10914           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
10915
10916 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
10917
10918         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
10919
10920         * gst/parse/Makefile.am:
10921         * gst/parse/grammar.y:
10922         * gst/parse/parse.l:
10923           push & pop the state of the lexer for reentrant use case
10924           Fixes #349180
10925
10926 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
10927
10928         * libs/gst/base/gstbasesrc.h:
10929           Note in the docs that the ::newsegment vfunc is not actually used by
10930           GstBaseSrc.
10931
10932 2006-07-28  Wim Taymans  <wim@fluendo.com>
10933
10934         * libs/gst/base/gstcollectpads.c:
10935         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
10936         (gst_collect_pads_clear), (gst_collect_pads_flush),
10937         (gst_collect_pads_event), (gst_collect_pads_chain):
10938         When flushing a pad, also clear the queued buffer so that we don't
10939         accidentally use it when we shouldn't.
10940         Fix leaks by inreffing incomming buffer.
10941         Flush out queued buffers in case of errors.
10942         Fixes #347452.
10943
10944 2006-07-28  Wim Taymans  <wim@fluendo.com>
10945
10946         * docs/random/phonon-gst:
10947         Random notes about a Phonon backend.
10948
10949 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
10950
10951         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10952         Extra debug output
10953         * tests/check/libs/gdp.c: (gst_dp_suite):
10954         Take a whack at fixing the ppc compile using a different define to
10955         disable the broken test.
10956
10957         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10958         Remove excess g_print()
10959
10960 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
10961
10962         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10963         Oops, meant to uncomment this line too to dampen the noise a bit.
10964
10965 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
10966
10967         * gst/parse/grammar.y:
10968         * gst/parse/parse.l:
10969         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
10970         (GST_START_TEST), (parse_suite):
10971         Fix some of the leaks exposed by extending the parse-launch testsuite,
10972         and move the 3 I can't figure out into a separate test that won't run
10973         the pipelines unless the appropriate line is uncommented.
10974
10975 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
10976
10977         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10978           Requesting 0 bytes before the end of the file should result in
10979           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
10980           unit test.
10981
10982 2006-07-27  Wim Taymans  <wim@fluendo.com>
10983
10984         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
10985         Fix useless assert, a uint is always positive.
10986
10987         * gst/gststructure.c: (gst_structure_nth_field_name),
10988         (gst_structure_foreach), (gst_structure_map_in_place):
10989         Check input arguments for public functions to avoid obvious crashes.
10990
10991         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
10992         * plugins/elements/gstfakesink.h:
10993         Do less useless typechecking.
10994
10995 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
10996
10997         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
10998           Do not use mmap() by default since there are a number of error
10999           conditions that we would like to handle in a non-fatal way that
11000           will result in a SIGBUS if we use mmap(). Examples: external
11001           devices (USB harddrive, portable music player) being unplugged
11002           while in use; file on mounted CD/DVD that can't be read because
11003           the medium is partly damaged. Fixes #348455 and #348475.
11004
11005 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11006
11007         * gst/gstquery.h:
11008         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
11009         rates are a gdouble
11010
11011 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
11012
11013         * gst/gstregistry.c:
11014           Move big documentation comment into class section header, so that it
11015           appears in the API docs.
11016
11017 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11018
11019         * docs/gst/gstreamer-sections.txt:
11020         Oops. Commit the docs additions too for new API.
11021         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
11022
11023 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11024
11025         * gst/gststructure.c: (gst_structure_id_set),
11026         (gst_structure_id_set_valist):
11027         * gst/gststructure.h:
11028         Add API for setting values into structures without performing
11029         a quark lookup, if the appropriate quark is already known.
11030
11031         API: gst_structure_id_set
11032         API: gst_structure_id_set_valist
11033
11034         * gst/parse/grammar.y:
11035         * gst/parse/parse.l:
11036         Remove some dead code shown by the coverage information.
11037         Don't throw a critical g_warning when encountering a syntax error,
11038         just warn and let the normal error path handle it.
11039
11040         * plugins/elements/gstelements.c:
11041         Bump the rank of filesink up to PRIMARY so that it is preferred over
11042         gnomevfssink for file:// sink uri's
11043
11044         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11045         (GST_START_TEST), (run_delayed_test),
11046         (gst_parse_test_element_base_init),
11047         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
11048         (gst_parse_test_element_change_state),
11049         (gst_register_parse_element), (parse_suite):
11050         Beef up the tests for parse syntax to check that more error cases
11051         fail as they are supposed to. Increases the test coverage a bit.
11052
11053 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
11054
11055         * docs/manual/basics-elements.xml:
11056           Fix gst_element_link() example.
11057
11058         * gst/gstutils.c:
11059           Mention in API docs that one should usually gst_bin_add()
11060           elements to a bin or pipeline before doing the linking.
11061           
11062 2006-07-26  Wim Taymans  <wim@fluendo.com>
11063
11064         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
11065         (gst_subbuffer_get_type), (gst_buffer_create_sub):
11066         Avoid function call for known types by keeping the buffer and
11067         subbuffer GType global.
11068
11069         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11070         Random silly optimisations in read() path.
11071
11072 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11073
11074         * tools/gst-launch.c: (main):
11075           If the top-level of the parse is a normal bin, it doesn't do the
11076           right logic to run as a top-level element, so place it inside a
11077           pipeline.
11078
11079 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
11080
11081         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
11082           Remove superfluous g_object_notify() calls, GObject does
11083           that for us automatically.
11084
11085 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
11086
11087         * gst/gstinfo.h:
11088           on Win32, use dllspec to export the debug category symbols
11089
11090 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
11091
11092         * gst/gsttaglist.c: (_gst_tag_initialize):
11093           Allow more than one GST_TAG_IMAGE per taglist.
11094
11095 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11096
11097         * gst/gstminiobject.c:
11098           update docs
11099         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
11100         (gst_fd_src_create):
11101           log recurring events at LOG level
11102           add more debug for when the fd gets set
11103
11104 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11105
11106         * gst/gstparse.c: (gst_parse_launch):
11107           Also remove reentrance checks if flex is MT safe (#348179)
11108          Fix my empty ChangeLog entry below
11109
11110 2006-07-21  Andy Wingo  <wingo@pobox.com>
11111
11112         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
11113
11114         * libs/gst/check/Makefile.am
11115         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
11116         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
11117         * libs/gst/check/gstbufferstraw.h:
11118         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
11119         functions, thus proving I am still a GStreamer haxor. OK I wrote
11120         them a long time ago, but anyways.
11121
11122 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11123
11124         * configure.ac:
11125         * gst/gstparse.c: (gst_parse_launch):
11126           Check for flex version and omit mutex if we have a MT save flex
11127           (fixes #348179)
11128
11129 2006-07-21  Wim Taymans  <wim@fluendo.com>
11130
11131         * gst/gstparse.c: (gst_parse_launch):
11132         Protect recursive calls to _parse with a recursive mutex
11133         and busy flag.
11134
11135 2006-07-21  Wim Taymans  <wim@fluendo.com>
11136
11137         * tests/check/gst/gstpad.c: (GST_START_TEST):
11138         Fix leak in test.
11139
11140 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
11141
11142         * gst/gstparse.c: (gst_parse_launch):
11143           Do not hang on recursive usage of gst_parse_launch()
11144
11145 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11146
11147         * gst/gsttaglist.c:
11148           Add some more docs, comments and FIXME 0.11s here and there
11149           and also fix some typos.
11150
11151 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11152
11153         * gst/gstsegment.h:
11154           Convert tabs to spaces for better readability. 
11155
11156 2006-07-20  Edward Hervey  <edward@fluendo.com>
11157
11158         * tests/check/libs/gdp.c: (gst_dp_suite):
11159         the test_buffer test fails at line 140 on ppc64 at the following
11160         check:
11161         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
11162                 GST_BUFFER_FLAG_IN_CAPS),
11163                 "GST_BUFFER_IN_CAPS flag should have been copied !");
11164         See bug #348114 for more details.
11165
11166 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
11167
11168         * docs/pwg/advanced-scheduling.xml:
11169         * gst/gstpad.c:
11170           Fix typos (#348000).
11171
11172 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
11173
11174         * docs/pwg/intro-basics.xml:
11175           Fix wrong links (#347927).
11176
11177 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
11178
11179         * gst/gstregistry.h:
11180         * gst/gstregistryxml.c: (load_feature),
11181         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
11182         * win32/common/config.h:
11183           make --disable-index work (#342564)
11184
11185 2006-07-18  Wim Taymans  <wim@fluendo.com>
11186
11187         Patch by: Peter Kjellerstedt <pkj at axis dot com>
11188
11189         * gst/Makefile.am:
11190         * gst/gsttrace.h:
11191         The attached patch adds two missing defines to gsttrace.h when tracing
11192         is disabled.  It also corrects one existing define.
11193         Fixes #347756.
11194
11195 2006-07-17  Wim Taymans  <wim@fluendo.com>
11196
11197         * docs/gst/gstreamer-sections.txt:
11198         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
11199         * gst/gst.h:
11200         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
11201         Add two functions to check and change the SIGSEGV behaviour
11202         when loading plugins.
11203         Don't mess with the SIGSEGV handler when we were told not to.
11204         Fixes #347794.
11205         API: gst_segtrap_is_enabled
11206         API: gst_segtrap_set_enabled
11207
11208 2006-07-14  Wim Taymans  <wim@fluendo.com>
11209
11210         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11211         * tests/check/elements/filesrc.c: (GST_START_TEST):
11212         Revert fix for regression in #347408 after release.
11213
11214 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
11215
11216         Patch by: Antoine Tremblay <hexa00 at gmail com>
11217
11218         * gst/gstutils.c: (gst_element_unlink):
11219           Free iterator when done (#347311).
11220
11221         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11222           And add a test case for this.
11223
11224 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
11225
11226         * configure.ac:
11227         Bump nano back to CVS
11228
11229 === release 0.10.9 ===
11230
11231 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
11232
11233         * configure.ac:
11234           releasing 0.10.9, "On the road again"
11235
11236 2006-07-13  Wim Taymans  <wim@fluendo.com>
11237
11238         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11239         * tests/check/elements/filesrc.c: (GST_START_TEST):
11240         Revert pull-0 fix for release. Disable check. Fixes #347408.
11241
11242 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11243
11244         * libs/gst/dataprotocol/dataprotocol.c:
11245         (gst_dp_event_from_packet_1_0):
11246           Fixes #347337: failure to deserialize event packets with
11247           empty payload (only event type)
11248
11249 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11250
11251         * gst/Makefile.am:
11252           do not install a .c file in the header directory
11253
11254 2006-07-13  Edward Hervey  <edward@fluendo.com>
11255
11256         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11257         GhostPad no longer implicitely use the padtemplates of the targets.
11258         Fixes #347384
11259
11260 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
11261
11262         * gst/gstvalue.c: (gst_value_compare_list),
11263         (gst_value_compare_array), (_gst_value_initialize):
11264         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11265         Make GstValueArray comparison be order dependent as designed.
11266         Add checks for value lists and value array comparisons.
11267         Fixes #347221
11268
11269 2006-07-11  Edward Hervey  <edward@fluendo.com>
11270
11271         * gst/gstbin.c: (activate_pads),
11272         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
11273         (gst_bin_change_state_func):
11274         (de)activate src pads before calling state_change on the childs.
11275         This is to avoid the case where a src ghostpad is blocked (holding the
11276         stream lock), which would block the deactivation of the ghostpad's
11277         target pad.
11278         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
11279         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
11280         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
11281         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11282         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11283         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11284         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11285         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
11286         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
11287         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11288         (gst_ghost_pad_class_init),
11289         (gst_ghost_pad_internal_do_activate_push),
11290         (gst_ghost_pad_internal_do_activate_pull),
11291         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11292         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11293         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
11294         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
11295         GhostPads now create their internal GstProxyPad at creation (and not
11296         when they're linked, as it was being done previously).
11297         The internal and target pads are linked straight away.
11298         The data will also travel through the other pad in order to make
11299         pad blocking and probes non-hackish (the probe/block now really happens
11300         on the GhostPad and not on the target).
11301         * gst/gstpad.c: (gst_pad_set_blocked_async),
11302         (gst_pad_link_prepare), (gst_pad_push_event):
11303         Remove previous ghostpad cruft.
11304         * gst/gstutils.c: (gst_pad_add_data_probe),
11305         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11306         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11307         (gst_pad_remove_buffer_probe):
11308         Remove previous ghost pad cruft.
11309         Added more detailed debug statements.
11310         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11311         Fix the testsuite for refcounting changes.
11312         The comments about who has references were correct, but the refcount
11313         being checked wasn't the same (!?!).
11314
11315         Fixes #341029
11316
11317 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11318
11319         * docs/gst/gstreamer-sections.txt:
11320         * gst/gstconfig.h.in:
11321         More docs for configuration options, add docs to gtk-doc.
11322
11323 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11324
11325         * gst/Makefile.am:
11326         * gst/gstconfig.h.in:
11327         * win32/common/config.h:
11328         Fix build when disabling tracing (fixes #344016). Also start to document
11329         the defines that disable the sub-systems.
11330
11331 2006-07-10  Edward Hervey  <edward@fluendo.com>
11332
11333         * gst/gst.c: (ensure_current_registry_forking):
11334         let's make valgrind happy...
11335
11336 2006-07-09  Wim Taymans  <wim@fluendo.com>
11337
11338         * gst/gstelement.c: (activate_pads),
11339         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11340         Better pad activation code: Reset the collect value too on resync.
11341         Add some comments.
11342
11343 2006-07-09  Wim Taymans  <wim@fluendo.com>
11344
11345         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
11346         (gst_pad_activate_push):
11347         Use some more macros where it makes sense.
11348         Allow pad mode switching instead of asserting. When a pad
11349         is activated in one mode and we activate it in another, 
11350         deactivate it first before activating it in a different mode.
11351         Fixes #329198.
11352
11353 2006-07-08  Andy Wingo  <wingo@pobox.com>
11354
11355         * tools/gst-launch.c (main): Handle err == NULL.
11356
11357         * gst/gst.c (init_post, ensure_current_registry)
11358         (ensure_current_registry_forking)
11359         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
11360         factoring out the registry scanning into separate functions. Don't
11361         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
11362         Better environment var name/interface suggestions accepted.
11363
11364 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11365
11366         * gst/gstobject.c: (gst_object_set_name_default),
11367         (gst_object_set_name):
11368           Random micro-optimisation: don't use a hash table
11369           with strings as keys and the usual strdup/strcmp
11370           involved, but rather just use the GQuark of the
11371           type name as key, since it needs to be looked up
11372           anyway to get the type name string.
11373
11374         * tests/check/gst/gstobject.c: (GST_START_TEST):
11375           Fix various leaks.
11376
11377 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11378
11379         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
11380         (gst_bin_iterate_all_by_interface):
11381           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
11382           GTypes are gulongs and thus the top 4 bytes might be cut
11383           off on some platforms when doing GPOINTER_TO_INT, leading
11384           to invalid GTypes and bad things happening (see RH bug #179654).
11385           Also add a check to make sure the type passed in is really
11386           an interface type.
11387
11388 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11389
11390         * .cvsignore:
11391           Ignore more.
11392
11393 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11394
11395         * Makefile.am:
11396         * configure.ac:
11397         * gst-element-check.m4:
11398         * gst-element-check.m4.in:
11399           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
11400           instead of the unversioned gst-inspect (#324176, #168659).
11401
11402 2006-07-06  Wim Taymans  <wim@fluendo.com>
11403
11404         * gst/gstmessage.h:
11405         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
11406         warnings.
11407
11408 2006-07-06  Wim Taymans  <wim@fluendo.com>
11409
11410         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11411         (gst_base_src_wait), (gst_base_src_update_length),
11412         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
11413         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
11414         (gst_base_src_loop), (gst_base_src_start),
11415         (gst_base_src_activate_pull):
11416         Update docs.
11417         blocksize == 0 now means the default blocksize when working in push
11418         based mode.
11419         Remove some pointless asserts in _wait function.
11420         Fix offset/length calculations and EOS handling. We can now pull 0
11421         bytes as well, which is allowed.
11422         use _check_get_range() to decide if we can operate in _pull based
11423         mode.
11424         Fix refcounting leak when check_get_range function was not 
11425         implemented.
11426         API GstBaseSrc::blocksize range can be 0 too now (default)
11427
11428         * tests/check/elements/filesrc.c: (GST_START_TEST),
11429         (filesrc_suite):
11430         Added check to test _get_range() behaviour.
11431
11432 2006-07-06  Wim Taymans  <wim@fluendo.com>
11433
11434         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11435         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
11436         (gst_pad_pull_range):
11437         * gst/gstpad.h:
11438         Lots of comments and docs added to the pad functions.
11439         Flesh out the expected behaviour of the get_range() functions.
11440
11441 2006-07-06  Wim Taymans  <wim@fluendo.com>
11442
11443         * gst/gstbus.h:
11444         * gst/gstclock.h:
11445         * gst/gstevent.h:
11446         * gst/gstiterator.h:
11447         * gst/gstpad.h:
11448         * gst/gstplugin.h:
11449         * gst/gsttask.h:
11450         Remove comma at end of enumerator list. 
11451
11452 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
11453
11454         * win32/common/libgstbase.def:
11455         * win32/common/libgstdataprotocol.def:
11456         * win32/common/libsgtreamer.def:
11457         Add new exported functions.
11458
11459 2006-07-05  Wim Taymans  <wim@fluendo.com>
11460
11461         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
11462         Add some more docs here and there.
11463
11464 2006-07-05  Wim Taymans  <wim@fluendo.com>
11465
11466         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
11467         (gst_base_sink_loop), (gst_base_sink_get_position):
11468         When operating in pull mode update the offset so that we
11469         read sequentially.
11470
11471 2006-07-05  Wim Taymans  <wim@fluendo.com>
11472
11473         * gst/gstregistryxml.c: (read_string):
11474         Avoid strdup. (will happen in libxml, but hey!)
11475
11476         * gst/gsturi.c:
11477         Add some more docs.
11478
11479 2006-07-05  Wim Taymans  <wim@fluendo.com>
11480
11481         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
11482         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
11483         (gst_buffer_suite):
11484         No point in checking if the size of the subbuffer > 0, the
11485         code handles it correclty as demonstrated by unit test.
11486         Also add a unit test for the zero sized _new_and_alloc and
11487         _copy. Fixes #346663.
11488
11489 2006-07-05  Wim Taymans  <wim@fluendo.com>
11490
11491         * libs/gst/base/gstbasetransform.c:
11492         (gst_base_transform_prepare_output_buffer),
11493         (gst_base_transform_buffer_alloc),
11494         (gst_base_transform_handle_buffer):
11495         Make sure the buffer we pass to transform_ip has a refcount of
11496         1 and thus is writable. Fixes #343196
11497
11498 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
11499
11500         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11501         (gst_file_src_init), (gst_file_src_set_property),
11502         (gst_file_src_get_property), (gst_file_src_map_region):
11503         * plugins/elements/gstfilesrc.h:
11504         Add "sequential" property, off by default, to use madvise and hint
11505         to the kernel that sequential access is desired.
11506         Touch all retrieved pages by default to ensure they are pulled
11507         into memory. (Closes #345720)
11508
11509 2006-07-03  Wim Taymans  <wim@fluendo.com>
11510
11511         * docs/design/part-block.txt:
11512         * docs/design/part-dynamic.txt:
11513         Small docs updates.
11514
11515 2006-07-03  Wim Taymans  <wim@fluendo.com>
11516
11517         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
11518         (gst_caps_unref), (gst_static_caps_get),
11519         (gst_caps_append_structure):
11520         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
11521         Use GSlice when the glib we build against is >= 2.10
11522
11523 2006-07-03  Wim Taymans  <wim@fluendo.com>
11524
11525         * gst/gstelement.c: (gst_element_pads_activate):
11526         Small cleanup in pad activation code.
11527
11528 2006-07-03  Wim Taymans  <wim@fluendo.com>
11529
11530         Patch by: Peter Kjellerstedt <pkj at axis dot com>
11531
11532         * gst/gst-i18n-app.h:
11533         * gst/gst-i18n-lib.h:
11534         * tools/gst-inspect.c: (print_signal_info):
11535         The attached patch will make the inclusion of gettext.h unconditional in
11536         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
11537         libintl.h in tools/gst-inspect.c.
11538         This allows use of --disable-nls again and fixes #344642.
11539
11540 2006-07-03  Edward Hervey  <edward@fluendo.com>
11541
11542         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
11543         Implement pad blocking on events according to part-block.txt.
11544         More comments on behaviour.
11545         * tests/check/gst/gstevent.c: (test_event):
11546         Send event to peer pad of blocked pad (else it will block).
11547
11548 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11549
11550         * libs/gst/check/gstcheck.c: (gst_check_message_error),
11551         (gst_check_run_suite):
11552           if we get the wrong message, give us the types as string
11553         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11554           Fix a translatable
11555         * tests/check/elements/filesrc.c: (GST_START_TEST):
11556           add a test for trying to open a non-existing file
11557
11558 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11559
11560         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11561           add a test for adding self
11562
11563 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11564
11565         * libs/gst/check/gstcheck.h:
11566           add some assert_ as alias for fail_unless_*
11567         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
11568           increase test coverage
11569
11570 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11571
11572         * Makefile.am:
11573           include lcov.mak for lcov coverage generation
11574         * tools/Makefile.am:
11575           add to CLEANFILES
11576
11577 2006-07-02  Edward Hervey  <edward@fluendo.com>
11578
11579         * tests/check/elements/.cvsignore:
11580         moaping
11581
11582 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * configure.ac:
11585           don't set CFLAGS and friends for gcov, done from GST_GCOV now
11586         * tests/check/Makefile.am:
11587           clean up gcov files
11588
11589 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11590
11591         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
11592           remove gst_caps_simplify; it was not declared and not used
11593           and deprecated in 0.8
11594
11595 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11596
11597         * docs/faq/gst-uninstalled:
11598           don't put empty paths on PYTHONPATH
11599         * docs/gst/gstreamer-sections.txt:
11600           remove some symbols that are not there
11601
11602 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11603
11604         * gst/gstcaps.c: (gst_caps_compare_structures):
11605           whitespace fixes
11606         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11607         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11608           add more tests
11609
11610 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * libs/gst/dataprotocol/Makefile.am:
11613           build dataprotocol test by linking to the lib, instead of
11614           compiling the source, so we get coverage
11615         * tests/check/Makefile.am:
11616         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
11617         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
11618           add a test for filesrc
11619
11620 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11621
11622         * tests/check/gst/gststructure.c: (GST_START_TEST),
11623         (gst_structure_suite):
11624           Push coverage from 59.04% to 70.00%
11625
11626 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11627
11628         * tests/check/Makefile.am:
11629           gst-inspect every element; this makes sure that we also get
11630           coverage on element's get/set functions
11631
11632 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11633
11634         * configure.ac:
11635           set CFLAGS and friends to -O0 if gcov is being used
11636           add GCOV LIBS
11637         * gst/Makefile.am:
11638         * libs/gst/base/Makefile.am:
11639         * libs/gst/check/Makefile.am:
11640         * libs/gst/controller/Makefile.am:
11641         * libs/gst/dataprotocol/Makefile.am:
11642         * libs/gst/net/Makefile.am:
11643         * plugins/elements/Makefile.am:
11644         * plugins/indexers/Makefile.am:
11645           add makefile rules to generate gcov data and clean up
11646         * tests/check/Makefile.am:
11647           add a coverage target that generates an html overview
11648           of coverage data
11649
11650 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11651
11652         * tests/check/elements/fakesink.c:
11653         * tests/check/elements/fakesrc.c:
11654         * tests/check/elements/fdsrc.c:
11655         * tests/check/elements/identity.c:
11656         * tests/check/generic/sinks.c: (gst_sinks_suite):
11657         * tests/check/generic/states.c:
11658         * tests/check/gst/gst.c:
11659         * tests/check/gst/gstabi.c:
11660         * tests/check/gst/gstbin.c:
11661         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
11662         * tests/check/gst/gstbus.c: (gst_bus_suite):
11663         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11664         * tests/check/gst/gstelement.c:
11665         * tests/check/gst/gstevent.c: (gst_event_suite):
11666         * tests/check/gst/gstghostpad.c:
11667         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
11668         * tests/check/gst/gstmessage.c: (gst_message_suite):
11669         * tests/check/gst/gstminiobject.c:
11670         * tests/check/gst/gstobject.c:
11671         * tests/check/gst/gstpad.c:
11672         * tests/check/gst/gstpipeline.c:
11673         * tests/check/gst/gstplugin.c:
11674         * tests/check/gst/gstquery.c: (gst_query_suite):
11675         * tests/check/gst/gstsegment.c: (gst_segment_suite):
11676         * tests/check/gst/gststructure.c:
11677         * tests/check/gst/gstsystemclock.c:
11678         * tests/check/gst/gsttag.c:
11679         * tests/check/gst/gsttask.c: (gst_task_suite):
11680         * tests/check/gst/gstutils.c:
11681         * tests/check/gst/gstvalue.c:
11682         * tests/check/libs/adapter.c:
11683         * tests/check/libs/basesrc.c:
11684         * tests/check/libs/collectpads.c:
11685         * tests/check/libs/controller.c:
11686         * tests/check/libs/gdp.c: (gst_dp_suite):
11687         * tests/check/libs/gstnetclientclock.c:
11688         * tests/check/libs/gstnettimeprovider.c:
11689         * tests/check/libs/libsabi.c: (libsabi_suite):
11690         * tests/check/libs/typefindhelper.c:
11691         * tests/check/pipelines/cleanup.c:
11692         * tests/check/pipelines/parse-launch.c:
11693         * tests/check/pipelines/simple-launch-lines.c:
11694         * tests/check/pipelines/stress.c: (stress_suite):
11695           use the new macro
11696
11697 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11698
11699         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
11700         * libs/gst/check/gstcheck.h:
11701           create a macro and function so that the simple unit test
11702           case can be just one macro to create main()
11703
11704 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
11705
11706         * gst/gstbin.c: (gst_bin_restore_thyself):
11707         * gst/gstxml.c: (gst_xml_make_element):
11708           Fix deserialisation from XML. Set parent manually
11709           instead of using gst_bin_add(), since gst_bin_add()
11710           will unlink all pads of the element being added.
11711           Fixes #341667.
11712
11713 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
11714
11715         Patch by: Peter Kjellerstedt <pkj at axis com>
11716
11717         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
11718           Fix missing g_strdup() and double free when using the
11719           --gst-plugin-load command line option (#346097).
11720
11721 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
11722
11723         * gst/gstinfo.c:
11724           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
11725
11726         * libs/gst/net/gstnetclientclock.c:
11727         * libs/gst/net/gstnettimeprovider.c:
11728           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
11729
11730 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
11731
11732         * docs/manual/advanced-dataaccess.xml:
11733           Fix buffer probe example compilation in
11734           ADM (#345708).
11735         
11736 2006-06-22  Edward Hervey  <edward@fluendo.com>
11737
11738         * gst/gstelement.c: (gst_element_pads_activate):
11739         We need to deactivate src pads first and then sink pads.
11740         The reason is the src pads might be blocking while holding the streaming
11741         lock, so we need to deactivate them first so that deactivating the sink
11742         pads doesn't block (since it will require the streaming lock).
11743
11744 2006-06-22  Wim Taymans  <wim@fluendo.com>
11745
11746         * libs/gst/base/gstbasetransform.c:
11747         (gst_base_transform_buffer_alloc):
11748         Forgot to remove two unneeded unrefs.
11749         Simplify a check _is_equal allready checks the obvious case.
11750
11751 2006-06-22  Wim Taymans  <wim@fluendo.com>
11752
11753         * docs/design/part-block.txt:
11754         Some docs about what pad_block should do.
11755
11756 2006-06-22  Wim Taymans  <wim@fluendo.com>
11757
11758         * gst/gstcaps.c: (gst_caps_replace):
11759         Fix crasher when passed NULL. Doc clarification.
11760         Optimize for the trivial case.
11761
11762         * gst/gstpipeline.c: (gst_pipeline_change_state):
11763         Small cleanups.
11764
11765         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11766         Small documentation cleanup.
11767
11768         * libs/gst/base/gstbasetransform.c:
11769         (gst_base_transform_buffer_alloc):
11770         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
11771         is what we need and it avoids a whole lot of redundant 
11772         refcount operations.
11773
11774 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
11775
11776         Patch by: Philip Jägenstedt  <philip at lysator liu se>
11777
11778         * docs/manual/advanced-dataaccess.xml:
11779           Fix 'Embedding static elements' section to use
11780           GST_PLUGIN_DEFINE_STATIC (#345607).
11781
11782 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
11783
11784         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
11785           Attempt to 'fix' spuriously failing test case: it seems like the
11786           timeout of half a second is simply too small when the system is under
11787           load otherwise, and the timeout doesn't really seem to serve any
11788           particular purpose here. Give the pipeline a few seconds to preroll
11789           first, and then give it another half a second to go from PAUSED to
11790           PLAYING and marshal the message into the main thread.
11791
11792 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
11793
11794         * tools/gst-feedback-m.m:
11795           Don't only use unversioned tools, try versioned tools as well
11796           (#345086).
11797
11798 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
11799
11800         * gst/gstbus.c: (gst_bus_class_init):
11801           Fix some typos, make docs more explicit.
11802
11803 2006-06-20  Wim Taymans  <wim@fluendo.com>
11804
11805         * tests/check/gst/gstghostpad.c: (block_callback),
11806         (GST_START_TEST), (gst_ghost_pad_suite):
11807         Added some more ghostpad tests, mainly blocking
11808         and probes.
11809
11810 2006-06-16  Wim Taymans  <wim@fluendo.com>
11811
11812         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11813         (gst_file_sink_close_file), (gst_file_sink_do_seek),
11814         (gst_file_sink_event), (gst_file_sink_render):
11815         * plugins/elements/gstfilesink.h:
11816         Check if we can seek in the file instead of assuming
11817         we always can. Post an error when we are asked to seek in a
11818         non-seekable file (like a fifo). Fixes #343312.
11819         Some cleanups.
11820
11821 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
11822
11823         * tools/gst-launch.1.in:
11824           Un-garble (fourcc) bit in filtered caps section.
11825
11826 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
11827
11828         * docs/manual/advanced-autoplugging.xml:
11829         * docs/manual/basics-helloworld.xml:
11830         * docs/manual/highlevel-components.xml:
11831           Don't leak bus reference in sample code.
11832
11833 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
11834
11835         * autogen.sh:
11836           Add default for new --enable-plugin-docs switch.
11837
11838         * configure.ac:
11839           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
11840           Fixes #344039.
11841
11842         * docs/Makefile.am:
11843           Use new ENABLE_PLUGIN_DOCS conditional.
11844
11845 2006-06-14  Wim Taymans  <wim@fluendo.com>
11846
11847         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
11848         Make it clear with a FIXME and a real define what the #if 0
11849         previously disabled.
11850
11851 2006-06-14  Wim Taymans  <wim@fluendo.com>
11852
11853         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11854         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
11855         * libs/gst/base/gstbasetransform.c:
11856         (gst_base_transform_sink_eventfunc):
11857         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11858         Don't randomly and silently reset a segment when the format 
11859         changes as this is a bug somewhere upstream. Fixes #330379.
11860
11861 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
11862
11863         Patch by: Wouter Paesen  <wouter at kangaroot net>
11864
11865         * libs/gst/controller/gstcontroller.c:
11866         (gst_controlled_property_new):
11867           Fix controlling of float properties (#344849).
11868
11869         * tests/check/libs/controller.c:
11870         (gst_test_mono_source_get_property),
11871         (gst_test_mono_source_set_property),
11872         (gst_test_mono_source_class_init), (GST_START_TEST):
11873           While we're at it, add some float stuff to unit test.
11874
11875 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11876
11877         * docs/README:
11878         * docs/images/gdp-header.svg:
11879           add a gdp image
11880         * docs/libs/Makefile.am:
11881         * docs/libs/gdp-header.png:
11882         * libs/gst/dataprotocol/dataprotocol.c:
11883           add it to the API docs
11884         * docs/manual/intro-motivation.xml:
11885           fix typo
11886
11887 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
11888
11889         * gst/gst.c: (scan_and_update_registry), (init_post):
11890           If the fork()'ed child process can't write the updated registry cache
11891           file to disk for some reason, make it exit with a failure exit code,
11892           so that the parent can then re-scan the plugins itself and update the
11893           registry structures in memory and work with that (rather than failing
11894           when creating elements because seemingly no plugins are available).
11895           Refactor registry scanning code into separate function for this and
11896           also separate fork() and non-fork() code paths. Fixes #344748.
11897
11898 2006-06-13  Wim Taymans  <wim@fluendo.com>
11899
11900         * docs/manual/advanced-dataaccess.xml:
11901         Fix wrong PluginDesc. Fixes #344755.
11902
11903 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
11904
11905         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11906           Fix silly bug that prevented us from creating
11907           ~/.gstreamer-0.10 and writing the registry in one
11908           go (the first call to g_mkstemp() would overwrite the
11909           placeholder in the template string, so the second call
11910           to g_mkstemp() after creating the missing directory
11911           would then error out with 'invalid argument').
11912
11913 2006-06-13  Edward Hervey  <edward@fluendo.com>
11914
11915         * gst/gst.c: (init_post):
11916         Free string.
11917
11918 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11919
11920         * gst/glib-compat-private.h:
11921         * gst/glib-compat.c:
11922         * gst/glib-compat.h:
11923         * gst/gstvalue.c: (gst_value_serialize_flags):
11924           remove GLib 2.6 compatibility code
11925
11926 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
11927
11928         * gst/parse/Makefile.am:
11929           Fix build with 'make -j N' even more (#340016).
11930
11931 2006-06-12  Wim Taymans  <wim@fluendo.com>
11932
11933         * docs/gst/gstreamer-sections.txt:
11934         Fix docs.
11935
11936 2006-06-12  Wim Taymans  <wim@fluendo.com>
11937
11938         * gst/gstsegment.c: (gst_segment_set_duration),
11939         (gst_segment_set_last_stop), (gst_segment_set_seek),
11940         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11941         (gst_segment_to_running_time), (gst_segment_clip):
11942         Use G_UNLIKELY to help the compiler a bit.
11943
11944 2006-06-12  Wim Taymans  <wim@fluendo.com>
11945
11946         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11947
11948         * gst/gstevent.c: (gst_event_get_type):
11949         * gst/gstmessage.c:
11950         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11951         (gst_pad_push):
11952         constify quark registration strings. Fixes #344115
11953         Avoid unneeded type checking is _pad_push() by internally
11954         calling gst_pad_chain_unchecked().
11955
11956 2006-06-12  Wim Taymans  <wim@fluendo.com>
11957
11958         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
11959         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
11960         (gst_subbuffer_finalize), (gst_buffer_create_sub),
11961         (gst_buffer_is_span_fast), (gst_buffer_span):
11962         Init _type for consistency.
11963         Use _FLAGS macro to avoid type check.
11964         Avoid unneeded type checks in subbufer code.
11965
11966 2006-06-12  Wim Taymans  <wim@fluendo.com>
11967
11968         * gst/gst.c: (gst_debug_help):
11969         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
11970         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
11971         (gst_plugin_feature_list_free):
11972         * gst/gstregistry.c: (gst_registry_add_plugin),
11973         (gst_registry_add_feature), (gst_registry_plugin_filter),
11974         (gst_registry_feature_filter), (gst_registry_find_plugin),
11975         (gst_registry_find_feature), (gst_registry_get_plugin_list),
11976         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
11977         * gst/gstregistryxml.c: (load_feature),
11978         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
11979         * gst/gstminiobject.c: (gst_mini_object_unref),
11980         (gst_mini_object_replace), (gst_value_mini_object_free),
11981         (gst_value_mini_object_copy):
11982         Use _CAST macros to avoid unneeded type checking.
11983         Added some more G_UNLIKELY.
11984
11985 2006-06-12  Wim Taymans  <wim@fluendo.com>
11986
11987         * gst/gstbuffer.h:
11988         Avoid unneeded type checking.
11989         API: GST_BUFFER_IS_DISCONT
11990
11991         * gst/gstminiobject.h:
11992         Avoid type check in flag accessor.
11993
11994         * gst/gstelementfactory.h:
11995         * gst/gstplugin.h:
11996         * gst/gstpluginfeature.h:
11997         Add _CAST macros.
11998         API: GST_ELEMENT_FACTORY_CAST
11999         API: GST_PLUGIN_CAST
12000         API: GST_PLUGIN_FEATURE_CAST
12001
12002 2006-06-12  Wim Taymans  <wim@fluendo.com>
12003
12004         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
12005         (gst_object_unref):
12006         Add G_UNLIKELY in type registration.
12007         Avoid type check in _ref/_unref since that is also
12008         done in glib.
12009
12010 2006-06-12  Wim Taymans  <wim@fluendo.com>
12011
12012         * gst/gsterror.c: (gst_g_error_get_type):
12013         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12014         (gst_static_pad_template_get_type):
12015         * gst/gsttaglist.c: (gst_tag_list_get_type):
12016         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
12017         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
12018         * gst/gsturi.c: (gst_uri_handler_get_type):
12019         * gst/gstvalue.c: (gst_date_get_type):
12020         * gst/gstxml.c: (gst_xml_get_type):
12021         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
12022         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12023         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
12024         Add G_UNLIKELY in type registration.
12025
12026 2006-06-12  Wim Taymans  <wim@fluendo.com>
12027
12028         * tools/gst-inspect.c: (print_signal_info):
12029         Properly print enum values.
12030
12031 2006-06-12  Wim Taymans  <wim@fluendo.com>
12032
12033         * gst/gstinfo.c: (gst_debug_set_active),
12034         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
12035         * gst/gstinfo.h:
12036         Add some G_[UN]LIKELY.
12037         Maintain __gst_debug_min to avoid formatting the arguments of
12038         debug messages that will be dropped anyway to avoid a lot of 
12039         overhead from the debugging system.
12040
12041 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12042
12043         * po/POTFILES.in:
12044         * po/POTFILES.skip:
12045           add missing files containing translatable strings, tell intltool about
12046           one exception
12047
12048 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12049
12050         * tests/check/libs/.cvsignore:
12051         add test-binary to ignore list
12052
12053 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12054
12055         * docs/libs/gstreamer-libs-docs.sgml:
12056         reorder (put dp into a chapter) and indent
12057
12058 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12059
12060         * configure.ac:
12061           back to HEAD
12062
12063 === release 0.10.8 ===
12064
12065 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
12066
12067         * configure.ac:
12068           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
12069
12070 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * gst/gst.c: (init_post):
12073           move pid declaration to declaration block
12074
12075 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * gst/gst.c: (init_post):
12078           use _exit() instead of exit() in our forked child; this ensures
12079           that none of the registered exit handlers from whatever is using
12080           GStreamer get executed.  This fixes gnome-mixer-applet failing
12081           to load, because ORBit would shut down.
12082           Spotted by: Edward Hervey  <edward@fluendo.com>
12083           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
12084           Fixes #344474
12085
12086 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12087
12088         * configure.ac:
12089           back to TRUNK
12090
12091 === release 0.10.7 ===
12092
12093 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
12094
12095         * configure.ac:
12096           releasing 0.10.7, "Soepeke, ik zie ou"
12097
12098 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12099
12100         * configure.ac:
12101         * po/af.po:
12102         * po/az.po:
12103         * po/bg.po:
12104         * po/ca.po:
12105         * po/cs.po:
12106         * po/de.po:
12107         * po/en_GB.po:
12108         * po/fr.po:
12109         * po/it.po:
12110         * po/nb.po:
12111         * po/nl.po:
12112         * po/ru.po:
12113         * po/sq.po:
12114         * po/sr.po:
12115         * po/sv.po:
12116         * po/tr.po:
12117         * po/uk.po:
12118         * po/vi.po:
12119         * po/zh_CN.po:
12120         * po/zh_TW.po:
12121         * win32/common/config.h:
12122           0.10.6.2 prerelease
12123
12124 2006-06-07  Wim Taymans  <wim@fluendo.com>
12125
12126         * gst/gstindex.c: (gst_index_gtype_resolver):
12127         * tools/gst-xmlinspect.c: (print_plugin_info):
12128         Fix leak spotted by coverity checker. Fixes #343827
12129         Fix another other leak found by paolo borelli.
12130
12131 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12132
12133         * libs/gst/dataprotocol/dataprotocol.c:
12134         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12135         (gst_dp_version_get_type), (gst_dp_init),
12136         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
12137         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
12138         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
12139         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
12140         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
12141         (gst_dp_packetizer_free):
12142         * libs/gst/dataprotocol/dataprotocol.h:
12143           API: add a GstDPPacketizer object, and create/free functions
12144           API: add GstDPVersion enum
12145           Add 1.0 event function that uses the string serialization
12146           Serialize more useful buffer flags
12147           Fixes #343988
12148
12149 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12150
12151         * tests/check/Makefile.am:
12152         * tests/check/gst/gstabi.c:
12153         * tests/check/gst/struct_ppc64.h:
12154         * tests/check/libs/libsabi.c:
12155         * tests/check/libs/struct_ppc64.h:
12156           add ppc64 structure sizes
12157
12158 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12159
12160         * tests/check/Makefile.am:
12161         * tests/check/gst/gstabi.c:
12162         * tests/check/gst/struct_x86_64.h:
12163         * tests/check/libs/libsabi.c:
12164         * tests/check/libs/struct_x86_64.h:
12165           generate and add structure size lists for x86_64
12166
12167 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12168
12169         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
12170         * libs/gst/check/gstcheck.h:
12171           factor out the method from tests that checks size of structures,
12172           and add code to generate the header containing these sizes
12173         * tests/check/gst/gstabi.c: (GST_START_TEST):
12174         * tests/check/gst/struct_i386.h:
12175         * tests/check/libs/libsabi.c: (GST_START_TEST):
12176         * tests/check/libs/struct_i386.h:
12177           use it
12178
12179 2006-06-06  Michael Smith  <msmith@fluendo.com>
12180
12181         * gst/gstsegment.h:
12182           Don't use c++-style comments, fixes #343929
12183
12184 2006-06-05  Edward Hervey  <edward@fluendo.com>
12185
12186         * gst/gst.c:
12187         plugin_paths is not used if we build without registry support.
12188
12189         * gst/gstsegment.c: (gst_segment_copy): 
12190         _copy() was always returning NULL...
12191
12192 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12193
12194         * libs/gst/dataprotocol/dataprotocol.c:
12195         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12196         (gst_dp_packet_from_event):
12197           factor out CRC code
12198
12199 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12200
12201         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
12202           make sure we unset caps
12203
12204 2006-06-02  Michael Smith  <msmith@fluendo.com>
12205
12206         * libs/gst/check/gstcheck.c: (gst_check_init),
12207         (gst_check_chain_func):
12208         * libs/gst/check/gstcheck.h:
12209           Add a cond/mutex to the check support lib, signal this whenever we
12210           add to the buffers list. This will allow tests to not busy-wait on
12211           the buffer-list.
12212
12213 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12214
12215         * libs/gst/dataprotocol/dataprotocol.c:
12216         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12217         (gst_dp_packet_from_event):
12218           factor out some common header init code
12219
12220 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12221
12222         * docs/libs/gstreamer-libs-sections.txt:
12223         * docs/libs/tmpl/gstdataprotocol.sgml:
12224         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
12225         * libs/gst/dataprotocol/dataprotocol.h:
12226           API: make gst_dp_crc() public
12227
12228 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12229
12230         * plugins/indexers/gstindexers.c: (plugin_init):
12231         conditionally register fileindexer (fixes #343598)
12232
12233 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12234
12235         * gst/gsttagsetter.h:
12236         Can't cast ifaces to a class
12237
12238         * libs/gst/net/gstnetclientclock.h:
12239         * libs/gst/net/gstnettimeprovider.h:
12240         * plugins/elements/gstfakesink.h:
12241         * plugins/elements/gstfakesrc.h:
12242         * plugins/elements/gstfdsink.h:
12243         * plugins/elements/gstfdsrc.h:
12244         * plugins/elements/gstfilesink.h:
12245         * plugins/elements/gstfilesrc.h:
12246         * plugins/elements/gstidentity.h:
12247         * plugins/elements/gstqueue.h:
12248         * plugins/elements/gsttee.h:
12249         * plugins/indexers/gstfileindex.c:
12250         * plugins/indexers/gstmemindex.c:
12251         * tests/old/examples/plugins/example.h:
12252         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
12253
12254 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12255
12256         * libs/gst/dataprotocol/dataprotocol.c:
12257         (gst_dp_header_from_buffer):
12258           make sure we zero the whole ABI-compatible area
12259
12260 2006-06-01  Wim Taymans  <wim@fluendo.com>
12261
12262         Patch by: Alessandro Decina <alessandro at nnva dot org>
12263
12264         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
12265         Make sure the EOS flag is cleared from pads after a flush
12266         or stop. Fixes #343538.
12267
12268         * tests/check/libs/collectpads.c: (GST_START_TEST),
12269         (gst_collect_pads_suite):
12270         Added test for collectpads reusage after EOS.
12271
12272 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
12273
12274         * gst/gst.c:
12275          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
12276         * win32/common/libgstbase.def:
12277          export gst_collect_pads_set_flushing
12278         * win32/common/libgstreamer.def:
12279          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
12280          gst_value_fraction_multiply
12281         * win32/vs6/gst_inspect.dsp:
12282          add a link to intl.lib
12283
12284 2006-05-30  Wim Taymans  <wim@fluendo.com>
12285
12286         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12287         (gst_collect_pads_chain):
12288         Handle the case where a pad is removed from the collection
12289         that could cause the other pads to become collectable.
12290
12291 2006-05-30  Wim Taymans  <wim@fluendo.com>
12292
12293         * gst/gstelement.c:
12294         Clarify the use of _release_request_pad() and
12295         _get_request_pad() a bit better.
12296
12297         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
12298         (gst_adapter_take_buffer):
12299         Fix some doc and comment typos.
12300
12301 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12302
12303         * docs/gst/gstreamer-sections.txt:
12304         * docs/libs/gstreamer-libs-sections.txt:
12305           add declared symbols
12306
12307 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
12308
12309         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12310         Add debug that can be enabled using a #define at the top of the file,
12311         for dumping stats about how late/early we were when waking up from
12312         waiting on the clock.
12313
12314 2006-05-30  Wim Taymans  <wim@fluendo.com>
12315
12316         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
12317         When rebuilding the pad list, don't leak the previous list.
12318
12319 2006-05-30  Wim Taymans  <wim@fluendo.com>
12320
12321         Patch by: Lutz Mueller <lutz at topfrose dot de>
12322
12323         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12324         (gst_base_src_get_query_types), (gst_base_src_update_length):
12325         Publish supported query types.
12326         Update last_stop field in get_range mode so the position
12327         query works. Fixes #342321.
12328
12329 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
12330
12331         * docs/gst/gstreamer-sections.txt:
12332         * gst/gsttaglist.c: (_gst_tag_initialize):
12333         * gst/gsttaglist.h:
12334           API: add GST_TAG_PREVIEW_IMAGE (#343341).
12335
12336 2006-05-30  Wim Taymans  <wim@fluendo.com>
12337
12338         Patch by: Alessandro Decina <alessandro at nnva dot org>
12339
12340         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
12341         Unlock mutex when removing an unknown pad.
12342         Fixes #343334.
12343
12344         * tests/check/Makefile.am:
12345         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
12346         (push_event), (setup), (teardown), (GST_START_TEST),
12347         (gst_collect_pads_suite), (main):
12348         Added collecpads check, disabled for now as check crashes for
12349         some reason.
12350
12351 2006-05-29  Wim Taymans  <wim@fluendo.com>
12352
12353         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
12354         Don't leak pads lists.
12355
12356 2006-05-29  Wim Taymans  <wim@fluendo.com>
12357
12358         * docs/libs/gstreamer-libs-sections.txt:
12359         * libs/gst/base/gstcollectpads.c:
12360         (gst_collect_pads_set_flushing_unlocked),
12361         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12362         (gst_collect_pads_stop):
12363         * libs/gst/base/gstcollectpads.h:
12364         API: gst_collect_pads_set_flushing()
12365         Added api to set the pads to flushing, useful for seeking
12366         code in elements using collectpads.
12367         Clear segment when receiving a flush.
12368
12369 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
12370
12371         * gst/gst.c: (add_path_func), (init_post):
12372           Don't scan registry paths passed via --gst-plugin-path immediately
12373           (will crash, because absolutely nothing is set up and no types are
12374           registered etc.); do this later in init_post(). Fixes #343057.
12375
12376 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12377
12378         * gst/gst.c: (init_post):
12379           if we have fork, fork while reading/rebuilding the registry
12380           so the parent doesn't take the hit of having all plugins loaded
12381           in memory.  Fixes #342777.
12382         * configure.ac:
12383           Check if we have fork()
12384         * win32/common/config.h.in:
12385           no fork() on win32
12386
12387 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
12388
12389         * plugins/elements/gstelements.c:
12390         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12391         (gst_file_src_init), (gst_file_src_set_property),
12392         (gst_file_src_get_property), (gst_file_src_start):
12393         * plugins/elements/gstfilesrc.h:
12394           API: GstFileSrc::use-mmap
12395
12396         Add a use-mmap property to enable easier testing of all code paths.
12397         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
12398         in the absence of gnomevfssrc. (Closes #340501)
12399
12400 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12401
12402         * tools/gst-inspect.c:
12403         Add missing include, removes warning of ngettext not being defined on
12404         some arches.
12405
12406 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
12407
12408         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12409         Handle NULL input and output pointers silently as a failed conversion,
12410         rather than g_warnings.
12411
12412 2006-05-25  Wim Taymans  <wim@fluendo.com>
12413
12414         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
12415         Initialize variable before using. Fixes #342820.
12416
12417 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
12418
12419         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
12420           Fix off-by-one bug that would only allow peeks of N-1 bytes
12421           from the start even if the buffer to typefind on contains
12422           in fact N bytes of data (makes vorbis typefinding from a
12423           vorbis identification header buffer work).
12424
12425         * tests/check/Makefile.am:
12426         * tests/check/libs/.cvsignore:
12427         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
12428         (gst_typefindhelper_suite), (main), (foobar_typefind),
12429         (plugin_init):
12430           Add very basic unit test for gst_type_find_helper_for_buffer()
12431           that checks for the problem fixed above.
12432
12433 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12434
12435         * tools/gst-inspect.c: (print_interfaces),
12436         (print_element_properties_info), (print_element_list), (main):
12437           add more translatable strings
12438
12439 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
12440
12441         Patch by: Julien Moutte  <julien at moutte net>
12442
12443         * docs/gst/gstreamer-sections.txt:
12444           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
12445           
12446         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
12447         (gst_fake_sink_preroll):
12448         * plugins/elements/gstfakesink.h:
12449           API: Add new GstFakeSink::preroll-handoff signal (#337100).
12450
12451 2006-05-23  Wim Taymans  <wim@fluendo.com>
12452
12453         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
12454         * gst/gstpad.h:
12455         Added _CUSTOM error and success GstFlowReturn that can be
12456         used be elements internally. 
12457         Added macro to check for SUCCESS flowreturns.
12458         API: GST_FLOW_CUSTOM_SUCCESS
12459         API: GST_FLOW_CUSTOM_ERROR
12460         API: GST_FLOW_IS_SUCCESS
12461
12462         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
12463         Added check for GstFlowReturn sanity.
12464
12465 2006-05-23  Wim Taymans  <wim@fluendo.com>
12466
12467         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
12468
12469         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12470         (gst_collect_pads_event):
12471         clear/reset segment info in FLUSH_STOP.
12472         Fixes #336929.
12473
12474 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
12475
12476         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
12477         (gst_collect_pads_check_collected):
12478         Flush queued buffer on _stop(), fixes playing again (#342454)
12479
12480 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12481
12482         * tests/check/gst/gststructure.c: (GST_START_TEST),
12483         (gst_structure_suite):
12484           add a test for a complete structure
12485
12486 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
12487
12488         * docs/faq/developing.xml:
12489         * docs/faq/faq.xml:
12490         * docs/faq/troubleshooting.xml:
12491         * docs/faq/using.xml:
12492           Some minor FAQ updates that won't change the fact that
12493           our FAQ is badly structured, full of information hardly
12494           anyone new to GStreamer needs to know and lacking lots
12495           of information people constantly ask for.
12496           
12497 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
12498
12499         * gst/gstpad.c: (gst_pad_set_caps):
12500           Short-circuit gst_pad_set_caps if setting the existing
12501           caps pointer again, and avoid printing debug and 
12502           reffing/unreffing the caps.
12503
12504         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12505           There's actually no need to set the caps before pushing -
12506           the acceptcaps method will handle it anyway.
12507
12508 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
12509
12510         * docs/gst/gstreamer-sections.txt:
12511         * win32/common/libgstreamer.def:
12512         * gst/gstutils.c: (gst_element_seek_simple):
12513         * gst/gstutils.h:
12514           API: add gst_element_seek_simple() (#342238).
12515
12516 2006-05-18  Edward Hervey  <edward@fluendo.com>
12517
12518         * gst/gsttypefind.c: (gst_type_find_get_type):
12519         * gst/gsttypefind.h:
12520         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
12521         registered for GstTypeFind pointers. This allows wrapping the structure
12522         in bindings (i.e. gst-python).
12523
12524 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
12525
12526         * gst/gsttagsetter.c:
12527           Docs additions and fixes (see #339918).
12528
12529 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12530
12531         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12532         The caps intersection algorithm can produce multiple copies of the
12533         caps. Until that is fixed, we need to simplify the result to be
12534         sure whether the allowed caps are fixed or not.
12535
12536         * plugins/elements/gstqueue.c: (gst_queue_init),
12537         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
12538         (gst_queue_push_one):
12539         Proxied buffer alloc should not set the caps on the source pad.
12540         When pushing buffers, we always accept the caps change that triggers.
12541         This prevents negotiation errors caused by caps changing mid-stream 
12542         and then being refused on our source pad (because upstream is now
12543         refusing those caps).
12544
12545 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
12546
12547         * tests/examples/helloworld/helloworld.c: (main):
12548           Must plug audioconvert and audioresample between decoder
12549           and audio sink.
12550
12551 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
12552
12553         * gst/gstregistryxml.c: (read_string), (load_pad_template),
12554         (load_feature), (load_plugin):
12555         Allow empty strings for some of the plugin fields so we don't 
12556         drop valid plugin entries that were written out correctly
12557         (Fixes #341479)
12558
12559 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
12560         
12561         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12562           Use g_remove and g_rename instead of remove and rename that don't 
12563           handle utf8 characters. rename was failing for users who had specific
12564           characters in their name then the registry was built at each 
12565           gstreamer init.
12566         * win32/vs6/gst_inspect.dsp:
12567         * win32/vs6/gst_launch.dsp:
12568         * win32/vs6/libgstbase.dsp:
12569         * win32/vs6/libgstcoreelements.dsp:
12570         * win32/vs6/libgstreamer.dsp:
12571           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
12572           build of libgstreamer and clean unused libraries in projects link 
12573           settings.
12574
12575 2006-05-17  Edward Hervey  <edward@fluendo.com>
12576
12577         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12578         The queue is not responsible for pushing an EOS when receiving a fatal
12579         flow error. It's up to the real element driving the pipeline to do that.
12580
12581 2006-05-16  Edward Hervey  <edward@fluendo.com>
12582
12583         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12584         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
12585         buffer returned a fatal error. It should just send an EOS and stop
12586         its task.
12587         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
12588         when pushing buffers on the queue and will be able to handle the event.
12589
12590 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
12591
12592         * docs/manual/basics-bins.xml:
12593         * docs/manual/basics-init.xml:
12594           Fix typos and minor errors in sample code (#341856).
12595
12596 2006-05-16  Wim Taymans  <wim@fluendo.com>
12597
12598         * docs/design/part-qos.txt:
12599         Fix indexes in formulas to make more sense.
12600
12601 2006-05-15  Wim Taymans  <wim@fluendo.com>
12602
12603         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12604         Don't report POSITION based on clock time if sync is
12605         disabled in a sink.
12606
12607 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
12608
12609         * gst/gstobject.h:
12610           Add cast to make compiler happy - refcount variable was a gint
12611           in GstObject but is a guint in GObject and g_atomic_int_get()
12612           wants a gint *.
12613
12614 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12615
12616         * gst/parse/Makefile.am:
12617           chain commands using &&, which also makes parallel make work
12618
12619 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
12620
12621         * docs/gst/gstreamer-sections.txt:
12622         * gst/gstevent.c:
12623         * gst/gstevent.h:
12624         * gst/gstmessage.h:
12625           Minor docs fixes.
12626
12627 === release 0.10.6 ===
12628
12629 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
12630
12631         * configure.ac:
12632           releasing 0.10.6, "Take the cannoli"
12633
12634 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12635
12636         * tools/gst-launch.c: (print_tag):
12637           Fix use of uninitialized variable in the hypothetical
12638           case that some broken plugin creates a GST_TAG_IMAGE
12639           tag containing a NULL buffer (#341667).
12640
12641 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12642
12643         * tools/gst-launch.c: (print_tag):
12644           Print something more intelligible for image tags when
12645           using the -t switch (#341556).
12646
12647 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12648
12649         * Makefile.am:
12650           updates for win32
12651         * configure.ac:
12652           define GST_MAJORMINOR so we have it available in win32/common/config.h
12653           Possibly remove it from our Makefile.am files later
12654         * win32/common/config.h:
12655         * win32/common/config.h.in:
12656           added GST_MAJORMINOR
12657         * win32/common/gstenumtypes.c: (register_gst_resource_error):
12658         * win32/common/gstversion.h:
12659           updated
12660
12661 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
12662
12663         * win32/MANIFEST:
12664           Update win32 files listing.
12665         * win32/common/gstversion.h:
12666           Add GST_MAJORMINOR definition.
12667         * win32/common/libgstreamer.def:
12668           Add new exported functions.
12669           
12670 2006-05-12  Michael Smith  <msmith@fluendo.com>
12671
12672         * gst/gstplugin.c: (gst_plugin_load_file):
12673           If an so file has no plugin entry point, unload the module.
12674
12675 2006-05-11  Wim Taymans  <wim@fluendo.com>
12676
12677         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
12678         (gst_queue_set_property):
12679         Don't forget to signal the _chain or _loop function 
12680         when the queue size or thresholds change since that might
12681         cause them to make progres again.
12682
12683 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
12684
12685         * gst/gstclock.c: (gst_clock_class_init):
12686         * gst/gstindex.c: (gst_index_class_init):
12687         * gst/gstobject.c: (gst_object_class_init):
12688         * gst/gstpad.c: (gst_pad_class_init):
12689         * gst/gstpipeline.c: (gst_pipeline_class_init):
12690         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12691         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
12692         * libs/gst/base/gstbasetransform.c:
12693         (gst_base_transform_class_init):
12694         * libs/gst/net/gstnetclientclock.c:
12695         (gst_net_client_clock_class_init):
12696         * libs/gst/net/gstnettimeprovider.c:
12697         (gst_net_time_provider_class_init):
12698         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
12699         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12700         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12701         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
12702         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12703         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
12704         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12705         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12706         * plugins/elements/gsttee.c: (gst_tee_class_init):
12707         * tests/old/examples/plugins/example.c: (gst_example_class_init):
12708         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12709           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
12710
12711 2006-05-11  Wim Taymans  <wim@fluendo.com>
12712
12713         * gst/gstbuffer.c: (_gst_buffer_initialize):
12714         Register subbufer along with the buffer type so that
12715         it does not accidentally gets registered from N
12716         different streaming threads in a non threadsafe way.
12717
12718 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
12719
12720         * gst/gstbuffer.h:
12721         * gst/gstevent.h:
12722         * gst/gstmessage.h:
12723           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
12724           gst_event_ref() and gst_message_ref() functions again
12725           (ugly hack, please do fix if there's a better way besides
12726           overrides.txt, which doesn't seem to work).
12727
12728 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12729
12730         * libs/gst/check/gstcheck.h:
12731           add an assert for setting state to avoid lots of repetitive code
12732           in the future
12733
12734 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12735
12736         * gst/gstvalue.c: (gst_value_serialize_flags):
12737           fix a leak if no flags are set
12738         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12739           fix leak in tests
12740
12741 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
12742
12743         * docs/manual/basics-pads.xml:
12744           Expand a bit on caps and filtered links and update
12745           examples that were still using the no longer existing
12746           gst_pad_link_filtered() (#338206).
12747
12748 2006-05-10  Wim Taymans  <wim@fluendo.com>
12749
12750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
12751         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
12752         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12753         (gst_collect_pads_stop):
12754         * libs/gst/base/gstcollectpads.h:
12755         No need to call _stop in _finalize.
12756         Iterate the main pad list in _finalize.
12757         Added some more debug.
12758         Free lists and data in the right order.
12759         Also free data whem doing _remove_pad when stopped for
12760         backward compatibility protect ::started with PAD_LOCK as
12761         well.
12762
12763 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12764
12765         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
12766         (gst_structure_parse_value):
12767           add some comments
12768           rename a method so that it actually says what it does better
12769
12770 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12771
12772         * gst/gstevent.c: (_gst_event_initialize):
12773         * gst/gstformat.c: (_gst_format_initialize):
12774           make sure some essential types used by events are registered
12775           as part of gst_init()
12776         * gst/gstvalue.c: (gst_value_serialize_flags):
12777           if no flags are set, serialize them to a value that represents NONE
12778           so that deserializing them works
12779         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12780           add tests for serialization and deserialization of flags
12781
12782 2006-05-10  Wim Taymans  <wim@fluendo.com>
12783
12784         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
12785         (gst_collect_pads_collect_range), (gst_collect_pads_available),
12786         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
12787         (gst_collect_pads_event), (gst_collect_pads_chain):
12788         Update docs.
12789         Better debug info.
12790         Catch and return errors from the collect function
12791         Refuse data on eos pads.
12792
12793 2006-05-10  Edward Hervey  <edward@fluendo.com>
12794
12795         * gst/gstinterface.h:
12796         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
12797         GInterface type checking.
12798         They were previously using non-defined macros.
12799
12800 2006-05-09  Wim Taymans  <wim@fluendo.com>
12801
12802         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
12803         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
12804         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
12805         (gst_collect_pads_start), (gst_collect_pads_stop),
12806         (gst_collect_pads_peek), (gst_collect_pads_pop),
12807         (gst_collect_pads_available), (gst_collect_pads_read),
12808         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
12809         (gst_collect_pads_is_collected), (gst_collect_pads_event),
12810         (gst_collect_pads_chain):
12811         * libs/gst/base/gstcollectpads.h:
12812         Clean up the mess that is collectpads, add comments and
12813         FIXMEs where needed.
12814         Maintain a separate pad list so we can add pads while
12815         collecting the other ones. For this we need a new separate 
12816         lock (see comics).
12817         Fix memory leak in finalize.
12818         Refactor some weird code to set/unset pad flushing flags, mark
12819         with comments.
12820         Don't crash in _available, _read, _flush when we're EOS.
12821
12822         * tests/check/libs/.cvsignore:
12823         Ignore adapter check binary.
12824
12825 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12826
12827         * gst/gstindex.c: (gst_index_resolver_get_type):
12828         * plugins/elements/gstfakesink.c:
12829         (gst_fake_sink_state_error_get_type):
12830         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12831         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
12832         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
12833           Const-ify GEnumValue arrays.
12834
12835 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12836
12837         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12838           Add test case for flags + gst_buffer_make_metadata_writable().
12839
12840 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12841
12842         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
12843           gst_buffer_make_metadata_writable() should maintain the
12844           buffer flags (those that make sense at least) (see #340859).
12845
12846 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12847
12848         * tools/gst-inspect.c:
12849         * tools/gst-launch.c:
12850         * tools/gst-typefind.c:
12851         * tools/gst-xmlinspect.c:
12852         * tools/tools.h:
12853           Fix up includes: need to include stdlib.h in tools.h for exit().
12854
12855 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
12856
12857         * gst/gsttaglist.c: (_gst_tag_initialize):
12858         * gst/gsttaglist.h:
12859           API: add GST_TAG_IMAGE tag (#340721).
12860
12861 2006-05-08  Wim Taymans  <wim@fluendo.com>
12862
12863         * gst/gstquery.c:
12864         Added some docs for the segment query.
12865
12866 2006-05-08  Wim Taymans  <wim@fluendo.com>
12867
12868         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12869         (gst_base_src_loop), (gst_base_src_change_state):
12870         Always push non-flushing serialized events in the streaming 
12871         thread.
12872
12873 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12874
12875         * gst/gsterror.c: (_gst_stream_errors_init):
12876           Add a missing error string.
12877
12878 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
12879
12880         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
12881         Add applied_rate to the debug
12882
12883         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12884         Copy applied_rate into the outgoing NEWSEGMENT event
12885
12886 2006-05-08  Wim Taymans  <wim@fluendo.com>
12887
12888         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
12889
12890         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
12891         (gst_base_sink_change_state):
12892         call ::unlock before taking the PREROLL_LOCK so we can safely
12893         handle elements that lock in ::render.
12894         Fixes #340174.
12895
12896 2006-05-08  Edward Hervey  <edward@fluendo.com>
12897
12898         * autogen.sh: (CONFIGURE_DEF_OPT): 
12899         Darwin's libtoolize is in fact called glibtoolize.
12900         Adding glibtoolize to the list of accepted names for libtoolize.
12901
12902 2006-05-08  Wim Taymans  <wim@fluendo.com>
12903
12904         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12905         Unify error handling, don't post an error message
12906         when a push() returns EOS but perform our normal EOS
12907         handling code. Fixes #340772.
12908
12909 2006-05-08  Wim Taymans  <wim@fluendo.com>
12910
12911         * docs/design/part-overview.txt:
12912         Make upsteam/downstream concepts more clear.
12913         Give an example of serialized/non-serialized events.
12914
12915         * docs/design/part-events.txt:
12916         * docs/design/part-streams.txt:
12917         Mention applied_rate.
12918
12919         * docs/design/part-trickmodes.txt:
12920         Mention applied rate, flesh out some more use cases.
12921
12922         * gst/gstevent.c: (gst_event_new_new_segment),
12923         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
12924         (gst_event_parse_new_segment_full), (gst_event_new_tag),
12925         (gst_event_parse_tag), (gst_event_new_buffer_size),
12926         (gst_event_parse_buffer_size), (gst_event_new_qos),
12927         (gst_event_parse_qos), (gst_event_parse_seek),
12928         (gst_event_new_navigation):
12929         * gst/gstevent.h:
12930         Add applied_rate field to NEWSEGMENT event.
12931         API: gst_event_new_new_segment_full()
12932         API: gst_event_parse_new_segment_full()
12933
12934         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
12935         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
12936         (gst_segment_to_stream_time), (gst_segment_to_running_time):
12937         * gst/gstsegment.h:
12938         Add applied_rate to GstSegment structure.
12939         Make calculation of stream_time and running_time more correct
12940         wrt rate/applied_rate.
12941         Add some more docs.
12942         API: GstSegment::applied_rate field
12943         API: gst_segment_set_newsegment_full();
12944
12945         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12946         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
12947         * libs/gst/base/gstbasetransform.c:
12948         (gst_base_transform_sink_eventfunc),
12949         (gst_base_transform_handle_buffer):
12950         Parse and use applied_rate in the GstSegment field.
12951
12952         * tests/check/gst/gstevent.c: (GST_START_TEST):
12953         Add check for applied_rate field.
12954
12955         * tests/check/gst/gstsegment.c: (GST_START_TEST),
12956         (gstsegments_suite):
12957         Add more checks for various GstSegment operations.
12958
12959 2006-05-08  Wim Taymans  <wim@fluendo.com>
12960
12961         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12962         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
12963         (gst_base_sink_get_position), (gst_base_sink_change_state):
12964         Store the sync time of the buffer end position separatly in a
12965         new variable eos_rtime so we can properly sync the EOS event.
12966         Fixes #340697.
12967         Fix the docs for gst_base_sink_set_qos_enabled().
12968         Don't set segment start to invalid value when we receive a 
12969         non TIME newsegment.
12970         get closer to handling position reporting for negative rates 
12971         correctly.
12972
12973 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
12974
12975         * gst/gstcaps.c:
12976         Docs about how to print caps for debug purposes.
12977
12978         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
12979         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
12980
12981 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
12982
12983         * gst/gstelement.c:
12984           use full enum names and preprend a '%' in docs strings to make recent 
12985           gtk-doc turn that into a link
12986
12987 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
12988
12989         * docs/manual/basics-bins.xml:
12990         * docs/manual/basics-bus.xml:
12991         * docs/manual/basics-pads.xml:
12992           Some typo fixes, some additions, some clarifications. 
12993
12994 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
12995
12996         * tools/gst-inspect.c: (main):
12997         * tools/gst-launch.c: (main):
12998         * tools/gst-run.c: (main):
12999         * tools/gst-typefind.c: (main):
13000         * tools/gst-xmlinspect.c: (main):
13001           Use the string passed to g_option_context_new() for
13002           what it's intended for - the program name is already
13003           printed elsewhere.
13004
13005 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13006
13007         * tools/Makefile.am:
13008         * tools/gst-inspect.c: (main):
13009         * tools/gst-launch.c: (main):
13010         * tools/gst-xmlinspect.c: (main):
13011         * tools/tools.h:
13012           Add back --version command line option (#340460).
13013
13014         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
13015           Add --version option and use GOption for argument parsing; refactor a
13016           bit; accept directories as arguments and recurse into them; lastly,
13017           print a decent error message when things go wrong.
13018
13019 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13020
13021         * docs/manual/basics-bins.xml:
13022         Don't mention GstThread (#340611)
13023         * docs/manual/basics-elements.xml:
13024         Update link to GObject tutorial (#340607)
13025         
13026 2006-05-05  Wim Taymans  <wim@fluendo.com>
13027
13028         * gst/gstbuffer.h:
13029         * gst/gstminiobject.c:
13030         Add note about refcounting and miniobject/buffer writeability
13031         to docs. Fixes #340604
13032
13033         * gst/gstelementfactory.h:
13034         Added some explanation about @klass.
13035
13036 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13037
13038         * docs/manual/intro-motivation.xml:
13039         * docs/manual/manual.xml:
13040         Avoid CORBA & Bonobo references (#340598)
13041
13042 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13043
13044         * docs/manual/basics-bus.xml:
13045         * docs/manual/basics-pads.xml:
13046         Fix up some inaccuracies and omissions (#340609)
13047         
13048 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13049
13050         * gst/gstghostpad.c:
13051           Small typo in docs (#340625)
13052
13053 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13054
13055         * gst/parse/Makefile.am:
13056           Make 'make -j' proof (see #340698).
13057
13058 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13059
13060         * configure.ac:
13061           Require GLib-2.8 here as well.
13062
13063 2006-05-05  Wim Taymans  <wim@fluendo.com>
13064
13065         * gst/glib-compat.c:
13066         * gst/gst.c: (init_pre):
13067         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13068         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
13069         (gst_object_dispatch_properties_changed):
13070         * gst/gstobject.h:
13071         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13072         * gst/gststructure.c: (gst_structure_set_valist):
13073         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13074         Remove pre glib2.8 compatibility, fixes #340508
13075
13076 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13077
13078         * gst/gsttaglist.h:
13079           Mention type of tags in doc blurbs.
13080
13081 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
13082
13083         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13084         (gst_pad_configure_src), (gst_pad_push):
13085         Restore acceptcaps checking behaviour now that good plugins have
13086         been released.
13087
13088 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13089
13090         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
13091
13092         * gst/gst.c:
13093         * gst/gstbus.c:
13094         * gst/gstclock.c:
13095         * gst/gstevent.c:
13096         * gst/gstformat.c:
13097         * gst/gstmessage.c:
13098         * gst/gstparse.c:
13099         * gst/gstquery.c:
13100         * gst/gstutils.c:
13101         * gst/parse/Makefile.am:
13102         * libs/gst/base/gstadapter.c:
13103         * libs/gst/base/gstbasesrc.c:
13104         * libs/gst/base/gstpushsrc.c:
13105         * libs/gst/base/gsttypefindhelper.c:
13106         * plugins/elements/gstfakesrc.c:
13107         * plugins/elements/gstidentity.c:
13108           Make sure gstprivate.h and/or config.h are
13109           always included first, otherwise some of our
13110           defines (like _FILE_OFFSET_BITS) might be
13111           redefined in the system headers. Fixes build
13112           on opensolaris (#340016).
13113
13114 2006-05-04  Wim Taymans  <wim@fluendo.com>
13115
13116         * docs/libs/gstreamer-libs-sections.txt:
13117         API: addition: gst_adapter_take_buffer()
13118         
13119         * libs/gst/base/gstadapter.c: (gst_adapter_push),
13120         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
13121         (gst_adapter_available_fast):
13122         * libs/gst/base/gstadapter.h:
13123         Prepare for optimizing the hell out of this hugely inefficient
13124         piece of code. 
13125         Added gst_adapter_take_buffer() so we can at least start thinking
13126         about subbuffering and merging.
13127         Added some comments.
13128
13129         * tests/check/Makefile.am:
13130         * tests/check/libs/adapter.c: (GST_START_TEST),
13131         (gst_adapter_suite), (main):
13132         Added GstAdapter check.
13133
13134 2006-05-04  Wim Taymans  <wim@fluendo.com>
13135
13136         * docs/design/part-overview.txt:
13137         Fix some typos, add blurb about buffer flags.
13138
13139 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13140
13141         * docs/libs/gstreamer-libs-sections.txt:
13142           make sure GstBaseTransformClass shows up in the docs
13143         * libs/gst/base/gstbasetransform.c:
13144         * libs/gst/base/gstbasetransform.h:
13145           move docs so gtk-doc picks it up now
13146
13147 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13148
13149         * docs/libs/gstreamer-libs-sections.txt:
13150           add missing symbols to docs
13151
13152 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13153
13154         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13155           back out the newsegment handling change, see #340060 for ongoing
13156           discussion
13157
13158 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
13159
13160         * tools/gst-run.c: (get_candidates), (main):
13161           Fix wrong g_file_test() usage (see glib docs for why it doesn't
13162           work); fix typo in error message. Fixes #340079.
13163
13164 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13165
13166         * common/Makefile.am:
13167         * docs/Makefile.am:
13168         * docs/faq/Makefile.am:
13169         * docs/gst/Makefile.am:
13170         * docs/libs/Makefile.am:
13171         * docs/manual/Makefile.am:
13172         * docs/plugins/Makefile.am:
13173         * docs/pwg/Makefile.am:
13174         * docs/slides/Makefile.am:
13175         * docs/upload.mak:
13176         * common/upload.mak:
13177           move upload.mak to common
13178
13179 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13180
13181         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13182           add more asserts on refcounts
13183           do more cleanup at end of tests
13184           fix test leaks showing in FC5
13185
13186 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
13187
13188         * plugins/elements/gsttypefindelement.c:
13189         (gst_type_find_element_handle_event):
13190         reverted wrong change and reflowed code to avoid others falling into
13191         this trap
13192
13193 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13194
13195         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13196           fix changelog entry about last collectpads change,
13197           add notes about proper fix
13198
13199 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13200
13201         * gst/gst.c:
13202         * gst/gstregistry.c: (gst_registry_scan_path_level),
13203         (gst_registry_scan_path):
13204         * gst/gstregistry.h:
13205           only write out registry if it has changed, fixes #338339
13206
13207 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13208
13209         * gst/gstbin.c:
13210         * gst/gstpipeline.c:
13211         * plugins/elements/gstcapsfilter.c:
13212         * plugins/elements/gstfakesink.c:
13213         * plugins/elements/gstfakesrc.c:
13214         * plugins/elements/gstfdsink.c:
13215         * plugins/elements/gstfdsrc.c:
13216         * plugins/elements/gstfilesink.c:
13217         * plugins/elements/gstfilesrc.c:
13218         * plugins/elements/gstidentity.c:
13219         * plugins/elements/gstqueue.c:
13220         * plugins/elements/gsttee.c:
13221         * plugins/elements/gsttypefindelement.c:
13222         (gst_type_find_element_handle_event):
13223           make GstElementDetails const
13224
13225 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13226
13227         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
13228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13229         (gst_collect_pads_is_collected), (gst_collect_pads_event):
13230           more detailed debug and formatting cleanup,
13231           forward newsegments to src-pad (so that e.g. adder not eats them)
13232
13233 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13234
13235         * gst/gstutils.c: (gst_element_link_pads):
13236           cleanup double code
13237
13238 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13239
13240         * libs/gst/controller/gstcontroller.c:
13241         (gst_controller_sync_values):
13242           some little tuning
13243         * tests/check/libs/controller.c: (GST_START_TEST),
13244         (gst_controller_suite):
13245           a new test for live value handling
13246
13247 2006-04-28  Wim Taymans  <wim@fluendo.com>
13248
13249         * gst/gstutils.c: (push_and_ref):
13250         Added some more docs.
13251         Fix refcount issue whith gst_element_found_tags() helper 
13252         function. Fixes #338335
13253
13254         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13255         Added testsuite for gst_element_found_tags().
13256
13257 2006-04-28  Michael Smith  <msmith@fluendo.com>
13258
13259         * gst/gstvalue.c: (gst_value_serialize_flags):
13260           Avoid NULL dereference when trying to serialize flags containing
13261           invalid values.
13262
13263 2006-04-28  Michael Smith  <msmith@fluendo.com>
13264
13265         * plugins/elements/gsttypefindelement.c:
13266         (gst_type_find_element_handle_event):
13267           If we get EOS before any data is accumulated, don't use
13268           uninitialised local variables.
13269
13270 2006-04-28  Michael Smith  <msmith@fluendo.com>
13271
13272         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13273         (gst_dp_event_from_packet):
13274           Fixes in reading/writing events over GDP (not currently used?) - 
13275           dereferencing NULL events for unknown/invalid event types, memory
13276           leak, and change g_warning to GST_WARNING.
13277
13278 2006-04-28  Wim Taymans  <wim@fluendo.com>
13279
13280         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
13281         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13282         (gst_base_sink_get_position), (gst_base_sink_change_state):
13283         When frame dropping is enabled, we should not ignore frames
13284         without a duration.
13285         Update some documentation.
13286
13287 2006-04-28  Wim Taymans  <wim@fluendo.com>
13288
13289         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13290         (gst_base_src_send_event), (gst_base_src_change_state):
13291         Documentation updates.
13292
13293 2006-04-28  Wim Taymans  <wim@fluendo.com>
13294
13295         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
13296         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
13297         handle EAGAIN, EINTR and short writes correctly. Also clean
13298         up some error cases, avoid a deadlock on bad file descriptors and
13299         use GST_DEBUG_OBJECT.
13300         Fixes #339843
13301
13302 2006-04-28  Wim Taymans  <wim@fluendo.com>
13303
13304         * gst/gstvalue.c: (gst_value_serialize_buffer),
13305         (gst_value_deserialize_buffer):
13306         Don't try to serialize a GValue with a NULL buffer. 
13307         Fixes #339821.
13308
13309         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13310         Added check for serialisation of NULL buffers.
13311
13312 2006-04-28  Wim Taymans  <wim@fluendo.com>
13313
13314         * gst/gstminiobject.c: (gst_value_take_mini_object):
13315         Taking a NULL miniobject is valid, fix the case where
13316         we try to unref the NULL miniobject.
13317
13318 2006-04-28  Wim Taymans  <wim@fluendo.com>
13319
13320         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13321
13322         * gst/gstbin.c: (gst_bin_handle_message_func):
13323         Update docs.
13324         Don't leak bin refcount when a state recalc is
13325         in progress and we delay another one #339808.
13326
13327 2006-04-28  Wim Taymans  <wim@fluendo.com>
13328
13329         * docs/design/part-TODO.txt:
13330         Mention QoS as an ongoing work item.
13331
13332         * docs/design/part-buffering.txt:
13333         New doc about buffering that needs to be fleshed out
13334         at some point.
13335
13336         * docs/design/part-qos.txt:
13337         More QoS policy for decoders/demuxers/transforms
13338
13339         * docs/design/part-trickmodes.txt:
13340         Small update.
13341
13342 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13343
13344         * configure.ac:
13345           back to HEAD
13346
13347 === release 0.10.5 ===
13348
13349 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
13350
13351         * configure.ac:
13352           releasing 0.10.5, "Fogo"
13353
13354 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13355
13356         patch by: Wim Taymans
13357
13358         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13359         (gst_pad_configure_src), (gst_pad_push):
13360         * gst/gstpipeline.c: (gst_pipeline_init):
13361           Fix internal data flow errors.  Fixes #338711.
13362
13363 2006-04-12  Wim Taymans  <wim@fluendo.com>
13364
13365         * tests/check/gst/gstelement.c: (GST_START_TEST):
13366         Don't leak the factory.
13367
13368 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13369
13370         * configure.ac:
13371         * win32/common/config.h:
13372           prerelease
13373
13374 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
13375
13376         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13377         (gst_controller_unset_all):
13378           Free allocated GstTimedValues when freeing list nodes.
13379           Should fix leaks 'make check-valgrind' complains about.
13380
13381         * win32/common/libgstcontroller.def:
13382           Add gst_controller_unset_all.
13383
13384 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
13385
13386         * docs/libs/gstreamer-libs-sections.txt:
13387         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13388         (gst_controller_unset_all):
13389         * libs/gst/controller/gstcontroller.h:
13390         API: Added new method gst_controller_unset_all()
13391         fixed gst_controller_unset()
13392         * tests/check/libs/controller.c: (GST_START_TEST),
13393         (gst_controller_suite):
13394         Added two testcases for new and fixed method
13395
13396 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
13397
13398         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
13399           MSG_DONTWAIT is not defined on Cygwin, so work
13400           around that (fixes #317048).
13401           
13402 2006-04-11  Wim Taymans  <wim@fluendo.com>
13403
13404         * gst/gstelementfactory.c: (gst_element_register),
13405         (gst_element_factory_create), (gst_element_factory_make):
13406         Some cleanups.
13407         Fixed a FIXME.
13408         Updated docs (Fixes #131079)
13409
13410         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13411         Small cleanups.
13412
13413         * tests/check/gst/gstelement.c: (GST_START_TEST),
13414         (gst_element_suite):
13415         Added testcase for elementfactory class field.
13416
13417 2006-04-10  Wim Taymans  <wim@fluendo.com>
13418
13419         * gst/gstsegment.c:
13420         Added some more docs.
13421
13422         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
13423         (gst_base_sink_reset_qos):
13424         Calculate more accurate rate values.
13425
13426 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
13427
13428         * gst/gst_private.h:
13429           add a new #ifdef to use __declspec(dllimport) only for
13430           other modules and not for gstreamer core
13431         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
13432           use gst_guint64_to_gdouble for conversion
13433         * win32/common/libgstreamer.def:
13434           add new exported functions
13435         * win32/vs6/gst_inspect.dsp:
13436         * win32/vs6/gst_launch.dsp:
13437         * win32/vs6/libgstbase.dsp:
13438         * win32/vs6/libgstcontroller.dsp:
13439         * win32/vs6/libgstcoreelements.dsp:
13440         * win32/vs6/libgstdataprotocol.dsp:
13441         * win32/vs6/libgstnet.dsp:
13442           update project files
13443
13444 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
13445
13446         * gst/gstbuffer.c: (gst_subbuffer_class_init):
13447         * gst/gstclock.c: (gst_clock_class_init):
13448         * gst/gstelement.c: (gst_element_class_init):
13449         * gst/gstindex.c: (gst_index_class_init):
13450         * gst/gstindexfactory.c: (gst_index_factory_class_init):
13451         * gst/gstobject.c: (gst_object_class_init),
13452         (gst_signal_object_class_init):
13453         * gst/gstpad.c: (gst_pad_class_init):
13454         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
13455         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
13456         * gst/gstregistry.c: (gst_registry_class_init):
13457         * gst/gstsystemclock.c: (gst_system_clock_class_init):
13458         * gst/gsttask.c: (gst_task_class_init):
13459         * gst/gstxml.c: (gst_xml_class_init):
13460         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13461         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13462         (gst_base_src_loop):
13463         * libs/gst/controller/gstcontroller.c:/
13464         (_gst_controller_class_init):
13465         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13466         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
13467         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
13468         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13469         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13470         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
13471
13472 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
13473
13474         * gst/gstpad.c: (gst_pad_link):
13475           Must set peer pads before calling the link function, otherwise
13476           a task started from a link function might get a flow-not-linked
13477           result when trying to push because the other thread where the
13478           linking happens hasn't had a chance to set the peers yet. This
13479           might happen for example when a queue gets linked to a downstream
13480           element, as queue starts a streaming task when its source pad
13481           gets linked. Happens in real life when playing back flac/musepack
13482           files in playbin (#332390).
13483           
13484 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
13485
13486         * gst/gstindex.h:
13487         * gst/gstxml.h:
13488         * libs/gst/base/gstadapter.h:
13489         * libs/gst/base/gstbasesink.h:
13490         * libs/gst/base/gstbasesrc.h:
13491         * libs/gst/base/gstbasetransform.h:
13492         * libs/gst/base/gstcollectpads.h:
13493         * libs/gst/base/gstpushsrc.h:
13494         Fix broken GObject macros
13495
13496 2006-04-07  Wim Taymans  <wim@fluendo.com>
13497
13498         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13499         Initialize start and stop times, thanks valgrind.
13500
13501 2006-04-07  Wim Taymans  <wim@fluendo.com>
13502
13503         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13504         Be a bit nicer to badly behaving upstream elements that expect
13505         us to deal with non TIME segments and timestamps (such as fakesrc
13506         in the testsuite).
13507
13508 2006-04-07  Wim Taymans  <wim@fluendo.com>
13509
13510         * gst/gstbus.c:
13511         Small documentation clarification about the signal watch.
13512
13513         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13514         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
13515         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13516         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13517         (gst_base_sink_get_position_last),
13518         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
13519         Convert and store timestamps in stream time and running time, the
13520         raw timestamps are not useful, also document this better.
13521         Use different window sizes for good and bad QoS observations so
13522         we react to badness a little quicker.
13523         Keep track of the amount of rendered and dropped buffers.
13524         Send QoS timestamps in running time.
13525
13526         * libs/gst/base/gstbasetransform.c:
13527         (gst_base_transform_sink_eventfunc),
13528         (gst_base_transform_handle_buffer):
13529         Compare QoS timestamps against running time.
13530
13531 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
13532
13533         * gst/gstpad.c:
13534           Typo fixes in docs.
13535
13536 2006-04-06  Michael Smith  <msmith@fluendo.com>
13537
13538         * gst/gstpad.c: (gst_pad_set_property):
13539           Use g_value_get_object() instead of g_value_dup_gst_object(),
13540           to avoid double-reffing the pad template (which we then sink,
13541           so this worked previously if (and only if) the pad template
13542           was floating.
13543
13544         * gst/gstpadtemplate.c: (gst_pad_template_init),
13545         (gst_pad_template_pad_created):
13546           Never return floating references to pad templates, create
13547           them as initially-sunken.
13548
13549           Document an extra function (and make this stop sinking our
13550           pad template, since that is now guaranteed to do nothing,
13551           since we created it sunken).
13552
13553         * gst/gstghostpad.c:
13554           Fix docs typo.
13555
13556 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
13557
13558         * gst/gstinfo.c: (__gst_in_valgrind):
13559           Add some newlines.
13560
13561         * plugins/elements/gsttypefindelement.c:
13562         (gst_type_find_element_chain):
13563           Don't leak buffer caps.
13564
13565 2006-04-06  Michael Smith  <msmith@fluendo.com>
13566
13567         * gst/parse/grammar.y:
13568           Fix a leak in parse-launch for any source-or-sink named element 
13569           references used.
13570
13571         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13572           Unref the pipeline if it exists after we've failed parsing.
13573
13574 2006-04-05  Michael Smith  <msmith@fluendo.com>
13575
13576         * gst/gstpipeline.c: (gst_pipeline_init):
13577           When we create a pipeline bus, initially create it in flushing mode.
13578           Fixes leaks in at least one test, and makes a new pipeline work the
13579           same as one that has gone to READY and then back to NULL.
13580
13581         * gst/gstelement.c:
13582           Typo fix in docs.
13583
13584 2006-04-05  Michael Smith  <msmith@fluendo.com>
13585
13586         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13587           Unref a pad we reffed.
13588         * tests/check/gst/gstutils.c: (GST_START_TEST):
13589           Unref bins
13590
13591 2006-04-05  Michael Smith  <msmith@fluendo.com>
13592
13593         * gst/gstquery.c: (gst_query_set_formats),
13594         (gst_query_set_formatsv):
13595           Fix leaking GValues in queries, as shown by valgrind/testsuite.
13596
13597 2006-04-05  Michael Smith  <msmith@fluendo.com>
13598
13599         * tests/check/generic/sinks.c: (GST_START_TEST):
13600           Fix a variety of memleaks in sinks check, which are only sometimes 
13601           shown by running the tests under valgrind (weird?).
13602
13603 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
13604
13605         * docs/version.entities.in:
13606           Fix the substituted entity name after thomas' changes on the
13607           weekend.
13608
13609 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
13610
13611         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
13612         VALGRIND_PRINTF
13613         
13614 2006-04-05  Andy Wingo  <wingo@pobox.com>
13615
13616         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
13617
13618         * libs/gst/base/gstbasetransform.c
13619         (gst_base_transform_sink_eventfunc): When resetting our segment on
13620         FLUSH_STOP, also update the flag saying we haven't seen a
13621         newsegment.
13622
13623 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13624
13625         Patch by: Paolo Borelli  <pborelli at katamail dot com>
13626
13627         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13628         (gst_plugin_check_license):
13629           minor clean-ups: G_DEFINE_TYPE already takes care of the
13630           parent_class stuff, no need to do it twice. Mark array of
13631           license strings as constant. (#337103)
13632           
13633 2006-04-04  Michael Smith  <msmith@fluendo.com>
13634
13635         * tools/gst-inspect.c: (print_element_list):
13636           Free the right plugin list; fixes a memory leak.
13637
13638 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13639
13640         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
13641
13642         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13643           Don't error out on empty buffers (#336945).
13644           
13645 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
13646
13647         * docs/libs/gstreamer-libs-sections.txt:
13648         * gst/gsttaglist.c:
13649         * libs/gst/base/gstbasesink.c:
13650         * libs/gst/base/gstbasesink.h:
13651         * libs/gst/base/gstbasesrc.c:
13652         * libs/gst/base/gstbasesrc.h:
13653           Documentation updates. Make BaseSink and BaseSrc docs contain the
13654           class structure so that people can actually see the prototypes for
13655           virtual functions they're supposed to be overriding.
13656
13657 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
13658
13659         * plugins/elements/gsttypefindelement.c:
13660         (gst_type_find_element_chain):
13661           More debug info; when skipping typefinding, send cached
13662           events in all cases.
13663
13664 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13665
13666         * configure.ac:
13667           use new AS_VERSION and AS_NANO macros
13668         * gst/gst-i18n-lib.h:
13669         * gst/gst.c:
13670         * gst/gsterror.c:
13671         * gst/gstversion.h.in:
13672         * win32/common/config.h:
13673         * win32/common/config.h.in:
13674           update accordingly
13675
13676 2006-03-31  Michael Smith  <msmith@fluendo.com>
13677
13678         * plugins/elements/gsttypefindelement.c:
13679         (gst_type_find_element_chain):
13680           Do not typefind content if the buffers already have caps.
13681           Neccesary for icydemux (#333657), and the right thing to do anyway.
13682
13683 2006-03-30  Wim Taymans  <wim@fluendo.com>
13684
13685         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13686         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
13687         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
13688         (gst_base_sink_record_qos_observation),
13689         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13690         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13691         (gst_base_sink_change_state):
13692         More QoS measurements as described in the design doc.
13693         Get rid of ringbuffer with observations, running average is
13694         more simple and equally good.
13695         Calculates valid proportion now.
13696         Added beginning of flood measurement.
13697
13698 2006-03-29  Wim Taymans  <wim@fluendo.com>
13699
13700         * docs/design/part-qos.txt:
13701         * gst/gstclock.c:
13702         Small documentation updates and additions.
13703
13704 2006-03-29  Wim Taymans  <wim@fluendo.com>
13705
13706         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13707         (gst_base_src_send_event), (gst_base_src_loop),
13708         (gst_base_src_change_state):
13709         Perform the EOS logic when we reach the segment stop position.
13710         Fix compilation on gcc4.1
13711
13712 2006-03-29  Wim Taymans  <wim@fluendo.com>
13713
13714         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
13715
13716         * plugins/elements/gstqueue.c: (gst_queue_init),
13717         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13718         (gst_queue_set_property):
13719         * plugins/elements/gstqueue.h:
13720         In queue, when EOS is received, if minimum threshold > max_size -
13721         current_level, there is chance that queue blocks forever in conditional
13722         item del wait. This is because the queue is not emptied completely due
13723         to minimum threshold.  Here is another approach. Instead of setting
13724         cur_levels to max in EOS, just zero all minimum threshold levels. This
13725         should make sure that queue gives out all data. When going to READY
13726         (stop) state, just reset the original minimum threshold levels.
13727         Fixes #336336.
13728
13729 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
13730
13731         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
13732         (gst_type_find_element_handle_event),
13733         (gst_type_find_element_send_cached_events),
13734         (gst_type_find_element_change_state):
13735         * plugins/elements/gsttypefindelement.h:
13736           When typefinding is done in push mode, we should cache
13737           events we receive during typefinding instead of just
13738           dropping them (e.g. newsegment, custom events from
13739           dvdreadsrc etc.) and then send them out once we've
13740           determined the type of the stream (and decodebin
13741           has had a chance to plug in a decoder/demuxer).
13742           
13743 2006-03-27  Wim Taymans  <wim@fluendo.com>
13744
13745         * docs/design/part-qos.txt:
13746         First QoS ideas.
13747
13748 2006-03-27  Wim Taymans  <wim@fluendo.com>
13749
13750         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
13751
13752         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13753         (gst_base_src_send_event), (gst_base_src_change_state):
13754         Handle element seek correctly when we are streaming.
13755         Fixes #326998.
13756
13757 2006-03-24  Michael Smith  <msmith@fluendo.com>
13758
13759         * docs/faq/gst-uninstalled:
13760           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
13761           allow you to correctly run intalled applications built against old 
13762           core, using plugins that require updated core (e.g. running
13763           installed totem against a full uninstalled gstreamer stack)
13764
13765 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
13766
13767         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
13768         more debug details
13769
13770 2006-03-24  Wim Taymans  <wim@fluendo.com>
13771
13772         * docs/gst/gstreamer-sections.txt:
13773         Rearrange the order of the methods so that related methods
13774         are grouped together in sections.
13775
13776 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
13777
13778         * gst/gstelement.c:
13779           Little clarification in the docs
13780
13781 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
13782
13783         * docs/README:
13784         formatting fix
13785         * plugins/elements/gstidentity.c:
13786         * plugins/elements/gstqueue.c:
13787         * plugins/elements/gsttee.c:
13788         * plugins/elements/gsttypefindelement.c:
13789         GST_ELEMENT_DETAILS formatting
13790
13791 2006-03-24  Wim Taymans  <wim@fluendo.com>
13792
13793         * libs/gst/base/gstbasesink.h:
13794         Only add fields, not insert or we break ABI.
13795
13796 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
13797
13798         * win32/common/libgstbase.def:
13799         * win32/common/libgstreamer.def:
13800           Update, add recently added functions.
13801
13802 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
13803
13804         * docs/gst/gstreamer-sections.txt:
13805         * gst/gstutils.c: (gst_pad_query_peer_position),
13806         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
13807         * gst/gstutils.h:
13808           API: add some new utility functions:
13809            - gst_pad_query_peer_position()
13810            - gst_pad_query_peer_duration()
13811            - gst_pad_query_peer_convert()
13812           
13813 2006-03-23  Wim Taymans  <wim@fluendo.com>
13814
13815         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13816         (gst_base_sink_init), (gst_base_sink_finalize),
13817         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
13818         (gst_base_sink_set_property), (gst_base_sink_get_property),
13819         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
13820         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
13821         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
13822         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13823         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13824         (gst_base_sink_preroll_object), (gst_base_sink_event),
13825         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
13826         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
13827         (gst_base_sink_query), (gst_base_sink_change_state):
13828         Decouple max-lateness and the fact that QoS messages are generated
13829         with a new property (qos).
13830         added API: GstBaseSink::async_play()
13831         Add vmethod so subclasses can be notified of ASYNC playing
13832         state changes.
13833         Collect timestamp start and stop to report better current
13834         position in EOS/PLAYING/PAUSED/READY/NULL.
13835         Refactor QoS/frame dropping and other measurements.
13836         API: GstBaseSrc::qos
13837         Fixes #326311
13838
13839         * libs/gst/base/gstbasesink.h:
13840         Added Private struct.
13841         API: gst_base_sink_set_qos_enabled()
13842         API: gst_base_sink_is_qos_enabled()
13843
13844 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
13845
13846         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13847           If compiling against GLib-2.8 or newer, try to read the
13848           registry file using GMappedFile first before falling back
13849           to fopen() + fread() (#332151).
13850
13851 2006-03-22  Wim Taymans  <wim@fluendo.com>
13852
13853         * gst/gstinfo.c: (gst_debug_set_active),
13854         (gst_debug_category_set_threshold):
13855         Disable debugging unless explicitly activated.
13856         Fixes #335480.
13857
13858 2006-03-22  Wim Taymans  <wim@fluendo.com>
13859
13860         * gst/gstelement.c: (gst_element_set_locked_state),
13861         (gst_element_dispose):
13862         Cleanup the error case.
13863
13864         * gst/gstobject.c: (gst_object_dispose):
13865         print a critical when some object was disposed with
13866         a parent, also revive the object since it might
13867         crash the parent.
13868
13869 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
13870
13871         * tools/gst-launch.1.in:
13872           Fix another typo.
13873
13874 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13875
13876         * configure.ac:
13877         * tests/check/Makefile.am:
13878           disable some tests when we don't have a registry
13879         * tests/check/gst/gstutils.c: (gst_utils_suite):
13880           don't build the part that needs parsing
13881
13882 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13883
13884         * gst/Makefile.am
13885         * tests/examples/Makefile.am:
13886           fix --disable-parse build
13887
13888 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13889
13890         * tools/gst-feedback.1.in:
13891           Fix typo: s/feeback/feedback/ (#133494).
13892
13893 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13894
13895         * tools/Makefile.am:
13896         * tools/gst-launch.1.in:
13897           Add FILES section and correct entry about GST_REGISTRY_PATH
13898           environment variable (#133495; #133494).
13899
13900 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13901
13902         * tools/Makefile.am:
13903         * tools/gst-md5sum.1.in:
13904         * tools/gst-md5sum.c:
13905           Remove gst-md5sum and man page (the md5sink element
13906           required was removed ages ago)
13907
13908 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13909
13910         * gst/gststructure.c: (gst_structure_id_set_value):
13911           Make sure that string fields in structures/taglists
13912           contain valid UTF-8 - we don't want to pass rubbish to
13913           applications because of a buggy plugin (cp. #334167).
13914
13915 2006-03-21  Edward Hervey  <edward@fluendo.com>
13916
13917         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13918         (gst_bin_handle_message_func):
13919         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
13920         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
13921         (gst_element_set_bus_func):
13922         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
13923         * gst/gstminiobject.c: (gst_value_set_mini_object),
13924         (gst_value_take_mini_object):
13925         * gst/gstpad.c: (gst_pad_set_pad_template):
13926         * gst/gstpipeline.c: (gst_pipeline_dispose),
13927         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13928         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
13929         (gst_collect_pads_chain):
13930         * libs/gst/net/gstnettimeprovider.c:
13931         (gst_net_time_provider_set_property):
13932         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
13933         It's in fact all issues with gst_*object_replace().
13934
13935 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
13936
13937         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
13938         
13939         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13940         * pkgconfig/gstreamer-check.pc.in:
13941           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
13942
13943 2006-03-21  Edward Hervey  <edward@fluendo.com>
13944
13945         * gst/gstbuffer.h:
13946         * gst/gstevent.h:
13947         * gst/gstmessage.h:
13948         gst_[buffer|event|message]_ref() macros are replaced by a static
13949         inline functions because gcc-4.1 will about if the return value
13950         isn't used.
13951         * tests/check/gst/gstevent.c: (event_probe):
13952         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
13953
13954 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
13955
13956         * gst/gstutils.h:
13957         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
13958         the type' case. (Closes: #335195 for now). In the future, when we
13959         depend on GLib 2.10, we could also intern the type name using
13960         g_intern_static_string()
13961
13962 2006-03-20  Wim Taymans  <wim@fluendo.com>
13963
13964         * gst/gstbin.c: (gst_bin_handle_message_func),
13965         (bin_query_max_init), (bin_query_position_fold),
13966         (bin_query_position_done), (gst_bin_query):
13967         Position query should also take max of all streams.
13968
13969 2006-03-20  Wim Taymans  <wim@fluendo.com>
13970
13971         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13972         (gst_fake_src_finalize):
13973         Fix leaks in fakesrc.
13974
13975         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13976         Fix leaks in the testcase.
13977
13978 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
13979
13980         * gst/gst_private.h:
13981           add win32 specific import decoration(__declspec(dllimport)) 
13982           for all extern GstDebugCategory * variables
13983         * win32/common/libgstbase.def:
13984         * win32/common/libgstcontroller.def:
13985         * win32/common/libgstreamer.def:
13986           Add some exports, remove empty lines
13987         * win32/common/libgstdataprotocol.def:
13988         * win32/common/libgstdataprotocol.dsp:
13989         * win32/common/libgstnet.def:
13990         * win32/common/libgstnet.dsp:
13991           new project files and exportation files added
13992         
13993 2006-03-19  Wim Taymans  <wim@fluendo.com>
13994
13995         * tests/check/libs/basesrc.c: (eos_event_counter):
13996         Use proper return value for probe.
13997
13998 2006-03-17  Wim Taymans  <wim@fluendo.com>
13999
14000         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14001         (gst_pad_push):
14002         Don't leak buffers, caps and pads on negotiation errors.
14003
14004 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
14005
14006         * docs/faq/cvs.xml:
14007         * docs/faq/dependencies.xml:
14008         * docs/faq/developing.xml:
14009         * docs/faq/faq.xml:
14010         * docs/faq/general.xml:
14011         * docs/faq/getting.xml:
14012         * docs/faq/legal.xml:
14013         * docs/faq/troubleshooting.xml:
14014         * docs/faq/using.xml:
14015         Faq review and update.
14016
14017 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
14018
14019         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14020         (gst_pad_push):
14021         Don't pound the cpu to pieces by checking get_caps when accept_caps
14022         is called with the same caps as the pad already has.
14023         Use GST_DEBUG_OBJECT when outputting caps change information.
14024
14025 2006-03-15  Wim Taymans  <wim@fluendo.com>
14026
14027         * gst/gstclock.c: (gst_clock_class_init):
14028         Fix docs.
14029
14030 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
14031
14032         * gst/gstbuffer.h:
14033         Documentation fix.
14034
14035         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
14036         (gst_pad_accept_caps), (gst_pad_configure_sink),
14037         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
14038         Make the default acceptcaps behaviour be to check the requested 
14039         caps against the gst_pad_get_caps output. 
14040
14041         Ensure that gst_pad_accept_caps is used to check caps when a pad
14042         doesn't have a setcaps function, so that pads automatically refuse 
14043         caps that they don't allow in their pad template. (Fixes #332986)
14044
14045         When a buffer with attached caps is pushed, ensure that the source 
14046         pad receives those caps even if the element didn't call
14047         gst_pad_set_caps first.
14048
14049 2006-03-15  Wim Taymans  <wim@fluendo.com>
14050
14051         * libs/gst/base/gstadapter.c:
14052         Add some docs.
14053
14054 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
14055
14056         * win32/common/libgstbase.def:
14057         * win32/common/libgstcontroller.def:
14058         * win32/common/libgstreamer.def:
14059           Add a whole bunch of missing functions (#334434).
14060
14061 2006-03-14  Wim Taymans  <wim@fluendo.com>
14062
14063         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14064         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
14065         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
14066         Better debug info when we receive a segment event.
14067         Reorganize a bit so we can pass the get_times() results around.
14068         Use the segment format when calculating the running time.
14069         Don't do QoS is sync is disabled or we have no clock or the
14070         element does not want us to sync to the clock.
14071         Don't drop buffers if QoS is disabled for now.
14072
14073 2006-03-14  Wim Taymans  <wim@fluendo.com>
14074
14075         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
14076         Marked the stats property as unimplemented so people don't get
14077         wild ideas.
14078         Add debug message when regression goes wrong.
14079         Added some more docs.
14080
14081 2006-03-14  Wim Taymans  <wim@fluendo.com>
14082
14083         * gst/gstsegment.c: (gst_segment_to_stream_time):
14084         Return correct return type in case of errors.
14085
14086 2006-03-14  Wim Taymans  <wim@fluendo.com>
14087
14088         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
14089           Don't segfault on invalid formats.
14090
14091 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14092
14093         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14094           Can't use gst_segment_to_running_time() when the segment
14095           is not in GST_TIME_FORMAT (like with filesink, for example).
14096           Stops flac encoding pipelines from spewing critical warnings
14097           at EOS (#331248).
14098           
14099 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14100
14101         * gst/gstpipeline.c: (gst_pipeline_class_init):
14102           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
14103
14104         * plugins/elements/gsttypefindelement.c:
14105         (gst_type_find_element_handle_event):
14106           Don't try to typefind empty streams.
14107
14108 2006-03-14  Wim Taymans  <wim@fluendo.com>
14109
14110         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
14111         (gst_base_sink_do_qos):
14112         Separate QoS calculation.
14113         Only drop buffers when lateness is bigger than the 
14114         duration of the buffer.
14115
14116 2006-03-13  Wim Taymans  <wim@fluendo.com>
14117
14118         * gst/gstpipeline.c: (gst_pipeline_set_property),
14119         (gst_pipeline_get_property), (do_pipeline_seek),
14120         (gst_pipeline_change_state), (gst_pipeline_set_delay),
14121         (gst_pipeline_get_delay):
14122         Don't deadlock when reading properties.
14123
14124 2006-03-13  Wim Taymans  <wim@fluendo.com>
14125
14126         * libs/gst/base/gstbasetransform.c:
14127         (gst_base_transform_class_init), (gst_base_transform_init),
14128         (gst_base_transform_sink_event),
14129         (gst_base_transform_sink_eventfunc),
14130         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
14131         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
14132         (gst_base_transform_set_property),
14133         (gst_base_transform_get_property),
14134         (gst_base_transform_change_state), (gst_base_transform_update_qos),
14135         (gst_base_transform_set_qos_enabled),
14136         (gst_base_transform_is_qos_enabled):
14137         * libs/gst/base/gstbasetransform.h:
14138         Make basetransform virtual method for src events too.
14139         Handle QOS in basetransform.
14140         API: gst_base_transform_update_qos()
14141         API: gst_base_transform_set_qos_enabled()
14142         API: gst_base_transform_is_qos_enabled()
14143
14144 2006-03-13  Wim Taymans  <wim@fluendo.com>
14145
14146         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14147         (gst_base_sink_do_sync):
14148         Small cleanups.
14149         Use QOS debug category.
14150
14151 2006-03-13  Wim Taymans  <wim@fluendo.com>
14152
14153         * plugins/elements/gstqueue.c:
14154         Very small doc update.
14155
14156 2006-03-13  Wim Taymans  <wim@fluendo.com>
14157
14158         * gst/gst_private.h:
14159         * gst/gstinfo.c: (_gst_debug_init):
14160         Added QOS debug category
14161
14162 2006-03-13  Wim Taymans  <wim@fluendo.com>
14163
14164         * docs/gst/gstreamer-sections.txt:
14165         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
14166         * gst/gstbin.h:
14167         * gst/gstbus.c: (gst_bus_class_init):
14168         * gst/gstbus.h:
14169         * gst/gstclock.c:
14170         * gst/gstelement.c: (gst_element_set_locked_state):
14171         * gst/gstsegment.c:
14172         Documentation updates.
14173
14174         * gst/gstpipeline.c: (gst_pipeline_get_type),
14175         (gst_pipeline_class_init), (gst_pipeline_init),
14176         (gst_pipeline_dispose), (gst_pipeline_set_property),
14177         (gst_pipeline_get_property), (do_pipeline_seek),
14178         (gst_pipeline_send_event), (gst_pipeline_change_state),
14179         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
14180         (gst_pipeline_get_delay):
14181         * gst/gstpipeline.h:
14182         Added methods for setting the delay.
14183         API: gst_pipeline_set_delay()
14184         API: gst_pipeline_get_delay()
14185         Add pipeline debug category
14186         Various cleanups.
14187         Updated docs.
14188         Don't reset stream time when seek failed.
14189
14190 2006-03-13  Wim Taymans  <wim@fluendo.com>
14191
14192         * docs/design/draft-klass.txt:
14193         * docs/design/part-clocks.txt:
14194         * docs/design/part-events.txt:
14195         * docs/design/part-gstbin.txt:
14196         * docs/design/part-gstpipeline.txt:
14197         * docs/design/part-messages.txt:
14198         * docs/design/part-negotiation.txt:
14199         * docs/design/part-overview.txt:
14200         * docs/design/part-preroll.txt:
14201         * docs/design/part-seeking.txt:
14202         * docs/design/part-states.txt:
14203         * docs/design/part-streams.txt:
14204         Documentation updates.
14205
14206 2006-03-12  Julien MOUTTE  <julien@moutte.net>
14207
14208         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
14209         us to leak strings...
14210
14211 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14212
14213         * libs/gst/net/gstnettimeprovider.c:
14214           fix docs
14215         * win32/common/config.h:
14216           update
14217
14218 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
14219
14220         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
14221
14222         * configure.ac:
14223           Don't check for libgnomeui (leftover from old examples
14224           that aren't built or disted any longer) (#334303).
14225           
14226 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
14227
14228         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
14229         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14230           Emit RESOURCE_NO_SPACE_LEFT error here as well when
14231           there's no space left on the device.
14232
14233 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
14234
14235         * gst/gstclock.h:
14236           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
14237           to cast the input to GstClockTime before comparing with
14238           another GstClockTime value.
14239
14240 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14241
14242         * configure.ac:
14243           back to trunk
14244
14245 === release 0.10.4 ===
14246
14247 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
14248
14249         * configure.ac:
14250           releasing 0.10.4, "Light"
14251
14252 2006-03-10  Michael Smith  <msmith@fluendo.com>
14253
14254         * libs/gst/dataprotocol/dataprotocol.c:
14255           Fix docs for dataprocotol to not get the return types completely
14256           wrong for a few functions.
14257
14258 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14259
14260         * docs/gst/gstreamer-sections.txt:
14261         * gst/gstpipeline.c: (gst_pipeline_class_init),
14262         (gst_pipeline_init), (gst_pipeline_set_property),
14263         (gst_pipeline_get_property), (gst_pipeline_change_state),
14264         (gst_pipeline_set_auto_flush_bus),
14265         (gst_pipeline_get_auto_flush_bus):
14266         * gst/gstpipeline.h:
14267           Add new API: gst_pipeline_set_auto_flush_bus() and
14268           gst_pipeline_get_auto_flush_bus() to disable automatic
14269           flushing of the pipeline's GstBus when going from READY
14270           to NULL state (#332045).
14271
14272 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14273
14274         * docs/gst/gstreamer-sections.txt:
14275         * gst/gsturi.c: (gst_uri_has_protocol):
14276         * gst/gsturi.h:
14277            Add new API: gst_uri_has_protocol() (#333779).
14278
14279 2006-03-09  Wim Taymans  <wim@fluendo.com>
14280
14281         * gst/gstclock.c: (gst_clock_entry_new),
14282         (gst_clock_id_compare_func), (gst_clock_id_wait),
14283         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
14284         (gst_clock_init), (gst_clock_get_internal_time),
14285         (gst_clock_set_master), (do_linear_regression),
14286         (gst_clock_add_observation), (gst_clock_set_property):
14287         * gst/gstclock.h:
14288         Review docs.
14289         Small cleanups.
14290         Fix a possible segfault when the window-size is made smaller.
14291         Calculate jitter before performing the clock wait. Ideally
14292         the clock implementation should calculate jitter but we need
14293         API breakage for that.
14294
14295         * gst/gstsystemclock.c: (gst_system_clock_init):
14296         Docs review.
14297         
14298         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14299         Remove leftover else
14300
14301         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
14302         (gst_systemclock_suite):
14303         Added check to test GST_CLOCK_DIFF.
14304
14305 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14306
14307         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
14308         (gst_type_find_helper_get_range):
14309           If we are provided with the size, we should implement
14310           GstTypeFind::get_length, so that typefind functions who
14311           want to can actually peek at the middle of a file.
14312
14313 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
14314
14315         * docs/manual/advanced-dataaccess.xml:
14316           Add some very very basic error checking.
14317
14318         * docs/pwg/appendix-checklist.xml:
14319           Some updates to the list of things to check when writing an element.
14320
14321 2006-03-08  Wim Taymans  <wim@fluendo.com>
14322
14323         * docs/design/part-element-transform.txt:
14324         Added some docs about the design of tranform elements.
14325
14326         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14327         (gst_base_src_loop), (gst_base_src_change_state):
14328         Mark buffers with the DISCONT flag.
14329
14330 2006-03-08  Michael Smith  <msmith@fluendo.com>
14331
14332         * gst/gstregistry.h:
14333         * gst/gstregistryxml.c: (gst_registry_save),
14334         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
14335         (gst_registry_xml_save_pad_template),
14336         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
14337         (gst_registry_xml_write_cache):
14338           Rewrite registry-saving to avoid race conditions and check for
14339           failed writes.
14340
14341 2006-03-08  Wim Taymans  <wim@fluendo.com>
14342
14343         * libs/gst/base/gstbasetransform.c:
14344         (gst_base_transform_transform_caps),
14345         (gst_base_transform_transform_size),
14346         (gst_base_transform_prepare_output_buffer),
14347         (gst_base_transform_get_unit_size),
14348         (gst_base_transform_buffer_alloc),
14349         (gst_base_transform_handle_buffer),
14350         (gst_base_transform_change_state):
14351         Cleanups, separate normal flow from errors, add sensible
14352         DEBUG lines.
14353         Don't try to renegotiate when allocating an output buffer.
14354         Also copy DISCONT buffer flag when copying a buffer.
14355         Reset the transform after we finish streaming, not during.
14356
14357 2006-03-08  Wim Taymans  <wim@fluendo.com>
14358
14359         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14360         Use last buffer timestamp in qos message.
14361
14362 2006-03-07  Wim Taymans  <wim@fluendo.com>
14363
14364         Patch by: Christophe Fergeau
14365
14366         * docs/pwg/advanced-tagging.xml:
14367         * docs/pwg/building-pads.xml:
14368           fixes #333416
14369
14370 2006-03-07  Wim Taymans  <wim@fluendo.com>
14371
14372         * docs/libs/gstreamer-libs-sections.txt:
14373         Added basesink new methods.
14374
14375         * gst/gstevent.c:
14376         * gst/gstevent.h:
14377         Docs updates. Flesh out the QoS docs.
14378
14379         * libs/gst/base/gstadapter.c:
14380         Small doc clarification about ownership and flushing.
14381
14382         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
14383         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
14384         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
14385         (gst_base_sink_get_property), (gst_base_sink_do_sync):
14386         * libs/gst/base/gstbasesink.h:
14387         API additions: 
14388         Added new methods to allow subclass to control max-lateness 
14389         and sync.
14390         Generate very basic QoS events based on last sync observation.
14391         Updated docs, fix typo, added some QoS blurb.
14392
14393         * libs/gst/base/gstbasesrc.c:
14394         Remove obsolete _get_state() calls from docs.
14395
14396 2006-03-07  Wim Taymans  <wim@fluendo.com>
14397
14398         * docs/libs/gstreamer-libs-sections.txt:
14399         * libs/gst/base/gstbasetransform.h:
14400         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
14401         Fix docs for GstBaseSrc.
14402
14403 2006-03-07  Wim Taymans  <wim@fluendo.com>
14404
14405         * docs/gst/gstreamer-sections.txt:
14406         * gst/gstbuffer.h:
14407         * gst/gstvalue.c:
14408         * libs/gst/base/gstbasetransform.h:
14409         Small documentation fixes.
14410
14411 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
14412
14413         * gst/gstvalue.c:
14414           Document thread-unsafety of gst_value_register_foo_func()
14415           when used at the same time as gst_value_foo() (#322628).
14416
14417 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
14418
14419         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
14420         (gst_push_src_check_get_range):
14421           Push sources don't support pull mode by default.
14422
14423 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
14424
14425         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14426         (gst_base_src_init), (gst_base_src_pad_check_get_range),
14427         (gst_base_src_default_check_get_range):
14428         * libs/gst/base/gstbasesrc.h:
14429           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
14430           provide default implementation, and rename
14431           gst_base_src_check_get_range() to
14432           gst_base_src_pad_check_get_range() for clarity.
14433
14434 2006-03-06  Wim Taymans  <wim@fluendo.com>
14435
14436         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14437         Make property overridable.
14438
14439 2006-03-06  Wim Taymans  <wim@fluendo.com>
14440
14441         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14442         (gst_base_sink_init), (gst_base_sink_set_property),
14443         (gst_base_sink_get_property), (gst_base_sink_do_sync):
14444         * libs/gst/base/gstbasesink.h:
14445         API addition: Make max-lateness a property.
14446
14447 2006-03-06  Wim Taymans  <wim@fluendo.com>
14448
14449         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
14450         (gst_base_sink_do_sync), (gst_base_sink_render_object):
14451         Don't ever draw a frame that is >10ms late.
14452
14453 2006-03-06  Michael Smith  <msmith@fluendo.com>
14454
14455         * gst/gstmessage.c: (_gst_message_copy):
14456           When copying a message, set the parent_refcount of the enclosed
14457           structure to point at the copy, not the original message.
14458
14459 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
14460
14461         Patch by: Christophe Fergeau
14462
14463         * gst/gstutils.h:
14464           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
14465           usable in c++ code (#333417)
14466
14467 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14468
14469         * gst/gstclock.h:
14470           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
14471
14472 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
14473
14474         * libs/gst/base/gstbasetransform.c:
14475         (gst_base_transform_transform_caps):
14476           Make sure caps are writable before passing them to
14477           gst_caps_append().
14478
14479 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
14480
14481         * gst/gsterror.h:
14482           Fix some minor docs errors.
14483
14484 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
14485
14486           Patch by: Ross Burton <ross at burtonini dot com>
14487
14488         * gst/gsterror.c: (_gst_resource_errors_init):
14489         * gst/gsterror.h:
14490           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
14491
14492 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
14493
14494         * gst/gst.c:
14495         Add a check and output a g_warning when GStreamer is built
14496         against GLib 2.6 but running against 2.8 or higher, and vice 
14497         versa. (Closes: #323542)
14498
14499 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
14500
14501         * gst/parse/parse.l:
14502           Commit patch for parse_launch syntax from #331255. Removes 
14503           support for quoted strings and mimetypes when writing filtered 
14504           caps. See the bug report for more details - I'm pretty sure this
14505           obscure feature is not in use by _anyone_ anywhere.
14506
14507           With this simple change, the size of the gstreamer.so here 
14508           drops from 2193KB to 1565KB.
14509
14510 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14511
14512         * plugins/elements/gsttypefindelement.h:
14513         * plugins/elements/gsttypefindelement.c:
14514         (gst_type_find_element_src_event), (start_typefinding),
14515         (stop_typefinding), (gst_type_find_element_handle_event),
14516         (gst_type_find_element_chain),
14517         (gst_type_find_element_chain_do_typefinding):
14518           Use gst_type_find_helper_for_buffer() for chain-based
14519           typefinding.
14520
14521 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14522
14523         * plugins/elements/gsttypefindelement.c:
14524         (gst_type_find_element_class_init),
14525         (gst_type_find_element_set_property),
14526         (gst_type_find_element_get_property):
14527           Deprecate "maximum" property (not only was it only taken into
14528           account for typefinding in push-mode anyway, it also was never
14529           actually possible to set it in the first place because the
14530           property was registered with the numeric property ID for the
14531           "minimum" property). Register "maximum" property correctly,
14532           for the sake of future copy'n'pasters. Remove some cruft
14533           from property get/set functions.
14534
14535 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14536
14537         * plugins/elements/gsttypefindelement.c:
14538         (gst_type_find_element_activate):
14539           Use gst_type_find_helper_get_range() here, so we
14540           can honour the "minimum" property and also emit
14541           the signal with the correct probability of the found caps.
14542
14543 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
14544
14545         * docs/libs/gstreamer-libs-sections.txt:
14546         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
14547         (helper_find_suggest), (gst_type_find_helper_get_range),
14548         (gst_type_find_helper):
14549         * libs/gst/base/gsttypefindhelper.h:
14550           New API: gst_type_find_helper_get_range() (#333042).
14551
14552 2006-03-02  Michael Smith  <msmith@fluendo.com>
14553
14554         * gst/gstregistryxml.c: (load_feature):
14555           Asserting on a failure to read part of the registry is Not Cool.
14556           Just log a warning and return NULL (which is already handled)
14557
14558 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
14559
14560         * win32/common/libgstbase.def:
14561           added export of gst_type_find_helper_for_buffer
14562         * win32/common/libgstbase.def:
14563           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
14564           gst_ghost_pad_get_target
14565
14566 2006-02-28  Wim Taymans  <wim@fluendo.com>
14567
14568         * docs/design/draft-klass.txt:
14569         We use Filter now.
14570         Added Connector to mark elements that are only used to
14571         allow pipeline connections.
14572         Moved Debug to extra feature since most of them are 
14573         functionally something else.
14574
14575 2006-02-28  Wim Taymans  <wim@fluendo.com>
14576
14577         * docs/design/draft-klass.txt:
14578         Some updates and clarifications.
14579
14580 2006-02-28  Wim Taymans  <wim@fluendo.com>
14581
14582         * docs/design/draft-klass.txt:
14583         Proposal for klass field values.
14584
14585         * docs/design/part-streams.txt:
14586         Start of a doc describing stream anatomy.
14587
14588 2006-02-28  Wim Taymans  <wim@fluendo.com>
14589
14590         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
14591         Help the compiler a bit with type registration.
14592         Use existing forward cod path instead of duplicating it when 
14593         handling a message.
14594         
14595         * gst/gstbus.c: (gst_bus_get_type):
14596         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
14597         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
14598         * gst/gstclock.c: (gst_clock_get_type):
14599         * gst/gstelement.c: (gst_element_get_type),
14600         * gst/gstelementfactory.c: (gst_element_factory_get_type):
14601         * gst/gstindexfactory.c: (gst_index_factory_get_type):
14602         * gst/gstminiobject.c: (gst_mini_object_get_type):
14603         * gst/gstpad.c: (gst_pad_get_type):
14604         * gst/gstsegment.c: (gst_segment_get_type):
14605         * gst/gststructure.c: (gst_structure_get_type):
14606         * gst/gstsystemclock.c: (gst_system_clock_get_type):
14607         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
14608         * gst/gstvalue.c:
14609         Help compiler with type registration.
14610
14611         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
14612         Small doc update.
14613
14614 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14615
14616         * plugins/elements/gsttypefindelement.c:
14617         (gst_type_find_element_handle_event):
14618           When we get an EOS event and have not found a type yet
14619           (most likely because we had not yet accumulated
14620           TYPE_FIND_MIN_SIZE of data yet), try to determine the
14621           type given the data we have so far. Fixes typefinding
14622           for very short streams again, most notably quicktime
14623           redirections as used on Apple's trailer site (#331701).
14624
14625 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14626
14627         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
14628         (gst_type_find_helper):
14629           Try typefinding factories with the highest rank first.
14630
14631 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14632
14633         * docs/libs/gstreamer-libs-docs.sgml:
14634         * docs/libs/gstreamer-libs-sections.txt:
14635         * libs/gst/base/gsttypefindhelper.c:
14636           Add section for typefind helper and add documentation
14637           for the old and the new function.
14638
14639 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14640
14641         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
14642         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
14643         (gst_type_find_helper_for_buffer):
14644         * libs/gst/base/gsttypefindhelper.h:
14645           New API: gst_type_find_helper_for_buffer() (#332723).
14646           
14647 2006-02-27  Michael Smith  <msmith@fluendo.com>
14648
14649         Patch by: Loïc Minier
14650
14651         * configure.ac:
14652         * docs/Makefile.am:
14653         * docs/slides/Makefile.am:
14654           prevent CVS directories getting disted.
14655
14656 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
14657
14658         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
14659           Use the REFCOUNTING category for caps refcounting.
14660           
14661 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
14662
14663         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14664           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
14665
14666 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
14667
14668         * plugins/elements/gsttypefindelement.c:
14669         (gst_type_find_element_activate):
14670           Use gst_pad_check_pull_range() before _activate_pull()
14671           to avoid unnecessary open/close (see #331690).
14672
14673 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14674
14675         * gst/gstutils.c:
14676           Docs enhancement: make it crystal clear what the
14677           gst_pad_add_*_probe() callbacks should look like.
14678
14679 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14680
14681         * libs/gst/base/gstbasesrc.c:
14682           Document how applications can stop recording from
14683           live sources (see #330996).
14684
14685 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14686
14687         * tests/check/Makefile.am:
14688         * tests/check/libs/basesrc.c: (eos_event_counter),
14689         (basesrc_eos_events_pull), (basesrc_eos_events_push),
14690         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
14691         (gst_basesrc_suite), (main):
14692           ... and add some tests for the base source EOS stuff.
14693
14694 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14695
14696         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
14697           Test case originally showed the problem fixed below,
14698           but was then amended. Add checks back at the place
14699           where they used to be.
14700
14701 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14702
14703         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14704         (gst_base_src_init), (gst_base_src_loop),
14705         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14706         (gst_base_src_change_state):
14707         * libs/gst/base/gstbasesrc.h:
14708           Don't unconditionally send EOS when going from PAUSED to
14709           READY state, esp. make sure we don't send two EOS events
14710           in some cases (e.g. one when reaching EOS and one when
14711           going from PAUSED to READY). Also, we don't want to send
14712           EOS events when operating in pull mode. However, we do
14713           want to send an EOS event when shutting down a live
14714           source explicitly, for example (fixes #330996).
14715           
14716 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
14717
14718         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
14719           Update src->read_position after a seek when not using mmap.
14720           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
14721
14722 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
14723
14724         * gst/Makefile.am:
14725         * gst/gstparse.h:
14726         * gst/gstutils.c:
14727         * gst/gstutils.h:
14728         Make things work with --disable-parse as they do with 
14729         --disable-load-save - the symbols involved disappear, but the
14730         header is still installed and GST_DISABLE_PARSE is included via
14731         gstconfig.h
14732
14733 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14734
14735         * libs/gst/base/gstbasetransform.c:
14736         (gst_base_transform_change_state): Fix a stupid bug. I was 
14737         sure I compiled that.
14738
14739 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14740
14741         * gst/gstpad.c: (gst_pad_set_blocked_async):
14742         * gst/gstutils.c: (gst_pad_add_data_probe),
14743         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14744         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14745         (gst_pad_remove_buffer_probe): Make those function act on the
14746         ghostpad target when it's a ghostpad. (Closes #331727)
14747
14748 2006-02-20  Julien MOUTTE  <julien@moutte.net>
14749
14750         * libs/gst/base/gstbasetransform.c:
14751         (gst_base_transform_change_state): Make basetransform reusable.
14752         (Closes #331898)
14753
14754 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
14755
14756         * docs/random/release:
14757         Move the current documentation of how to do a release to the top
14758         of the file.
14759
14760         * gst/gstbin.c: (gst_bin_class_init),
14761         (gst_bin_handle_message_func):
14762         Allow multiple state-recalculation threads. (Closes #328873)
14763
14764 2006-02-19  Julien MOUTTE  <julien@moutte.net>
14765
14766         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
14767         * gst/gstpad.c: (gst_pad_set_event_function),
14768         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
14769         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
14770         2 strings. You can't use the STR_NULL macro on that.
14771
14772 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
14773
14774         * gst/gstpad.c: (gst_pad_set_event_function),
14775         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
14776         (gst_pad_set_getcaps_function)
14777         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
14778           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
14779           So now, we can use --gst-debug-level=5 on Windows
14780         * win32/common/libgstcontroller.def:
14781           Added export of gst_controller_init
14782         * win32/vs6/libgstcontroller.dsp:
14783           Fixed Release post build configuration
14784
14785 2006-02-17  Wim Taymans  <wim@fluendo.com>
14786
14787         * tests/check/gst/gstquery.c: (GST_START_TEST):
14788         Added another check.
14789
14790 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
14791
14792         * plugins/elements/gsttypefindelement.c: (find_peek):
14793           We can do peeks at non-zero offsets, as long as they
14794           fall within the buffer we have.
14795
14796 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
14797
14798         * tests/check/Makefile.am:
14799         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
14800         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
14801         (parse_suite), (main):
14802           Add testsuite for parse launch syntax
14803
14804 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
14805
14806         * plugins/elements/gsttypefindelement.c:
14807         (gst_type_find_element_chain):
14808           When typefinding is unsuccessful in the chain function, don't
14809           error out immediately. Only error out with NO_CAPS_FOUND if
14810           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
14811           otherwise simply wait for more data so we can try typefinding
14812           again with more data later. Also, don't attempt to typefind
14813           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
14814           this should improve typefinding from network sources where the
14815           size of the first buffer can be somewhat random.
14816
14817 2006-02-14  Wim Taymans  <wim@fluendo.com>
14818
14819         * docs/gst/gstreamer-sections.txt:
14820         * gst/gstpadtemplate.c:
14821         * gst/gstpadtemplate.h:
14822         Fix padtemplate docs, fixes #328805.
14823
14824 2006-02-14  Wim Taymans  <wim@fluendo.com>
14825
14826         * tools/gst-launch.c: (main):
14827         NO_PREROLL is not an ERROR so don't send confusing messages
14828         to the user.
14829
14830 2006-02-14  Wim Taymans  <wim@fluendo.com>
14831
14832         Patch by: Torsten Schoenfeld
14833
14834         * gst/gstregistry.c: (gst_registry_get_default),
14835         (_gst_registry_cleanup):
14836         Protect default registry with lock and ref/sink it.
14837         Fixes #324818
14838
14839 2006-02-14  Wim Taymans  <wim@fluendo.com>
14840
14841         * gst/gstbuffer.c:
14842         * gst/gstquery.c: (gst_query_list_add_format),
14843         (gst_query_set_formatsv), (gst_query_parse_formats_length),
14844         (gst_query_parse_formats_nth):
14845         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14846         Docs fixes.
14847
14848 2006-02-14  Wim Taymans  <wim@fluendo.com>
14849
14850         * docs/gst/gstreamer-sections.txt:
14851         Reworked query docs.
14852
14853         * gst/gstquery.c: (gst_query_new_formats),
14854         (gst_query_list_add_format), (gst_query_set_formats),
14855         (gst_query_set_formatsv), (gst_query_parse_formats_length),
14856         (gst_query_parse_formats_nth):
14857         * gst/gstquery.h:
14858         Flesh out formats query, added some new methods.
14859         Fix part of #324398.
14860
14861         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
14862         Added query creation tests.
14863
14864 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
14865
14866         * gst/gstpad.c: (fixate_value):
14867         Add a default fixation for fraction lists.
14868
14869 2006-02-13  Wim Taymans  <wim@fluendo.com>
14870
14871         * gst/gsttask.c: (gst_task_init), (gst_task_func),
14872         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
14873         (gst_task_join):
14874         * gst/gsttask.h:
14875         Detect and warn for obvious deadlocks. fixes #320340
14876         Fix error case where lock was not released.
14877
14878         * tests/check/Makefile.am:
14879         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
14880         (task_func), (gst_element_suite), (main):
14881         Add task check.
14882
14883 2006-02-13  Wim Taymans  <wim@fluendo.com>
14884
14885         * docs/gst/gstreamer-sections.txt:
14886         * gst/gstbus.c:
14887         Add new functions to docs.
14888
14889 2006-02-13  Wim Taymans  <wim@fluendo.com>
14890
14891         * docs/design/part-TODO.txt:
14892         Updated TODO list, basesrc supports seeking to non-bytes
14893         formats.
14894
14895         * docs/design/part-element-sink.txt:
14896         Update docs.
14897
14898         * gst/gstbin.c: (bin_replace_message),
14899         (gst_bin_handle_message_func):
14900         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
14901         * gst/gstevent.c: (gst_event_finalize):
14902         * gst/gstpad.c: (gst_pad_event_default_dispatch),
14903         (gst_pad_send_event):
14904         Use shiny new _TYPE_NAME macros.
14905
14906         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14907         Move debug statement up.
14908
14909         * gst/gstelement.c: (gst_element_set_locked_state):
14910         Add some debugging.
14911
14912 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
14913
14914         * docs/gst/gstreamer-sections.txt:
14915         * gst/gstmessage.h:
14916         * gst/gstquery.h:
14917           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
14918           macros (#330906). Also, document the already existing
14919           GST_QUERY_TYPE macro.
14920
14921 2006-02-13  Wim Taymans  <wim@fluendo.com>
14922
14923         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
14924         (event_probe), (GST_START_TEST):
14925         Only events up to the pipeline EOS are counted, there are
14926         some more when going to NULL currently which we don't care
14927         about for now.
14928
14929 2006-02-13  Wim Taymans  <wim@fluendo.com>
14930
14931         * gst/gstpad.c: (gst_pad_send_event):
14932         Correctly check flushing and emit probes. fixes #330125
14933
14934 2006-02-10  Andy Wingo  <wingo@pobox.com>
14935
14936         * gst/gstbus.c (gst_bus_class_init): Declare our private data
14937         structure.
14938         (gst_bus_init): Cache the location of the private data in the
14939         instance structure.
14940         (gst_bus_enable_sync_message_emission) 
14941         (gst_bus_disable_sync_message_emission): Implement new public
14942         functions.
14943         (gst_bus_post): Emit the sync-message signal if the user asked for
14944         it. Fixes #330684.
14945
14946         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
14947         location of the bus-private structure.
14948         (gst_bus_enable_sync_message_emission)
14949         (gst_bus_disable_sync_message_emission): API addition
14950
14951 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
14952
14953         Patch by: Vincent Torri
14954
14955         * docs/pwg/building-boiler.xml:
14956         PWG patch from #326800
14957
14958 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
14959
14960         * configure.ac:
14961         * docs/Makefile.am:
14962         * docs/design/Makefile.am:
14963           Dist design docs.
14964
14965 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
14966
14967         * configure.ac:
14968           back to CVS
14969
14970 === release 0.10.3 ===
14971
14972 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
14973
14974         * configure.ac:
14975           releasing 0.10.3, "Like a virgin"
14976
14977 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
14978
14979         * configure.ac:
14980           2nd prerelease of 0.10.3
14981           Bump libtool versioning.
14982
14983 2006-02-07  Andy Wingo  <wingo@pobox.com>
14984
14985         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
14986         update last_stop if we're in TIME format and the timestamp is
14987         valid.
14988
14989         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
14990         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
14991         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
14992         If we get a new newsegment with a different format, adapt
14993         accordingly.
14994
14995         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
14996         of 0. Not a problem, really.
14997
14998         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
14999         warn if sync=true.
15000
15001 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
15002
15003         * configure.ac:
15004           Prelease of 0.10.3
15005
15006 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
15007
15008         * win32/vs7:
15009           project files updated to the default vs7 configuration
15010         * win32/common/libgstbase.def:
15011         * win32/common/libgstreamer.def:
15012           added new symbols,
15013           removed empty lines,
15014           sorted all exported symbols alphabetically
15015         * win32/common/dirent.c:
15016         * win32/common/dirent.h:
15017         * win32/common/gchar.h:
15018           use windows line end.
15019           
15020 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15021
15022         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
15023           Send EOS event when stopping.
15024
15025 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15026
15027         * docs/README:
15028           Tell folks what to do if the plugin-foobar.xml file
15029           hasn't been generated for a newly-added plugin.
15030
15031 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15032
15033         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15034         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15035         (gst_collect_pads_start), (gst_collect_pads_stop),
15036         (gst_collect_pads_event): Collectpads now holds a reference
15037         to the GstPad that was added. Indeed we don't want to look
15038         at pads that might just go away with no warning...
15039
15040 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15041
15042         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
15043         (gst_collect_pads_start), (gst_collect_pads_stop),
15044         (gst_collect_pads_event), (gst_collect_pads_chain):
15045         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
15046         Mark Nauwelaerts's patch on bug #328491.
15047
15048 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15049
15050         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
15051         (gst_utils_suite):
15052           Add some simple tests for gst_parse_bin_from_description() and
15053           gst_bin_find_unconnected_pad() (#329069).
15054
15055 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15056
15057         * tools/gst-launch.c: (event_loop), (main):
15058           Catch errors during preroll (#320084).
15059
15060 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
15061
15062         * plugins/elements/gsttypefindelement.c:
15063         (gst_type_find_element_activate):
15064           Post TYPE_NOT_FOUND error message when typefinding
15065           is unsuccessful in the activate function as well.
15066
15067 2006-02-02  Wim Taymans  <wim@fluendo.com>
15068
15069         * docs/design/part-element-sink.txt:
15070         Updated doc.
15071
15072 2006-02-02  Wim Taymans  <wim@fluendo.com>
15073
15074         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15075         (gst_base_sink_render_object),
15076         (gst_base_sink_queue_object_unlocked):
15077         Only keep track of prerollable items when we are 
15078         prerolling.
15079         Before rendering after preroll, always check if we
15080         have queued items.
15081         Added some more debugging.
15082
15083 2006-02-02  Wim Taymans  <wim@fluendo.com>
15084
15085         * gst/gstelement.c: (gst_element_continue_state),
15086         (gst_element_set_state_func), (gst_element_change_state):
15087         Fixed #326576, been running this for quite some time with
15088         no regressions at all.
15089
15090 2006-02-02  Wim Taymans  <wim@fluendo.com>
15091
15092         * common/gst.supp:
15093         Added more suppressions
15094
15095 2006-02-02  Wim Taymans  <wim@fluendo.com>
15096
15097         * docs/design/part-element-sink.txt:
15098         Updated document.
15099
15100         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15101         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
15102         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
15103         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15104         (gst_base_sink_do_sync), (gst_base_sink_render_object),
15105         (gst_base_sink_preroll_object),
15106         (gst_base_sink_queue_object_unlocked),
15107         (gst_base_sink_queue_object), (gst_base_sink_event),
15108         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
15109         (gst_base_sink_loop), (gst_base_sink_activate_pull),
15110         (gst_base_sink_get_position), (gst_base_sink_change_state):
15111         * libs/gst/base/gstbasesink.h:
15112         Totally refactored matching the design doc.
15113         Use two segments, one to clip incomming buffers and another to
15114         perform sync.
15115         Handle queueing correctly, bypass the queue when playing.
15116         Make EOS cancelable.
15117         Handle errors correctly when operating in pull based mode.
15118
15119         * tests/check/elements/fakesink.c: (GST_START_TEST),
15120         (fakesink_suite):
15121         Added new check for sinks.
15122
15123 2006-02-02  Wim Taymans  <wim@fluendo.com>
15124
15125         * gst/gstsegment.c: (gst_segment_clip):
15126         No reason to refuse to clip when start == -1
15127
15128 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
15129
15130         * docs/README:
15131         * docs/manual/intro-basics.xml:
15132         * docs/manual/intro-preface.xml:
15133         * docs/manual/manual.xml:
15134         * docs/pwg/advanced-dparams.xml:
15135         * docs/pwg/intro-basics.xml:
15136         * docs/pwg/intro-preface.xml:
15137         * docs/pwg/pwg.xml:
15138           describe dparams (controller) for plugins
15139           unify docs a little more
15140
15141 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
15142
15143         * docs/gst/gstreamer-sections.txt:
15144         * gst/gstutils.c: (element_find_unconnected_pad),
15145         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
15146         * gst/gstutils.h:
15147           Add new API: gst_parse_bin_from_description() and
15148           gst_bin_find_unconnected_pad() (#329069).
15149
15150 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
15151
15152         * docs/manual/README:
15153           uncover a nasty detail of the docs build
15154
15155 2006-01-31  Wim Taymans  <wim@fluendo.com>
15156
15157         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
15158         Don't cache duration messages if we're not going to use or
15159         free them.
15160
15161 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
15162
15163         * docs/manual/advanced-dparams.xml:
15164         * docs/pwg/advanced-dparams.xml:
15165           more dparam docs
15166         * gst/gstindex.c:
15167           fix docs
15168         * libs/gst/controller/lib.c: (gst_controller_init):
15169           init just once
15170
15171 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
15172
15173         * gst/gstelement.c: (gst_element_message_full):
15174           also show file/line/func if no additional debug was given
15175
15176 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
15177         
15178         * win32/vs7/grammar.vcproj:
15179           activate copy of autogenerated files for Release mode
15180
15181 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15182         
15183         * win32/common/libgstreamer.def:
15184           export gst_value_compare
15185
15186 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
15187
15188         * plugins/elements/Makefile.am:
15189         * plugins/elements/gstelements.c:
15190         * plugins/elements/gstfdsink.c: (_do_init),
15191         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
15192         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
15193         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
15194         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
15195         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
15196         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
15197         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
15198         * plugins/elements/gstfdsink.h:
15199         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
15200
15201 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
15202
15203         * docs/manual/advanced-dparams.xml:
15204           describe controller
15205         * docs/manual/advanced-position.xml:
15206         * docs/manual/basics-init.xml:
15207         * docs/manual/manual.xml:
15208         * docs/manual/titlepage.xml:
15209         * docs/pwg/pwg.xml:
15210         * docs/pwg/titlepage.xml:
15211           cleanup xml (more to come)
15212         * libs/gst/controller/gstcontroller.c:
15213           fix typo
15214
15215 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15216         
15217         * win32/vs6/grammar.dsp:
15218           add autogen of gstmarshal.c,h for Release mode
15219                 
15220 2006-01-30  Wim Taymans  <wim@fluendo.com>
15221
15222         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15223         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
15224         (gst_base_sink_handle_object), (gst_base_sink_event),
15225         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
15226         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15227         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
15228         (gst_base_sink_deactivate), (gst_base_sink_activate),
15229         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15230         (gst_base_sink_query), (gst_base_sink_change_state):
15231         Basesink cleanups, remove some old code.
15232         Handle the case where a subclass can preroll in the render
15233         method (mostly audiosinks).
15234         Handle more events.
15235         Remove some locks around variables that are now protected
15236         with the PREROLL_LOCK (clock_id, flushing, ..).
15237         Optimize position query some more, do correct locking.
15238         Remove old code to push queue in state change, this is not
15239         needed anymore since preroll blocks on all prerollable items 
15240         now.
15241         Almost implemented as described in design doc.
15242
15243 2006-01-30  Wim Taymans  <wim@fluendo.com>
15244
15245         * tests/check/gst/gstbin.c: (GST_START_TEST):
15246         Wait for refcount to settle down before checking.
15247
15248 2006-01-30  Wim Taymans  <wim@fluendo.com>
15249
15250         * docs/design/part-element-sink.txt:
15251         Pseudo code overview of desired sink behaviour regarding
15252         preroll.
15253
15254 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15255         * win32/vs6/grammar.dsp:
15256           fix some bugs in Release mode for autogenerated files
15257                 
15258 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15259         * win32/common/libgstbase.def:
15260         * win32/common/libgstreamer.def:
15261           export some new symbols: gst_base_src_set_format,
15262           gst_iterator_next, gst_structure_set_valist
15263
15264 2006-01-29  Julien MOUTTE  <julien@moutte.net>
15265
15266         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
15267         Set pad functions unconditionally. Fixes #329105.
15268
15269 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15270         * win32/vs8:
15271           add vs8 project files created by Sergey Scobich
15272
15273 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
15274
15275         * gst/gstutils.c: (gst_element_unlink_pads):
15276         Don't leak pad references.
15277
15278         * tests/check/elements/fakesink.c: (GST_START_TEST):
15279         * tests/check/generic/sinks.c: (GST_START_TEST):
15280         * tests/check/generic/states.c: (GST_START_TEST):
15281         * tests/check/gst/gstbin.c: (GST_START_TEST):
15282         * tests/check/gst/gstcaps.c: (GST_START_TEST):
15283         * tests/check/gst/gstelement.c: (GST_START_TEST):
15284         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15285         * tests/check/gst/gstiterator.c: (GST_START_TEST):
15286         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15287         Fix a bunch of leaks. Make generic/sinks.c
15288         use a bit less cpu by slowing the buffer rate
15289         between fakesrc and fakesink.
15290         
15291 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
15292         * gst/gstcaps.c:
15293         * gst/gstelement.c: (gst_element_send_event):
15294         * gst/gstevent.c:
15295         * gst/gstinfo.c:
15296         * gst/gstiterator.c:
15297         * gst/gstiterator.h:
15298         * gst/gstpad.c: (gst_pad_send_event):
15299         * gst/gststructure.c:
15300         * gst/gsturi.c:
15301         * gst/gstutils.c:
15302         * gst/gstvalue.c:
15303         * libs/gst/base/gstadapter.c:
15304           doc fixes, to link to function, just write gst_cool_function(), don't
15305           prefix with '#'
15306
15307 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15308
15309         * plugins/elements/gsttee.c: (gst_tee_do_push),
15310         (gst_tee_handle_buffer):
15311         Always prefer an actual return value from a src
15312         pad in place of NOT_LINKED. This means we return
15313         WRONG_STATE when all src pads are WRONG_STATE
15314         instead of NOT_LINKED.
15315
15316         Lock when replacing the last message to prevent
15317         racing with the get_property method.
15318
15319         Add debug output
15320
15321 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15322
15323         * tests/check/Makefile.am:
15324         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
15325         (main):
15326         Add a very simple check that should have caught the memleak I fixed
15327         last night (if not for the slice allocator hiding it)
15328
15329 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15330
15331         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15332         (gst_bin_remove_func), (gst_bin_handle_message_func),
15333         (bin_query_duration_fold), (bin_query_generic_fold):
15334         Clean up references to the clock provider when disposed or when
15335         handling a clock-lost message from it.
15336
15337         Unref sinks when performing a query via gst_iterator_fold, as the
15338         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
15339
15340         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
15341         (gst_clock_set_master):
15342         Drop our reference to the master clock, if any, when we are disposed.
15343
15344         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
15345         Chain up in dispose. 
15346
15347 2006-01-26  Wim Taymans  <wim@fluendo.com>
15348
15349         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15350         Add some debugging.
15351
15352 2006-01-26  Julien MOUTTE  <julien@moutte.net>
15353
15354         * plugins/elements/gsttee.c: (gst_tee_do_push),
15355         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
15356         handles pad being NOT_LINKED or in WRONG_STATE.
15357
15358 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15359
15360         * win32/MANIFEST:
15361           more updating
15362
15363 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15364
15365         * win32/MANIFEST:
15366           remove obsolete entry
15367
15368 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15369
15370         * docs/gst/gstreamer-sections.txt:
15371         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
15372         (gst_bin_iterate_sources), (gst_bin_send_event):
15373         * gst/gstbin.h:
15374         * gst/gstelement.c: (gst_element_send_event):
15375         * gst/gstevent.c:
15376         * gst/gstpad.c: (gst_pad_send_event):
15377           added code for downstream events, reviewed docs in gstevent.c
15378
15379 2006-01-25  Julien MOUTTE  <julien@moutte.net>
15380
15381         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15382         We only query position using the clock in the playing state.
15383         Query peer in the other cases.
15384         * win32/common/config.h: Updates.
15385
15386 2006-01-24  Wim Taymans  <wim@fluendo.com>
15387
15388         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15389         A clock entry that is scheduled for the exact time of the
15390         clock is still in time.
15391
15392         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15393         (gst_base_sink_do_sync):
15394         Add some more debug info.
15395
15396 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
15397
15398         * win32/vs7:
15399           Add new vs7 project files and solution.
15400
15401 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
15402
15403         * win32/vs7:
15404           all files removed as they were out-dated.
15405
15406 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15407
15408         * docs/random/release:
15409           update notes
15410         * gst/gstbin.c: (gst_bin_init):
15411         * gst/gstbus.c: (gst_bus_new):
15412         * gst/gstbus.h:
15413         * gst/gstpipeline.c: (gst_pipeline_init):
15414           use gst_bus_new(), improve logging, fix docs
15415         * win32/common/config.h:
15416           update for cvs build
15417
15418 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15419
15420         * autogen.sh:
15421           up required version of automake to 1.7
15422
15423 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
15424
15425         * win32/common/libgstreamer.def:
15426           export gst_buffer_is_metadata_writable
15427
15428 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
15429
15430         * docs/gst/gstreamer-sections.txt:
15431         * gst/gstevent.h:
15432           Add gst_event_replace() (#327001)
15433
15434 2006-01-20  Wim Taymans  <wim@fluendo.com>
15435
15436         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15437         Make it actually compile too..
15438
15439 2006-01-20  Wim Taymans  <wim@fluendo.com>
15440
15441         * gst/gstcaps.c:
15442         Clarify behaviour of _is_equal() when passing NULL parameters.
15443
15444         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15445         (gst_pad_set_caps):
15446         Cleanups. Don't unref NULL caps.
15447         When setting the same caps, protect caps of the pad with
15448         proper lock.
15449         Use full functionality of _is_equal() when comparing caps.
15450
15451 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
15452
15453         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15454         Don't loop infinitely if there are no buffers to present. Partially
15455         fixes #327197, but collectpads is just broken for reusing elements
15456         to do multiple encodes atm.
15457
15458 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
15459
15460         * tools/gst-inspect.c: (print_element_features):
15461         * tools/gst-xmlinspect.c: (main):
15462         URL_HANDLER is not a plugin feature we can search for in
15463         the registry.
15464
15465 2006-01-19  Edward Hervey  <edward@fluendo.com>
15466
15467         * gst/gstelement.c: (gst_element_pads_activate): 
15468         When activating, do src pads first, then sink pads.
15469         When de-activating, do sink pads first, then src pads.
15470
15471 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15472
15473         * docs/gst/gstreamer-sections.txt:
15474         Add gst_index_add_associationv to the docs
15475
15476 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15477
15478         * gst/gstevent.c:
15479           Fix docs typo
15480
15481         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
15482         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
15483           Do some refactoring. Doesn't actually change functionality,
15484           but makes landing the DRAIN event easier later.
15485
15486 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
15487
15488         * docs/pwg/advanced-scheduling.xml:
15489           Update from 0.9.x to 0.10 API and make example a bit
15490           clearer.
15491
15492 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15493
15494         * docs/gst/gstreamer-sections.txt:
15495         Add gst_buffer_(is|make)_metadata_writable methods.
15496
15497 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15498
15499         * docs/design/part-sparsestreams.txt:
15500         Update sparse streams doc, hopefully for greater clarity
15501
15502 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
15503
15504         * docs/design/part-events.txt:
15505         Remove mention of FILLER events.
15506         Add DRAIN event.
15507
15508         * docs/design/part-sparsestreams.txt:
15509         Write some things about using NEWSEGMENT to keep sparse streams
15510         flowing.
15511
15512 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
15513
15514         * gst/gstbin.c: (gst_bin_dispose):
15515           Guard gst_object_unref call against a NULL object (dispose
15516           can theoretically be called multiple times).
15517           
15518 2006-01-18  Wim Taymans  <wim@fluendo.com>
15519
15520         * gst/gstbin.c: (gst_bin_element_set_state):
15521         * gst/gstclock.c: (gst_clock_id_wait):
15522         Added some more debug info.
15523
15524         * libs/gst/base/gstadapter.c:
15525         Added more docs.
15526
15527         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15528         (gst_base_sink_do_sync), (gst_base_sink_chain):
15529         Added some comments.
15530
15531 2006-01-18  Wim Taymans  <wim@fluendo.com>
15532
15533         * tests/check/Makefile.am:
15534         * tests/check/elements/fakesink.c: (chain_async_buffer),
15535         (chain_async), (chain_async_return), (GST_START_TEST),
15536         (fakesink_suite), (main):
15537         Added fakesink test that checks prerolling and clipping
15538         behaviour.
15539
15540         * tests/check/gst/gstutils.c: (GST_START_TEST):
15541         Make check run faster so that buildbots don't timeout.
15542
15543 2006-01-18  Wim Taymans  <wim@fluendo.com>
15544
15545         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15546         (gst_base_sink_do_sync):
15547         Some cleanups.
15548         When the sink finishes blocking on the preroll buffer, it can
15549         immediatly render it instead of rendering when the next buffer
15550         arrives.
15551
15552 2006-01-18  Wim Taymans  <wim@fluendo.com>
15553
15554         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
15555         (gst_base_sink_get_property), (gst_base_sink_do_sync),
15556         (gst_base_sink_chain):
15557         Small cleanups.
15558         GST_ELEMENT_CLOCK and sync are protected with LOCK.
15559         Don't store _last_stop if the buffer is dropped.
15560
15561 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
15562
15563         * plugins/elements/gsttypefindelement.c:
15564         (gst_type_find_element_class_init):
15565           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
15566           object method handler that sets the caps on the pad and we want
15567           that to happen before we emit the signal (fixes e.g. feeding a
15568           plain text file to decodebin).
15569
15570 2006-01-18  Christian Schaller  <Christian@fluendo.com>
15571
15572         * gst/gstplugin.c: Add MPL and Proprietary as license options
15573
15574 2006-01-18  Andy Wingo  <wingo@pobox.com>
15575
15576         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
15577         symbol was exported before, it appears this was just an oversight.
15578         Fixes #168703.
15579         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
15580
15581         * gst/gstindex.c (gst_index_add_associationv): Changed int in
15582         prototype to gint. OK since this prototype was not in the header.
15583
15584 2006-01-17  Andy Wingo  <wingo@pobox.com>
15585
15586         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
15587         registry while we remove plugins.
15588
15589         * tools/gst-inspect.c (print_element_info): Don't unref the
15590         factory arg, that should be the responsibility of whatever code
15591         received the ref. Fixes a double-free when called from
15592         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
15593         (main): Unref the factory if we have one.
15594         (print_element_list): No change -- relies on the
15595         plugin_feature_list_free to free the list of features.
15596
15597 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
15598
15599         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15600         (gst_buffer_make_metadata_writable):
15601         * gst/gstbuffer.h:
15602         * libs/gst/base/gstbasetransform.c:
15603         (gst_base_transform_prepare_output_buf):
15604         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15605         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15606           Replace gst_buffer_(make|is)_metadata_writable patch now
15607           that the release is out.
15608
15609 2006-01-17  Andy Wingo  <wingo@pobox.com>
15610
15611         * gst/gstregistry.c: Reflow design comment. Update so as to speak
15612         in the present tense without reference to versions.
15613
15614         * gst/gstregistry.c (gst_registry_add_plugin)
15615         (gst_registry_remove_plugin, gst_registry_remove_feature)
15616         (gst_registry_find_feature, gst_registry_get_feature_list)
15617         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
15618         (gst_registry_lookup, gst_registry_scan_path)
15619         (_gst_registry_remove_cache_plugins)
15620         (gst_registry_get_feature_list_by_plugin): Add argument
15621         validation.
15622
15623 === release 0.10.2 ===
15624
15625 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
15626
15627         * configure.ac:
15628           releasing 0.10.2, "If man is five"
15629
15630 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15631
15632         * gst/gstbuffer.c:
15633         * gst/gstbuffer.h:
15634         * libs/gst/base/gstbasetransform.c:
15635         (gst_base_transform_prepare_output_buf):
15636         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15637         * tests/check/gst/gstbuffer.c: (gst_test_suite):
15638           Back out patch until after the release.
15639
15640 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15641
15642         * gst/gstminiobject.c:
15643           Spelling fix in docs.
15644         * ChangeLog - remove conflict indicator
15645
15646 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
15647
15648         Reviewed By: Andy Wingo
15649
15650         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15651         (gst_buffer_make_metadata_writable):
15652         * gst/gstbuffer.h:
15653           Add gst_buffer_(is|make)_metadata_writable as analogues of
15654           gst_buffer_(is|make)_writable.
15655
15656         * libs/gst/base/gstbasetransform.c:
15657         (gst_base_transform_prepare_output_buf):
15658         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15659           Use name gst_buffer_(is|make)_metadata_writable functions.
15660
15661         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15662           Test gst_buffer_(is|make)_metadata_writable
15663         
15664           (Closes: #324162)
15665
15666 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15667
15668         * docs/manual/Makefile.am:
15669           don't do parallel make
15670         * configure.ac:
15671           AC_SUBST HOST_CPU
15672         * win32/common/config.h.in:
15673           add generations for HOST_CPU and GST_MAJORMINOR
15674         * win32/common/config.h:
15675           commit generated result
15676
15677 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
15678
15679         * docs/manual/appendix-integration.xml:
15680           Update GNOME integration section to use gst_init_get_option_group()
15681           instead of the old popt stuff (#322911). Also, GNOME applications
15682           should  now use gconf*sink and gconf*src instead of the old gconf
15683           helper lib we had.
15684
15685 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
15686
15687
15688         * docs/gst/gstreamer-docs.sgml:
15689         * docs/gst/gstreamer-sections.txt:
15690         * docs/libs/gstreamer-libs-sections.txt:
15691           add new API entries to the docs
15692         * libs/gst/controller/Makefile.am:
15693         * libs/gst/controller/gstcontroller.c:
15694         * libs/gst/controller/gstcontroller.h:
15695         * libs/gst/controller/gstcontrollerprivate.h:
15696         * libs/gst/controller/gsthelper.c:
15697         * libs/gst/controller/gstinterpolation.c:
15698           move private structs to private header
15699         * po/README:
15700           gstreamer-0.7 -> gstreamer-0.10
15701         * tests/check/libs/struct_i386.h:
15702           remove private structs
15703
15704 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15705
15706         * plugins/indexers/Makefile.am:
15707           Fixes as part of #317048
15708
15709 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
15710
15711         * plugins/indexers/Makefile.am:
15712           fix #316086 - compilation when mmap is missing
15713
15714 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
15715
15716         * libs/gst/base/gstbasesink.c:
15717           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
15718           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
15719         * win32/common/config.h:
15720           added some defines GST_MAJORMINOR and HOST_CPU
15721         * win32/common/libgstbase.def:
15722         * win32/common/libgstreamer.def:
15723           added some exported functions.
15724
15725 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
15726
15727         * libs/gst/controller/gstcontroller.c:
15728         (gst_controlled_property_set_interpolation_mode),
15729         (gst_controlled_property_new):
15730         * libs/gst/controller/gstcontroller.h:
15731         * libs/gst/controller/gstinterpolation.c:
15732         (interpolate_none_get_string_value_array):
15733           make G_TYPE_STRING controlable
15734
15735 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
15736
15737         * tools/README:
15738         * tools/gst-feedback.1.in:
15739         * tools/gst-inspect.1.in:
15740         * tools/gst-launch.1.in:
15741         * tools/gst-md5sum.1.in:
15742         * tools/gst-typefind.1.in:
15743         * tools/gst-xmlinspect.1.in:
15744         * tools/gst-xmllaunch.1.in:
15745           cleanup man-pages, remove reference to gst-register, document env-vars
15746
15747 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
15748
15749         * gst/gstbuffer.c: (gst_buffer_span):
15750           gst_buffer_span should copy the timestamp of the first buffer
15751           if they were both originally overlapping subbuffers of the 
15752           same parent, using the same logic as the 'slow copy' case.
15753
15754 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
15755
15756         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
15757           Need to awaken ALL the pads when we pop a buffer, otherwise
15758           collectpads only works when there is 2 input streams.
15759
15760 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
15761
15762         * docs/random/ensonic/media-device-daemon.txt:
15763           more ideas (dbus)
15764         * gst/gstbuffer.c:
15765           fix doc example, add clarification
15766         * tools/gst-launch.1.in:
15767           add initial info about GST_PLUGIN_PATH, needs more work
15768
15769 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
15770
15771         * docs/manual/basics-bins.xml:
15772         * docs/manual/basics-elements.xml:
15773         * docs/manual/intro-basics.xml:
15774           Some more minor docs additions and updates.
15775
15776 2006-01-11  Wim Taymans  <wim@fluendo.com>
15777
15778         * docs/manual/basics-bins.xml:
15779         * docs/manual/basics-elements.xml:
15780         Some small fixes as pointed out by Ser-ver on IRC.
15781
15782 2006-01-10  Edward Hervey  <edward@fluendo.com>
15783
15784         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15785         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
15786         the single-segment mode.
15787
15788 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
15789
15790         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15791
15792         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
15793         (gst_base_src_perform_seek), (gst_base_src_send_event),
15794         (gst_base_src_set_property), (gst_base_src_get_property),
15795         (gst_base_src_loop), (gst_base_src_start),
15796         (gst_base_src_activate_push):
15797         * libs/gst/base/gstbasesrc.h:
15798           Name (private) union; makes Sun's Forte compiler happy (#324900).
15799
15800 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
15801
15802         * README:
15803           gst-register is gone.
15804
15805 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15806
15807         * gst/gstvalue.c: (_gst_value_initialize):
15808           make the G_TYPE_DATE instantiation work if debug is disabled
15809
15810 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
15811
15812         * gst/gstmessage.c: (gst_message_parse_tag),
15813         (gst_message_parse_error), (gst_message_parse_warning):
15814           Don't crash when return location for error/warning debug
15815           string is NULL; add fact that return locations can be
15816           NULL to docs where appropriate.
15817
15818 2006-01-05  Wim Taymans  <wim@fluendo.com>
15819
15820         * gst/gstplugin.c: (gst_plugin_load_file):
15821         Replace strdup by g_strdup.
15822
15823 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15824
15825         * docs/pwg/advanced-types.xml:
15826           fix doc borkage
15827
15828 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15829
15830         submitted by: Abel Cheung
15831
15832         * po/LINGUAS:
15833         * po/zh_TW.po:
15834           Added Chinese (traditional) translation
15835
15836 2006-01-04  Wim Taymans  <wim@fluendo.com>
15837
15838         * docs/manual/basics-pads.xml:
15839         * docs/plugins/Makefile.am:
15840         * docs/plugins/gstreamer-plugins-docs.sgml:
15841         * docs/plugins/gstreamer-plugins-sections.txt:
15842         * docs/pwg/advanced-clock.xml:
15843         * docs/pwg/advanced-scheduling.xml:
15844         * docs/pwg/advanced-types.xml:
15845         * plugins/elements/gstfdsink.c:
15846         * plugins/elements/gstfdsrc.c:
15847         * plugins/elements/gstfdsrc.h:
15848         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15849         * plugins/elements/gstidentity.h:
15850         * plugins/elements/gstqueue.h:
15851         * plugins/elements/gsttee.c:
15852         * plugins/elements/gsttee.h:
15853         * plugins/elements/gsttypefindelement.c:
15854         (gst_type_find_element_class_init):
15855         * plugins/elements/gsttypefindelement.h:
15856         Small updates to various docs.
15857         Added core plugins to docs.
15858
15859 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15860
15861         * common/gst.supp:
15862           add a suppression for liboil's uninitialized variable
15863
15864 2006-01-02  James Livingston  <jrl at ids dot org dot au>
15865
15866         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15867
15868         * gst/gstutils.h:
15869           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
15870           macro, so that gcc doesn't complain if the -Wmissing-prototypes
15871           compiler switch is being used (#325429).
15872
15873 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
15874
15875         * gst/gstbin.c: (gst_bin_query):
15876           Disable duration query caching in bins until it gets
15877           fixed (see #324807).
15878
15879 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
15880
15881         * tools/gst-inspect.c: (print_element_properties_info):
15882           Handle properties of POINTER and BOXED type.
15883
15884 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
15885
15886         * gst/gst.c: (init_post):
15887           Init tags stuff and some other things before loading
15888           any static plugins (there may be other static plugins
15889           than just the GStreamer ones, and they may want to
15890           register their own tags or formats or whatever, and
15891           preferably without segfaulting).
15892
15893         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
15894           Print at least a warning in the debug logs if we drop a
15895           query just because we don't know how to adjust the value
15896           in the particular format.
15897
15898 2005-12-24  David Schleef  <ds@schleef.org>
15899
15900         * tools/gstreamer-completion:
15901           Replacement for gst-complete written in sh and sed.  Only
15902           completes names of features, but that's 90% of what I want
15903           it for.  Properties are not available in registry.xml.  (Maybe
15904           they should be...)
15905
15906 === release 0.10.1 ===
15907
15908 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
15909
15910         * configure.ac:
15911           releasing 0.10.1, "Nollaig chridheil"
15912
15913 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
15914
15915         * docs/faq/cvs.xml:
15916           Add missing quote, should be make ERROR_CFLAGS="".
15917
15918 2005-12-20  Wim Taymans  <wim@fluendo.com>
15919
15920         * docs/design/part-trickmodes.txt:
15921         More documentation on trickmodes.
15922
15923 2005-12-20  Edward Hervey  <edward@fluendo.com>
15924
15925         * gst/gstcaps.c: (gst_static_caps_get_type):
15926         * gst/gstcaps.h:
15927           API addition: GST_TYPE_STATIC_CAPS
15928         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
15929         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
15930         * gst/gstpadtemplate.h:
15931           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
15932         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
15933         bindings.
15934
15935 2005-12-18  Wim Taymans  <wim@fluendo.com>
15936
15937         * libs/gst/base/gstadapter.c:
15938         * libs/gst/base/gstadapter.h:
15939         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15940         (gst_base_sink_get_position):
15941         * libs/gst/base/gstbasesink.h:
15942         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15943         (gst_base_src_default_query), (gst_base_src_default_do_seek),
15944         (gst_base_src_do_seek), (gst_base_src_perform_seek),
15945         (gst_base_src_send_event), (gst_base_src_update_length),
15946         (gst_base_src_get_range), (gst_base_src_loop),
15947         (gst_base_src_start):
15948         * libs/gst/base/gstbasesrc.h:
15949         * libs/gst/base/gstbasetransform.h:
15950         * libs/gst/base/gstcollectpads.h:
15951         * libs/gst/base/gstpushsrc.c:
15952         * libs/gst/base/gstpushsrc.h:
15953         * libs/gst/dataprotocol/dataprotocol.c:
15954         * libs/gst/dataprotocol/dataprotocol.h:
15955         * libs/gst/net/gstnetclientclock.h:
15956         * libs/gst/net/gstnettimeprovider.h:
15957         Documentation updates.
15958
15959 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
15960
15961         * docs/manual/basics-helloworld.xml:
15962           Remove superfluous closing bracket in helloworld example.
15963
15964 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
15965
15966         * tools/gst-launch.1.in:
15967           Update gst-launch man page; add a section with useful
15968           environment variables. Fixes #323882.
15969
15970 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
15971
15972         * gst/gst.c:
15973         * gst/gst_private.h:
15974           change some char* into char[]
15975
15976 2005-12-16  Wim Taymans  <wim@fluendo.com>
15977
15978         * gst/gstregistryxml.c: (load_feature):
15979         Cleanups.
15980         Don't use g_object_unref on GstObjects so that we avoid
15981         leaks on unsafe glibs.
15982
15983 2005-12-16  Wim Taymans  <wim@fluendo.com>
15984
15985         * gst/gstbin.c: (gst_bin_recalc_state):
15986         Small doc updates.
15987
15988 2005-12-16  Wim Taymans  <wim@fluendo.com>
15989
15990         * common/check.mak:
15991         Added make forever target for check.
15992
15993 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15994
15995         * gst/gst.c: (init_post):
15996           make the registry cache file HOST_CPU-dependent
15997
15998 2005-12-16  Andy Wingo  <wingo@pobox.com>
15999
16000         * plugins/elements/gstbufferstore.c
16001         (gst_buffer_store_cleared_func): Pay attention to g_list_append
16002         return value.
16003
16004         * tests/check/gst/gstobject.c
16005         (test_fake_object_name_threaded_unique): Pay attention to
16006         g_list_sort return value.
16007
16008 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
16009
16010         * tools/gst-feedback-m.m:
16011           Update for 0.9/0.10 (fixes #323870).
16012
16013 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
16014
16015         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
16016           Fix lcopy for mini objects, the mini object needs to be ref'ed.
16017           
16018         * tests/check/gst/gstminiobject.c: (my_foo_init),
16019         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
16020         (test_value_collection), (gst_mini_object_suite):
16021           Add test to ensure refcounts end up as expected when passing
16022           GstMiniObjects through g_object_get() and g_object_set().
16023
16024 2005-12-14  Julien MOUTTE  <julien@moutte.net>
16025
16026         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16027         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
16028         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
16029         of collectpads. This version removes a lot of races without
16030         touching API/ABI. Yay !
16031
16032 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
16033
16034         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
16035           Don't allow activation of a srcpad in pull_range if it has no
16036           getrange function.
16037           Change some debug statements to be a little clearer
16038
16039         * plugins/elements/gsttypefindelement.c:
16040         (gst_type_find_handle_src_query):
16041           Check that we have a peer before executing queries thereupon.
16042
16043         * tests/examples/metadata/read-metadata.c: (message_loop):
16044           Use gst_bus_pop instead of gst_bus_poll when we just want it to
16045           immediately return us any available message with 0 timeout.
16046
16047 2005-12-12  Michael Smith  <msmith@fluendo.com>
16048
16049         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
16050           Don't unref factories after calling them.
16051         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
16052         * plugins/elements/gsttypefindelement.c:
16053         (gst_type_find_element_chain):
16054           Free lists of factories after using them. Fixing typefinding memory
16055           leaks.
16056
16057 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16058
16059         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
16060         (gst_plugin_feature_load):
16061           more meaningful debug output
16062         * configure.ac:
16063         * tests/Makefile.am:
16064         * tests/old/examples/Makefile.am:
16065           make make distcheck happy again
16066
16067 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16068
16069         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16070           Catch the special case where we are operating chain-based,
16071           but the downstream peer pad has no chain function. Emit a
16072           custom error message in this case instead of letting the
16073           core generate one implying that this is some sort of core
16074           bug. It's not, it just means that whatever got plugged
16075           into the pipeline downstream when we announced the type
16076           can only operate pull-based, while our source can only
16077           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
16078           Error string has not been marked for translation yet, as
16079           it probably needs some more work first.
16080
16081         (gst_type_find_element_get_best_possibility):
16082           Add helper function to find the best of all available
16083           found possibilities that qualify given the min. threshold.
16084
16085         (gst_type_find_element_handle_event):
16086           Fix the case where we get an EOS while still in TYPEFIND
16087           mode (we want to chose the best of all possible types,
16088           not just the first type that happens to be in our unsorted
16089           list of possible types).
16090
16091         (gst_type_find_element_chain):
16092           Make sure we return GST_FLOW_ERROR when we errored out
16093           in stop_typefinding(); also, don't just find the best of
16094           all found type entries and then use the last examined
16095           type entry, but actually use the best entry.
16096
16097 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16098
16099         * tests/examples/typefind/typefind.c: (type_found):
16100         * tests/examples/xml/runxml.c: (xml_loaded):
16101           More gcc4 fixes and a mem leak fix.
16102
16103 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16104
16105         * tests/examples/xml/createxml.c: (object_saved):
16106           gcc 4 fixes
16107
16108 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16109
16110         * tests/Makefile.am:
16111           enable the examples even more
16112
16113 2005-12-12  Andy Wingo  <wingo@pobox.com>
16114
16115         * libs/gst/net/gstnettimeprovider.c
16116         (gst_net_time_provider_class_init, gst_net_time_provider_init)
16117         (gst_net_time_provider_set_property)
16118         (gst_net_time_provider_get_property):
16119         API addition: Export "active" as a GObject property.
16120         (gst_net_time_provider_thread): Only respond to time queries if
16121         the time provider is active.
16122
16123         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
16124         NetTimeProvider, preserving binary compat.
16125
16126 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16127
16128         * tests/examples/controller/audio-example.c: (main):
16129         * tests/examples/launch/Makefile.am:
16130           convert comments again
16131
16132 2005-12-12  Wim Taymans  <wim@fluendo.com>
16133
16134         * libs/gst/base/gstpushsrc.c:
16135         Fix typo.
16136
16137 2005-12-12  Wim Taymans  <wim@fluendo.com>
16138
16139         * docs/libs/gstreamer-libs-sections.txt:
16140         Added new symbol to docs.
16141
16142         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16143         (gst_base_src_init), (gst_base_src_set_format),
16144         (gst_base_src_default_query), (gst_base_src_query),
16145         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
16146         (gst_base_src_perform_seek), (gst_base_src_send_event),
16147         (gst_base_src_default_event), (gst_base_src_event_handler),
16148         (gst_base_src_set_property), (gst_base_src_get_property),
16149         (gst_base_src_wait), (gst_base_src_do_sync),
16150         (gst_base_src_update_length), (gst_base_src_get_range),
16151         (gst_base_src_check_get_range), (gst_base_src_loop),
16152         (gst_base_src_default_negotiate), (gst_base_src_start),
16153         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16154         (gst_base_src_change_state):
16155         * libs/gst/base/gstbasesrc.h:
16156         Implement seeking to other formats than _BYTES.
16157         Implement more seeking methods correctly.
16158         Doc updates.
16159         Added query vmethod.
16160         Added do_seek vmethod to make life easier for subclasses
16161         when seeking.
16162         API addition: gst_base_src_set_format()
16163
16164 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16165
16166         * tests/examples/Makefile.am:
16167           added that too
16168
16169 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16170
16171         * configure.ac:
16172         * docs/random/ensonic/media-device-daemon.txt:
16173         * tests/examples/controller/.cvsignore:
16174         * tests/examples/controller/Makefile.am:
16175         * tests/examples/controller/audio-example.c: (main):
16176         * tests/examples/helloworld/.cvsignore:
16177         * tests/examples/helloworld/Makefile.am:
16178         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
16179         * tests/examples/launch/.cvsignore:
16180         * tests/examples/launch/Makefile.am:
16181         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
16182         * tests/examples/metadata/.cvsignore:
16183         * tests/examples/metadata/Makefile.am:
16184         * tests/examples/metadata/read-metadata.c: (message_loop),
16185         (make_pipeline), (print_tag), (main):
16186         * tests/examples/queue/.cvsignore:
16187         * tests/examples/queue/Makefile.am:
16188         * tests/examples/queue/queue.c: (event_loop), (main):
16189         * tests/examples/typefind/.cvsignore:
16190         * tests/examples/typefind/Makefile.am:
16191         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
16192         (main):
16193         * tests/examples/xml/.cvsignore:
16194         * tests/examples/xml/Makefile.am:
16195         * tests/examples/xml/createxml.c: (object_saved), (main):
16196         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
16197         * tests/old/examples/Makefile.am:
16198         * tests/old/examples/TODO:
16199         * tests/old/examples/controller/.cvsignore:
16200         * tests/old/examples/controller/Makefile.am:
16201         * tests/old/examples/controller/audio-example.c:
16202         * tests/old/examples/helloworld/.cvsignore:
16203         * tests/old/examples/helloworld/Makefile.am:
16204         * tests/old/examples/helloworld/helloworld.c:
16205         * tests/old/examples/launch/.cvsignore:
16206         * tests/old/examples/launch/Makefile.am:
16207         * tests/old/examples/launch/mp3parselaunch.c:
16208         * tests/old/examples/launch/mp3play:
16209         * tests/old/examples/manual/Makefile.am:
16210         * tests/old/examples/metadata/Makefile.am:
16211         * tests/old/examples/metadata/read-metadata.c:
16212         * tests/old/examples/queue/.cvsignore:
16213         * tests/old/examples/queue/Makefile.am:
16214         * tests/old/examples/queue/queue.c:
16215         * tests/old/examples/typefind/.cvsignore:
16216         * tests/old/examples/typefind/Makefile.am:
16217         * tests/old/examples/typefind/typefind.c:
16218         * tests/old/examples/xml/.cvsignore:
16219         * tests/old/examples/xml/Makefile.am:
16220         * tests/old/examples/xml/createxml.c:
16221         * tests/old/examples/xml/runxml.c:
16222           applied some simple fixing to some examples
16223           re-enabled the working examples
16224
16225 2005-12-12  Wim Taymans  <wim@fluendo.com>
16226
16227         * gst/gstsegment.c: (gst_segment_init),
16228         (gst_segment_set_last_stop), (gst_segment_set_seek),
16229         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16230         (gst_segment_to_running_time):
16231         Added more documentation.
16232         Make sure the last_pos value is updated properly.
16233         Make sure to_stream_time and to_running_time don't
16234         operate on wrong values.
16235
16236         * tests/check/gst/gstsegment.c: (GST_START_TEST):
16237         Update check.
16238
16239 2005-12-12  Michael Smith  <msmith@fluendo.com>
16240
16241         * plugins/elements/gsttypefindelement.c: (free_entry),
16242         (gst_type_find_element_chain):
16243           Now that we're not leaking factories, make sure we keep references
16244           to them while we need them.
16245
16246 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16247
16248         * tests/check/gst/struct_i386.h:
16249           ifdef out the XML structs
16250
16251 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16252
16253         * gst/gstvalue.c: (gst_value_transform_double_fraction):
16254           floor is not needed, F is always positive; this obviates the
16255           need for adding -lm when building without libxml
16256
16257 2005-12-12  Wim Taymans  <wim@fluendo.com>
16258
16259         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16260         Take current playback rate into account when reporting
16261         the position.
16262
16263 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16264
16265         * docs/manual/mime-world.fig:
16266           Let's try this again, this time with a file that is
16267           actually in XFig format.
16268
16269 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16270
16271         * docs/manual/mime-world.fig:
16272           Add audioconvert element to diagram so that it
16273           matches the text and the code (fixes #319526).
16274
16275 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16276
16277         * docs/pwg/building-chainfn.xml:
16278         * docs/pwg/building-pads.xml:
16279         * docs/pwg/building-state.xml:
16280         * docs/pwg/other-source.xml:
16281           Update state change stuff for 0.10 (fixes #322969).
16282
16283 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16284
16285         * docs/manual/advanced-dataaccess.xml:
16286         * docs/manual/appendix-checklist.xml:
16287         * docs/manual/appendix-programs.xml:
16288         * docs/manual/basics-pads.xml:
16289         * docs/manual/highlevel-components.xml:
16290         * docs/manual/manual.xml:
16291           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
16292           add converters in front of pipelines; remove curly
16293           brackets for threads stuff, they no longer exist; use
16294           GST_TYPE_FRACTION for framerates; update some pieces of
16295           code to 0.10, but there's plenty more to do.
16296
16297         * docs/manual/appendix-porting.xml:
16298           Expand on asynchroneous state changes; s/0.9/0.10/;
16299           mention disappearance of gst_init_get_popt_table()
16300           (fixes #322916).
16301
16302 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16303
16304         * docs/faq/using.xml:
16305           Spider no longer exists, and neither does gst-launch-ext.
16306           Update examples to use decodebin and playbin and put
16307           converters in front of sinks (fixes #323726).
16308
16309 2005-12-09  Michael Smith  <msmith@fluendo.com>
16310
16311         * plugins/elements/gsttypefindelement.c: (find_peek),
16312         (gst_type_find_element_chain):
16313           Fix leaking element factories in typefinding.
16314           Fix problem where we forgot about a probable type on non-seekable
16315           files, and thus later mis-typefound it.
16316
16317 2005-12-09  Michael Smith  <msmith@fluendo.com>
16318
16319         * common/m4/gst-makecontext.m4:
16320         * common/m4/gst-mcsc.m4:
16321         * configure.ac:
16322         * win32/common/config.h:
16323         * win32/common/config.h.in:
16324           Remove makecontext stuff; not used in 0.10 and causes problems on
16325           HPUX according to bug #322441
16326
16327 2005-12-07  Wim Taymans  <wim@fluendo.com>
16328
16329         * tests/check/Makefile.am:
16330         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
16331         (main):
16332         * tests/check/libs/struct_i386.h:
16333         Added ABI check for libs
16334
16335 2005-12-07  Wim Taymans  <wim@fluendo.com>
16336
16337         * tests/check/Makefile.am:
16338         And add the struct_i386.h to dist.
16339
16340 2005-12-07  Wim Taymans  <wim@fluendo.com>
16341
16342         * tests/check/Makefile.am:
16343         * tests/check/gst/.cvsignore:
16344         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
16345         (main):
16346         * tests/check/gst/struct_i386.h:
16347         Added check for ABI compatibility.
16348
16349 2005-12-07  Wim Taymans  <wim@fluendo.com>
16350
16351         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16352         (gst_fake_src_get_times), (gst_fake_src_create):
16353         Fix broken sync option, fixes #323259
16354
16355 2005-12-07  Wim Taymans  <wim@fluendo.com>
16356
16357         * gst/gstbuffer.c:
16358         Small docs update.
16359
16360         * gst/gstcaps.c: (gst_caps_is_equal):
16361         Don't assert on NULL <--> X. Fixes #323260
16362
16363         * gst/gstminiobject.c: (gst_mini_object_replace):
16364         If we're doing atomic operations, we might just as well use
16365         the proper way to get an atomic pointer.
16366
16367         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16368         Clean up debugging.
16369
16370 2005-12-07  Michael Smith  <msmith@fluendo.com>
16371
16372         * gst/parse/grammar.y:
16373           Remove handling of { } for threads.
16374
16375 2005-12-06  David Schleef  <ds@schleef.org>
16376
16377         * libs/gst/base/gstbasetransform.c: speling fix.
16378
16379 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16380
16381         * docs/libs/tmpl/gstdataprotocol.sgml:
16382         * docs/random/omega/testing/gstobject.c:
16383         * gst/gst.c:
16384         * gst/gstclock.c:
16385         * gst/gstelement.c:
16386         * gst/gstelementfactory.c:
16387         * gst/gsterror.c:
16388         * gst/gstevent.c:
16389         * gst/gstghostpad.c:
16390         * gst/gstinfo.c:
16391         * gst/gstpadtemplate.c:
16392         * gst/gstregistryxml.c:
16393         * gst/gsttaglist.c:
16394         * gst/gsttagsetter.c:
16395         * gst/gsttypefind.c:
16396         * gst/gstvalue.c:
16397         * libs/gst/base/gstbasesrc.c:
16398         * libs/gst/net/gstnetclientclock.c:
16399         * libs/gst/net/gstnettimeprovider.c:
16400         * plugins/elements/gstfakesrc.c:
16401         * plugins/elements/gstfdsrc.c:
16402         * plugins/elements/gstfilesrc.c:
16403         * plugins/elements/gstidentity.c:
16404         * plugins/elements/gstqueue.c:
16405         * plugins/elements/gsttypefindelement.c:
16406         * plugins/indexers/gstfileindex.c:
16407         * plugins/indexers/gstmemindex.c:
16408         * tests/check/gst/gsttag.c:
16409         * tests/old/examples/cutter/cutter.c:
16410         * tests/old/examples/mixer/mixer.c:
16411         * tests/old/examples/xml/runxml.c: (main):
16412         * tests/old/testsuite/caps/normalisation.c:
16413         * tests/old/testsuite/debug/global.c:
16414         * tests/old/testsuite/parse/parse1.c:
16415         * tools/gst-xmlinspect.c:
16416         * win32/common/dirent.c:
16417           expand tabs
16418
16419 === release 0.10.0 ===
16420
16421 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16422
16423         * configure.ac:
16424           releasing 0.10.0, "Maroilles"
16425
16426 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16427
16428         submitted by: Funda Wang <fundawang@linux.net.cn>
16429
16430         * po/LINGUAS:
16431         * po/zh_CN.po:
16432           added Chinese (Traditional) translation
16433
16434 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16435
16436         * docs/gst/gstreamer-sections.txt:
16437         * docs/libs/tmpl/gstdataprotocol.sgml:
16438         * docs/random/thomasvs/TODO:
16439         * gst/gstutils.c:
16440         * gst/gstutils.h:
16441           fix docs
16442
16443 2005-12-05  Andy Wingo  <wingo@pobox.com>
16444
16445         patch by: Wim Taymans <wim@fluendo.com>
16446
16447         * libs/gst/base/gstbasetransform.c
16448         (gst_base_transform_prepare_output_buf)
16449         (gst_base_transform_buffer_alloc):
16450         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
16451         alloc_buffer_and_set_caps.
16452
16453         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
16454         set_caps on the source pad.
16455         (gst_pad_alloc_buffer_and_set_caps): New function, does what
16456         alloc_buffer used to do. Fixes #322874.
16457
16458         * docs/gst/gstreamer-sections.txt: 
16459         * docs/design/part-negotiation.txt: 
16460         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
16461         changes.
16462
16463 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16464
16465         patch by: Sebastien Moutte
16466
16467         * win32/MANIFEST:
16468         * win32/common/config.h.in:
16469         * win32/vs6/libgstcontroller.dsp:
16470           win32 build fixes
16471
16472 2005-12-05  Wim Taymans  <wim@fluendo.com>
16473
16474         * gst/gstcaps.c: (gst_caps_is_equal):
16475         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16476         (gst_fake_src_create):
16477         Back out previous code changes, leave doc updates, file bugs 
16478         instead. 
16479
16480 2005-12-05  Wim Taymans  <wim@fluendo.com>
16481
16482         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16483         (gst_fake_src_get_times), (gst_fake_src_create):
16484         * plugins/elements/gstfakesrc.h:
16485         Fix broken sync code.
16486
16487 2005-12-05  Wim Taymans  <wim@fluendo.com>
16488
16489         * gst/gstcaps.c: (gst_caps_is_equal):
16490         Comparing NULL against !NULL yields different caps, not a
16491         failure.
16492
16493 2005-12-05  Wim Taymans  <wim@fluendo.com>
16494
16495         * gst/gstpipeline.c:
16496         Fix small typo in docs.
16497
16498 2005-12-05  Andy Wingo  <wingo@pobox.com>
16499
16500         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
16501
16502         * gst/gst.c (init_post): remove hard-coded 0.9 location for
16503         registries/plugins with a MAJORMINOR one.
16504         (plugin_desc): Rename library from gstcoreleements to
16505         staticelements. Fixes #323222.
16506
16507 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
16508
16509         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
16510           Change debug category to 'collectpads' from 'collect_pads'
16511           (fixes #323250).
16512
16513 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
16514
16515         patch by: Sebastien Moutte
16516
16517         * libs/gst/controller/gstinterpolation.c:
16518           use convert function for uint64/double
16519         * win32/vs6/libgstcontroller.dsp:
16520           link to GLib
16521
16522 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
16523
16524         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
16525         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
16526         * gst/gstutils.h:
16527         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16528           add tests that seem to show that the guint64/gdouble conversions
16529           are correct.
16530
16531 2005-12-02  Wim Taymans  <wim@fluendo.com>
16532
16533         * gst/gstregistry.c: (gst_registry_add_path):
16534         * gst/gstregistry.h:
16535         * gst/gstregistryxml.c:
16536         Fix docs again.
16537
16538 2005-12-02  Wim Taymans  <wim@fluendo.com>
16539
16540         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16541         (gst_util_uint64_scale_int):
16542         Small cleanup.
16543
16544         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16545         Add debug log line.
16546
16547         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
16548         Add FIXME.
16549
16550 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16551
16552         * win32/MANIFEST:
16553         * win32/common/config.h:
16554         * win32/vs6/gstreamer.dsw:
16555         * win32/vs6/libgstcoreelements.dsp:
16556         * win32/vs6/libgstelements.dsp:
16557           renamed core elements plugin
16558
16559 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16560
16561         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
16562         (get_candidates):
16563           do piece-wise major/minor comparison so 0.9 < 0.10
16564           also allow .exe extensions for tools
16565
16566 2005-12-02  Michael Smith  <msmith@fluendo.com>
16567
16568         * gst/gst.c:
16569           Escape a % to make gtkdoc happier; bug 322958.
16570
16571 === release 0.9.7 ===
16572
16573 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16574
16575         * configure.ac:
16576           releasing 0.9.7, "My Dog Has No Nose"
16577
16578 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16579
16580         * common/gst-xmlinspect.py:
16581         * configure.ac:
16582         * docs/libs/tmpl/gstdataprotocol.sgml:
16583         * docs/random/release:
16584         * po/af.po:
16585         * po/az.po:
16586         * po/bg.po:
16587         * po/ca.po:
16588         * po/cs.po:
16589         * po/de.po:
16590         * po/en_GB.po:
16591         * po/fr.po:
16592         * po/it.po:
16593         * po/nb.po:
16594         * po/nl.po:
16595         * po/ru.po:
16596         * po/sq.po:
16597         * po/sr.po:
16598         * po/sv.po:
16599         * po/tr.po:
16600         * po/uk.po:
16601         * po/vi.po:
16602         * win32/common/config.h:
16603         * win32/common/config.h.in:
16604         * win32/vs6/gst_inspect.dsp:
16605         * win32/vs6/gst_launch.dsp:
16606         * win32/vs6/libgstbase.dsp:
16607         * win32/vs6/libgstelements.dsp:
16608         * win32/vs6/libgstreamer.dsp:
16609         * win32/vs7/GStreamer.vcproj:
16610         * win32/vs7/gst-inspect.vcproj:
16611         * win32/vs7/gst-launch.vcproj:
16612         * win32/vs7/libgstbase.vcproj:
16613           bump GST_MAJORMINOR to 0.10
16614           reset libtool version
16615
16616 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16617
16618         * po/LINGUAS:
16619         * po/bg.po:
16620           Added Bulgarian translation by (Alexander Shopov)
16621
16622 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16623
16624         * tests/check/gst/gstplugin.c:
16625           fix test
16626
16627 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16628
16629         * common/gst-xmlinspect.py:
16630         * common/gtk-doc-plugins.mak:
16631         * configure.ac:
16632         * docs/Makefile.am:
16633         * docs/gst/Makefile.am:
16634         * docs/gst/gstreamer-docs.sgml:
16635         * docs/gst/gstreamer-sections.txt:
16636         * docs/gst/gstreamer.types:
16637         * docs/gst/gstreamer.types.in:
16638         * docs/plugins/Makefile.am:
16639         * docs/plugins/gstreamer-plugins-docs.sgml:
16640         * docs/plugins/gstreamer-plugins-sections.txt:
16641         * docs/plugins/gstreamer-plugins.types:
16642         * docs/plugins/inspect.stamp:
16643         * docs/plugins/inspect/plugin-coreelements.xml:
16644         * docs/plugins/inspect/plugin-coreindexers.xml:
16645         * docs/plugins/scanobj-build.stamp:
16646         * gstreamer.spec.in:
16647         * plugins/elements/Makefile.am:
16648         * plugins/elements/gstelements.c:
16649         * plugins/elements/gstfakesink.c:
16650         * plugins/elements/gstfakesrc.c:
16651         * plugins/elements/gstfilesink.c:
16652         * plugins/elements/gstfilesrc.c:
16653         * plugins/elements/gstqueue.c:
16654         * plugins/indexers/Makefile.am:
16655         * plugins/indexers/gstindexers.c:
16656           document core plugins in a separate document just like all the
16657           others
16658           rename these plugins to something starting with core
16659
16660 2005-12-01  Andy Wingo  <wingo@pobox.com>
16661
16662         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
16663         padding here before, but it missed the commit.
16664
16665 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16666
16667         * libs/gst/controller/gstinterpolation.c:
16668           whitespace prices have crashed, we should feel free to use some now
16669           use gst_guint64_to_gdouble
16670
16671 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16672
16673         * libs/gst/controller/gstcontroller.c:
16674         * libs/gst/controller/gsthelper.c:
16675         * libs/gst/controller/gstinterpolation.c:
16676         * libs/gst/controller/lib.c:
16677           wrap config.h include
16678
16679 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16680
16681         * docs/gst/gstreamer-sections.txt:
16682           update docs
16683
16684 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16685
16686         * plugins/elements/gstelements.c:
16687         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
16688         (gst_fd_sink__class_init), (gst_fd_sink__init),
16689         (gst_fd_sink__chain), (gst_fd_sink__set_property),
16690         (gst_fd_sink__get_property):
16691         * plugins/elements/gstfdsink.h:
16692         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
16693         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
16694         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
16695         (gst_fd_src_unlock), (gst_fd_src_set_property),
16696         (gst_fd_src_get_property), (gst_fd_src_create),
16697         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
16698         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
16699         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
16700         (gst_fd_src_uri_handler_init):
16701         * plugins/elements/gstfdsrc.h:
16702         * plugins/elements/gstqueue.c: (gst_queue_get_type):
16703           more anal cleanup
16704
16705 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16706
16707         * docs/gst/Makefile.am:
16708         * docs/gst/gstreamer.types.in:
16709         * gst/Makefile.am:
16710           fix the docs build
16711
16712 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16713
16714         * configure.ac:
16715         * gst/Makefile.am:
16716         * gst/gst.c:
16717         * gst/gstplugin.h:
16718         * gst/gstregistry.h:
16719         * tests/benchmarks/complexity.c:
16720         * tests/benchmarks/mass-elements.c:
16721         * tests/check/Makefile.am:
16722         * tools/Makefile.am:
16723         * tools/gst-inspect.c:
16724         * tools/gst-xmlinspect.c:
16725           various fixes to make
16726           --disable-nls --disable-registry --disable-loadsave
16727           --disable-parse --disable-gst-debug
16728           work and get the core .so down to 360444 bytes after stripping
16729
16730 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16731
16732         * Makefile.am:
16733         * configure.ac:
16734           descend into tests
16735         * docs/random/thomasvs/TODO:
16736         * tests/Makefile.am:
16737         * tests/README:
16738           add a README
16739
16740 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16741
16742         * win32/GStreamer.vcproj:
16743         * win32/MANIFEST:
16744         * win32/Makefile:
16745         * win32/Makefile.inspect:
16746         * win32/Makefile.launch:
16747         * win32/Makefile.register:
16748         * win32/README.txt:
16749         * win32/gst-inspect.vcproj:
16750         * win32/gst-launch.vcproj:
16751         * win32/gst-register.vcproj:
16752         * win32/gstelements.vcproj:
16753         * win32/gstgetbits.def:
16754         * win32/gstgetbits.vcproj:
16755         * win32/gstreamer-dbg.def:
16756         * win32/gstreamer.def:
16757         * win32/libgstbase.def:
16758         * win32/libgstbase.vcproj:
16759         * win32/link_oldruntime.c:
16760         * win32/mman.c:
16761         * win32/mman.h:
16762         * win32/mman.inl:
16763         * win32/msvc71.sln:
16764           move even more stuff, win32/ is nice and clean now
16765
16766 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16767
16768         * libs/gst/control/.cvsignore:
16769         * win32/MANIFEST:
16770         * win32/config.h:
16771         * win32/dirent.c:
16772         * win32/dirent.h:
16773         * win32/gstbytestream.def:
16774         * win32/gstbytestream.vcproj:
16775         * win32/gstconfig.h:
16776         * win32/gstenumtypes.c:
16777         * win32/gstenumtypes.h:
16778         * win32/gstoptimalscheduler.vcproj:
16779         * win32/gstversion.h:
16780         * win32/gtchar.h:
16781         * win32/testsuite/bins.vcproj:
16782         * win32/testsuite/bytestream.vcproj:
16783         * win32/testsuite/caps.vcproj:
16784         * win32/testsuite/cleanup.vcproj:
16785         * win32/testsuite/clock.vcproj:
16786         * win32/testsuite/debug.vcproj:
16787         * win32/testsuite/dlopen.vcproj:
16788         * win32/testsuite/dynparams.vcproj:
16789         * win32/testsuite/elements.vcproj:
16790         * win32/testsuite/ghostpads.vcproj:
16791         * win32/testsuite/indexers.vcproj:
16792         * win32/testsuite/negotiation.vcproj:
16793         * win32/testsuite/parse.vcproj:
16794         * win32/testsuite/plugin.vcproj:
16795         * win32/testsuite/refcounting.vcproj:
16796         * win32/testsuite/schedulers.vcproj:
16797         * win32/testsuite/states.vcproj:
16798         * win32/testsuite/tags.vcproj:
16799         * win32/testsuite/threads.vcproj:
16800           remove old win32 stuff that isn't maintained and should be
16801           reorganized
16802
16803 2005-11-30  Andy Wingo  <wingo@pobox.com>
16804
16805         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
16806         loading the gst.interfaces python module bork.
16807
16808         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
16809         available since GLib 2.2. Fixes #318031.
16810
16811 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16812
16813         * Makefile.am:
16814         * check/.cvsignore:
16815         * check/Makefile.am:
16816         * check/elements/.cvsignore:
16817         * check/elements/fakesrc.c:
16818         * check/elements/fdsrc.c:
16819         * check/elements/identity.c:
16820         * check/generic/.cvsignore:
16821         * check/generic/states.c:
16822         * check/gst-libs/.cvsignore:
16823         * check/gst-libs/controller.c:
16824         * check/gst-libs/gdp.c:
16825         * check/gst/.cvsignore:
16826         * check/gst/capslist.h:
16827         * check/gst/gst.c:
16828         * check/gst/gstbin.c:
16829         * check/gst/gstbuffer.c:
16830         * check/gst/gstbus.c:
16831         * check/gst/gstcaps.c:
16832         * check/gst/gstelement.c:
16833         * check/gst/gstevent.c:
16834         * check/gst/gstghostpad.c:
16835         * check/gst/gstiterator.c:
16836         * check/gst/gstmessage.c:
16837         * check/gst/gstminiobject.c:
16838         * check/gst/gstobject.c:
16839         * check/gst/gstpad.c:
16840         * check/gst/gstpipeline.c:
16841         * check/gst/gstplugin.c:
16842         * check/gst/gstsegment.c:
16843         * check/gst/gststructure.c:
16844         * check/gst/gstsystemclock.c:
16845         * check/gst/gsttag.c:
16846         * check/gst/gstutils.c:
16847         * check/gst/gstvalue.c:
16848         * check/net/.cvsignore:
16849         * check/net/gstnetclientclock.c:
16850         * check/net/gstnettimeprovider.c:
16851         * check/pipelines/.cvsignore:
16852         * check/pipelines/cleanup.c:
16853         * check/pipelines/simple_launch_lines.c:
16854         * check/pipelines/stress.c:
16855         * check/states/.cvsignore:
16856         * check/states/sinks.c:
16857         * configure.ac:
16858         * examples/Makefile.am:
16859         * examples/appreader/.cvsignore:
16860         * examples/appreader/Makefile.am:
16861         * examples/appreader/appreader.c:
16862         * examples/controller/.cvsignore:
16863         * examples/controller/Makefile.am:
16864         * examples/controller/audio-example.c:
16865         * examples/cutter/.cvsignore:
16866         * examples/cutter/Makefile.am:
16867         * examples/cutter/cutter.c:
16868         * examples/cutter/cutter.h:
16869         * examples/events/Makefile.am:
16870         * examples/events/seek.c:
16871         * examples/helloworld/.cvsignore:
16872         * examples/helloworld/Makefile.am:
16873         * examples/helloworld/helloworld.c:
16874         * examples/helloworld2/.cvsignore:
16875         * examples/helloworld2/Makefile.am:
16876         * examples/helloworld2/helloworld2.c:
16877         * examples/launch/.cvsignore:
16878         * examples/launch/Makefile.am:
16879         * examples/launch/mp3parselaunch.c:
16880         * examples/launch/mp3play:
16881         * examples/manual/.cvsignore:
16882         * examples/manual/Makefile.am:
16883         * examples/manual/extract.pl:
16884         * examples/metadata/Makefile.am:
16885         * examples/metadata/read-metadata.c:
16886         * examples/mixer/.cvsignore:
16887         * examples/mixer/Makefile.am:
16888         * examples/mixer/mixer.c:
16889         * examples/mixer/mixer.h:
16890         * examples/pingpong/.cvsignore:
16891         * examples/pingpong/Makefile.am:
16892         * examples/pingpong/pingpong.c:
16893         * examples/plugins/.cvsignore:
16894         * examples/plugins/Makefile.am:
16895         * examples/plugins/example.c:
16896         * examples/plugins/example.h:
16897         * examples/pwg/.cvsignore:
16898         * examples/pwg/Makefile.am:
16899         * examples/pwg/extract.pl:
16900         * examples/queue/.cvsignore:
16901         * examples/queue/Makefile.am:
16902         * examples/queue/queue.c:
16903         * examples/queue2/.cvsignore:
16904         * examples/queue2/Makefile.am:
16905         * examples/queue2/queue2.c:
16906         * examples/queue3/.cvsignore:
16907         * examples/queue3/Makefile.am:
16908         * examples/queue3/queue3.c:
16909         * examples/queue4/.cvsignore:
16910         * examples/queue4/Makefile.am:
16911         * examples/queue4/queue4.c:
16912         * examples/retag/.cvsignore:
16913         * examples/retag/Makefile.am:
16914         * examples/retag/retag.c:
16915         * examples/retag/transcode.c:
16916         * examples/thread/.cvsignore:
16917         * examples/thread/Makefile.am:
16918         * examples/thread/thread.c:
16919         * examples/typefind/.cvsignore:
16920         * examples/typefind/Makefile.am:
16921         * examples/typefind/typefind.c:
16922         * examples/xml/.cvsignore:
16923         * examples/xml/Makefile.am:
16924         * examples/xml/createxml.c:
16925         * examples/xml/runxml.c:
16926         * tests/Makefile.am:
16927         * tests/check/Makefile.am:
16928         * testsuite/.cvsignore:
16929         * testsuite/Makefile.am:
16930         * testsuite/Rules:
16931         * testsuite/caps/.cvsignore:
16932         * testsuite/caps/Makefile.am:
16933         * testsuite/caps/app_fixate.c:
16934         * testsuite/caps/audioscale.c:
16935         * testsuite/caps/caps.c:
16936         * testsuite/caps/caps.h:
16937         * testsuite/caps/caps_strings:
16938         * testsuite/caps/compatibility.c:
16939         * testsuite/caps/deserialize.c:
16940         * testsuite/caps/enumcaps.c:
16941         * testsuite/caps/eratosthenes.c:
16942         * testsuite/caps/filtercaps.c:
16943         * testsuite/caps/fixed.c:
16944         * testsuite/caps/fraction-convert.c:
16945         * testsuite/caps/fraction-multiply-and-zero.c:
16946         * testsuite/caps/intersect2.c:
16947         * testsuite/caps/intersection.c:
16948         * testsuite/caps/normalisation.c:
16949         * testsuite/caps/random.c:
16950         * testsuite/caps/renegotiate.c:
16951         * testsuite/caps/sets.c:
16952         * testsuite/caps/simplify.c:
16953         * testsuite/caps/string-conversions.c:
16954         * testsuite/caps/structure.c:
16955         * testsuite/caps/subtract.c:
16956         * testsuite/caps/union.c:
16957         * testsuite/debug/.cvsignore:
16958         * testsuite/debug/Makefile.am:
16959         * testsuite/debug/category.c:
16960         * testsuite/debug/commandline.c:
16961         * testsuite/debug/global.c:
16962         * testsuite/debug/output.c:
16963         * testsuite/debug/printf_extension.c:
16964         * testsuite/dlopen/.cvsignore:
16965         * testsuite/dlopen/Makefile.am:
16966         * testsuite/dlopen/dlopen_gst.c:
16967         * testsuite/dlopen/loadgst.c:
16968         * testsuite/elements/.cvsignore:
16969         * testsuite/elements/Makefile.am:
16970         * testsuite/elements/gst-inspect-check.in:
16971         * testsuite/elements/struct_i386.h:
16972         * testsuite/elements/struct_size.c:
16973         * testsuite/indexers/.cvsignore:
16974         * testsuite/indexers/Makefile.am:
16975         * testsuite/indexers/cache1.c:
16976         * testsuite/indexers/indexdump.c:
16977         * testsuite/parse/.cvsignore:
16978         * testsuite/parse/Makefile.am:
16979         * testsuite/parse/parse1.c:
16980         * testsuite/parse/parse2.c:
16981         * testsuite/plugin/.cvsignore:
16982         * testsuite/plugin/Makefile.am:
16983         * testsuite/plugin/README:
16984         * testsuite/plugin/dynamic.c:
16985         * testsuite/plugin/linked.c:
16986         * testsuite/plugin/loading.c:
16987         * testsuite/plugin/registry.c:
16988         * testsuite/plugin/static.c:
16989         * testsuite/plugin/static2.c:
16990         * testsuite/plugin/testplugin.c:
16991         * testsuite/plugin/testplugin2.c:
16992         * testsuite/plugin/testplugin2_s.c:
16993         * testsuite/plugin/testplugin_s.c:
16994         * testsuite/refcounting/.cvsignore:
16995         * testsuite/refcounting/Makefile.am:
16996         * testsuite/refcounting/bin.c:
16997         * testsuite/refcounting/element.c:
16998         * testsuite/refcounting/element_pad.c:
16999         * testsuite/refcounting/mainloop.c:
17000         * testsuite/refcounting/mem.c:
17001         * testsuite/refcounting/mem.h:
17002         * testsuite/refcounting/object.c:
17003         * testsuite/refcounting/pad.c:
17004         * testsuite/refcounting/sched.c:
17005         * testsuite/refcounting/thread.c:
17006         * testsuite/states/.cvsignore:
17007         * testsuite/states/Makefile.am:
17008         * testsuite/states/bin.c:
17009         * testsuite/states/locked.c:
17010         * testsuite/states/parent.c:
17011         * testsuite/threads/.cvsignore:
17012         * testsuite/threads/159566.c:
17013         * testsuite/threads/159852.c:
17014         * testsuite/threads/Makefile.am:
17015         * testsuite/threads/queue.c:
17016         * testsuite/threads/signals.c:
17017         * testsuite/threads/staticrec.c:
17018         * testsuite/threads/thread.c:
17019         * testsuite/threads/threadb.c:
17020         * testsuite/threads/threadc.c:
17021         * testsuite/threads/threadd.c:
17022         * testsuite/threads/threade.c:
17023         * testsuite/threads/threadf.c:
17024         * testsuite/threads/threadg.c:
17025         * testsuite/threads/threadh.c:
17026         * testsuite/threads/threadi.c:
17027           move all of these under tests
17028
17029 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17030
17031         * configure.ac:
17032         * tests/Makefile.am:
17033           fix distcheck
17034
17035 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17036
17037         * docs/gst/gstreamer-sections.txt:
17038         * tests/sched/.cvsignore:
17039         * tests/sched/Makefile.am:
17040         * tests/sched/cases/(fs-fs).xml:
17041         * tests/sched/cases/(fs-i-fs).xml:
17042         * tests/sched/cases/(fs-i-i-fs).xml:
17043         * tests/sched/cases/(fs-i-q[i-fs]).xml:
17044         * tests/sched/dynamic-pipeline.c:
17045         * tests/sched/interrupt1.c:
17046         * tests/sched/interrupt2.c:
17047         * tests/sched/interrupt3.c:
17048         * tests/sched/runtestcases:
17049         * tests/sched/runxml.c:
17050         * tests/sched/sched-stress.c:
17051         * tests/sched/sort.c:
17052         * tests/sched/testcases:
17053         * tests/sched/testcases1.tc:
17054         * tests/seeking/.cvsignore:
17055         * tests/seeking/Makefile.am:
17056         * tests/seeking/seeking1.c:
17057         * tests/threadstate/.cvsignore:
17058         * tests/threadstate/Makefile.am:
17059         * tests/threadstate/test1.c:
17060         * tests/threadstate/test2.c:
17061         * tests/threadstate/threadstate1.c:
17062         * tests/threadstate/threadstate2.c:
17063         * tests/threadstate/threadstate3.c:
17064         * tests/threadstate/threadstate4.c:
17065         * tests/threadstate/threadstate5.c:
17066           remove obsolete tests
17067         * configure.ac:
17068         * tests/bench-complexity.scm:
17069         * tests/bench-mass_elements.scm:
17070         * tests/complexity.c:
17071         * tests/complexity.gnuplot:
17072         * tests/instantiate/.cvsignore:
17073         * tests/instantiate/Makefile.am:
17074         * tests/instantiate/caps.c:
17075         * tests/mass_elements.c:
17076         * tests/network-clock-utils.scm:
17077         * tests/network-clock.scm:
17078         * tests/plot-data:
17079         First pass at cleaning up tests/ dir before moving the rest
17080         Combined with CVS surgery
17081
17082 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17083
17084         * po/POTFILES.in:
17085           queue has moved, update
17086
17087 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17088
17089         * docs/gst/gstreamer-sections.txt:
17090           remove double entries from the docs
17091         * gst/gst_private.h:
17092         * gst/gstinfo.c: (_gst_debug_init):
17093           remove the THREAD debug category
17094         * gst/Makefile.am:
17095         * gst/gstqueue.c:
17096         * gst/gstqueue.h:
17097         * docs/gst/gstreamer.types:
17098         * plugins/elements/gstqueue.c: (gst_queue_get_type),
17099         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
17100           completely move queue and fix up debugging categories
17101
17102 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17103
17104         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17105           make initialization portable, using LL is not
17106
17107 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17108
17109         * win32/common/gstconfig.h:
17110           add large padding
17111
17112 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17113
17114         * win32/common/libgstreamer.def:
17115           rename symbols; sort base section
17116
17117 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17118
17119         * gst/gstclock.c: (do_linear_regression):
17120           remove crack non-portable handrolled DEBUG macro
17121
17122 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17123
17124         * docs/random/release:
17125           update notes
17126         * win32/common/gstenumtypes.c: (register_gst_object_flags),
17127         (gst_object_flags_get_type), (register_gst_bin_flags),
17128         (gst_bin_flags_get_type), (register_gst_buffer_flag),
17129         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17130         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
17131         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
17132         (gst_caps_flags_get_type), (register_gst_clock_return),
17133         (gst_clock_return_get_type), (register_gst_clock_entry_type),
17134         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
17135         (gst_clock_flags_get_type), (register_gst_state),
17136         (gst_state_get_type), (register_gst_state_change_return),
17137         (gst_state_change_return_get_type), (register_gst_state_change),
17138         (gst_state_change_get_type), (register_gst_element_flags),
17139         (gst_element_flags_get_type), (register_gst_core_error),
17140         (gst_core_error_get_type), (register_gst_library_error),
17141         (gst_library_error_get_type), (register_gst_resource_error),
17142         (gst_resource_error_get_type), (register_gst_stream_error),
17143         (gst_stream_error_get_type), (register_gst_event_type_flags),
17144         (gst_event_type_flags_get_type), (register_gst_event_type),
17145         (gst_event_type_get_type), (register_gst_seek_type),
17146         (gst_seek_type_get_type), (register_gst_seek_flags),
17147         (gst_seek_flags_get_type), (register_gst_format),
17148         (gst_format_get_type), (register_gst_index_certainty),
17149         (gst_index_certainty_get_type), (register_gst_index_entry_type),
17150         (gst_index_entry_type_get_type),
17151         (register_gst_index_lookup_method),
17152         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
17153         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
17154         (gst_index_resolver_method_get_type), (register_gst_index_flags),
17155         (gst_index_flags_get_type), (register_gst_debug_level),
17156         (gst_debug_level_get_type), (register_gst_debug_color_flags),
17157         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
17158         (gst_iterator_result_get_type), (register_gst_iterator_item),
17159         (gst_iterator_item_get_type), (register_gst_message_type),
17160         (gst_message_type_get_type), (register_gst_mini_object_flags),
17161         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
17162         (gst_pad_link_return_get_type), (register_gst_flow_return),
17163         (gst_flow_return_get_type), (register_gst_activate_mode),
17164         (gst_activate_mode_get_type), (register_gst_pad_direction),
17165         (gst_pad_direction_get_type), (register_gst_pad_flags),
17166         (gst_pad_flags_get_type), (register_gst_pad_presence),
17167         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
17168         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
17169         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
17170         (gst_plugin_error_get_type), (register_gst_plugin_flags),
17171         (gst_plugin_flags_get_type), (register_gst_rank),
17172         (gst_rank_get_type), (register_gst_query_type),
17173         (gst_query_type_get_type), (register_gst_tag_merge_mode),
17174         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
17175         (gst_tag_flag_get_type), (register_gst_task_state),
17176         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
17177         (gst_alloc_trace_flags_get_type),
17178         (register_gst_type_find_probability),
17179         (gst_type_find_probability_get_type), (register_gst_uri_type),
17180         (gst_uri_type_get_type), (register_gst_parse_error),
17181         (gst_parse_error_get_type):
17182         * win32/common/gstenumtypes.h:
17183         * win32/common/gstversion.h:
17184           update visual studio generated files
17185
17186 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17187
17188         * win32/vs6/libgstbase.dsp:
17189         * win32/vs6/libgstelements.dsp:
17190           update project files for new locations
17191
17192 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17193
17194         * Makefile.am:
17195           remove some files
17196         * README:
17197           reinstate and update
17198         * DEVEL:
17199         * REQUIREMENTS:
17200           removed
17201         * LICENSE:
17202         * docs/random/LICENSE:
17203           moved to random
17204
17205 2005-11-30  Edward Hervey  <edward@fluendo.com>
17206
17207         * gst/gsttypefind.c: (gst_type_find_register):
17208         * gst/gsttypefind.h:
17209         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
17210         (gst_type_find_factory_dispose):
17211         * gst/gsttypefindfactory.h:
17212         Fix memory leak in GstTypeFindFactory.
17213
17214 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17215
17216         * gst/gst.c:
17217         * plugins/elements/Makefile.am:
17218         * plugins/elements/gstelements.c:
17219         * plugins/elements/gstqueue.c:
17220           move queue from core to the elements plugin
17221
17222 2005-11-29  Andy Wingo  <wingo@pobox.com>
17223
17224         * libs/gst/base/gstbasetransform.h: 
17225         * libs/gst/base/gstbasesrc.h: 
17226         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
17227
17228         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
17229         of pointers by which to pad very extensible base classes (like the
17230         ones in libs/gst/base).
17231
17232 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17233
17234         * docs/gst/gstreamer-docs.sgml:
17235         * docs/gst/gstreamer-sections.txt:
17236         * docs/libs/gstreamer-libs-docs.sgml:
17237         * docs/libs/gstreamer-libs-sections.txt:
17238           moving documentation from core to lib
17239
17240 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17241
17242         * check/Makefile.am:
17243         * configure.ac:
17244         * docs/gst/Makefile.am:
17245         * gst/Makefile.am:
17246         * gst/base/.cvsignore:
17247         * gst/base/Makefile.am:
17248         * gst/base/README:
17249         * gst/base/gstadapter.c:
17250         * gst/base/gstadapter.h:
17251         * gst/base/gstbasesink.c:
17252         * gst/base/gstbasesink.h:
17253         * gst/base/gstbasesrc.c:
17254         * gst/base/gstbasesrc.h:
17255         * gst/base/gstbasetransform.c:
17256         * gst/base/gstbasetransform.h:
17257         * gst/base/gstcollectpads.c:
17258         * gst/base/gstcollectpads.h:
17259         * gst/base/gstpushsrc.c:
17260         * gst/base/gstpushsrc.h:
17261         * gst/base/gsttypefindhelper.c:
17262         * gst/base/gsttypefindhelper.h:
17263         * gst/check/Makefile.am:
17264         * gst/check/gstcheck.c:
17265         * gst/check/gstcheck.h:
17266         * gst/net/Makefile.am:
17267         * gst/net/gstnet.h:
17268         * gst/net/gstnetclientclock.c:
17269         * gst/net/gstnetclientclock.h:
17270         * gst/net/gstnettimepacket.c:
17271         * gst/net/gstnettimepacket.h:
17272         * gst/net/gstnettimeprovider.c:
17273         * gst/net/gstnettimeprovider.h:
17274         * libs/gst/Makefile.am:
17275         * libs/gst/base/Makefile.am:
17276         * libs/gst/base/gstbasetransform.c:
17277         * libs/gst/check/Makefile.am:
17278         * plugins/elements/Makefile.am:
17279         * po/POTFILES.in:
17280           CVS surgery + support to move base, check, and net out of gst
17281           and into libs/gst
17282
17283 2005-11-29  Andy Wingo  <wingo@pobox.com>
17284
17285         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
17286
17287         * gst/gststructure.h (struct _GstStructure): Only one pointer of
17288         padding.
17289
17290         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
17291
17292         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
17293
17294         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
17295
17296         * gst/gstobject.h: (struct _GstObject): Only one pointer of
17297         padding; reduces object size by about 30%. We don't expect
17298         anything else to go into gstobject.
17299
17300         * gst/gstminiobject.h (struct _GstMiniObject)
17301         (struct _GstMiniObjectClass): Only one pointer of padding; the
17302         payload is only a pointer and two ints anyway. For the class there
17303         are only two methods as well.
17304         
17305         * gst/gstelement.h (struct _GstElementClass): Removed
17306         the state_changed signal callback, it is not used.
17307
17308 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17309
17310         * docs/gst/gstreamer.types:
17311           fix includes, though they are a little dinky
17312
17313 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17314
17315         * check/Makefile.am:
17316           look in the right place for elements, a lot more chance of
17317           success
17318         * gst/Makefile.am:
17319           remove indexers and elements subdirs
17320         * plugins/Makefile.am:
17321           make indexers conditional
17322
17323 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17324
17325         * Makefile.am:
17326         * configure.ac:
17327         * plugins/elements/Makefile.am:
17328         * plugins/elements/gstcapsfilter.c:
17329         * plugins/elements/gstfilesink.c:
17330         * plugins/elements/gstfilesrc.c:
17331         * plugins/elements/gstidentity.c:
17332         * plugins/indexers/Makefile.am:
17333           do CVS surgery and related build fixery to move elements
17334           and indexers in a new gstreamer/plugins directory, out of the
17335           gst/ directory
17336
17337 2005-11-29  Andy Wingo  <wingo@pobox.com>
17338
17339         * check/Makefile.am:
17340         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17341         * pkgconfig/gstreamer-net.pc.in:
17342         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
17343         #322257.
17344
17345 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17346
17347         * tools/Makefile.am:
17348         * tools/gst-complete.1.in:
17349         * tools/gst-complete.c:
17350         * tools/gst-compprep.1.in:
17351         * tools/gst-compprep.c:
17352           removing -compprep and -complete
17353
17354 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17355
17356         * gst/gstevent.c: (gst_event_new_new_segment),
17357         (gst_event_parse_new_segment):
17358         * gst/gstevent.h:
17359           fix #320529 - clean up new_segment API and structure.
17360           Let's hope everyone was using the methods, and not the structure.
17361
17362 2005-11-29  Edward Hervey  <edward@fluendo.com>
17363
17364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17365         (gst_base_sink_event), (gst_base_sink_do_sync),
17366         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
17367         Properly handle non GST_FORMAT_TIME segment
17368         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17369         Properly handle non GST_FORMAT_TIME segment
17370         * gst/gstsegment.c:
17371         This function is valid if the accumulator is 0 and the format
17372         is different from the requested format.
17373         
17374 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
17375
17376         * docs/gst/gstreamer-sections.txt:
17377         Add gst_query_new_seeking and gst_query_parse_seeking to the
17378         docs.
17379
17380 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
17381
17382         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17383           Treat a pad alloc with new caps the same as if we were not
17384           negotiated, in order to allow a changing upstream output
17385           to produce a new format of data.
17386
17387 2005-11-29  Edward Hervey  <edward@fluendo.com>
17388
17389         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17390         (gst_base_transform_event), (gst_base_transform_eventfunc):
17391         The event virtual method is now properly implemented, with a default
17392         handler
17393         Sub classes should call the parent_class event method. They should
17394         return FALSE if they had a problem handling the given event, or don't
17395         want GstBaseTransform to send that even downstream
17396         * gst/elements/gstidentity.c: (gst_identity_class_init),
17397         (gst_identity_init), (gst_identity_event),
17398         (gst_identity_transform_ip), (gst_identity_set_property),
17399         (gst_identity_get_property):
17400         * gst/elements/gstidentity.h:
17401         Added the single-segment boolean property.
17402         If set to TRUE, it will output a single segment of data, starting from
17403         0, will eat up all incoming newsegment, and modify the timestamp of the
17404         buffers accordingly
17405
17406 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
17407
17408         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
17409           Don't ref NULL target pad (#322751). Improve docs.
17410
17411 2005-11-29  Michael Smith  <msmith@fluendo.com>
17412
17413         * gst/gstregistryxml.c: (load_plugin):
17414           Don't crash if we failed to load a feature from a plugin. 
17415
17416 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17417
17418         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17419         (GST_START_TEST):
17420           use more check API and less GLib API
17421
17422 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17423
17424         * Makefile.am:
17425           don't run checks if we don't have check
17426         * common/check.mak:
17427           remove the registry when running make torture
17428         * docs/gst/gstreamer-sections.txt:
17429           remove second multiply
17430         * gst/gstqueue.c: (gst_queue_loop):
17431           fix a compile warning when disabling debug
17432
17433 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17434
17435         * gst/gstinfo.h:
17436         Hey! Let's print the pad name if the pointer != NULL instead
17437         of when it == NULL :-)
17438
17439 2005-11-28  Wim Taymans  <wim@fluendo.com>
17440
17441         * check/gst/gstutils.c: (GST_START_TEST):
17442         Updated check, add some scaling accuracy checking code.
17443
17444         * gst/gstutils.c: (gst_util_div128_64),
17445         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
17446         (gst_util_uint64_scale_int):
17447         Fix 6 times faster division code. Optimize for common 
17448         1/1 and less common X/1 cases.
17449
17450 2005-11-28  Wim Taymans  <wim@fluendo.com>
17451
17452         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17453         More checks.
17454
17455         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
17456         (do_linear_regression), (gst_clock_add_observation):
17457         Cleanups.
17458         Release lock when the clock cannot be slaved.
17459         Catch the case where the regression returned an invalid denominator.
17460
17461         * gst/gstutils.c: (gst_util_div128_64_iterate),
17462         (gst_util_div128_64), (gst_util_uint64_scale_int64),
17463         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17464         Add protentially more performant non-iterative 128/64 divide function
17465         that unfortunatly does not work yet.
17466         Shortcut the trivial 0/X = 0 case.
17467         Remove the warnings on overflow.
17468
17469 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17470
17471         * gst/gstplugin.c: (gst_plugin_register_func):
17472           everything causing a plugin not to load should be at least a WARNING
17473
17474 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
17475
17476         * docs/random/ensonic/dparams.txt:
17477           some TODOs for the next dev cycle
17478         * libs/gst/controller/gstcontroller.c:
17479         (gst_controlled_property_set_interpolation_mode),
17480         (gst_controlled_property_new):
17481         * libs/gst/controller/gstcontroller.h:
17482           use base type to assign acccessor functions
17483
17484 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17485
17486         * check/Makefile.am:
17487         Oops, that should have been top_srcdir
17488
17489 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17490
17491         * check/Makefile.am:
17492         * check/elements/fdsrc.c: (GST_START_TEST):
17493         Use a cmdline define to specify the location of a file to use for
17494         testing, to avoid breaking distcheck.
17495
17496 2005-11-28  Andy Wingo  <wingo@pobox.com>
17497
17498         * gst/gstpad.c (fixate_value): Use array functions for arrays.
17499
17500 2005-11-28  Edward Hervey  <edward@fluendo.com>
17501
17502         * tools/gst-launch.c: (main):
17503         Clarify the output strings, makes it easier to translate.
17504         Fixes #322626
17505
17506 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17507
17508         * gst/Makefile.am:
17509           don't try and build net if we don't even have <sys/socket.h>
17510
17511 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
17512
17513         * check/Makefile.am:
17514         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
17515         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
17516           Add tests for fdsrc seekability
17517
17518         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
17519         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
17520         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
17521         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
17522         * gst/elements/gstfdsrc.h:
17523           fdsrc should not be a 'live' source.
17524           Implement seeking on seekable fd's.
17525
17526         * gst/gstquery.c: (gst_query_new_seeking),
17527         (gst_query_parse_seeking):
17528         * gst/gstquery.h:
17529           Implement SEEKING query functions: 
17530             *_new_seeking and *_parse_seeking
17531
17532 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
17533
17534         * gst/gstelement.c: (gst_element_dispose):
17535           don't loop forever
17536
17537         * gst/gstiterator.c:
17538         * gst/gststructure.c:
17539           doc fixes
17540
17541         * libs/gst/controller/gstcontroller.c:
17542         (gst_controlled_property_set_interpolation_mode):
17543         * libs/gst/controller/gstcontroller.h:
17544         * libs/gst/controller/gstinterpolation.c:
17545         (interpolate_none_get_enum_value_array):
17546           support controlling enums
17547
17548 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
17549
17550         * gst/gstvalue.c:
17551           Improve documentation for gst_value_union().
17552
17553         * gst/gstvalue.h:
17554           Change return value for union, intersect and subtract functions
17555           from gint to gboolean.
17556
17557 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
17558
17559         * gst/gstvalue.c: (gst_value_serialize_any_list),
17560         (gst_value_transform_any_list_string),
17561         (gst_value_deserialize_list), (gst_value_deserialize_array),
17562         (gst_value_set_int_range), (gst_value_deserialize_int_range),
17563         (gst_value_set_double_range), (gst_value_deserialize_double_range),
17564         (gst_value_set_fraction_range_full),
17565         (gst_value_deserialize_fraction_range),
17566         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
17567         (gst_value_deserialize_boolean),
17568         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
17569         (gst_value_serialize_float), (gst_value_deserialize_float),
17570         (gst_string_wrap), (gst_value_deserialize_string),
17571         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
17572         (gst_value_union_int_range_int_range),
17573         (gst_value_intersect_int_range_int_range),
17574         (gst_value_intersect_double_range_double_range),
17575         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
17576         (gst_value_subtract_int_range_int_range),
17577         (gst_value_subtract_double_double_range),
17578         (gst_value_subtract_double_range_double_range),
17579         (gst_value_deserialize_fraction):
17580         * gst/gstvalue.h:
17581           Use gint, gdouble and gchar in our API instead of int, double and
17582           char (and make usage in gstvalue.c more consistent).
17583
17584 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17585
17586         * check/Makefile.am:
17587         * libs/gst/controller/Makefile.am:
17588         * libs/gst/dataprotocol/Makefile.am:
17589           fix up Makefile.am and remove GST_ENABLE_NEW
17590
17591 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17592
17593         * configure.ac:
17594         * gst/Makefile.am:
17595         * gst/base/Makefile.am:
17596         * gst/check/Makefile.am:
17597         * gst/elements/Makefile.am:
17598         * gst/net/Makefile.am:
17599           update LDFLAGS use some more
17600
17601 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17602
17603         * common/m4/gst-doc.m4:
17604           Fixes #312589
17605
17606 2005-11-26  Edward Hervey  <edward@fluendo.com>
17607
17608         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17609         This shouldn't issue a g_warning since it returns NULL if it
17610         couldn't find the plugin, and all functions using this behave
17611         properly on a NULL return. Switching to a GST_WARNING.
17612
17613 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
17614
17615         * gst/gstbin.c: (gst_bin_handle_message_func):
17616         Don't leak clock messages.
17617
17618 2005-11-25  Wim Taymans  <wim@fluendo.com>
17619
17620         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17621         (gst_util_uint64_scale_int):
17622         Optimisations, remove unneeded vars.
17623
17624 2005-11-25  Wim Taymans  <wim@fluendo.com>
17625
17626         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17627         Added more checks for the high precision uint64 cases.
17628
17629         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17630         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17631         Implement high precision (guint64 * guint64) / guint64.
17632
17633 2005-11-24  Wim Taymans  <wim@fluendo.com>
17634
17635         * gst/base/gstbasesrc.c: (gst_base_src_query):
17636         Fix wrong percentage query.
17637
17638         * gst/gstutils.c: (gst_util_uint64_scale),
17639         (gst_util_uint64_scale_int):
17640         Add some more common cases that can be handled 
17641         efficiently to _scale.
17642
17643 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17644
17645         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
17646         (gst_mini_object_suite):
17647           don't use check calls from threads; check probably isn't
17648           threadsafe and using a lock to make it threadsafe would
17649           defeat the purpose of this check
17650         * gst/check/gstcheck.c:
17651         * gst/check/gstcheck.h:
17652           use GST_DEBUG some more
17653
17654 2005-11-24  Wim Taymans  <wim@fluendo.com>
17655
17656         * gst/gstutils.c: (gst_util_uint64_scale),
17657         (gst_util_uint64_scale_int):
17658         Chain trivial case to _scale_int.
17659
17660 2005-11-24  Wim Taymans  <wim@fluendo.com>
17661
17662         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17663         Added test for scaling.
17664
17665         * gst/gstclock.h:
17666         Small doc fix.
17667
17668         * gst/gstutils.c: (gst_util_uint64_scale_int):
17669         Implemented high precision scaling code.
17670
17671 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
17672
17673         * gst/gstinfo.h:
17674           do not crash on pad==NULL
17675
17676 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17677
17678         Patch by: Stefan Kost
17679
17680         * common/gtk-doc.mak:
17681         * docs/gst/Makefile.am:
17682         * docs/libs/Makefile.am:
17683           Fix distcheck issues for the libraries docs build
17684           Closes #319599.
17685
17686 2005-11-24  Michael Smith <msmith@fluendo.com>
17687
17688         * docs/manual/basics-helloworld.xml:
17689           Fix bug #315027: memory leak in example code in docs.
17690
17691 2005-11-24  Michael Smith <msmith@fluendo.com>
17692
17693         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17694           Unlock the PREROLL_LOCK in a failure case.
17695
17696 2005-11-24  Wim Taymans  <wim@fluendo.com>
17697
17698         * docs/gst/gstreamer-sections.txt:
17699         * gst/base/gstadapter.h:
17700         * gst/base/gstbasesink.h:
17701         * gst/base/gstbasesrc.h:
17702         * gst/base/gstbasetransform.h:
17703         * gst/base/gstpushsrc.h:
17704         * gst/elements/gstfakesink.h:
17705         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
17706         * gst/elements/gstfakesrc.h:
17707         * gst/elements/gstfilesink.h:
17708         * gst/elements/gstfilesrc.h:
17709         * gst/gst.c:
17710         * gst/gstbin.c:
17711         * gst/gstbuffer.c: (_gst_buffer_copy):
17712         * gst/gstbus.h:
17713         * gst/gstcaps.c:
17714         * gst/gstchildproxy.c:
17715         * gst/gstclock.c:
17716         * gst/gstelement.c:
17717         * gst/gstelementfactory.c:
17718         * gst/gstelementfactory.h:
17719         * gst/gstevent.c:
17720         * gst/gstghostpad.h:
17721         * gst/gstindex.h:
17722         * gst/gstinterface.h:
17723         * gst/gstminiobject.c:
17724         * gst/gstminiobject.h:
17725         * gst/gstpad.c:
17726         * gst/gstpad.h:
17727         * gst/gstpadtemplate.h:
17728         * gst/gstpipeline.h:
17729         * gst/gstpluginfeature.h:
17730         * gst/gstquery.h:
17731         * gst/gstqueue.h:
17732         * gst/gsttaglist.c:
17733         * gst/gsttaglist.h:
17734         * gst/gsttagsetter.c:
17735         * gst/gsttagsetter.h:
17736         * gst/gsttrace.c:
17737         * gst/gsttrace.h:
17738         * gst/gsttypefind.h:
17739         * gst/gsturi.h:
17740         * gst/gstvalue.c:
17741         * gst/net/gstnetclientclock.c:
17742         * gst/net/gstnetclientclock.h:
17743         * gst/net/gstnettimepacket.c:
17744         * gst/net/gstnettimeprovider.c:
17745         * gst/net/gstnettimeprovider.h:
17746         Doc fixes.
17747
17748 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17749
17750         * configure.ac: back to HEAD
17751
17752 === release 0.9.6 ===
17753
17754 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
17755
17756         * configure.ac:
17757           releasing 0.9.6, "Always On Time"
17758
17759 2005-11-23  Wim Taymans  <wim@fluendo.com>
17760
17761         * docs/gst/gstreamer-sections.txt:
17762         * gst/glib-compat.c:
17763         * gst/gsttagsetter.c:
17764         * gst/gstvalue.c:
17765         * gst/net/gstnetclientclock.c:
17766         * gst/net/gstnettimepacket.h:
17767         Doc updates.
17768
17769 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17770
17771         * docs/faq/using.xml:
17772         * docs/libs/tmpl/gstcontrol.sgml:
17773         * docs/manual/advanced-dparams.xml:
17774         * docs/manual/appendix-checklist.xml:
17775         * docs/manual/basics-elements.xml:
17776         * docs/pwg/other-source.xml:
17777         * docs/random/moving-plugins:
17778         * gst/gstpad.c:
17779         * tools/gst-launch.1.in:
17780           remove mentions of sinesrc
17781
17782 2005-11-23  Michael Smith <msmith@fluendo.com>
17783
17784         * docs/gst/gstreamer-sections.txt:
17785           Update for new API and API changes.
17786         * gst/gstobject.h:
17787           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
17788         * gst/gstvalue.c:
17789           Documentation typo fix.
17790         * gst/net/gstnettimepacket.c:
17791           Documentation fixes for arguments.
17792
17793 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
17794
17795         * gst/gststructure.c: (gst_structure_get_fraction),
17796         (gst_structure_parse_value),
17797         (gst_structure_fixate_field_nearest_fraction):
17798         * gst/gststructure.h:
17799         * gst/gstutils.c: (gst_util_uint64_scale_int):
17800         * gst/gstutils.h:
17801         * scripts/update-funcnames:
17802         API Changes. 
17803         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
17804         Make gst_structure_fixate_field_nearest_fraction take a numerator
17805         and denominator argument instead of a GValue
17806         add gst_structure_get_fraction helper function.
17807
17808 2005-11-23  Wim Taymans  <wim@fluendo.com>
17809
17810         * docs/design/part-TODO.txt:
17811         Update TODO.
17812
17813         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
17814         * gst/net/gstnetclientclock.h:
17815         Use parent fields for timeout and window_size.
17816
17817 2005-11-23  Andy Wingo  <wingo@pobox.com>
17818
17819         * check/net/gstnetclientclock.c (test_functioning): Adjust to
17820         rate_num/rate_denom change.
17821
17822         * gst/net/gstnetclientclock.c
17823         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
17824         OBJECT_LOCK. Don't call add_observation with the lock.
17825
17826         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
17827         fraction.
17828         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
17829         rate fraction.
17830         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
17831         deal with rate as a fraction whose numerator and denominator are
17832         GstClockTime values.
17833         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
17834         master; the other fields are protected by the SLAVE_LOCK.
17835         (do_linear_regression): Note that this must be called with the
17836         SLAVE_LOCK.
17837         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
17838         OBJECT_LOCK. Call set_calibration instead of touching the
17839         variables directly.
17840         (gst_clock_set_property, gst_clock_get_property): Protect
17841         master/slave parameters with the SLAVE_LOCK.
17842
17843         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
17844         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
17845         note that all of the instance variables that add_observation and
17846         the set_master functions use are protected by that lock and not
17847         the OBJECT_LOCK.
17848         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
17849
17850         * gst/gstclock.c (gst_clock_add_observation): No longer requires
17851         the caller to take the object lock.
17852
17853 2005-11-23  Wim Taymans  <wim@fluendo.com>
17854
17855         * gst/gsterror.c: (_gst_core_errors_init):
17856         * gst/gsterror.h:
17857         Add error for clock stuff.
17858
17859         * gst/gstpipeline.c: (gst_pipeline_change_state),
17860         (gst_pipeline_set_clock):
17861         Post clock error when clock cannot be used in a pipeline.
17862
17863 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
17864
17865         * docs/gst/gstreamer-sections.txt:
17866           make two symbols from gstinfo private for the docs
17867         * gst/base/gstcollectpads.h:
17868         * gst/gstutils.c:
17869           fix doc typos, update docs
17870
17871 2005-11-22  Wim Taymans  <wim@fluendo.com>
17872
17873         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17874         (gst_base_sink_wait), (gst_base_sink_do_sync),
17875         (gst_base_sink_handle_event):
17876         * gst/base/gstbasesink.h:
17877         No need to store the clock, the parent element class already
17878         has it.
17879
17880         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
17881         Updates for clock_set returning a gboolean
17882
17883         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
17884         (gst_clock_id_wait_async), (gst_clock_class_init),
17885         (gst_clock_init), (gst_clock_finalize),
17886         (gst_clock_get_internal_time), (gst_clock_get_time),
17887         (gst_clock_slave_callback), (gst_clock_set_master),
17888         (gst_clock_get_master), (do_linear_regression),
17889         (gst_clock_add_observation), (gst_clock_set_property),
17890         (gst_clock_get_property):
17891         * gst/gstclock.h:
17892         Implement master/slave. When setting a clock as a slave, a
17893         periodic timeout is scheduled to sample master and slave times.
17894         Then the slave clock is recalibrated to match offset and rate
17895         of the master clock.
17896         Update logging a bit.
17897         Add flag so that a clock can state that is cannot be slaved to
17898         another clock.
17899
17900         * gst/gstelement.c: (gst_element_set_clock):
17901         * gst/gstelement.h:
17902         The set clock returns a gboolean for when an element cannot
17903         deal with the selected clock in the pipeline. 
17904
17905         * gst/gstpipeline.c: (gst_pipeline_change_state),
17906         (gst_pipeline_set_clock):
17907         * gst/gstpipeline.h:
17908         Handle the case where the selected clock cannot be set on
17909         the pipeline.
17910
17911         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
17912         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
17913         (gst_net_client_clock_set_property),
17914         (gst_net_client_clock_get_property),
17915         (gst_net_client_clock_observe_times):
17916         * gst/net/gstnetclientclock.h:
17917         Use regression code in GstClock parent, remove duplicated
17918         functionality.
17919
17920 2005-11-22  Michael Smith <msmith@fluendo.com>
17921
17922         * gst/gstutils.c: (gst_util_clock_time_scale):
17923         * gst/gstutils.h:
17924         * docs/gst/gstreamer-sections.txt:
17925           Rename method to have extra underscore.
17926
17927 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17928
17929         * gst/elements/Makefile.am:
17930         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
17931         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
17932         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
17933         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
17934         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
17935         * gst/elements/gstfakesrc.h:
17936         * gst/gstqueue.c: (queue_leaky_get_type):
17937           correctly fix GEnumValues so that nick is the short lowercase
17938           dashed tag
17939         * tools/gst-inspect.c: (print_element_properties_info):
17940           also show the nick, since it's useful to use from parse_launch
17941           syntax
17942           Fixes #322139
17943
17944 2005-11-22  Michael Smith <msmith@fluendo.com>
17945
17946         * gst/gstutils.c: (gst_util_clocktime_scale):
17947         * gst/gstutils.h:
17948         * docs/gst/gstreamer-sections.txt:
17949           Add util method for scaling a clocktime by a fraction. Useful 
17950           implementation is left as an exercise for the reader.
17951
17952 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17953
17954         * gst/gstvalue.c: (gst_value_collect_fraction_range):
17955         If needed, allocate storage in the destination value during
17956         collection.
17957
17958 2005-11-22  Edward Hervey  <edward@fluendo.com>
17959
17960         * docs/gst/gstreamer-sections.txt:
17961         * gst/Makefile.am:
17962         * gst/gst.h:
17963         * gst/gsturitype.c:
17964         * gst/gsturitype.h:
17965         * gst/gstutils.c: (gst_util_set_object_arg):
17966         * tools/gst-compprep.c: (main):
17967         * tools/gst-inspect.c: (print_element_properties_info):
17968         Removed GstURI, closes bug #321061
17969
17970 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17971
17972         * check/gst/gststructure.c: (GST_START_TEST):
17973         * gst/gststructure.c: (gst_structure_parse_value):
17974           Oops, broke automatic string type parsing.
17975           Add a test to catch it in future.
17976
17977 2005-11-22  Andy Wingo  <wingo@pobox.com>
17978
17979         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
17980         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
17981         Actually rename the function implementations. Grr.
17982
17983 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
17984
17985         * check/gst/capslist.h:
17986           Comment test cases
17987         * check/gst/gststructure.c: (GST_START_TEST),
17988         (gst_structure_suite):
17989           Test automatic value type detection in gst_structure_from_string.
17990         * gst/gststructure.c: (gst_structure_parse_value):
17991           Add fraction as a type we try and guess automatically in
17992           caps/structure strings.
17993
17994 2005-11-22  Andy Wingo  <wingo@pobox.com>
17995
17996         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
17997
17998         * gst/gsttagsetter.h:
17999         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
18000         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
18001         (gst_tag_setter_add_tag_valist)
18002         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
18003         _add_values, _add_valist, and _add_valist_values. Since this is an
18004         interface the function suffixes should be more explicit so
18005         language binding don't end up with element.add_valist ->
18006         gst_tag_setter_add_valist, for example. Fixes #322069.
18007
18008 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18009
18010         * check/gst/gstcaps.c: (GST_START_TEST):
18011           Extend caps string tests to check that a caps to string
18012           conversion is reversible and produces the same caps.
18013
18014         * gst/gststructure.c: (gst_structure_value_get_generic_type):
18015           Output "fraction" as the generic type fraction range, so caps
18016           serialisation and deserialisation works.
18017         * check/gst/capslist.h:
18018         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18019           Support 'MIN' and 'MAX' for deserialising fractions.
18020
18021 2005-11-22  Andy Wingo  <wingo@pobox.com>
18022
18023         * gst/gstevent.h (gst_event_new_new_segment)
18024         (gst_event_parse_new_segment, gst_event_new_buffer_size)
18025         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
18026         Renamed from *_newsegment, *_buffersize, *_notarget.
18027
18028         * scripts/update-funcnames: New script, performs the changes
18029         listed above.
18030
18031 2005-11-22  Wim Taymans  <wim@fluendo.com>
18032
18033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18034         Make sure the GstFlowReturn is returned.
18035
18036         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
18037         (gst_bus_add_signal_watch):
18038         * gst/gstbus.h:
18039         add gst_bus_add_signal_watch_full.
18040
18041         * gst/gstplugin.c: (gst_plugin_load_file):
18042         Small style cleanup.
18043
18044 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18045
18046         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
18047           Block the fakesrc srcpad when we send an event, to avoid
18048           contention on the stream_lock causing random test failures.
18049
18050 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18051
18052         * check/gst/gstvalue.c: (GST_START_TEST):
18053         * gst/gstvalue.c: (gst_value_fraction_subtract):
18054           Fix subtraction.
18055
18056 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
18057
18058         * gst/gst.h:
18059           include "gstchildproxy.h"
18060         * gst/gstchildproxy.h:
18061         * libs/gst/controller/gstcontroller.h:
18062           use G_GNUC_NULL_TERMINATED
18063
18064 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18065
18066         * check/gst/capslist.h:
18067         * check/gst/gstcaps.c: (GST_START_TEST):
18068         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18069         * gst/gststructure.c: (gst_structure_parse_range),
18070         (gst_structure_fixate_field_nearest_fraction):
18071         * gst/gststructure.h:
18072         * gst/gstvalue.c: (gst_value_init_fraction_range),
18073         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
18074         (gst_value_collect_fraction_range),
18075         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
18076         (gst_value_set_fraction_range_full),
18077         (gst_value_get_fraction_range_min),
18078         (gst_value_get_fraction_range_max),
18079         (gst_value_serialize_fraction_range),
18080         (gst_value_transform_fraction_range_string),
18081         (gst_value_compare_fraction_range),
18082         (gst_value_deserialize_fraction_range),
18083         (gst_value_intersect_fraction_fraction_range),
18084         (gst_value_intersect_fraction_range_fraction_range),
18085         (gst_value_subtract_fraction_fraction_range),
18086         (gst_value_subtract_fraction_range_fraction),
18087         (gst_value_subtract_fraction_range_fraction_range),
18088         (gst_value_collect_fraction), (gst_value_fraction_multiply),
18089         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
18090         (gst_value_transform_string_fraction), (_gst_value_initialize):
18091         * gst/gstvalue.h:
18092           Implement fraction ranges and extend GstFraction to support
18093           arithmetic subtraction, as well as deserialization from integer
18094           strings such as "100"
18095           Add a testsuite as for int and double range set operations
18096
18097 2005-11-21  Andy Wingo  <wingo@pobox.com>
18098
18099         * gst/gsttaglist.h: 
18100         * gst/gstcaps.h: 
18101         * gst/gststructure.h: Add glib-compat.h.
18102
18103 2005-11-21  Wim Taymans  <wim@fluendo.com>
18104
18105         * gst/gstbin.c: (gst_bin_change_state_func):
18106         Fix for #321595
18107
18108 2005-11-21  Wim Taymans  <wim@fluendo.com>
18109
18110         * gst/gstsegment.h:
18111         And add a nice define too.
18112
18113 2005-11-21  Wim Taymans  <wim@fluendo.com>
18114
18115         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
18116         (gst_segment_new), (gst_segment_free), (gst_segment_init),
18117         (gst_segment_set_duration), (gst_segment_set_last_stop),
18118         (gst_segment_set_seek), (gst_segment_set_newsegment),
18119         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18120         (gst_segment_clip):
18121         * gst/gstsegment.h:
18122         Make binding friendly.
18123
18124 2005-11-21  Andy Wingo  <wingo@pobox.com>
18125
18126         * gst/gsttagsetter.h: 
18127         * gst/gsttaglist.h: 
18128         * gst/gststructure.h: 
18129         * gst/gstcaps.h: 
18130         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
18131         #319940.
18132
18133         * gst/gsterror.c (_gst_core_errors_init):
18134         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
18135         category.
18136
18137         * gst/Makefile.am (gst_headers): Add glib-compat.h.
18138         (noinst_HEADERS): noinst the -private.
18139
18140 2005-11-21  Michael Smith <msmith@fluendo.com>
18141
18142         * gst/gstplugin.h:
18143         * gst/gstregistry.h:
18144           Remove unimplemented declarations for which we can see no sensible
18145           use.
18146
18147 2005-11-21  Andy Wingo  <wingo@pobox.com>
18148
18149         * gst/gst.h: Include glib-compat.h.
18150
18151         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
18152
18153         * gst/glib-compat.c: Include the public and the private header.
18154
18155         * gst/glib-compat-private.h: Copied here from glib-compat.h.
18156
18157         * gst/gstvalue.c: 
18158         * gst/gstpad.c: 
18159         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
18160
18161         * check/gst/gstevent.c (create_custom_events): Check that
18162         FLUSH_STOP is serialized.
18163
18164         * check/elements/identity.c (event_func): 
18165         * check/elements/fakesrc.c (event_func): No stream lock, the core
18166         takes it.
18167
18168         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
18169         stream lock taking, yay.
18170
18171         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
18172         ensure that core takes the stream lock.
18173
18174         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
18175         lock name change.
18176
18177         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
18178         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
18179         it already. For the flush start we do take it though so we get the
18180         right preroll state change messages.
18181
18182         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
18183         the stream lock here, the core does it for us.
18184
18185         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
18186         GST_STREAM_GET_LOCK.
18187         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
18188         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
18189         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
18190         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
18191         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
18192         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
18193
18194         * gst/gstpad.c: Update for stream lock name change.
18195
18196         * gst/base/gstbasesink.c: Update for preroll lock name change.
18197
18198 2005-11-21  Wim Taymans  <wim@fluendo.com>
18199
18200         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
18201         (gst_clock_get_master):
18202         * gst/gstclock.h:
18203         * gst/gstsystemclock.c: (gst_system_clock_init):
18204         Convert Clock flags to object flags.
18205         Added methods to manage master/slave clocks.
18206
18207 2005-11-21  Wim Taymans  <wim@fluendo.com>
18208
18209         * check/gst/gstsegment.c: (GST_START_TEST):
18210         * docs/design/part-TODO.txt:
18211         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18212         (gst_base_sink_event), (gst_base_sink_do_sync),
18213         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
18214         (gst_base_sink_query), (gst_base_sink_change_state):
18215         * gst/base/gstbasesink.h:
18216         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18217         (gst_base_src_default_newsegment),
18218         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18219         (gst_base_src_get_range), (gst_base_src_loop),
18220         (gst_base_src_change_state):
18221         * gst/base/gstbasesrc.h:
18222         * gst/base/gstbasetransform.c:
18223         (gst_base_transform_prepare_output_buf),
18224         (gst_base_transform_event), (gst_base_transform_change_state):
18225         * gst/base/gstbasetransform.h:
18226         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
18227         (gst_collect_pads_event):
18228         * gst/base/gstcollectpads.h:
18229         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
18230         (gst_fake_src_create):
18231         * gst/elements/gstfakesrc.h:
18232         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18233         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18234         (gst_segment_set_last_stop), (gst_segment_set_seek),
18235         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18236         (gst_segment_to_running_time), (gst_segment_clip):
18237         * gst/gstsegment.h:
18238         More segment updates, replace code in plugins with segment
18239         helper functions.
18240
18241 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18242
18243         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
18244         Don't ignore sscanf results
18245
18246 2005-11-21  Andy Wingo  <wingo@pobox.com>
18247
18248         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
18249
18250         * *.h:
18251         * *.c: Ran scripts/update-macros. Oh yes.
18252
18253         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
18254         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
18255         GST_GET_LOCK, etc.
18256
18257         * scripts/update-macros: New script. Run it on your files to
18258         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
18259         well.
18260
18261 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18262
18263         * docs/gst/Makefile.am:
18264         * docs/gst/gstreamer-docs.sgml:
18265         * docs/gst/gstreamer-sections.txt:
18266         * docs/gst/gstreamer.types:
18267         * gst/gstinfo.h:
18268           more docs fixes, add new api to the docs
18269
18270 2005-11-21  Andy Wingo  <wingo@pobox.com>
18271
18272         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
18273         state_broadcast call.
18274
18275         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
18276
18277 2005-11-21  Julien MOUTTE  <julien@moutte.net>
18278
18279         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
18280         function calls for arrays.
18281
18282 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18283
18284         * docs/random/ensonic/media-device-daemon.txt:
18285           wild idea, can this be done?
18286         * docs/gst/gstreamer-sections.txt:
18287         * gst/gsterror.h:
18288         * gst/gstfilter.c:
18289         * gst/gstfilter.h:
18290         * gst/gstplugin.h:
18291         * gst/gstpluginfeature.c:
18292         * gst/gsttrace.c:
18293         * gst/gstvalue.c:
18294         * gst/gstvalue.h:
18295           doc fixes and additions
18296
18297 2005-11-21  Andy Wingo  <wingo@pobox.com>
18298
18299         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
18300         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
18301         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
18302         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
18303         private to the basesrc implementation.
18304
18305         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
18306         behalf of event function if necessary. It should no longer be
18307         necessary to take the stream lock in pad's event functions. Fixes
18308         #320299.
18309
18310 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18311         * docs/gst/gstreamer-sections.txt:
18312         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
18313         (gst_structure_fixate_field_nearest_double),
18314         (gst_structure_fixate_field_boolean):
18315         * gst/gststructure.h:
18316         * win32/common/libgstreamer.def:
18317         * win32/gstreamer.def:
18318
18319         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
18320         (#322027)
18321
18322 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18323
18324         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
18325         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
18326         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
18327         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
18328         (gst_fdsrc_uri_handler_init):
18329         * gst/elements/gstfdsrc.h:
18330           Port fd:// URI handler from 0.8 to fdsrc
18331
18332 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18333
18334         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
18335         (gst_value_serialize_fourcc):
18336         * gst/gstvalue.h:
18337           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
18338           consistent with our other format defines (#320324).
18339
18340 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18341
18342         * gst/gstvalue.c: (gst_value_is_fixed):
18343           Revert previous commit. Value lists are by definition
18344           not fixed, as they are a list of possible values.
18345
18346 2005-11-21  Andy Wingo  <wingo@pobox.com>
18347
18348         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
18349         during the stable series if we need it. Fixes #319178.
18350
18351         * gst/gstevent.c (gst_event_new_filler): Removed.
18352
18353         * check/gst/gstevent.c: Update comment about filler events.
18354
18355 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18356
18357         * gst/gstvalue.c: (gst_value_is_fixed):
18358           Should handle both value arrays and value lists.
18359
18360 2005-11-21  Andy Wingo  <wingo@pobox.com>
18361
18362         patch by: Alessandro Dessina <alessandro nnva org>
18363
18364         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
18365         functions to access arrays. Fixes #321962.
18366
18367 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18368
18369         * docs/gst/gstreamer.types:
18370           gst_collectpads_get_type => gst_collect_pads_get_type.
18371           
18372         * gst/base/gstbasetransform.c:
18373           Remove unused SIGNAL_HANDOFF enum.
18374
18375 2005-11-21  Andy Wingo  <wingo@pobox.com>
18376
18377         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
18378         the event type (upstream, downstream, serialized). Renamed
18379         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
18380         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
18381         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
18382
18383         * gst/gstevent.c: Update for new CUSTOM event names.
18384
18385         * check/gst/gstevent.c: Update check for new CUSTOM event names.
18386
18387         * gst/gstevent.h:
18388         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
18389         bug #319392.
18390
18391 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18392
18393         * docs/gst/gstreamer-sections.txt:
18394         * win32/common/libgstbase.def:
18395         * win32/libgstbase.def:
18396         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18397         (gst_collect_pads_class_init), (gst_collect_pads_init),
18398         (gst_collect_pads_finalize), (gst_collect_pads_new),
18399         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
18400         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
18401         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
18402         (gst_collect_pads_start), (gst_collect_pads_stop),
18403         (gst_collect_pads_peek), (gst_collect_pads_pop),
18404         (gst_collect_pads_available), (gst_collect_pads_read),
18405         (gst_collect_pads_flush), (gst_collect_pads_event),
18406         (gst_collect_pads_chain):
18407         * gst/base/gstcollectpads.h:
18408           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
18409           unimplemented functions as unimplemented. Add padding to
18410           GstCollectData. (#320766, #320423)
18411
18412 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18413
18414         * gst/gstmessage.c:
18415           Improve docs for DURATION message (usage of duration parameter)
18416           (#320113)
18417
18418 2005-11-20  Wim Taymans  <wim@fluendo.com>
18419
18420         * check/Makefile.am:
18421         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
18422         (main):
18423         * gst/Makefile.am:
18424         * gst/gst.h:
18425         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18426         (gst_segment_set_seek), (gst_segment_set_newsegment),
18427         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18428         (gst_segment_clip):
18429         * gst/gstsegment.h:
18430         Added segment helper structure and methods. Not fully implemented
18431         yet.
18432         Added segment check.
18433
18434 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
18435
18436         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18437           Add a deserialisation test for fractions
18438         * examples/metadata/read-metadata.c: (message_loop),
18439         (make_pipeline), (main):
18440           Fix up metadata reading sample.
18441         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18442           Debug format fix
18443         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18444           Don't try and fixate empty caps
18445         * gst/gst_private.h:
18446           Wrap in G_BEGIN_DECLS/G_END_DECLS
18447         * gst/gstvalue.c: (gst_value_collect_fraction),
18448         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
18449         (gst_value_transform_string_fraction),
18450         (gst_value_compare_fraction):
18451           Add some extra guards to ensure that we don't end up 
18452           with an invalid denominator of 0 in a gstfraction and
18453           that fractions always get reduced.
18454
18455 2005-11-20  Wim Taymans  <wim@fluendo.com>
18456
18457         * docs/gst/gstreamer-sections.txt:
18458         * gst/gstbuffer.h:
18459         * gst/gstelement.c:
18460         * gst/gstformat.c:
18461         * gst/gstformat.h:
18462         * gst/gstindex.h:
18463         * gst/gstquery.c:
18464         * gst/gstquery.h:
18465         * gst/gstvalue.c:
18466         Doc fixes.
18467
18468 2005-11-20  Wim Taymans  <wim@fluendo.com>
18469
18470         * docs/design/part-TODO.txt:
18471         * gst/gstcaps.h:
18472         Make a proper enum of the flag.
18473
18474 2005-11-19  Wim Taymans  <wim@fluendo.com>
18475
18476         * docs/design/part-TODO.txt:
18477         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
18478         (gst_format_to_quark), (gst_format_register):
18479         * gst/gstformat.h:
18480         * gst/gstquery.c: (_gst_query_initialize),
18481         (gst_query_type_get_name), (gst_query_type_to_quark),
18482         (gst_query_type_register):
18483         * gst/gstquery.h:
18484         Add type to quark and type to string conversions.
18485
18486 2005-11-19  Andy Wingo  <wingo@pobox.com>
18487
18488         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
18489         #320097.
18490
18491 2005-11-19  Wim Taymans  <wim@fluendo.com>
18492
18493         * docs/design/part-TODO.txt:
18494         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18495         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
18496         (gst_bin_handle_message_func):
18497         * gst/gstbin.h:
18498         Make message handling overridable.
18499
18500 2005-11-19  Andy Wingo  <wingo@pobox.com>
18501
18502         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
18503
18504         * gst/gstclock.h:
18505         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
18506         be a GstClockTime.
18507         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
18508         is a GstClockTime. Fixes #321710.
18509
18510         * gst/gstclock.h (GstClock): Remove offset property. Add
18511         internal_calibration and external_calibration. Fix padding. Pad
18512         also by GstClockTime so we don't run into problems.
18513
18514         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
18515         (gst_clock_get_rate_offset): Remove.
18516         (gst_clock_set_time_adjust): Remove. Fixes #321712.
18517
18518         * gst/gstutils.h:
18519         * gst/gstutils.c (g_static_rec_cond_wait)
18520         (g_static_rec_cond_timed_wait): Removed, no longer needed.
18521
18522         * gst/gstbin.c: Remove terrible continue_state prototype.
18523
18524         * gst/gstelement.h (gst_element_continue_state): Make public.
18525
18526         * gst/gstelement.h:
18527         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
18528         by continue_state. Fixes #319389.
18529
18530         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
18531         Really fixes #168438. However I don't see anywhere where the
18532         filter function is called... stupid GStreamer...
18533         
18534         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
18535         don't have a dispose function, so it won't get called when the
18536         object is unreffed, but oh well!
18537
18538         * gst/gstindex.c (gst_index_set_filter_full): New API function,
18539         allows a destroy function to be set so user_data can be freed.
18540         Fixes #168438.
18541         (gst_index_set_filter): Call gst_index_set_filter_full.
18542
18543         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
18544
18545         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
18546         string should produce an error, given the lack of a way to
18547         represent NULL strings. Fixes #165650.
18548         
18549         * gst/gstvalue.h: 
18550         * gst/gstvalue.c (gst_value_array_append_value) 
18551         (gst_value_array_prepend_value, gst_value_array_get_size) 
18552         (gst_value_array_get_value): New API, copied from
18553         gst_value_list_*, only operates on arrays.
18554         (gst_value_list_append_value, gst_value_list_prepend_value) 
18555         (gst_value_list_concat, gst_value_list_get_size) 
18556         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
18557
18558         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
18559         init_list, because it works on both.
18560         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
18561         (gst_value_copy_list_or_array): Renamed from copy_list.
18562         (gst_value_free_list_or_array): Renamed from free_list.
18563         (gst_value_collect_list_or_array): Renamed from collect_list.
18564         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
18565         (gst_value_list_or_array_peek_pointer): Renamed from
18566         list_peek_pointer.
18567         (_gst_value_array_value_table, _gst_value_list_value_table):
18568         Update value table functions.
18569         (gst_value_compare_list_or_array): Renamed from compare_list.
18570
18571         * gsttaglist.h: Whoops, foreach function returns void. Also fix
18572         some constness.
18573
18574         * gst/gsttaglist.c:
18575         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
18576         GstTagList*. Fixes #143472.
18577
18578         * gst/gststructure.h: Clarify what the foreach/map functions can
18579         or can't do to their arguments.
18580
18581 2005-11-18  Wim Taymans  <wim@fluendo.com>
18582
18583         * gst/gstclock.c: (gst_clock_set_calibration),
18584         (gst_clock_get_calibration):
18585         Doc and API fixes.
18586         Calibration can be set with internal time equal to current
18587         internal time too.
18588
18589 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18590
18591         * gst/gsterror.c:
18592         * gst/gsterror.h:
18593           document
18594
18595 2005-11-18  Andy Wingo  <wingo@pobox.com>
18596
18597         * configure.ac: 
18598         * pkgconfig/gstreamer-net.pc.in:
18599         * pkgconfig/gstreamer-net-uninstalled.pc.in:
18600         * pkgconfig/Makefile.am: Add net pkgconfig files.
18601
18602 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
18603
18604         * gst/gstcaps.c:
18605         * gst/gstghostpad.c:
18606         * gst/gsttrace.c:
18607         * gst/gstvalue.c:
18608         * gst/gstvalue.h:
18609           docs fixes
18610
18611 2005-11-18  Andy Wingo  <wingo@pobox.com>
18612
18613         * gst/net/gstnetclientclock.c: Turn off debugging.
18614
18615         * check/net/gstnetclientclock.c (test_functioning): Assert that the
18616         times connverge somewhat. Can't make a real test.
18617
18618         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
18619         integer arithmetic. Return the minimum of the domain, which can be
18620         set as "internal" for gst_clock_set_calibration.
18621         (gst_net_client_clock_observe_times): Call _set_calibration.
18622         (gst_net_client_clock_new): Call _set_calibration instead of
18623         rate_offset.
18624
18625         * check/net/gstnetclientclock.c (test_functioning): Use the right
18626         adjustment api.
18627
18628         * gst/gstclock.h:
18629         * gst/gstclock.c (gst_clock_get_calibration) 
18630         (gst_clock_set_calibration): New functions, obsolete the ones I
18631         added yesterday. Doh. Precision issues mean we have to extrapolate
18632         from a point in the more recent past than 1970.
18633         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
18634         obsolete.
18635         (gst_clock_adjust_unlocked): Use the right calibration data.
18636
18637 2005-11-18  Edward Hervey  <edward@fluendo.com>
18638
18639         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
18640         Also reset the ->current_* values in READY->PAUSED
18641
18642 2005-11-18  Andy Wingo  <wingo@pobox.com>
18643
18644         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
18645         Whoops, check the right fd. Also add some debugging.
18646         (gst_net_client_clock_observe_times): Adjust for int64 offset.
18647         (do_linear_regression): Add a crapload of debugging. Subtract off
18648         the minimum values from the input series to discard unneeded bits.
18649         Use only int arithmetic. There is still double arithmetic when
18650         calculating the intercept that needs fixing. Return boolean to
18651         indicate success; FALSE would mean the domain or range is too
18652         great. Still needs fixes.
18653
18654 2005-11-18  Wim Taymans  <wim@fluendo.com>
18655
18656         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18657         For the current position in stream time, we need to subtract
18658         accumulated time.
18659         
18660         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18661         Release lock before calling the callback function of async
18662         entries.
18663
18664 2005-11-18  Andy Wingo  <wingo@pobox.com>
18665
18666         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
18667         Port goes all the way to MAXUINT16.
18668
18669         * gst/net/gstnettimeprovider.c: Make the port range the same as
18670         for the kernel: 0 assigns, otherwise ports are less than
18671         MAXUINT16.
18672
18673         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
18674         port change.
18675
18676         * check/net/gstnetclientclock.c (test_functioning): Add the start
18677         of another test. 
18678
18679 2005-11-18  Wim Taymans  <wim@fluendo.com>
18680
18681         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18682         (gst_bin_remove_func), (bin_bus_handler):
18683         * gst/gstbin.h:
18684         Removing a clock provider from a bin, triggers a clock lost message
18685         so that a new clock will be selected.
18686         Adding a clock to a bin triggers a clock provider message.
18687         Make sure we reselect a clock when we received a clock lost message.
18688         Keep a reference to the element that provided the clock.
18689
18690 2005-11-18  Andy Wingo  <wingo@pobox.com>
18691
18692         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
18693         the clock initially so it produces values around the base time.
18694         (gst_net_client_clock_class_init): Typo fix.
18695         (gst_net_client_clock_thread): Add note on when the socket gets
18696         closed.
18697
18698 2005-11-17  Wim Taymans  <wim@fluendo.com>
18699
18700         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
18701         Free remote and local time arrays.
18702
18703 2005-11-17  Wim Taymans  <wim@fluendo.com>
18704
18705         * gst/net/gstnetclientclock.c: (do_linear_regression),
18706         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
18707         Fix compilation, uninitialized vars and a forgotten continue.
18708
18709 2005-11-17  Andy Wingo  <wingo@pobox.com>
18710
18711         * check/Makefile.am (check_PROGRAMS): 
18712         * check/net/gstnetclientclock.c: Add a most minimal test for the
18713         net client clock. More to come later.
18714
18715         * gst/net/gstnet.h: 
18716         * gst/net/Makefile.am: Add netclientclock.
18717
18718         * gst/net/gstnetclientclock.h:
18719         * gst/net/gstnetclientclock.c: New files, implement an untested
18720         GstClock that takes its time from a network time provider.
18721         Implements the algorithm in network-clock.scm.
18722
18723         * tests/network-clock.scm (*window-size*): Rename from
18724         *queue-length*.
18725         * tests/network-clock.scm (network-time): 
18726         * tests/network-clock-utils.scm (q-push): Update callers.
18727
18728 2005-11-17  Wim Taymans  <wim@fluendo.com>
18729
18730         * gst/gstbin.c: (gst_bin_provide_clock_func),
18731         (gst_bin_sort_iterator_new):
18732         And unref the child too..
18733
18734 2005-11-17  Wim Taymans  <wim@fluendo.com>
18735
18736         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
18737         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
18738         Refactor the sort iterator so it can be used while holding the
18739         LOCK too.
18740         Make clock selection select a clock closest to the source.
18741
18742 2005-11-17  Michael Smith <msmith@fluendo.com>
18743
18744         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
18745         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
18746         * gst/gstclock.h:
18747           Anonymous structs are a gcc (and some other compilers) extension, so
18748           don't use them. Since this is only for ABI-compatibility, and our
18749           API/ABI freeze is over in a few days, this whole thing will only
18750           last a few days, so don't bother trying to think up a meaningful
18751           name for the struct.
18752
18753 2005-11-17  Andy Wingo  <wingo@pobox.com>
18754
18755         * gst/gstclock.h (GstClock): Add rate and offset properties,
18756         preserving ABI stability. Add rate/offset accessors. Will file bug
18757         for the freeze break.
18758
18759         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
18760         and offset, trying to keep precision and avoiding
18761         underflow/overflow.
18762         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
18763         functions. Make gst_clock_set_time_adjust obsolete.
18764         (gst_clock_set_time_adjust): Note that this function is obsolete.
18765         Will file bug soon.
18766
18767         * gst/base/gstbasetransform.h: Make the ABI-stability hack
18768         greppable by using GST_PADDING-1+1.
18769
18770 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
18771
18772         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18773
18774         * gst/gstmessage.c: (gst_message_parse_clock_lost):
18775           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
18776
18777         * gst/gstpadtemplate.h:
18778         * gst/gstpluginfeature.h:
18779           Don't use c++ style comments in headers (#321638).
18780
18781 2005-11-16  Andy Wingo  <wingo@pobox.com>
18782
18783         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
18784         buffer.
18785
18786         * check/net/gstnettimeprovider.c: Check to see that the time
18787         provider actually provides times. Works, yo!
18788
18789 2005-11-16  Wim Taymans  <wim@fluendo.com>
18790
18791         * check/Makefile.am:
18792         Enable more tests.
18793
18794         * check/elements/fakesrc.c: (GST_START_TEST):
18795         Set element to NULL before disposing it.
18796
18797 2005-11-16  Andy Wingo  <wingo@pobox.com>
18798
18799         * gst/net/Makefile.am:
18800         * gst/net/gstnet.h:
18801         * gst/net/gstnettimeprovider.c: 
18802         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
18803         provider, include it from gstnet.h, and add it to the build.
18804
18805         * gst/net/gstnettimepacket.h: 
18806         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
18807         sending and receiving.
18808
18809 2005-11-16  Wim Taymans  <wim@fluendo.com>
18810
18811         * check/Makefile.am:
18812         Enable valgrind check.
18813
18814         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
18815         (gst_fake_src_alloc_buffer):
18816         Fix memleak.
18817
18818 2005-11-16  Wim Taymans  <wim@fluendo.com>
18819
18820         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
18821         Call parent finalize too.
18822
18823 2005-11-16  Wim Taymans  <wim@fluendo.com>
18824
18825         * check/Makefile.am:
18826         Enable valgrind check that should work fine now.
18827
18828         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18829         * gst/gstqueue.c: (gst_queue_init):
18830         Fix memleaks in pad allocation.
18831
18832 2005-11-16  Andy Wingo  <wingo@pobox.com>
18833
18834         * gst/net/Makefile.am:
18835         * gst/net/gstnet.h: New part of core to hold network elements and
18836         objects. Put in core because it exposes API that applications want
18837         to use. The library is named libgstnet-tempname right now because
18838         of the existing libgstnet in gst-plugins-base. Solution is
18839         probably to rename the one in plugins-base; will file a bug for
18840         the freeze break.
18841
18842         * gst/net/gstnettimeprovider.c: 
18843         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
18844         get_time call over the network.
18845
18846         * configure.ac: 
18847         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
18848
18849         * check/Makefile.am:
18850         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
18851         get additions shortly.
18852
18853 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18854
18855         * gst/gstpad.c: (gst_pad_new_from_static_template):
18856         * gst/gstpad.h:
18857           add gst_pad_new_from_static_template functions
18858         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
18859         (gst_check_setup_sink_pad):
18860         * gst/elements/gsttee.c: (gst_tee_init):
18861           and use them
18862
18863 2005-11-16  Wim Taymans  <wim@fluendo.com>
18864
18865         * gst/gstpad.c: (gst_pad_pause_task):
18866         Removed warning, it's not really an error either.
18867
18868 2005-11-16  Wim Taymans  <wim@fluendo.com>
18869
18870         * gst/base/gstbasetransform.c:
18871         (gst_base_transform_prepare_output_buf),
18872         (gst_base_transform_event):
18873         Check if the caps are NULL, this can happen if the element
18874         is shutting down and the pad caps are set to NULL.
18875
18876 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18877
18878         * gst/elements/gsttee.c: (gst_tee_init):
18879           fix pad template leak in tee
18880
18881 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18882
18883         * gst/glib-compat.c: (g_value_dup_gst_object):
18884         * gst/glib-compat.h:
18885         * gst/gstpad.c: (gst_pad_set_property):
18886           use gst_object_ref when setting the pad template; this will
18887           trigger the pad template leaks on GLib 2.6 and the slaves
18888
18889 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18890
18891         * gst/glib-compat.c: (gst_flags_get_first_value):
18892         * gst/glib-compat.h:
18893         * gst/gstregistryxml.c:
18894           remove functions copied from GLib 2.6
18895
18896 2005-11-16  Michael Smith <msmith@fluendo.com>
18897
18898         * gst/Makefile.am:
18899           Don't link against VALGRIND_LIBS. That was always the wrong thing to
18900           do, but only breaks with newer valgrind versions. We're not a
18901           valgrind tool, we have no link-time dependencies on libcoregrind.
18902
18903 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18904
18905         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18906           some debug changes
18907         * gst/gstmessage.h:
18908           typo fixes
18909
18910 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18911
18912         * gst/base/gstbasesrc.c: (gst_base_src_init):
18913         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18914         * gst/gstqueue.c: (gst_queue_init):
18915         * gst/gstregistryxml.c: (load_feature):
18916           Revert all these unrefs, they don't even pass make check !
18917
18918 2005-11-15  Johan Dahlin  <johan@gnome.org>
18919
18920         * gst/base/gstbasesrc.c: (gst_base_src_init):
18921         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18922         * gst/gstqueue.c: (gst_queue_init): 
18923         Free pad templates, fixes a couple of leaks.
18924
18925 2005-11-15  Daniel Fischer  <dan at f3c dot com>
18926
18927         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18928
18929         * gst/gstpad.c: (gst_pad_get_property):
18930           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
18931           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
18932           (#321452)
18933
18934 2005-11-15  Wim Taymans  <wim@fluendo.com>
18935
18936         * gst/gstevent.c:
18937         Small doc update.
18938
18939 2005-11-15  Andy Wingo  <wingo@pobox.com>
18940
18941         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
18942
18943         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
18944         using GST_CLOCK_TIME_NONE to disable base time management.
18945         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
18946         time if it was NONE before.
18947         (gst_pipeline_change_state): Only munge the base time if
18948         stream_time != GST_CLOCK_TIME_NONE.
18949
18950         * check/gst/gstpipeline.c (test_base_time): Punt around the
18951         problem of the probe not being called, because that's not the
18952         issue I'm looking at. Add a check that setting stream_time to NONE
18953         disables base time management.
18954         
18955 2005-11-15  Wim Taymans  <wim@fluendo.com>
18956
18957         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18958         segment_stop == -1 at startup.
18959
18960         * gst/base/gstbasetransform.c: (gst_base_transform_event),
18961         (gst_base_transform_change_state):
18962         Init segment values at start.
18963
18964 2005-11-15  Wim Taymans  <wim@fluendo.com>
18965
18966         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18967         0 segment values are 0 in any format.
18968
18969         * gst/base/gstbasetransform.c: (gst_base_transform_event):
18970         * gst/base/gstbasetransform.h:
18971         Parse newsegment correctly in basetransform
18972
18973         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18974         Sync to clock using updated segment values.
18975
18976 2005-11-15  Andy Wingo  <wingo@pobox.com>
18977
18978         * check/gst/gstpipeline.c (test_base_time): Add check that the
18979         base time and stream time are reset correctly.
18980
18981 2005-11-15  Wim Taymans  <wim@fluendo.com>
18982
18983         * docs/design/part-TODO.txt:
18984         Some more TODO items.
18985
18986 2005-11-15  Andy Wingo  <wingo@pobox.com>
18987
18988         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
18989         error if the user selected "no clock" as the clocking method.
18990
18991         * check/gst/gstpipeline.c (test_base_time): New test for buffer
18992         timestamps with live capture.
18993
18994         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
18995         is 0 but we are a live source, timestamp the buffers using the
18996         element's clock.
18997
18998 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
18999
19000         * docs/gst/gstreamer-sections.txt:
19001         * gst/gsterror.c:
19002         * gst/gstghostpad.c:
19003         * gst/gstobject.h:
19004         * gst/gstxml.c:
19005           more section docs
19006
19007 2005-11-14  Wim Taymans  <wim@fluendo.com>
19008
19009         * common/gst.supp:
19010           add suppressions from Wim's Debian machine
19011
19012 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19013
19014         * common/gst.supp:
19015           add suppressions from Andy's AMD64 Ubuntu machine
19016
19017 2005-11-14  Andy Wingo  <wingo@pobox.com>
19018
19019         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
19020         STATE_LOCK not necessary. Fixes #311489.
19021
19022         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
19023         #305291.
19024
19025         * gst/gstindex.c (gst_index_add_object): Note in the docs that
19026         this function is not implemented.
19027
19028 2005-11-14  Julien MOUTTE  <julien@moutte.net>
19029
19030         * gst/base/gstbasetransform.c:
19031         (gst_base_transform_prepare_output_buf):
19032         Ref the source pad caps while we need them.
19033         Fixes (#321386)
19034
19035 2005-11-11  Wim Taymans  <wim@fluendo.com>
19036
19037         * docs/gst/gstreamer-sections.txt:
19038         Added some docs for GstCollectData.
19039
19040         * gst/base/gstadapter.c:
19041         Some small code example fix.
19042
19043         * gst/base/gstcollectpads.c:
19044         * gst/base/gstcollectpads.h:
19045         Document some more.
19046
19047 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19048
19049         * configure.ac: back to HEAD
19050
19051 === release 0.9.5 ===
19052
19053 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
19054
19055         * configure.ac:
19056           releasing 0.9.5, "Bike Lunch Day"
19057
19058 2005-11-11  Wim Taymans  <wim@fluendo.com>
19059
19060         * gst/gstbuffer.c: (_gst_buffer_copy):
19061         Copy more flags.
19062
19063         * gst/gstcaps.c: (gst_caps_is_equal):
19064         Fix some docs.
19065         Make _is_equal fast in the trivial cases.
19066
19067         * gst/gstminiobject.c:
19068         * gst/gstminiobject.h:
19069         More docs. Spifify .h file.
19070
19071         * gst/gstutils.c:
19072         Small doc update.
19073
19074 2005-11-11  Wim Taymans  <wim@fluendo.com>
19075
19076         * gst/base/gstbasetransform.c:
19077         (gst_base_transform_prepare_output_buf),
19078         (gst_base_transform_handle_buffer):
19079         Small cleanups.
19080         If we're processing a buffer and need to allocate an output
19081         buffer, we cannot accept a format change. If we did get a 
19082         format change, we have to alloc a buffer ourselves of the 
19083         right size.
19084
19085 2005-11-11  Wim Taymans  <wim@fluendo.com>
19086
19087         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
19088         While checking the flag for reentrancy in the gstcaps function
19089         is nice to detect recursive invocations, it also makes it 
19090         impossible to call getcaps from multiple threads, which must be
19091         possible. So, checking for recursive calls has to go.
19092
19093 2005-11-11  Michael Smith <msmith@fluendo.com>
19094
19095         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19096           Don't sync on buffers that fall partially outside our current
19097           segment. Prevents an assertion failure/abort playing some files.
19098
19099 2005-11-10  Andy Wingo  <wingo@pobox.com>
19100
19101         * check/gst/gstbin.c (test_message_state_changed_children): Style
19102         fix..
19103
19104         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
19105         gst_bus_poll with the signal watch. Ensures that poll and a signal
19106         watch see the same messages.
19107
19108         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
19109         a poll and a watch at the same time get the same messages.
19110
19111 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19112
19113         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
19114         * gst/gstcaps.c: (gst_caps_intersect):
19115           Don't call gst_caps_do_simplify - it doesn't respect order of caps
19116           and it's not needed.
19117
19118 2005-11-10  Wim Taymans  <wim@fluendo.com>
19119
19120         * docs/design/part-TODO.txt:
19121         Updated todo.
19122
19123 2005-11-10  Wim Taymans  <wim@fluendo.com>
19124
19125         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19126         * gst/base/gstbasesrc.c: (gst_base_src_wait),
19127         (gst_base_src_do_sync), (gst_base_src_get_range):
19128         Implement clock sync in base class.
19129
19130 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19131
19132         patch by: Tim-Philipp Müller <tim at centricular dot net>
19133
19134         * gst/gststructure.c: (gst_structure_parse_field),
19135         (gst_structure_from_string):
19136           Forward-port a 0.8 patch to handle escaped spaces in structure string,
19137           so that gst_parse_launch() can deal with spaces in filtered link
19138           caps (fixes #164479)
19139         * check/gst/capslist.h:
19140         * check/gst/gststructure.c: (GST_START_TEST):
19141           add unit tests for this change
19142
19143 2005-11-10  Wim Taymans  <wim@fluendo.com>
19144
19145         * docs/gst/gstreamer-sections.txt:
19146         * gst/gstelement.c:
19147         * gst/gstelement.h:
19148         Fix docs, move some STATE macros to private.
19149
19150 2005-11-10  Wim Taymans  <wim@fluendo.com>
19151
19152         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19153         Added check for bug #317341
19154
19155         * gst/gstbuffer.c:
19156         * gst/gstbuffer.h:
19157         Some more spiffifying.
19158
19159         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
19160         Call peer linkfunction if we are a source pad. Totally fixes
19161         #317341
19162
19163         * gst/gstpad.c:
19164         Update docs, source pads should call the peer linkfunction
19165         so they can atomically perform the pad link.
19166
19167 2005-11-09  Wim Taymans  <wim@fluendo.com>
19168
19169         * gst/gstbuffer.c:
19170         * gst/gstbuffer.h:
19171         Uber-spiffy-spiffify some more.
19172
19173 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
19174
19175         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
19176         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19177         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19178         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
19179         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
19180         * gst/gstpad.c: (gst_pad_init):
19181           Use GST_DEBUG_FUNCPTR() more extensively.
19182
19183 2005-11-09  Wim Taymans  <wim@fluendo.com>
19184
19185         * gst/gstobject.c: (gst_object_class_init):
19186         * gst/gstobject.h:
19187         Documentation fixes.
19188
19189 2005-11-09  Edward Hervey  <edward@fluendo.com>
19190
19191         * gst/gsttypefindfactory.c:
19192         Fix docs.
19193         
19194 2005-11-09  Edward Hervey  <edward@fluendo.com>
19195
19196         * gst/base/gsttypefindhelper.c:
19197         * gst/gsttypefind.c:
19198         * gst/gsttypefind.h:
19199         Fix docs.
19200
19201 2005-11-09  Wim Taymans  <wim@fluendo.com>
19202
19203         * gst/gstiterator.c:
19204         Fix revision data.
19205
19206         * gst/gsttask.c:
19207         * gst/gsttask.h:
19208         Fix docs.
19209
19210 2005-11-09  Wim Taymans  <wim@fluendo.com>
19211
19212         * gst/gstevent.h:
19213         * gst/gsturi.h:
19214         Fix docs.
19215
19216 2005-11-09  Wim Taymans  <wim@fluendo.com>
19217
19218         * docs/gst/gstreamer-sections.txt:
19219         Moved the message async delivery private lock and cond
19220         to the private section.
19221
19222         * gst/gstmessage.c:
19223         * gst/gstmessage.h:
19224         Fixed docs.
19225
19226 2005-11-09  Edward Hervey  <edward@fluendo.com>
19227
19228         * docs/gst/gstreamer-sections.txt:
19229         * gst/gsturi.c:
19230         * gst/gsturi.h:
19231         Document GstURIHandler
19232
19233 2005-11-09  Wim Taymans  <wim@fluendo.com>
19234
19235         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
19236         (gst_iterator_find_custom):
19237         * gst/gstiterator.h:
19238         Fix iterator docs.
19239
19240 2005-11-09  Wim Taymans  <wim@fluendo.com>
19241
19242         * gst/gstbin.h:
19243         Document another field.
19244
19245         * gst/gststructure.c:
19246         * gst/gststructure.h:
19247         Document.
19248
19249 2005-11-09  Wim Taymans  <wim@fluendo.com>
19250
19251         * gst/gstbin.h:
19252         Documented structs.
19253
19254 2005-11-09  Wim Taymans  <wim@fluendo.com>
19255
19256         * docs/gst/gstreamer-sections.txt:
19257         Added some new macros.
19258
19259         * gst/gstclock.c:
19260         * gst/gstclock.h:
19261         * gst/gstobject.h:
19262         Docs updates.
19263
19264 2005-11-09  Wim Taymans  <wim@fluendo.com>
19265
19266         * docs/design/part-TODO.txt:
19267         Some more items for the TODO
19268
19269         * gst/gstcaps.c:
19270         * gst/gstcaps.h:
19271         Document GstCaps.
19272
19273 2005-11-09  Andy Wingo  <wingo@pobox.com>
19274
19275         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
19276         to work on something else now tho...
19277
19278         * gst/base/gstadapter.c: More adapter docs.
19279
19280         * gst/elements/gstfilesink.c (gst_file_sink_start) 
19281         (gst_file_sink_stop): New functions, replace the state change
19282         handler.
19283         (gst_file_sink_class_init): Hook up the start and stop functions.
19284         (gst_file_sink_base_init): Don't set the state change handler any
19285         more. It was a bit ugly too, being set from here...
19286         (gst_file_sink_get_property, gst_file_sink_set_property):
19287         Cleanups...
19288         (gst_file_sink_set_location): More robust check that doesn't call
19289         GST_STATE. Ugggggg.
19290
19291 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
19292
19293         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19294           Hold STREAM_LOCK while pushing newsegment or tag events as well.
19295
19296 2005-11-08  Wim Taymans  <wim@fluendo.com>
19297
19298         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19299         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19300         (gst_base_sink_chain), (gst_base_sink_change_state):
19301         * gst/base/gstbasesink.h:
19302         * gst/base/gstbasesrc.h:
19303         * gst/gstelement.h:
19304         * gst/gstevent.h:
19305         Avoid excessive typechecking in macros.
19306
19307         * gst/gstminiobject.c: (gst_mini_object_get_type),
19308         (gst_mini_object_init), (gst_mini_object_new),
19309         (gst_mini_object_free):
19310         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19311         (gst_object_finalize):
19312         Remove cruft code, optimize alloc_trace.
19313
19314 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19315
19316         * docs/faq/gst-uninstalled:
19317           fix up PS1 for systems that try to reset it
19318
19319 2005-11-07  Wim Taymans  <wim@fluendo.com>
19320
19321         * gst/base/gstbasesrc.c: (gst_base_src_init),
19322         (gst_base_src_get_range):
19323         Set the segment_end to -1 initially. Fixed typefind.
19324
19325 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
19326
19327         * gst/base/gstadapter.c:
19328           Debug category should be 'adapter', not 'GstAdapter'.
19329           
19330         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
19331         (gst_collectpads_class_init), (gst_collectpads_init),
19332         (gst_collectpads_peek), (gst_collectpads_pop),
19333         (gst_collectpads_event), (gst_collectpads_chain):
19334           Add debug category and some debugging output. Use boilerplate
19335           macros. Remove some extraneous words from docs.
19336
19337 2005-11-05  Andy Wingo  <wingo@pobox.com>
19338
19339         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
19340         macro.
19341
19342 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19343
19344         * docs/gst/gstreamer-sections.txt:
19345         * gst/gstcaps.h:
19346         * gst/gstinfo.c:
19347         * gst/gstminiobject.h:
19348         * gst/gstobject.h:
19349         * gst/gstutils.h:
19350           more docs added
19351
19352 2005-11-04  Wim Taymans  <wim@fluendo.com>
19353
19354         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19355         Small update to stop at the configured segment_end
19356         position.
19357
19358 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19359
19360         * gst/gstregistry.c:
19361         * gst/gstregistry.h:
19362           added missing docs
19363
19364 2005-11-04  Edward Hervey  <edward@fluendo.com>
19365
19366         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19367         Check if we are doing a segment seek and have arrived at the
19368         end of that segment.
19369
19370 2005-11-04  Wim Taymans  <wim@fluendo.com>
19371
19372         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
19373         Don't leak a mutex unlock in case of an error.
19374
19375         * gst/gstbus.h:
19376         Doc fixes.
19377
19378 2005-11-04  Wim Taymans  <wim@fluendo.com>
19379
19380         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
19381         (gst_bus_post):
19382         Get the context to wake up only once.
19383
19384 2005-11-03  Wim Taymans  <wim@fluendo.com>
19385
19386         * check/states/sinks.c: (GST_START_TEST):
19387         Uncomment fixed check.
19388
19389         * docs/design/part-TODO.txt:
19390         Updated TODO.
19391
19392         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19393         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19394         (gst_base_sink_get_position):
19395         If we are going to PLAYING, post the right pending state
19396         when we post the intermediate paused message.
19397
19398         * gst/gstelement.c: (gst_element_continue_state),
19399         (gst_element_set_state_func), (gst_element_change_state):
19400         Don't post state changes that were between the same state
19401         and were not ASYNC.
19402
19403 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
19404
19405         * docs/gst/gstreamer-sections.txt:
19406         * gst/gstcaps.h:
19407         * gst/gstinfo.c:
19408         * gst/gstminiobject.h:
19409         * gst/gstobject.h:
19410         * gst/gstutils.h:
19411           more docs and doc style fixes
19412
19413 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
19414
19415         * docs/gst/gstreamer-sections.txt:
19416         * gst/gstelement.c:
19417         * gst/gstminiobject.c:
19418         doc fixes
19419
19420 2005-11-03  Andy Wingo  <wingo@pobox.com>
19421
19422         * check/states/sinks.c (test_livesrc_sink): Add checks that the
19423         state-changed messages actually have the right order and the right
19424         values.
19425
19426 2005-11-03  Wim Taymans  <wim@fluendo.com>
19427
19428         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19429         Added some more checks. Specifically the case where NO_PREROLL
19430         elements are in the pipeline.
19431
19432         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19433         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19434         (gst_base_sink_get_position):
19435         Post READY->PAUSED state change messages too.
19436         Fix bug where VOID was posted as pending state...
19437
19438         * gst/gstbin.c: (gst_bin_recalc_state):
19439         use _element_continue_state() to continue the state change.
19440
19441         * gst/gstelement.c: (gst_element_continue_state),
19442         (gst_element_commit_state), (gst_element_set_state_func),
19443         (gst_element_change_state), (gst_element_change_state_func):
19444         Lots of state change cleanups, assign the STATE_RETURN in
19445         a new continue_state() function that also propagates the
19446         last return value from a state change to the app.
19447         Update some debug statements with proper category.
19448
19449 2005-11-03  Wim Taymans  <wim@fluendo.com>
19450
19451         * docs/design/part-events.txt:
19452         * docs/design/part-gstpipeline.txt:
19453         * docs/design/part-messages.txt:
19454         * docs/design/part-overview.txt:
19455         * docs/design/part-seeking.txt:
19456         * docs/design/part-states.txt:
19457         * docs/design/part-trickmodes.txt:
19458         * docs/manual/advanced-position.xml:
19459         Small docs updates.
19460
19461         * gst/gstobject.h:
19462         People think !! is ugly, this looks better.
19463
19464         * gst/gstpad.c: (gst_pad_set_blocked_async):
19465         Remove !! since it's fixed elsewhere now.
19466
19467 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19468
19469         * gst/gstminiobject.h:
19470         * gst/gstobject.h:
19471           Add !! to _FLAG_IS_SET macros to make the result boolean.
19472
19473 2005-11-03  Edward Hervey  <edward@fluendo.com>
19474
19475         * gst/gstpad.c: (gst_pad_set_blocked_async):
19476         comparing a flag and a gboolean rarely returns coherent results...
19477         Added two characters (!!) to make that work correctly.
19478         
19479 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19480
19481         * gst/gstbus.c: (gst_bus_class_init):
19482           Fix some typos.
19483           
19484         * gst/gstqueue.c: (gst_queue_loop):
19485           Don't assume a miniobject that isn't a buffer is an
19486           event (it could be that there is a refcounting
19487           problem somewhere and the pointer is stale and
19488           refers to an already destroyed miniobject).
19489
19490 2005-11-03  Julien MOUTTE  <julien@moutte.net>
19491
19492         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
19493
19494 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19495
19496         * docs/manual/advanced-position.xml:
19497           Update seek example and explanations to current 0.9 API.
19498
19499         * gst/elements/gsttypefindelement.c:
19500         (gst_type_find_element_activate):
19501           Remove FIXME comment now that the found caps
19502           are unreffed.
19503
19504 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19505
19506         * gst/gstregistryxml.c: (load_feature):
19507           Add another GST_STR_NULL instance
19508
19509 2005-11-02  Edward Hervey  <edward@fluendo.com>
19510
19511         * gst/gstpad.c: (handle_pad_block):
19512         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
19513         
19514 2005-11-02  Wim Taymans  <wim@fluendo.com>
19515
19516         * gst/gstbin.c:
19517         Fix typo in docs.
19518
19519         * gst/gstelement.c: (gst_element_commit_state):
19520         Remove unused value.
19521
19522         * gst/gstiterator.c:
19523         Mention that the returned element is reffed in the docs.
19524
19525 2005-11-02  Wim Taymans  <wim@fluendo.com>
19526
19527         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
19528         (gst_pad_push), (gst_pad_push_event):
19529         Unlock blocked pads when they are flushed.
19530
19531 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19532
19533         * docs/README:
19534         * docs/gst/gstreamer-sections.txt:
19535         * gst/gstbin.c:
19536           doc updates
19537         * gst/gstregistry.c: (gst_registry_scan_path_level):
19538           fix for a nasty little missed situation where an installed plug-in
19539           which was in the cache did not get overridden by an uninstalled one
19540           which was earlier in the plugin path because the newly created plugin
19541           for the uninstalled one (not in the registry) didn't get its
19542           ->registered set to TRUE
19543
19544 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
19545
19546         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
19547         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
19548         (gst_collectpads_is_active), (gst_collectpads_collect),
19549         (gst_collectpads_collect_range), (gst_collectpads_start),
19550         (gst_collectpads_stop), (gst_collectpads_peek),
19551         (gst_collectpads_pop), (gst_collectpads_available),
19552         (gst_collectpads_read), (gst_collectpads_flush):
19553           Guard public API with assertions.
19554         
19555         * gst/gstpad.c:
19556           Fix docs for gst_pad_set_link_function().
19557
19558 2005-11-02  Johan Dahlin  <johan@gnome.org>
19559
19560         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
19561         Unref found_caps after we used it.
19562
19563 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
19564
19565         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
19566           Don't try to ref NULL.
19567
19568 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19569
19570         * win32/common/config.h.in:
19571           provide a GST_FUNCTION that just gives a string for now
19572
19573 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19574
19575         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19576         (gst_object_flags_get_type), (register_gst_bin_flags),
19577         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19578         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19579         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19580         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
19581         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19582         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19583         (gst_clock_flags_get_type), (register_gst_state),
19584         (gst_state_get_type), (register_gst_state_change_return),
19585         (gst_state_change_return_get_type), (register_gst_state_change),
19586         (gst_state_change_get_type), (register_gst_element_flags),
19587         (gst_element_flags_get_type), (register_gst_core_error),
19588         (gst_core_error_get_type), (register_gst_library_error),
19589         (gst_library_error_get_type), (register_gst_resource_error),
19590         (gst_resource_error_get_type), (register_gst_stream_error),
19591         (gst_stream_error_get_type), (register_gst_event_type),
19592         (gst_event_type_get_type), (register_gst_seek_type),
19593         (gst_seek_type_get_type), (register_gst_seek_flags),
19594         (gst_seek_flags_get_type), (register_gst_format),
19595         (gst_format_get_type), (register_gst_index_certainty),
19596         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19597         (gst_index_entry_type_get_type),
19598         (register_gst_index_lookup_method),
19599         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19600         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19601         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19602         (gst_index_flags_get_type), (register_gst_debug_level),
19603         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19604         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19605         (gst_iterator_result_get_type), (register_gst_iterator_item),
19606         (gst_iterator_item_get_type), (register_gst_message_type),
19607         (gst_message_type_get_type), (register_gst_mini_object_flags),
19608         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19609         (gst_pad_link_return_get_type), (register_gst_flow_return),
19610         (gst_flow_return_get_type), (register_gst_activate_mode),
19611         (gst_activate_mode_get_type), (register_gst_pad_direction),
19612         (gst_pad_direction_get_type), (register_gst_pad_flags),
19613         (gst_pad_flags_get_type), (register_gst_pad_presence),
19614         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19615         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19616         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19617         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19618         (gst_plugin_flags_get_type), (register_gst_rank),
19619         (gst_rank_get_type), (register_gst_query_type),
19620         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19621         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19622         (gst_tag_flag_get_type), (register_gst_task_state),
19623         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19624         (gst_alloc_trace_flags_get_type),
19625         (register_gst_type_find_probability),
19626         (gst_type_find_probability_get_type), (register_gst_uri_type),
19627         (gst_uri_type_get_type), (register_gst_parse_error),
19628         (gst_parse_error_get_type):
19629         * win32/common/gstversion.h:
19630           update win32 copies
19631
19632 2005-11-01  Luca Ognibene  <luogni@tin.it>
19633
19634         * gst/gst.c:
19635           fix docs. popt is dead, long live GOption.
19636
19637 2005-10-31  Wim Taymans  <wim@fluendo.com>
19638
19639         * gst/gstbuffer.h:
19640         Small doc fix.
19641
19642 2005-10-31  Andy Wingo  <wingo@pobox.com>
19643
19644         * Boo!
19645
19646         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
19647
19648         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
19649         need to serialize property notifications on GLib 2.8. GLib 2.6 has
19650         the possibility of deadlocks here if code calling notify() or
19651         set() has a lock that can be taken in another notify handler (ABBA
19652         with class lock and e.g. python GIL state lock).
19653
19654 2005-10-28  Julien MOUTTE  <julien@moutte.net>
19655
19656         * gst/gstbus.c: Doc updates.
19657
19658 2005-10-28  Wim Taymans  <wim@fluendo.com>
19659
19660         * docs/design/part-TODO.txt:
19661         * gst/gstiterator.c:
19662         * gst/gstsystemclock.c:
19663         * gst/gstsystemclock.h:
19664         Doc updates.
19665
19666 2005-10-28  Edward Hervey  <edward@fluendo.com>
19667
19668         * docs/gst/gstreamer-docs.sgml:
19669         * docs/gst/gstreamer-sections.txt:
19670         the GstURIType documentation page is private, it only defines GstURIType
19671         which should be defined in the GstURIHandler page
19672         
19673 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19674
19675         * gst/gstbin.c: (gst_bin_class_init):
19676         * gst/gstbin.h:
19677         * gst/gstutils.c:
19678         Documentation updates.
19679
19680 2005-10-28  Wim Taymans  <wim@fluendo.com>
19681
19682         * docs/gst/gstreamer-sections.txt:
19683         * gst/gstclock.c:
19684         * gst/gstclock.h:
19685         Documented the clocks.
19686
19687 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
19688
19689         * docs/gst/gstreamer-sections.txt:
19690           move some macros to private sections
19691         * gst/gstminiobject.c:
19692         * gst/gstminiobject.h:
19693           add descriptions provided by ds and some more
19694         * gst/gstpad.h:
19695           mark macro as to be removed
19696
19697 2005-10-28  Wim Taymans  <wim@fluendo.com>
19698
19699         * docs/design/part-TODO.txt:
19700         Add an item to TODO.
19701
19702         * gst/gstiterator.c: (gst_iterator_fold),
19703         (gst_iterator_find_custom):
19704         * gst/gstiterator.h:
19705         Add iterator docs.
19706
19707 2005-10-28  Wim Taymans  <wim@fluendo.com>
19708
19709         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19710         (gst_base_transform_init):
19711         Don't leak class.
19712
19713         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
19714         An EOS event marks the queue as completely filled.
19715
19716 2005-10-27  Wim Taymans  <wim@fluendo.com>
19717
19718         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19719         (gst_base_sink_do_sync), (gst_base_sink_get_position):
19720         Some more debugging.
19721
19722         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
19723         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
19724         (gst_base_transform_event), (gst_base_transform_getrange),
19725         (gst_base_transform_chain):
19726         * gst/base/gstbasetransform.h:
19727         Fix debugging,
19728         Protect transform and concurrent buffer alloc with a new lock.
19729         Try not to break ABI/API.
19730
19731 2005-10-27  Wim Taymans  <wim@fluendo.com>
19732
19733         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19734         (gst_base_src_init), (gst_base_src_query),
19735         (gst_base_src_default_newsegment),
19736         (gst_base_src_configure_segment), (gst_base_src_do_seek),
19737         (gst_base_src_send_event), (gst_base_src_event_handler),
19738         (gst_base_src_pad_get_range), (gst_base_src_loop),
19739         (gst_base_src_unlock), (gst_base_src_default_negotiate),
19740         (gst_base_src_start), (gst_base_src_deactivate),
19741         (gst_base_src_activate_push), (gst_base_src_change_state):
19742         Move some stuff around and cleanup things.
19743
19744 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
19745
19746         * gst/base/gstbasesrc.c: (gst_base_src_query):
19747           Add missing break statements.
19748
19749 2005-10-27  Wim Taymans  <wim@fluendo.com>
19750
19751         * check/gst/gstbin.c: (GST_START_TEST):
19752         An extra refcount is taken in basesrc.
19753
19754         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19755         (gst_base_src_get_range), (gst_base_src_pad_get_range),
19756         (gst_base_src_loop):
19757         Small cleanups, check for flushing after being unlocked from the 
19758         LIVE_LOCK. take refcounts correctly (not yet everywhere).
19759         Don't send out EOS when going to READY.
19760
19761 2005-10-27  Wim Taymans  <wim@fluendo.com>
19762
19763         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19764         (gst_base_sink_get_position):
19765         Some more debug.
19766
19767         * gst/gstbin.c: (message_check), (bin_replace_message),
19768         (bin_remove_messages), (is_eos), (gst_bin_add_func),
19769         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19770         (bin_query_duration_init), (bin_query_duration_fold),
19771         (bin_query_duration_done), (bin_query_generic_fold),
19772         (gst_bin_query):
19773         * tools/gst-launch.c: (main):
19774         Remove old option.
19775
19776 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
19777
19778         * examples/controller/audio-example.c: (main):
19779         * examples/queue/queue.c: (event_loop):
19780         * gst/base/gstbasetransform.h:
19781         * gst/gstelement.c: (gst_element_send_event):
19782         * gst/gstevent.h:
19783         * gst/gstpad.c: (gst_pad_send_event):
19784           fixing examples
19785           fixing docs typos
19786           changing log priority in error situations
19787
19788 2005-10-25  Wim Taymans  <wim@fluendo.com>
19789
19790         * gst/gstbin.c: (message_check), (bin_replace_message),
19791         (bin_remove_messages), (is_eos), (gst_bin_add_func),
19792         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19793         (bin_query_duration_init), (bin_query_duration_fold),
19794         (bin_query_duration_done), (bin_query_generic_fold),
19795         (gst_bin_query):
19796         Some doc and debug updates.
19797         Cache previously requested query DURATION for speed. invalidate
19798         cached duration if element posts a DURATION message.
19799
19800 2005-10-25  Wim Taymans  <wim@fluendo.com>
19801
19802         * docs/design/part-TODO.txt:
19803         Update TODO.
19804
19805         * gst/gstbin.c: (message_check), (bin_replace_message),
19806         (bin_remove_messages), (is_eos), (gst_bin_add_func),
19807         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19808         (bin_query_duration_init), (bin_query_duration_fold),
19809         (bin_query_duration_done), (bin_query_generic_fold),
19810         (gst_bin_query):
19811         Handle SEGMENT_START/DONE messages correctly.
19812         More evolved query algorithm that handles duration queries
19813         correctly.
19814
19815         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
19816         (gst_element_get_state_func), (gst_element_abort_state),
19817         (gst_element_commit_state), (gst_element_lost_state):
19818         Some more debugging.
19819
19820         * gst/gstmessage.h:
19821         Added doc.
19822
19823 2005-10-25  Wim Taymans  <wim@fluendo.com>
19824
19825         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19826         Don't use invalid stream_time.
19827
19828         * gst/gstevent.c: (gst_event_new_newsegment):
19829         stream_time in newsegment cannot be undefined.
19830
19831 2005-10-24  Wim Taymans  <wim@fluendo.com>
19832
19833         * gst/gstbus.c:
19834         Doc fix.
19835
19836         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19837         (gst_queue_loop):
19838         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
19839
19840 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
19841
19842         * docs/libs/tmpl/gstdparam.sgml:
19843         * docs/libs/tmpl/gstdplinint.sgml:
19844         * docs/libs/tmpl/gstdpman.sgml:
19845         * docs/libs/tmpl/gstdpsmooth.sgml:
19846         * docs/libs/tmpl/gstunitconvert.sgml:
19847           these are obsolete
19848
19849 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19850
19851         * configure.ac:
19852           back to HEAD
19853
19854 === release 0.9.4 ===
19855
19856 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19857
19858         * configure.ac:
19859           releasing 0.9.4, "Tyrannosaurus Rex"
19860
19861 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
19862
19863         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19864         (gst_file_sink_get_current_offset):
19865           Use fseeko() and ftello() if available. When falling back on
19866           lseek() to get the current offset, fflush() first to make sure
19867           everything is up-to-date and we get the right offset.
19868
19869 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19870
19871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19872         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19873         * gst/gsterror.c: (_gst_stream_errors_init):
19874         * gst/gsterror.h:
19875         * gst/gstqueue.c: (gst_queue_loop):
19876         * po/POTFILES.in:
19877           remove prematurely added error category and clean up the instances
19878
19879 2005-10-21  Wim Taymans  <wim@fluendo.com>
19880
19881         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19882         (gst_base_sink_get_position), (gst_base_sink_query),
19883         (gst_base_sink_change_state):
19884         Simply set the right flag when going to playing, that's all
19885         we need to do instead of calling a function inside the object
19886         lock (that could take the lock as well and deadlock)
19887
19888 2005-10-21  Wim Taymans  <wim@fluendo.com>
19889
19890         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
19891         (gst_base_src_loop):
19892         Don't warn, the peer element knows what to do best when
19893         the seek failed, it might try something else.
19894
19895 2005-10-21  Wim Taymans  <wim@fluendo.com>
19896
19897         * gst/base/gstbasesrc.c: (gst_base_src_init),
19898         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
19899         Fix seeking.
19900
19901 2005-10-21  Wim Taymans  <wim@fluendo.com>
19902
19903         * docs/design/part-segments.txt:
19904         More docs.
19905
19906         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
19907         Correctly set caps, even on the subbufer.
19908
19909 2005-10-21  Wim Taymans  <wim@fluendo.com>
19910
19911         * docs/gst/gstreamer-docs.sgml:
19912         * docs/gst/gstreamer-sections.txt:
19913         * gst/gstelement.h:
19914         * gst/gstevent.c:
19915         * gst/gstevent.h:
19916         * gst/gstmessage.h:
19917         * gst/gstpad.h:
19918         * gst/gstparse.h:
19919         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
19920         * gst/gsttask.h:
19921         * gst/gstutils.c:
19922         * gst/gstutils.h:
19923         And 2% more doc coverage.
19924
19925 2005-10-21  Andy Wingo  <wingo@pobox.com>
19926
19927         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
19928         position reporting.
19929
19930 2005-10-20  Wim Taymans  <wim@fluendo.com>
19931
19932         * gst/gsterror.c: (gst_error_get_message):
19933         * gst/gstparse.h:
19934         * gst/gstquery.h:
19935         * gst/gststructure.c:
19936         * gst/gsttrace.c:
19937         * gst/gstutils.c:
19938         More docs.
19939
19940 2005-10-20  Wim Taymans  <wim@fluendo.com>
19941
19942         * gst/gstbuffer.h:
19943         * gst/gstpad.c:
19944         * gst/gstparse.c:
19945         Another 1% more coverage.
19946
19947 2005-10-20  Wim Taymans  <wim@fluendo.com>
19948
19949         * docs/gst/gstreamer-sections.txt:
19950         * gst/gstelement.c: (gst_element_get_state_func),
19951         (gst_element_abort_state), (gst_element_commit_state),
19952         (gst_element_lost_state):
19953         * gst/gstevent.h:
19954         * gst/gstquery.c: (gst_query_set_position),
19955         (gst_query_parse_position), (gst_query_set_duration),
19956         (gst_query_parse_duration), (gst_query_new_convert):
19957         * gst/gstutils.c:
19958         Yay! 1% more docs coverage.
19959
19960 2005-10-20  Wim Taymans  <wim@fluendo.com>
19961
19962         * gst/gstpad.h:
19963         * gst/gstquery.c: (gst_query_set_position),
19964         (gst_query_parse_position), (gst_query_set_duration),
19965         (gst_query_parse_duration), (gst_query_new_convert):
19966         * gst/gstquery.h:
19967         * gst/gstutils.c: (gst_element_query_convert):
19968         * gst/gstutils.h:
19969         Docs and consistency fixes.
19970
19971 2005-10-20  Wim Taymans  <wim@fluendo.com>
19972
19973         * gst/gsttask.c:
19974         * gst/gsttask.h:
19975         More docs.
19976
19977 2005-10-20  Wim Taymans  <wim@fluendo.com>
19978
19979         * gst/gstbin.c: (message_check), (bin_replace_message),
19980         (bin_remove_messages), (is_eos), (gst_bin_add_func),
19981         (update_degree), (gst_bin_sort_iterator_next),
19982         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
19983         Reworked the message handling a bit, cache the messages instead of
19984         only the senders. alows us to do more in the future.
19985
19986 2005-10-20  Wim Taymans  <wim@fluendo.com>
19987
19988         * docs/design/part-TODO.txt:
19989         Update TODO
19990
19991         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
19992         (gst_base_sink_query):
19993         Don't use clock time to report position when in EOS.
19994
19995 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
19996
19997         * tools/gst-inspect.c: (print_interfaces),
19998         (print_element_properties_info), (print_element_info):
19999           Fix interface output with gst-inspect -a; don't print
20000           newlines after double/float properties.
20001
20002 2005-10-20  Wim Taymans  <wim@fluendo.com>
20003
20004         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20005         (gst_base_sink_query):
20006         Speed up current position calculation.
20007
20008         * gst/base/gstbasesrc.c: (gst_base_src_query),
20009         (gst_base_src_default_newsegment):
20010         Correctly set stream position in newsegment.
20011
20012         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
20013         (update_degree), (gst_bin_sort_iterator_next),
20014         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
20015         * gst/gstmessage.c: (gst_message_new_custom):
20016         Clean up debugging info
20017
20018         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
20019         (gst_queue_loop), (gst_queue_handle_src_query):
20020         Pause task faster.
20021
20022 2005-10-19  Wim Taymans  <wim@fluendo.com>
20023
20024         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20025         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20026         Fix query handling again.
20027
20028 2005-10-19  Wim Taymans  <wim@fluendo.com>
20029
20030         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20031         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20032         * gst/base/gstbasesrc.c: (gst_base_src_query):
20033         * gst/elements/gstfilesink.c: (gst_file_sink_query):
20034         * gst/elements/gsttypefindelement.c:
20035         (gst_type_find_handle_src_query), (find_element_get_length),
20036         (gst_type_find_element_activate):
20037         API change fix.
20038
20039         * gst/gstquery.c: (gst_query_new_position),
20040         (gst_query_set_position), (gst_query_parse_position),
20041         (gst_query_new_duration), (gst_query_set_duration),
20042         (gst_query_parse_duration), (gst_query_set_segment),
20043         (gst_query_parse_segment):
20044         * gst/gstquery.h:
20045         Bundling query position/duration is not a good idea since duration
20046         does not change much and we don't want to recalculate it for every
20047         position query, so they are separated again..
20048         Base value in segment query is not needed.
20049
20050         * gst/gstqueue.c: (gst_queue_handle_src_query):
20051         * gst/gstutils.c: (gst_element_query_position),
20052         (gst_element_query_duration), (gst_pad_query_position),
20053         (gst_pad_query_duration):
20054         * gst/gstutils.h:
20055         Updates for query API change.
20056         Added some docs here and there.
20057
20058 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20059
20060         * check/gst/gstbin.c: (GST_START_TEST):
20061         * check/gst/gstghostpad.c: (GST_START_TEST):
20062         * check/pipelines/cleanup.c: (GST_START_TEST):
20063           wait on thread to die so we can check refcount correctly
20064
20065 2005-10-18  Wim Taymans  <wim@fluendo.com>
20066
20067         * check/pipelines/stress.c: (GST_START_TEST):
20068         Make check a little more time consuming.
20069
20070 2005-10-18  Wim Taymans  <wim@fluendo.com>
20071
20072         * check/Makefile.am:
20073         * check/pipelines/stress.c: (GST_START_TEST),
20074         (simple_launch_lines_suite), (main):
20075         Small state change torture test.
20076
20077         * docs/design/part-states.txt:
20078         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20079         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
20080         (gst_base_sink_change_state):
20081         Never take state lock from streaming thread, clean up ugly
20082         hacks. Unfortunatly core does not yet support nice ways to
20083         async commit state.
20084         
20085         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
20086         (bin_bus_handler):
20087         Start state recalc if a STATE_DIRTY message is posted, but only
20088         on the toplevel bin.
20089
20090         * gst/gstelement.c: (gst_element_sync_state_with_parent),
20091         (gst_element_get_state_func), (gst_element_abort_state),
20092         (gst_element_commit_state), (gst_element_lost_state),
20093         (gst_element_set_state_func), (gst_element_change_state):
20094         * gst/gstelement.h:
20095         State variables are now protected with the LOCK, the state
20096         lock is only used to serialize _set_state().
20097
20098 2005-10-18  Wim Taymans  <wim@fluendo.com>
20099
20100         * check/gst/gstbin.c: (GST_START_TEST):
20101         * check/gst/gstmessage.c: (GST_START_TEST):
20102         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20103         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
20104         (bin_bus_handler):
20105         * gst/gstelement.c: (gst_element_abort_state),
20106         (gst_element_commit_state), (gst_element_lost_state):
20107         * gst/gstmessage.c: (gst_message_new_state_changed),
20108         (gst_message_new_state_dirty), (gst_message_new_segment_start),
20109         (gst_message_new_segment_done), (gst_message_new_duration),
20110         (gst_message_parse_state_changed),
20111         (gst_message_parse_segment_start),
20112         (gst_message_parse_segment_done), (gst_message_parse_duration):
20113         * gst/gstmessage.h:
20114         * tools/gst-launch.c: (event_loop):
20115         Seriously, this is better than a previous commit as we only need
20116         to notify the fact that an element changed state in a streaming
20117         thread, marking the state of the parents dirty, hence the 
20118         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
20119         message.
20120
20121 2005-10-18  Wim Taymans  <wim@fluendo.com>
20122
20123         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
20124         (gst_bin_recalc_func):
20125         * gst/gstelement.c: (gst_element_set_clock),
20126         (gst_element_abort_state), (gst_element_lost_state):
20127         Cleanups, prepare for state change fixes.
20128
20129 2005-10-18  Wim Taymans  <wim@fluendo.com>
20130
20131         * gst/gstbin.h:
20132         * gst/gstelement.c: (gst_element_class_init),
20133         (gst_element_set_state), (gst_element_set_state_func):
20134         * gst/gstelement.h:
20135         Pending ABI changes.
20136         GThreadPool in GstBinClass to monitor async state changes.
20137         state_cookie in GstElement to detect concurrent gst/set state.
20138         set_state is now virtual too in case a very complicated element
20139         has to be constructed.
20140
20141 2005-10-18  Wim Taymans  <wim@fluendo.com>
20142
20143         * check/gst/gstbin.c: (GST_START_TEST):
20144         * check/gst/gstmessage.c: (GST_START_TEST):
20145         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20146         * gst/gstbin.c: (bin_bus_handler):
20147         * gst/gstelement.c: (gst_element_commit_state),
20148         (gst_element_lost_state):
20149         * gst/gstmessage.c: (gst_message_new_state_changed),
20150         (gst_message_new_segment_start), (gst_message_new_segment_done),
20151         (gst_message_new_duration), (gst_message_parse_state_changed),
20152         (gst_message_parse_segment_start),
20153         (gst_message_parse_segment_done), (gst_message_parse_duration):
20154         * gst/gstmessage.h:
20155         * tools/gst-launch.c: (event_loop):
20156         Make messages future proof.
20157         state-change gets a flag if it was a message comming from the
20158         streaming thread.
20159         segment-start/stop can also be specified in other formats.
20160         A message to notify an app that a pipeline changed playback 
20161         duration.
20162         Also fix a GstMessage leak in -launch
20163
20164 2005-10-18  Andy Wingo  <wingo@pobox.com>
20165
20166         * gst/gstelement.c (gst_element_dispose): More helpful message.
20167
20168 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20169
20170         reviewed by: <delete if not using a buddy>
20171
20172         * common/gtk-doc.mak:
20173
20174 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20175
20176         * gst/gstregistry.c: (gst_registry_scan_path_level):
20177           unref a plug-in we get that was already initialized
20178
20179 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
20180
20181         * docs/gst/gstreamer-sections.txt:
20182         * docs/libs/gstreamer-libs-sections.txt:
20183         * gst/gstelement.h:
20184           add new api entries
20185           hide internal macro
20186
20187 2005-10-17  Andy Wingo  <wingo@pobox.com>
20188
20189         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
20190         cleanup.
20191
20192         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
20193
20194         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
20195
20196         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
20197         (gst_element_get_state_func): Better debug message.
20198         (gst_element_commit_state): s/INFO/DEBUG/.
20199         (gst_element_lost_state, gst_element_change_state): 
20200
20201         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
20202         (gst_message_new_custom): s/INFO/LOG/.
20203
20204 2005-10-17  Michael Smith <msmith@fluendo.com>
20205
20206         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20207           Check if end time is valid using end time, not start time.
20208
20209 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
20210
20211         * check/gst-libs/controller.c: (GST_START_TEST),
20212         (gst_controller_suite):
20213         * libs/gst/controller/gstcontroller.c:
20214         (gst_controlled_property_set_interpolation_mode):
20215         * libs/gst/controller/gstcontroller.h:
20216         * libs/gst/controller/gstinterpolation.c:
20217         * testsuite/controller/.cvsignore:
20218         * testsuite/controller/Makefile.am:
20219         * testsuite/controller/interpolator.c:
20220           merge controller testsuites
20221           fix broken tests
20222           remove mem-chunk from docs
20223
20224 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20225
20226         * gst/gstmemchunk.c:
20227         * gst/gstmemchunk.h:
20228         * gst/gsttrashstack.c:
20229         * gst/gsttrashstack.h:
20230           out.  get out.  you're fired.  to the Attic !
20231
20232 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20233
20234         * gst/gstcaps.c: (gst_caps_intersect):
20235           fix signedness issues in a (hopefully) correct way
20236         * gst/gstelement.c: (gst_element_pads_activate):
20237           some debugging
20238         * gst/gstobject.c: (gst_object_set_parent):
20239           some debugging
20240
20241 2005-10-17  Julien MOUTTE  <julien@moutte.net>
20242
20243         * gst/gstvalue.h: Fix prototypes.
20244
20245 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20246
20247         * docs/gst/gstreamer-sections.txt:
20248         * gst/gst.c: (gst_version_string):
20249         * gst/gst.h:
20250         * gst/gstversion.h.in:
20251         * win32/common/libgstreamer.def:
20252           add gst_version_string ()
20253
20254 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20255
20256         * configure.ac:
20257           clean up further
20258         * gst/gst.c: (init_post):
20259         * win32/common/config.h.in:
20260           it's PLUGINDIR now
20261         * gst/gstcaps.c: (gst_caps_intersect):
20262           use gint64, the range could be bigger than a guint
20263
20264 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20265
20266         * gst/gstclock.h:
20267           document potential problem in 2038
20268
20269 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20270
20271         * gst/gstcaps.c: (gst_caps_intersect):
20272           Fix guint j diving under 0
20273
20274 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20275
20276         * configure.ac:
20277         * win32/common/config.h:
20278         * win32/common/config.h.in:
20279           check for process.h, declares getpid() on Windows
20280         * gst/gstinfo.c:
20281           include process.h if we have it
20282         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
20283         * gst/gstmemchunk.h:
20284           fix signedness issues
20285         * win32/common/libgstreamer.def:
20286           fix get_type's
20287
20288 2005-10-16  Julien MOUTTE  <julien@moutte.net>
20289
20290         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
20291         fix. Because of unsigned ints, caps intersection was going nuts and
20292         trying to access structures with G_MAXUINT index. That fixes
20293         videotestsrc ! ffmpegcolorspace ! fakesink
20294         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
20295         consistency.
20296
20297 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20298
20299         * configure.ac:
20300           use the gettext macro
20301         * gst/elements/gstelements.c:
20302         * gst/gst.c:
20303         * gst/indexers/gstindexers.c:
20304           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
20305         * win32/common/config.h:
20306           updated config.h
20307         * win32/common/config.h.in:
20308           add the template to generate config.h
20309         * win32/common/gstenumtypes.c:
20310         * win32/common/gstversion.h:
20311           updated copies
20312
20313 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20314
20315         * gst/gst.c: (gst_version):
20316         * gst/gstversion.h.in:
20317           add the nano
20318
20319 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20320
20321         * gst/gstevent.h:
20322           Oops, add missing closing bracket.
20323
20324 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20325
20326         * configure.ac:
20327           use common m4's for argument checking
20328
20329 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20330
20331         * docs/gst/gstreamer-sections.txt:
20332         * gst/gstevent.h:
20333           Add GST_EVENT_TYPE_NAME() macro.
20334
20335 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20336
20337         * gst/gstinfo.c:
20338         * gst/gstpluginfeature.c:
20339         * gst/gsttask.c:
20340           privatize more symbols
20341
20342 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20343
20344         * configure.ac:
20345           add srcdir, builddir includes to GST_ALL_CFLAGS, since
20346           everything that uses GStreamer API should have the includes
20347
20348 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20349
20350         * docs/gst/gstreamer-sections.txt:
20351         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
20352         * gst/gstvalue.h:
20353           give each value a _get_type, removes the DATA exports
20354
20355 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20356
20357         * gst/gst.c:
20358         * gst/gst.h:
20359           remove _gst_registry_auto_load, not used anymore
20360         * gst/gstbin.c: (gst_bin_get_type):
20361         * gst/gstbin.h:
20362         * gst/gstelement.c: (gst_element_get_type):
20363         * gst/gstelement.h:
20364         * gst/gstobject.c: (gst_object_get_type):
20365         * gst/gstobject.h:
20366         * gst/gstpad.c: (gst_pad_get_type):
20367         * gst/gstpad.h:
20368           make _get_type functions similar, fixes data export from library
20369
20370 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20371
20372         * configure.ac:
20373           correctly make conditionals
20374         * gst/elements/Makefile.am:
20375         * gst/elements/gstelements.c:
20376           fix typo causing fdsrc not to build
20377
20378 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20379
20380         * testsuite/Makefile.am:
20381         * testsuite/bytestream/.cvsignore:
20382         * testsuite/bytestream/Makefile.am:
20383         * testsuite/bytestream/filepadsink.c:
20384         * testsuite/bytestream/gstbstest.c:
20385         * testsuite/bytestream/test1.c:
20386         * testsuite/bytestream/testfile1:
20387         * testsuite/caps/normalisation.c:
20388         * testsuite/caps/random.c: (main):
20389         * testsuite/cleanup/.cvsignore:
20390         * testsuite/cleanup/Makefile.am:
20391         * testsuite/cleanup/cleanup1.c:
20392         * testsuite/cleanup/cleanup2.c:
20393         * testsuite/cleanup/cleanup3.c:
20394         * testsuite/cleanup/cleanup4.c:
20395         * testsuite/cleanup/cleanup5.c:
20396         * testsuite/controller/interpolator.c:
20397         * testsuite/debug/printf_extension.c: (main):
20398         * testsuite/elements/tee.c:
20399         * testsuite/negotiation/.cvsignore:
20400         * testsuite/negotiation/Makefile.am:
20401         * testsuite/negotiation/pad_link.c:
20402         * testsuite/pad/Makefile.am:
20403         * testsuite/pad/chainnopull.c:
20404         * testsuite/pad/getnopush.c:
20405         * testsuite/pad/link.c:
20406         * testsuite/refcounting/sched.c: (create_pipeline):
20407         * testsuite/registry/Makefile.am:
20408         * testsuite/registry/gst-print-formats.c:
20409         * testsuite/schedulers/.cvsignore:
20410         * testsuite/schedulers/142183-2.c:
20411         * testsuite/schedulers/142183.c:
20412         * testsuite/schedulers/143777-2.c:
20413         * testsuite/schedulers/143777.c:
20414         * testsuite/schedulers/147713.c:
20415         * testsuite/schedulers/147819.c:
20416         * testsuite/schedulers/147894-2.c:
20417         * testsuite/schedulers/147894.c:
20418         * testsuite/schedulers/Makefile.am:
20419         * testsuite/schedulers/group_link.c:
20420         * testsuite/schedulers/queue_link.c:
20421         * testsuite/schedulers/relink.c:
20422         * testsuite/schedulers/unlink.c:
20423         * testsuite/schedulers/unref.c:
20424         * testsuite/schedulers/useless_iteration.c:
20425         * testsuite/states/bin.c:
20426           clean out/remove some stuff from the testsuite directories
20427
20428 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20429
20430         * configure.ac:
20431           check for some headers
20432         * gst/elements/Makefile.am:
20433         * gst/elements/gstelements.c:
20434           don't compile fdsrc without sys/socket.h
20435         * gst/indexers/Makefile.am:
20436         * gst/indexers/gstindexers.c: (plugin_init):
20437           don't compile fileindex without mmap
20438
20439 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20440
20441         * configure.ac:
20442           reorganize
20443           clean up
20444           document more
20445           remove cruft
20446         * check/Makefile.am:
20447         * docs/gst/Makefile.am:
20448         * examples/helloworld/Makefile.am:
20449         * gst/Makefile.am:
20450         * gst/base/Makefile.am:
20451         * gst/check/Makefile.am:
20452         * gst/elements/Makefile.am:
20453         * gst/indexers/Makefile.am:
20454         * gst/parse/Makefile.am:
20455         * libs/gst/controller/Makefile.am:
20456         * libs/gst/dataprotocol/Makefile.am:
20457         * examples/helloworld/helloworld.c: (event_loop):
20458           compile fixes, though it's not being compiled currently
20459
20460 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20461
20462         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
20463           Add some simple tests for the new taglist date API.
20464
20465 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20466
20467         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
20468         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
20469           Beautify 'last-message' output: print 'none' for buffer timestamps
20470           and durations if none is set; improve alignment with next messages.
20471
20472 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20473
20474         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
20475         * gst/gstpluginfeature.h:
20476         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
20477         * gst/gstregistry.h:
20478         * docs/gst/gstreamer-sections.txt:
20479           Add new API to check plugin feature version requirements.
20480
20481         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
20482           Some basic tests for the above.         
20483
20484 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20485
20486         * gst/gststructure.c: (gst_structure_to_string):
20487           guard against NULL printf - happens when for example
20488           a message structure with GstClock gets serialized
20489
20490 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
20491
20492         * gst/base/gstcollectpads.c: (gst_collectpads_event):
20493           Fix presumable copy'n'pasto.
20494
20495 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20496
20497         * gst/elements/gstfakesrc.h:
20498         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
20499         * gst/elements/gsttypefindelement.c:
20500           fix some signedness
20501         * gst/elements/gstfilesink.c: (gst_file_sink_render):
20502           I wonder if this could actually write +2GB files before
20503
20504 2005-10-13  Andy Wingo  <wingo@pobox.com>
20505
20506         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
20507         Fix Timmeke Waymans bug.
20508         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
20509         string of the proper length to gst_caps_from_string. There's a
20510         potential for, before this fix, that this could cause someone
20511         connecting over the network to cause a segfault if the payload is
20512         not NUL-terminated.
20513
20514 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
20515
20516         * docs/design/draft-push-pull.txt:
20517         * docs/design/part-overview.txt:
20518         * docs/random/TODO-pre-0.9:
20519         * docs/random/old/ChangeLog.gstreamer:
20520         * gst/base/gstpushsrc.c:
20521         * gst/gstclock.c:
20522           fixed typos
20523
20524 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20525
20526         * gst/glib-compat.c: (gst_flags_get_first_value):
20527         * gst/glib-compat.h:
20528         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
20529         (gst_value_compare_double), (gst_value_serialize_flags):
20530           GLib 2.6 g_flags_get_first_value has a bug that triggers an
20531           infinite loop
20532
20533 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20534
20535         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20536         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20537           fix up debugging
20538         * tools/gst-launch.c: (event_loop):
20539           print out clock nicely
20540
20541 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
20542
20543         * docs/gst/gstreamer-sections.txt:
20544         * gst/gsttaglist.h:
20545         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
20546         (gst_tag_list_get_date_index):
20547           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
20548           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
20549
20550 2005-10-13  Julien MOUTTE  <julien@moutte.net>
20551
20552         * gst/base/gstcollectpads.c: (gst_collectpads_event),
20553         (gst_collectpads_chain):
20554         * gst/base/gstcollectpads.h: Handle newsegment and store informations
20555         in CollectData.
20556
20557 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
20558
20559         * docs/gst/gstreamer-sections.txt:
20560         * gst/gst.c:
20561         * gst/gsterror.h:
20562         * tools/gst-inspect.c: (main):
20563         * tools/gst-launch.c: (main):
20564         * tools/gst-run.c: (main):
20565         * tools/gst-xmlinspect.c: (main):
20566           fix GOption context leaks
20567           doc fixes
20568
20569 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20570
20571         * gst/gstbus.c:
20572           use HAVE_UNISTD_H
20573         * win32/common/config.h:
20574           update config
20575         * win32/vs6/grammar.dsp:
20576         * win32/vs6/libgstelements.dsp:
20577         * win32/vs6/libgstreamer.dsp:
20578           update vs6 files
20579
20580 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20581
20582         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20583         * gst/base/gstbasesrc.c: (gst_base_src_query):
20584           fix more guint64<->gdouble conversions
20585
20586 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20587
20588         * Makefile.am:
20589           add win32-update target
20590         * win32/common/gstconfig.h:
20591         * win32/common/gstenumtypes.c:
20592         * win32/common/gstenumtypes.h:
20593         * win32/common/gstversion.h:
20594           add files that visual studio can't generate
20595
20596 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20597
20598         * Makefile.am:
20599           add a win32-update target
20600         * configure.ac:
20601
20602 2005-10-12  Wim Taymans  <wim@fluendo.com>
20603
20604         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20605         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
20606         * gst/gstelement.c: (gst_element_commit_state),
20607         (gst_element_set_state):
20608         Protect flags with proper lock.
20609         unref provided cached clock in dispose.
20610
20611 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
20612
20613         * gst/gst.c:
20614         * gst/gstminiobject.h:
20615         * gst/gstpad.h:
20616         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
20617           removed unused flags from miniobject
20618           doc fixes
20619
20620 2005-10-12  Wim Taymans  <wim@fluendo.com>
20621
20622         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20623         (gst_file_sink_event), (gst_file_sink_render):
20624         Flush before seeking.
20625
20626 2005-10-12  Andy Wingo  <wingo@pobox.com>
20627
20628         * gst/gst.c (gst_init_check): Ignore unknown options, as has
20629         always been the case.
20630
20631 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
20632
20633         * check/gst/gstbin.c: (GST_START_TEST):
20634         * docs/gst/gstreamer-sections.txt:
20635         * gst/base/gstbasesink.c: (gst_base_sink_init):
20636         * gst/base/gstbasesrc.c: (gst_base_src_init),
20637         (gst_base_src_get_range), (gst_base_src_check_get_range),
20638         (gst_base_src_start), (gst_base_src_stop):
20639         * gst/base/gstbasesrc.h:
20640         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
20641         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20642         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
20643         (bin_bus_handler):
20644         * gst/gstbin.h:
20645         * gst/gstbuffer.h:
20646         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
20647         * gst/gstbus.h:
20648         * gst/gstelement.c: (gst_element_is_locked_state),
20649         (gst_element_set_locked_state), (gst_element_commit_state),
20650         (gst_element_set_state):
20651         * gst/gstelement.h:
20652         * gst/gstindex.c: (gst_index_init):
20653         * gst/gstindex.h:
20654         * gst/gstminiobject.h:
20655         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
20656         (gst_object_set_parent):
20657         * gst/gstobject.h:
20658         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
20659         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
20660         * gst/gstpad.h:
20661         * gst/gstpadtemplate.h:
20662         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
20663         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
20664         * gst/gstpipeline.h:
20665         * gst/indexers/gstfileindex.c: (gst_file_index_load),
20666         (gst_file_index_commit):
20667         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
20668         * testsuite/pad/link.c: (gst_test_src_init),
20669         (gst_test_filter_init), (gst_test_sink_init):
20670         * testsuite/states/locked.c: (main):
20671           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
20672           moved bitshift from macro to enum definition
20673
20674 2005-10-12  Wim Taymans  <wim@fluendo.com>
20675
20676         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
20677         * gst/elements/gstfilesink.c: (gst_file_sink_event),
20678         (gst_file_sink_render):
20679         Some more debugging info.
20680
20681 2005-10-12  Wim Taymans  <wim@fluendo.com>
20682
20683         * docs/design/part-states.txt:
20684         * tools/gst-launch.c: (main):
20685         Some doc updates.
20686         Revert non-intentional change.
20687
20688 2005-10-12  Wim Taymans  <wim@fluendo.com>
20689
20690         * check/gst/gstbin.c: (GST_START_TEST):
20691         * check/gst/gstelement.c: (GST_START_TEST):
20692         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
20693         * check/gst/gstghostpad.c: (GST_START_TEST):
20694         * check/gst/gstpipeline.c: (GST_START_TEST):
20695         * check/pipelines/simple_launch_lines.c: (run_pipeline):
20696         * check/states/sinks.c: (GST_START_TEST):
20697         * gst/elements/gsttypefindelement.c: (stop_typefinding):
20698         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20699         (gst_bin_remove_func), (gst_bin_get_state_func),
20700         (gst_bin_recalc_state), (gst_bin_change_state_func),
20701         (bin_bus_handler):
20702         * gst/gstelement.c: (gst_element_get_state_func),
20703         (gst_element_get_state), (gst_element_abort_state),
20704         (gst_element_commit_state), (gst_element_set_state),
20705         (gst_element_change_state), (gst_element_change_state_func):
20706         * gst/gstelement.h:
20707         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
20708         (gst_pipeline_provide_clock_func):
20709         * gst/gstutils.c: (gst_element_link_pads_filtered):
20710         * tools/gst-launch.c: (main):
20711         * tools/gst-typefind.c: (main):
20712         Use GstClockTime in _get_state() instead of GTimeVal.
20713         Remove old code in gstutils.c
20714
20715 2005-10-12  Andy Wingo  <wingo@pobox.com>
20716
20717         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
20718         removed.
20719
20720         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
20721         there is no task. Shouldn't affect any code, as nothing in our
20722         plugins checks this return value.
20723         (gst_pad_stop_task): Also take the stream lock if the pad has no
20724         task. Docs updated.
20725
20726 2005-10-12  Wim Taymans  <wim@fluendo.com>
20727
20728         * gst/gstpad.c: (pre_activate), (post_activate),
20729         (gst_pad_activate_pull), (gst_pad_activate_push):
20730         Cleanup activation code. Reset old state if
20731         activation failed.
20732
20733 2005-10-12  Wim Taymans  <wim@fluendo.com>
20734
20735         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20736         (gst_base_sink_change_state):
20737         No need to prerol after receiving EOS.
20738
20739         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
20740         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
20741         * gst/elements/gstidentity.c: (gst_identity_event):
20742         Print events more verbosely.
20743
20744 2005-10-12  Wim Taymans  <wim@fluendo.com>
20745
20746         * check/Makefile.am:
20747         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20748         * check/states/sinks2.c:
20749         Moved sinks2 testcode in sinks check.
20750
20751         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20752         (gst_bin_remove_func), (gst_bin_recalc_state),
20753         (gst_bin_change_state_func), (bin_bus_handler):
20754         Fix potential race condition when _get_state() iterated over an
20755         ASYNC element right before it posted a state completion.
20756
20757         * gst/gstclock.h:
20758         Do proper cast here.
20759
20760         * gst/gstevent.c: (gst_event_new_newsegment),
20761         (gst_event_parse_newsegment):
20762         A playback rate of 0.0 is not allowed.
20763
20764 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20765
20766         * win32/common/config.h:
20767         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
20768         (_trewinddir), (_ttelldir), (_tseekdir):
20769         * win32/common/dirent.h:
20770         * win32/common/gtchar.h:
20771         * win32/common/libgstbase.def:
20772         * win32/common/libgstreamer.def:
20773         * win32/vs6/grammar.dsp:
20774         * win32/vs6/gst_inspect.dsp:
20775         * win32/vs6/gst_launch.dsp:
20776         * win32/vs6/gstreamer.dsw:
20777         * win32/vs6/libgstbase.dsp:
20778         * win32/vs6/libgstelements.dsp:
20779         * win32/vs6/libgstreamer.dsp:
20780           Visual Studio 6 project files, and a new common directory.
20781           Phear.
20782
20783 2005-10-11  Wim Taymans  <wim@fluendo.com>
20784
20785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20786         (gst_base_sink_do_sync), (gst_base_sink_query),
20787         (gst_base_sink_change_state):
20788         * gst/base/gstbasesink.h:
20789         Correctly parse newsegment info.
20790
20791 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20792
20793         * gst/gst.c: (init_post):
20794           split plugin paths correctly
20795
20796 2005-10-11  Wim Taymans  <wim@fluendo.com>
20797
20798         * check/gst/gstevent.c: (GST_START_TEST):
20799         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20800         (gst_base_sink_change_state):
20801         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
20802         * gst/base/gstbasetransform.c: (gst_base_transform_event):
20803         * gst/elements/gstfilesink.c: (gst_file_sink_event):
20804         * gst/gstevent.c: (gst_event_new_newsegment),
20805         (gst_event_parse_newsegment):
20806         * gst/gstevent.h:
20807         Added extra flag to newsegment for future API freeze.
20808         Updated check and base elements.
20809
20810 2005-10-11  Julien MOUTTE  <julien@moutte.net>
20811
20812         * gst/base/gstcollectpads.c: (gst_collectpads_init),
20813         (gst_collectpads_add_pad), (gst_collectpads_pop),
20814         (gst_collectpads_event), (gst_collectpads_chain):
20815         * gst/base/gstcollectpads.h: Handle EOS correctly.
20816
20817 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20818
20819         * tools/gst-launch.c: (main):
20820           more null protecting
20821
20822 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20823
20824         * gst/gst-i18n-lib.h:
20825           check for ENABLE_NLS, not GETTEXT_PACKAGE
20826         * gst/gstregistry.c: (gst_registry_add_plugin),
20827         (gst_registry_scan_path_level),
20828         (_gst_registry_remove_cache_plugins):
20829           protect possibly NULL strings
20830         * gst/parse/types.h:
20831           config.h already included before
20832         * tools/gst-inspect.c: (main):
20833           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
20834           check for ENABLE_NLS, not GETTEXT_PACKAGE
20835         * tools/gst-launch.c: (main):
20836           check for ENABLE_NLS, not GETTEXT_PACKAGE
20837
20838 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20839
20840         * configure.ac:
20841           if we don't have glib, fail before testing 2.8
20842         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
20843           fix a leak, should fix plugins-base testsuite
20844
20845 2005-10-11  Andy Wingo  <wingo@pobox.com>
20846
20847         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
20848         take the mode we're going to as an arg. Go head and set the mode
20849         and flushing flags now, so that if the activate function starts a
20850         thread all the flags will be in the right state.
20851         (post_activate): Renamed also. Just handle making sure streaming
20852         finishes for the deactivation case, and setting the deactivated
20853         mode.
20854         (gst_pad_set_active): Complain loudly if deactivation fails.
20855         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
20856         (gst_pad_activate_push): Adapt to pre/post_activate changes,
20857         remove the terrible hack.
20858
20859 2005-10-11  Wim Taymans  <wim@fluendo.com>
20860
20861         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
20862         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
20863         (gst_bin_recalc_state), (gst_bin_change_state_func),
20864         (gst_bin_dispose), (bin_bus_handler):
20865         * gst/gstbin.h:
20866         Prepare to make current EOS message queue more generic.
20867         Fix some typos.
20868
20869         * gst/gstevent.c: (gst_event_new_newsegment),
20870         (gst_event_parse_newsegment):
20871         * gst/gstevent.h:
20872         Rename base to stream_time.
20873
20874         * gst/gstmessage.h:
20875         Fix typo in docs.
20876
20877 2005-10-11  Wim Taymans  <wim@fluendo.com>
20878
20879         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
20880         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
20881         (gst_bin_change_state_func), (bin_bus_handler):
20882         * gst/gstbin.h:
20883         Work on proper clock selection.
20884
20885 2005-10-11  Edward Hervey  <edward@fluendo.com>
20886
20887         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
20888         * libs/gst/controller/gstcontroller.h:
20889         Added GList* version of _remove_properties() in order to be able to wrap
20890         it in bindings.
20891
20892 2005-10-11  Wim Taymans  <wim@fluendo.com>
20893
20894         * docs/design/part-states.txt:
20895         Some more docs.
20896
20897         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
20898         (gst_bin_change_state_func), (bin_bus_handler):
20899         Doc updates. Don't distribute the same clock over and over again.
20900
20901         * gst/gstclock.c:
20902         * gst/gstclock.h:
20903         Doc updates.
20904
20905         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
20906         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
20907         (gst_pad_send_event):
20908         * gst/gstpad.h:
20909         Make probe emission threadsafe again.
20910         Register quarks and move _get_name() from utils.
20911         Doc updates.
20912
20913         * gst/gstpipeline.c: (gst_pipeline_class_init),
20914         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
20915         Only redistribute the clock of it changed.
20916
20917         * gst/gstsystemclock.h:
20918         Doc updates. 
20919
20920         * gst/gstutils.c:
20921         * gst/gstutils.h:
20922         Moved the _flow_get_name() to GstPad.
20923
20924 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20925
20926         * check/gst-libs/gdp.c: (GST_START_TEST):
20927         * check/gst/gstcaps.c: (GST_START_TEST):
20928         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
20929         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
20930         (gst_dp_packet_from_caps):
20931           fix more valgrind warnings before turning up the heat
20932
20933 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20934
20935         * gst/parse/grammar.y:
20936           some cleanup before the hacking
20937
20938 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20939
20940         * gst/base/gstbasesrc.c: (gst_base_src_query):
20941           use conversions
20942         * gst/gstutils.c: (gst_guint64_to_gdouble),
20943         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
20944         * gst/gstutils.h:
20945           externalize, basesrc uses it
20946           obviously the implementation needs testing
20947
20948 2005-10-10  Wim Taymans  <wim@fluendo.com>
20949
20950         * tests/sched/Makefile.am:
20951         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
20952         (make_pipeline3), (make_pipeline4), (print_elem), (main):
20953
20954 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20955
20956         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
20957           apparently converting from guint64 to double is not implemented
20958           on MSVC
20959
20960 2005-10-10  Wim Taymans  <wim@fluendo.com>
20961
20962         * check/Makefile.am:
20963         * check/generic/states.c: (GST_START_TEST):
20964         * check/gst/gstbin.c: (GST_START_TEST):
20965         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20966         * check/states/sinks.c: (GST_START_TEST):
20967         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
20968         (main):
20969         Check fixes, use API as stated in design docs, remove hacks.
20970
20971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20972         (gst_base_sink_change_state):
20973         Catch stopping our task while we're shutting down.
20974
20975         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
20976         (gst_bin_remove_func), (gst_bin_get_state_func),
20977         (gst_bin_recalc_state), (gst_bin_change_state_func),
20978         (bin_bus_handler):
20979         * gst/gstbin.h:
20980         * gst/gstelement.c: (gst_element_init),
20981         (gst_element_get_state_func), (gst_element_abort_state),
20982         (gst_element_commit_state), (gst_element_lost_state),
20983         (gst_element_set_state), (gst_element_change_state),
20984         (gst_element_change_state_func):
20985         * gst/gstelement.h:
20986         New state change algorithm (see #318116)
20987
20988         * gst/gstpipeline.c: (gst_pipeline_class_init),
20989         (gst_pipeline_init), (gst_pipeline_set_property),
20990         (gst_pipeline_get_property), (do_pipeline_seek),
20991         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
20992         * gst/gstpipeline.h:
20993         Remove crude state change hacks.
20994
20995         * gst/gstutils.h:
20996         Remove crude hacks.
20997
20998         * tools/gst-launch.c: (main):
20999         Fixes for state change. Needs some more work to fully use the
21000         new stuff.
21001
21002 2005-10-10  Andy Wingo  <wingo@pobox.com>
21003
21004         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
21005
21006         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
21007         this flag, but it's not even in GLib 2.6. Odd. Hack around the
21008         issue.
21009
21010 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21011
21012         * gst/gstiterator.c: (gst_iterator_new):
21013           Fix my previous commit: GTypes passed to gst_iterator_new()
21014           can be fundamental types.
21015
21016 2005-10-10  Wim Taymans  <wim@fluendo.com>
21017
21018         * gst/gstelement.c: (gst_element_iterate_pad_list),
21019         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
21020         (gst_element_iterate_sink_pads):
21021         Use src/sink pads lists for the respective iterators instead
21022         of filtering.
21023
21024 2005-10-10  Andy Wingo  <wingo@pobox.com>
21025
21026         Merged in popt removal + GOption addition patch from Ronald, bug
21027         #169772.
21028
21029         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
21030         GstElement macros around, remove popt-related symbols, add goption
21031         stuff.
21032
21033         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
21034         
21035         * docs/gst/Makefile.am:
21036         * docs/libs/Makefile.am: No POPT_CFLAGS.
21037         
21038         * examples/manual/Makefile.am:
21039         * docs/manual/basics-init.xml: Doc updates with an example.
21040         
21041         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
21042         (gst_init), (parse_one_option), (parse_goption_arg):
21043         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
21044         bit of hand merging and debugging to get the GOption stuff working
21045         tho.
21046         
21047         * tests/Makefile.am:
21048         * tools/Makefile.am:
21049         * tools/gst-inspect.c: (main):
21050         * tools/gst-launch.c: (main):
21051         * tools/gst-run.c: (main):
21052         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
21053
21054 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21055
21056         * gst/gstiterator.c: (gst_iterator_new):
21057           Add assertions to make sure passed GType is likely to really
21058           be a GType (as the compiler won't catch it if the size and
21059           GType arguments get mixed up, see #318447).
21060
21061 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
21062
21063         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21064
21065         * gst/gstbin.c: (gst_bin_iterate_sorted):
21066           Pass GType and size arguments to gst_iterator_new() in the right
21067           order (maybe we should make _new() take the GType as first argument
21068           just like _new_list()?) (#318447).
21069           
21070
21071 2005-10-10  Wim Taymans  <wim@fluendo.com>
21072
21073         * gst/gstelement.c: (gst_element_finalize):
21074         And free the GStaticRecMutex too
21075
21076 2005-10-10  Andy Wingo  <wingo@pobox.com>
21077
21078         * gst/gstelement.c (gst_element_init, gst_element_finalize):
21079         Allocate and free the mutex properly.
21080
21081         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
21082         New macros.
21083         (GstElement): The state_lock is now recursive. Rebuild your
21084         plugins, suckers. Old macros adapted.
21085
21086         * docs/gst/gstreamer-sections.txt: Doc updates.
21087
21088         * gst/gstutils.h:
21089         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
21090         (g_static_rec_cond_wait): Ported from state changes patch, while
21091         we wait on bug #317802 to be solved in a well-distributed GLib.
21092
21093         * gst/gstelement.c (gst_element_change_state_func): Renamed from
21094         gst_element_change_state, variable name changes.
21095         (gst_element_change_state): Split out of gst_element_set_state in
21096         preparation for the state change merge. Doesn't pay attention to
21097         the 'transition' argument.
21098         (gst_element_set_state): Updates, hopefully purely cosmetic.
21099         (gst_element_sync_state_with_parent): MT-safety. Ported from the
21100         state change patch.
21101         (gst_element_get_state_func): Renamed from get_state, cosmetic
21102         changes.
21103
21104 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21105
21106         * gst/elements/gstelements.c:
21107         * win32/GStreamer.vcproj:
21108         * win32/config.h:
21109         * win32/dirent.c: (_tseekdir):
21110         * win32/gst-inspect.vcproj:
21111         * win32/gst-launch.vcproj:
21112         * win32/gstconfig.h:
21113         * win32/gstelements.vcproj:
21114         * win32/gstenumtypes.c: (gst_object_flags_get_type):
21115         * win32/gstreamer.def:
21116         * win32/msvc71.sln:
21117           updates for the win32 build (patch from Sebastien Moutte)
21118
21119 2005-10-10  Andy Wingo  <wingo@pobox.com>
21120
21121         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
21122         gst_bin_get_state, cleaned up (but no logic changes).
21123         (bin_element_is_sink): Comment updates.
21124         (sink_iterator_filter): Remove needless cast.
21125         (gst_bin_iterate_sinks): Doc update.
21126         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
21127         cleaned up (but no logic changes).
21128
21129         * check/states/sinks.c (test_src_sink): Cleanups from the state
21130         change patch.
21131         (test_livesrc_sink): Sync on the state.
21132
21133         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
21134         the state change patch.
21135
21136         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
21137         change patch.
21138
21139         * check/gst/gstbin.c: Merge in some style fixes and additional
21140         checks from Wim's state change patch.
21141
21142 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21143
21144         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21145         (gst_type_find_helper):
21146           Check whether we have the requested data already in our list of
21147           cached buffers before pulling a new buffer; also make the buffer
21148           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
21149
21150 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21151
21152         * gst/gstcaps.c:
21153         * gst/gstevent.c:
21154           doc updates
21155         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21156           don't use long long, it's not portable.  Replacing with
21157           gint64 seems to work; let's hope no skeletons fall out of the closet.
21158
21159 2005-10-10  Andy Wingo  <wingo@pobox.com>
21160
21161         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
21162
21163 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
21164
21165         * docs/gst/gstreamer-sections.txt:
21166         * gst/gstevent.c:
21167         * gst/gstevent.h:
21168         * gst/gstinfo.c:
21169         * gst/gstinfo.h:
21170         * gst/gstmessage.c: (gst_message_parse_state_changed):
21171         * gst/gstpad.c:
21172         * gst/gstpad.h:
21173           more docs, fix compilation
21174
21175 2005-10-09  Philippe Khalaf <burger@speedy.org>
21176         * gst/gstmessage.c:
21177           Fixed a few forgotten variables on previous commit
21178
21179 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
21180
21181         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21182           Fix evil typefind crasher: getrange() might return a short
21183           buffer at the end of a file, but gst_type_find_peek() must
21184           either return the full data as requested or NULL, but
21185           never a short buffer.
21186
21187 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21188
21189         * gst/gstmessage.c: (gst_message_new_state_changed),
21190         (gst_message_parse_state_changed):
21191         * gst/gstmessage.h:
21192           don't use "new", it's a C++ keyword
21193
21194 2005-10-08  Wim Taymans  <wim@fluendo.com>
21195
21196         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
21197         * gst/gstelement.c: (gst_element_post_message):
21198         * gst/gstpipeline.c: (gst_pipeline_change_state):
21199         Small docs and debug updates.
21200
21201 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21202
21203         * docs/gst/gstreamer-sections.txt:
21204         * gst/gstelementfactory.c:
21205         * gst/gstevent.c:
21206         * gst/gsttaglist.c:
21207           more docs
21208
21209 2005-10-08  Wim Taymans  <wim@fluendo.com>
21210
21211         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
21212         (gst_bin_dispose), (bin_bus_handler):
21213         Fix typos, add comments.
21214         Clear EOS list when going to PAUSED from any direction and do it
21215         in a threadsafe way.
21216         Get base time in a threadsafe way too.
21217         Fix confusing debug in the change_state function.
21218         Various other small cleanups.
21219         
21220         * gst/gstelement.c: (gst_element_post_message):
21221         Fix very verbose bus posting code.
21222
21223         * gst/gstpipeline.c: (gst_pipeline_class_init),
21224         (gst_pipeline_set_property), (gst_pipeline_get_property),
21225         (gst_pipeline_change_state):
21226         Small ARG_ -> PROP_ cleanup
21227
21228 2005-10-08  Wim Taymans  <wim@fluendo.com>
21229
21230         * gst/gstbin.c: (is_eos), (bin_bus_handler):
21231         Do a less CPU demanding EOS check because we can.
21232
21233 2005-10-08  Wim Taymans  <wim@fluendo.com>
21234
21235         * libs/gst/dataprotocol/dataprotocol.c:
21236         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
21237         (gst_dp_packet_from_event):
21238         * libs/gst/dataprotocol/dataprotocol.h:
21239         * libs/gst/dataprotocol/dp-private.h:
21240         It's about time we bump the version number.
21241         Since event types don't fit in the guint8 anymore describing
21242         the payload type, make payload type 16 bits wide.
21243
21244 2005-10-08  Wim Taymans  <wim@fluendo.com>
21245
21246         * docs/design/part-TODO.txt:
21247         * docs/design/part-clocks.txt:
21248         * docs/design/part-events.txt:
21249         * docs/design/part-gstbin.txt:
21250         * docs/design/part-gstelement.txt:
21251         * docs/design/part-gstpipeline.txt:
21252         * docs/design/part-live-source.txt:
21253         * docs/design/part-messages.txt:
21254         * docs/design/part-overview.txt:
21255         * docs/design/part-states.txt:
21256         Many doc updates.
21257
21258 2005-10-08  Wim Taymans  <wim@fluendo.com>
21259
21260         * gst/gstevent.c:
21261         * gst/gstevent.h:
21262         Fix event quark registration.
21263         Add some space between events so we can insert them in the
21264         right groups.
21265
21266 2005-10-08  Wim Taymans  <wim@fluendo.com>
21267
21268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21269         (gst_base_sink_handle_buffer):
21270         Better log message.
21271
21272         * gst/gstbus.h:
21273         * gst/gstelement.h:
21274         More docs.
21275
21276         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
21277         (gst_queue_set_property), (gst_queue_get_property):
21278         * gst/gstqueue.h:
21279         Remove old unused properties.
21280
21281 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21282         * docs/gst/gstreamer-sections.txt:
21283         * gst/gstmessage.c:
21284         * gst/gstmessage.h:
21285         * gst/gstminiobject.c:
21286         * gst/gstminiobject.h:
21287         * gst/gstobject.h:
21288         * gst/gstpad.h:
21289         * gst/gstutils.h:
21290           lots of new docs and doc fixes
21291
21292 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21293
21294         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
21295         * gst/gstplugin.h:
21296         * gst/gstregistry.c: (gst_registry_lookup_locked),
21297         (gst_registry_scan_path_level):
21298         * gst/gstregistryxml.c: (load_plugin):
21299           Only ever load one plugin for a given plugin basename.
21300           This ensures correct overriding of GST_PLUGIN_PATH over
21301           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
21302           system installed plugins.
21303
21304 2005-10-08  Wim Taymans  <wim@fluendo.com>
21305
21306         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21307         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
21308         Prepare for doing QOS.
21309
21310 2005-10-08  Wim Taymans  <wim@fluendo.com>
21311
21312         * check/gst/gstbin.c: (GST_START_TEST):
21313         * check/pipelines/cleanup.c: (GST_START_TEST):
21314         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21315         Allow new clock message too.
21316
21317 2005-10-08  Wim Taymans  <wim@fluendo.com>
21318
21319         * gst/gstmessage.c: (gst_message_new_error),
21320         (gst_message_new_warning), (gst_message_new_tag),
21321         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21322         (gst_message_new_clock_lost), (gst_message_new_new_clock),
21323         (gst_message_new_segment_start), (gst_message_new_segment_done),
21324         (gst_message_parse_state_changed),
21325         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
21326         (gst_message_parse_new_clock):
21327         * gst/gstmessage.h:
21328         Also carry the clock in question.
21329
21330 2005-10-08  Wim Taymans  <wim@fluendo.com>
21331
21332         * gst/gstmessage.c: (gst_message_new_custom),
21333         (gst_message_new_eos), (gst_message_new_error),
21334         (gst_message_new_warning), (gst_message_new_tag),
21335         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21336         (gst_message_new_new_clock), (gst_message_new_segment_start),
21337         (gst_message_new_segment_done), (gst_message_parse_state_changed),
21338         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
21339         * gst/gstmessage.h:
21340         Clean up.
21341         Added clock related messages.
21342
21343         * gst/gstpipeline.c: (gst_pipeline_change_state):
21344         Post message when the clock changed.
21345
21346         * tools/gst-launch.c: (event_loop):
21347         Print new clock.
21348
21349 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
21350
21351         * tools/gst-inspect.c: (print_element_properties_info):
21352           Can't pass NULL strings to g_print() on windows.
21353
21354 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21355
21356         * docs/Makefile.am:
21357         * docs/gst/Makefile.am:
21358         * docs/gst/gstreamer-docs.sgml:
21359         * docs/gst/running.xml:
21360         * docs/version.entities.in:
21361           add a chapter on running GStreamer.
21362           document GST_DEBUG and GST_PLUGIN* env vars
21363
21364 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21365
21366         * Makefile.am:
21367           remove include dir
21368         * configure.ac:
21369           remove PLUGINS_BUILDDIR stuff
21370         * gst/gst.c: (init_post):
21371           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
21372         * idiottest.mak:
21373           remove, it was condescending and not needed
21374
21375 2005-10-08  Wim Taymans  <wim@fluendo.com>
21376
21377         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
21378         (gst_base_sink_handle_object), (gst_base_sink_event),
21379         (gst_base_sink_wait), (gst_base_sink_handle_event),
21380         (gst_base_sink_change_state):
21381         * gst/base/gstbasesink.h:
21382         Repost EOS message while going to PLAYING if still EOS.
21383         Make sure that when receiving a FLUSH_START we don't attempt
21384         to sync on the clock anymore.
21385
21386 2005-10-08  Wim Taymans  <wim@fluendo.com>
21387
21388         * tools/gst-launch.c: (event_loop):
21389         Better message printout.
21390
21391 2005-10-08  Wim Taymans  <wim@fluendo.com>
21392
21393         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
21394         (gst_bin_child_proxy_get_children_count):
21395         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
21396         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
21397         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
21398         (gst_child_proxy_set_valist):
21399         * gst/parse/grammar.y:
21400         Make ChildProxy threadsafe and fix mem leaks.
21401
21402 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21403
21404         * gst/gst.c: (init_post):
21405           debug the GST_PLUGIN_ env vars
21406
21407 2005-10-08  Wim Taymans  <wim@fluendo.com>
21408
21409         * check/gst/gstbin.c: (GST_START_TEST):
21410         * check/gst/gstmessage.c: (GST_START_TEST):
21411         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21412         * gst/gstelement.c: (gst_element_commit_state),
21413         (gst_element_lost_state):
21414         * gst/gstmessage.c: (gst_message_new_state_changed),
21415         (gst_message_parse_state_changed):
21416         * gst/gstmessage.h:
21417         * tools/gst-launch.c: (event_loop):
21418         Added extra field to STATE_CHANGE message with the pending
21419         state, which will be different from the new state soon.
21420
21421 2005-10-08  Wim Taymans  <wim@fluendo.com>
21422
21423         * gst/gstbus.c: (gst_bus_pop):
21424         * gst/gstclock.c:
21425         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21426         Small cleanups and doc updates.
21427
21428 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21429
21430         * gst/gst.c: (init_pre):
21431         * gst/gstbin.c: (gst_bin_add_func):
21432           log distributing clocks and base time
21433         * gst/gstregistry.c: (gst_registry_add_plugin),
21434         (gst_registry_scan_path_level), (gst_registry_scan_path):
21435           clean up the debugging output a little
21436         * gst/gstutils.c: (gst_element_state_get_name):
21437           warn about a memleak (I've actually seen this be used, though
21438           it was probably a bug)
21439
21440 2005-10-07  Wim Taymans  <wim@fluendo.com>
21441
21442         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21443         (gst_base_src_init), (gst_base_src_default_newsegment),
21444         (gst_base_src_newsegment), (gst_base_src_do_seek),
21445         (gst_base_src_loop), (gst_base_src_start):
21446         * gst/base/gstbasesrc.h:
21447         Make the newsegment event customizable by subclasses.
21448
21449 2005-10-07  Wim Taymans  <wim@fluendo.com>
21450
21451         * gst/gstevent.c: (gst_event_new_buffersize),
21452         (gst_event_parse_buffersize):
21453         * gst/gstevent.h:
21454         New event for future idea.
21455
21456 2005-10-07  Andy Wingo  <wingo@pobox.com>
21457
21458         * gst/gstelement.c (gst_element_post_message): Doc update.
21459
21460         * docs/gst/gstreamer-sections.txt: Update.
21461
21462         * gst/gstmessage.c (gst_message_new_application): Made into a
21463         function like honest API calls.
21464         (gst_message_new_element): New message type.
21465
21466         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
21467
21468         * check/elements/fakesrc.c (test_no_preroll): New check, checks
21469         that setting a live fakesrc to PAUSED returns NO_PREROLL both
21470         times.
21471
21472         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
21473         NO_PREROLL from gst_element_change_state to fall through.
21474
21475 2005-10-07  Wim Taymans  <wim@fluendo.com>
21476
21477         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
21478         (gst_ghost_pad_do_activate_push):
21479         Activating a ghostpad with no internal pad in push mode
21480         is ok.
21481
21482 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21483
21484         * gst/gstobject.h:
21485           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
21486           Fixes compilation on Windows.
21487
21488 2005-10-07  Michael Smith <msmith@fluendo.com>
21489
21490         * tools/gst-inspect.c:
21491           Print out feature and plugin count at the end when printing out
21492           all features.
21493
21494 2005-10-04  Michael Smith <msmith@fluendo.com>
21495
21496         * gst/gsterror.c: (_gst_stream_errors_init):
21497           Add another error string used in a few existing plugins.
21498
21499         * gst/gstplugin.c:
21500         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
21501         * tools/gst-inspect.c: (print_element_info):
21502           When a feature disappears from a plugin (and the feature exists in
21503           the cached registry file), things went horribly wrong. This isn't a
21504           complete fix, we should actually be removing the 'missing' features
21505           from the features list when we load the actual plugin. That's not
21506           yet implemented. 
21507
21508 2005-10-04  Johan Dahlin  <johan@gnome.org>
21509
21510         * check/gst/gstiterator.c: (GST_START_TEST):
21511         * gst/gstbin.c: (gst_bin_iterate_elements),
21512         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
21513         * gst/gstelement.c: (gst_element_iterate_pads):
21514         * gst/gstformat.c: (gst_format_iterate_definitions):
21515         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
21516         (gst_iterator_new_list), (gst_iterator_filter):
21517         * gst/gstiterator.h:
21518         * gst/gstquery.c: (gst_query_type_iterate_definitions):
21519         Add a GType to GstIterator, update callsites and tests.
21520
21521 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21522
21523         * gst/gstpad.c: (gst_pad_event_default_dispatch):
21524           give events a chance to be handled by event probes when the pad
21525           is not linked
21526
21527 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21528
21529         * gst/gstevent.c: (gst_event_type_get_name),
21530         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
21531         * gst/gstevent.h:
21532           add string representations for event types
21533
21534 2005-10-06  Wim Taymans  <wim@fluendo.com>
21535
21536         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
21537         Don't use NULL pointers.
21538
21539 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21540
21541         * gst/gst_private.h:
21542         * gst/gstbus.c:
21543         * gst/gstelement.c:
21544         * gst/gstinfo.c:
21545         * gst/gstpluginfeature.c:
21546           widen the debug category in output to fit the biggest one we have
21547           add a bus category and use it
21548           play with the colors
21549           fix up some categories
21550
21551 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21552
21553         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
21554           add push activation of sink ghost pads.
21555           Andye, please verify
21556
21557 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21558
21559         * gst/gstutils.c: (gst_element_link_pads):
21560           fix a bug in the case where neither element has a pad
21561         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21562           add a test for that case
21563
21564 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21565
21566         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
21567           emit have-data before checking for peers.  This allows
21568           for probe handlers to connect elements.  This helps autopluggers.
21569         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
21570         (gst_pad_suite):
21571           add six checks, linked/unlinked with no/true/false probe
21572
21573 2005-10-04  Wim Taymans  <wim@fluendo.com>
21574
21575         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
21576         (gst_fake_sink_event), (gst_fake_sink_preroll),
21577         (gst_fake_sink_render), (gst_fake_sink_change_state):
21578         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
21579         (gst_fake_src_get_property), (gst_fake_src_create),
21580         (gst_fake_src_stop):
21581         * gst/elements/gstidentity.c: (gst_identity_stop):
21582         Protect last_message with lock.
21583
21584 2005-10-04  Edward Hervey  <edward@fluendo.com>
21585
21586         * gst/gstformat.h: 
21587         Added precision in the comments for GST_FORMAT_DEFAULT
21588
21589 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
21590
21591         * tools/gst-launch.c: (main):
21592           Don't try to run erroneous pipelines.
21593
21594 2005-10-04  Julien MOUTTE  <julien@moutte.net>
21595
21596         * gst/gstbus.c: We don't need this header.
21597
21598 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21599
21600         * configure.ac:
21601           back to development
21602
21603 === release 0.9.3 ===
21604
21605 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21606
21607         * README:
21608         * configure.ac:
21609           Releasing 0.9.3, "Unregistered"
21610
21611 2005-10-03  Andy Wingo  <wingo@pobox.com>
21612
21613         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
21614         whereby calling a pad's activatepush() function can start a thread
21615         that starts to push or pull before the pad gets the FLUSHING flag
21616         unset. Hack around it by holding the stream lock until the flag is
21617         set. Need to replace this with a proper solution. Together with
21618         the ghost pad fixes, this fixes mp3 playing/tagreading.
21619
21620         * docs/design/part-gstghostpad.txt: Add a note about activation of
21621         proxy pads outside of ghost pads.
21622
21623         * gst/gstghostpad.c: Implement the ghost pad activation design.
21624
21625 2005-10-02  Andy Wingo  <wingo@pobox.com>
21626
21627         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
21628         It is volatile, after all.
21629
21630         * docs/design/part-gstghostpad.txt: Flesh out activation with
21631         ghost pads.
21632
21633         * gst/base/gstbasesrc.c (gst_base_src_init): Use
21634         GST_DEBUG_FUNCPTR.
21635
21636 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
21637
21638         * configure.ac:
21639           Fix (unused) AM_CONDITIONAL tests.
21640
21641 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
21642
21643         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21644
21645         * gst/gstutils.c: (gst_pad_query_convert):
21646           Add assertion that makes sure src_val is >=0, just like
21647           gst_query_new_convert() has. (#315895)
21648
21649 2005-09-30  Edward Hervey  <edward@fluendo.com>
21650
21651         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
21652         Let's not iterate pads we're not interested in, it avoids getting 
21653         sky-high refcounts on sinkpad.
21654
21655 2005-09-30  Wim Taymans  <wim@fluendo.com>
21656
21657         * gst/gstelement.c: (gst_element_set_state),
21658         (gst_element_change_state):
21659         Small tweak, element in ASYNC remains ASYNC.
21660
21661 2005-09-30  Wim Taymans  <wim@fluendo.com>
21662
21663         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21664         Only error is an error.
21665
21666         * gst/gstbin.c: (gst_bin_change_state):
21667         Better debugging.
21668
21669         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
21670         Also call pad_block in pad alloc.
21671
21672         * gst/gstutils.c: (gst_flow_get_name):
21673         Better debugging.
21674
21675 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21676
21677         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21678         (gst_base_src_get_range):
21679           Fix documentation typos. Add some more debug info.
21680
21681 2005-09-29  David Schleef  <ds@schleef.org>
21682
21683         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
21684           more end-user friendly.
21685         * tools/gst-inspect.c: (main): Check if command-line argument is
21686           a file and attempt to load that file as a plugin.
21687
21688 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21689
21690         * check/gst/gstbin.c:
21691         * check/states/sinks.c:
21692           fix tests for the new warning
21693         * check/gst/gstpipeline.c:
21694           add a test for pipeline and bus interaction
21695         * gst/gstelement.c:
21696           elements should be NULL if they get disposed; add a warning if not
21697
21698 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21699
21700         * gst/gstobject.c:
21701           for 2.6 refcounting, make debug log more correct by printing
21702           the actual refcounts at the time of swap (Wim)
21703
21704 2005-09-29  Andy Wingo  <wingo@pobox.com>
21705
21706         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
21707         removes signal watches previously added via
21708         gst_bus_add_signal_watch.
21709         (gst_bus_add_signal_watch): Don't return the source id, just store
21710         it on the bus if there wasn't an id already.
21711
21712         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
21713         add_signal_watch and remove_signal_watch.
21714
21715 2005-09-29  Edward Hervey  <edward@fluendo.com>
21716
21717         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
21718         Better if we actually iterate the list :)
21719
21720 2005-09-29  Wim Taymans  <wim@fluendo.com>
21721
21722         * check/gst/gstbin.c: (GST_START_TEST):
21723         Change for new bus API.
21724
21725         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21726         (send_messages), (GST_START_TEST), (gstbus_suite):
21727         Change for new bus signal API.
21728
21729         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
21730         (gst_bus_source_prepare), (gst_bus_source_check),
21731         (gst_bus_create_watch), (gst_bus_add_watch_full),
21732         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
21733         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
21734         * gst/gstbus.h:
21735         Remove support for multiple GSources operating on different
21736         message types as it is too complex and unneeded when using
21737         signals.
21738         Added support for receiving signals from the bus.
21739
21740 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
21741
21742         * docs/libs/tmpl/gstdataprotocol.sgml:
21743         * docs/manual/advanced-dataaccess.xml:
21744         * gst/elements/gstcapsfilter.c:
21745         * gst/gstutils.c:
21746           rename filter-caps to caps property
21747
21748 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21749
21750         * gst/gstvalue.c: (gst_value_deserialize_fraction):
21751           More robust fraction string parsing.
21752
21753         * docs/pwg/appendix-porting.xml:
21754           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
21755
21756 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
21757
21758         * gst/gstcaps.c: (gst_caps_do_simplify):
21759           Thou shalt not free a structure and then continue using it
21760           in the next loop iteration.
21761
21762         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
21763         (gst_caps_suite):
21764           Add test case for caps simplification.
21765
21766 2005-09-29  Wim Taymans  <wim@fluendo.com>
21767
21768         * check/gst/gstbin.c: (GST_START_TEST):
21769         Oops.
21770
21771 2005-09-29  Wim Taymans  <wim@fluendo.com>
21772
21773         * check/gst/gstbin.c: (GST_START_TEST):
21774         Add bus to bin.
21775
21776         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
21777         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
21778         (find_element), (gst_bin_sort_iterator_next),
21779         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21780         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21781         (gst_bin_change_state), (gst_bin_dispose):
21782         A bin does not have a bus, it gets the bus from the parent.
21783
21784         * gst/gstelement.c: (gst_element_requires_clock),
21785         (gst_element_provides_clock), (gst_element_is_indexable),
21786         (gst_element_is_locked_state), (gst_element_change_state),
21787         (gst_element_set_bus_func):
21788         Small cleanups.
21789
21790         * gst/gstpipeline.c: (gst_pipeline_class_init),
21791         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
21792         The pipeline provides a bus.
21793
21794 2005-09-28  Johan Dahlin  <johan@gnome.org>
21795
21796         * gst/gstmessage.c (gst_message_parse_state_changed): Use
21797         gst_structure_get_enum instead of gst_structure_get_int
21798
21799         * gst/gststructure.c (gst_structure_get_enum): Impl.
21800
21801         * gst/gststructure.h (gst_structure_get_enum): Add
21802
21803         * docs/gst/gstreamer-sections.txt: Ditto
21804
21805         * gst/gstmessage.c (gst_message_new_state_changed): Use
21806         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
21807         which does introspection.
21808         Reviewed by Christian Schaller
21809
21810 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
21811
21812         * gst/gstinfo.c: (gst_debug_log_default):
21813           don't do dummy g_strdup()s
21814         * libs/gst/controller/gstcontroller.c:
21815         (on_object_controlled_property_changed),
21816         (gst_controlled_property_new), (gst_controller_new_valist),
21817         (gst_controller_new_list),
21818         (gst_controller_remove_properties_valist), (gst_controller_set),
21819         (gst_controller_get), (gst_controller_sync_values),
21820         (gst_controller_get_value_array), (_gst_controller_class_init),
21821         (gst_controller_get_type):
21822         * libs/gst/controller/gstcontroller.h:
21823         * libs/gst/controller/gstinterpolation.c:
21824         (gst_controlled_property_find_timed_value_node):
21825           convert // to /**/ comments
21826
21827 2005-09-28  Wim Taymans  <wim@fluendo.com>
21828
21829         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
21830         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
21831         (gst_bus_sync_signal_handler):
21832         * gst/gstbus.h:
21833         Added async-message and sync-message signals to the bus.
21834         Added helper BusFunc to emit signals for all posted messages.
21835
21836         * gst/gstmessage.c: (gst_message_type_get_name),
21837         (gst_message_type_to_quark), (gst_message_get_type):
21838         * gst/gstmessage.h:
21839         Register quarks for message names.
21840
21841 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
21842
21843         * docs/libs/gstreamer-libs-sections.txt:
21844         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
21845         (gst_controller_new_list):
21846         * libs/gst/controller/gstcontroller.h:
21847           added another constructor for language bindings
21848
21849 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21850
21851         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21852           add another check
21853         * gst/gstbus.c:
21854           add some doc
21855         * gst/gstinfo.c: (_gst_debug_init):
21856           slightly more readable color for refcount debugging
21857
21858 2005-09-28  Wim Taymans  <wim@fluendo.com>
21859
21860         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21861         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
21862         (find_element), (gst_bin_sort_iterator_next),
21863         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21864         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21865         (gst_bin_change_state), (gst_bin_dispose):
21866         Small doc fixes. get_clock -> provide_clock.
21867
21868         * gst/gstelement.c: (gst_element_class_init),
21869         (gst_element_provides_clock), (gst_element_provide_clock),
21870         (gst_element_get_clock), (gst_element_commit_state),
21871         (gst_element_lost_state):
21872         * gst/gstelement.h:
21873         Make get/set_clock() symetric. Add provide_clock vmethod since
21874         that is actually what this function does.
21875
21876         * gst/gstpipeline.c: (gst_pipeline_class_init),
21877         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
21878         (gst_pipeline_get_clock):
21879         get_clock -> provide_clock.
21880
21881 2005-09-28  Andy Wingo  <wingo@pobox.com>
21882
21883         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
21884         lieu of real docs...
21885
21886         * gst/elements/gstfdsrc.c: Cleaned up a bit.
21887
21888 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
21889
21890         * gst/elements/gstcapsfilter.c:
21891         * gst/elements/gstfakesink.c:
21892         * gst/elements/gstfakesrc.c:
21893         * gst/elements/gstfdsink.c:
21894         * gst/elements/gstfdsrc.c:
21895         * gst/elements/gstfilesink.c:
21896         * gst/elements/gstfilesrc.c:
21897         * gst/elements/gstidentity.c:
21898         * gst/elements/gsttee.c:
21899         * gst/elements/gsttypefindelement.c:
21900           Make element details static.
21901
21902 2005-09-28  Wim Taymans  <wim@fluendo.com>
21903
21904         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21905         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21906         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21907         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21908         (gst_bin_change_state), (gst_bin_dispose):
21909         Some documentation updates.
21910         Clean up dispose handlers.
21911
21912         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
21913         * gst/gstpad.c: (gst_pad_dispose):
21914         Clean up dispose handler.
21915
21916         * gst/gstpipeline.c: (gst_pipeline_change_state):
21917         Removed spurious UNLOCK.
21918
21919 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
21920
21921         * docs/gst/gstreamer-sections.txt:
21922         * gst/base/gstbasesrc.h:
21923         * gst/gstelement.h:
21924         * gst/gstevent.h:
21925         * gst/gstobject.h:
21926         * gst/gstpad.h:
21927         * gst/gstpipeline.c:
21928         * gst/gstpipeline.h:
21929         * gst/gstutils.h:
21930         * gst/gstxml.h:
21931           added two new functions to the docs
21932                 documents all undocumented GstXXXFlags
21933                 completed some incomplete docs 
21934
21935 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
21936
21937         * gst/gstbin.c: (gst_bin_dispose):
21938         * gst/gstelement.c: (gst_element_dispose):
21939           remove now useless and leaky resurrection code in dispose
21940         * gst/base/gstbasesrc.c: (gst_base_src_init):
21941         * gst/gstelementfactory.c: (gst_element_factory_create):
21942         * gst/gstobject.c: (gst_object_set_parent):
21943           add some debugging
21944
21945 2005-09-27  Wim Taymans  <wim@fluendo.com>
21946
21947         * docs/design/part-TODO.txt:
21948         Update TODO.
21949
21950         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21951         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21952         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21953         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21954         (gst_bin_change_state):
21955         * gst/gstelement.h:
21956         Remove element variable, we keep element info in the iterator now.
21957
21958 2005-09-27  Andy Wingo  <wingo@pobox.com>
21959
21960         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
21961         values.
21962
21963 2005-09-27  Wim Taymans  <wim@fluendo.com>
21964
21965         * check/gst/gstbin.c: (GST_START_TEST):
21966         Enable check that works now.
21967
21968         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21969         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21970         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21971         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21972         (gst_bin_change_state):
21973         * gst/gstbin.h:
21974         Redid the state change algorithm using a topological sort algo.
21975         Handles all cases correctly.
21976         Exposed iterator for state change order.
21977
21978         * gst/gstelement.h:
21979         Temp storage for state changes. Need to get rid of this soon.
21980
21981 2005-09-27  Wim Taymans  <wim@fluendo.com>
21982
21983         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
21984         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
21985         (link_fold_func), (gst_pad_proxy_setcaps):
21986         Leak fixes, the fold functions need to unref the passed object and
21987         _get_parent_*() returns ref to parent.
21988
21989 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
21990
21991         * check/gst/gstbuffer.c: (test_make_writable):
21992           Plug leak in test case and fix 'make check-valgrind'
21993
21994 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
21995
21996         * gst/gstbuffer.c: (gst_subbuffer_init):
21997           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
21998           works correctly in all circumstances (we could have just copied
21999           the parent buffer's readonly flag, but conceptually it seems
22000           cleaner to mark all subbuffers as read-only). (based on patch
22001           by Alessandro Decina, #314710).
22002         
22003         * check/gst/gstbuffer.c: (create_read_only_buffer),
22004         (test_make_writable), (test_subbuffer_make_writable),
22005         (gst_test_suite):
22006           Add some tests for gst_buffer_make_writable().
22007
22008 2005-09-27  Wim Taymans  <wim@fluendo.com>
22009
22010         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
22011         use gst_object_has_ancestor().
22012
22013         * gst/gstobject.c: (gst_object_has_ancestor):
22014         * gst/gstobject.h:
22015         gst_object_has_ancestor() copied from gstbin.c as it is a
22016         useful function.
22017
22018         * tests/instantiate/create.c: (create_all_elements):
22019         * tests/lat.c: (handoff_src), (handoff_sink):
22020         * tests/sched/runxml.c: (main):
22021         * tests/seeking/seeking1.c: (main):
22022         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
22023         (main):
22024         Fix compilation of some tests.
22025
22026 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22027
22028         * gst/gsterror.h:
22029           Remove comment. GST_TYPE_G_ERROR is here to stay,
22030           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
22031           (#316961, #300610).
22032
22033 2005-09-26  Wim Taymans  <wim@fluendo.com>
22034
22035         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22036         Added check that shows error in state change order.
22037
22038 2005-09-26  Wim Taymans  <wim@fluendo.com>
22039
22040         * gst/gstbin.c: (gst_bin_change_state):
22041         Make state change function use 3 queues again, we were
22042         adding elements in the wrong order.
22043
22044         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
22045         Some debug info,
22046
22047         * gst/gstpad.c: (gst_pad_dispose):
22048         Added some debug info first.
22049
22050 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
22051
22052         * docs/design/draft-push-pull.txt:
22053         * docs/design/part-events.txt:
22054         * docs/design/part-overview.txt:
22055         * docs/design/part-scheduling.txt:
22056           Replace all _pull_region() with _pull_range()
22057           
22058 2005-09-26  Andy Wingo  <wingo@pobox.com>
22059
22060         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
22061
22062         * check/gst-libs/controller.c: Update for controller api change.
22063
22064         * configure.ac: 
22065         * tests/Makefile.am:
22066         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
22067         over by GLib bug 118439.
22068         
22069         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
22070         routines to a function.
22071
22072         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
22073
22074         * libs/gst/controller/gsthelper.c:
22075         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
22076         (gst_object_sync_values): Renamed from sink_values. Ugh.
22077
22078         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
22079
22080         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
22081         Renamed from controller_key, as it is exported.
22082
22083         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
22084
22085 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22086
22087         * gst/Makefile.am:
22088         * gst/gst.h:
22089         * gst/gstpad.h:
22090         * gst/gstpadtemplate.h:
22091         * gst/gstquery.c:
22092         * gst/gstquery.h:
22093         * gst/gstqueryutils.c:
22094         * gst/gstqueryutils.h:
22095           remove queryutils headers after moving the two used functions
22096           to gstquery.  also fixes build problem for gstsiddec
22097
22098 2005-09-26  Michael Smith <msmith@fluendo.com>
22099
22100         * tools/gst-launch.1.in:
22101         Correct documentation in manpage of debug syntax
22102
22103 2005-09-26  Wim Taymans  <wim@fluendo.com>
22104
22105         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22106         (gst_base_src_is_seekable), (gst_base_src_change_state):
22107         Some more debugging info.
22108
22109 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22110
22111         * docs/gst/gstreamer-sections.txt:
22112         * gst/base/gstbasetransform.h:
22113         * gst/gstindex.h:
22114           added more docs
22115
22116 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22117
22118         * docs/gst/.cvsignore:
22119         * docs/gst/tmpl/.cvsignore:
22120         * docs/gst/tmpl/gstpipeline.sgml:
22121         * docs/gst/tmpl/gstplugin.sgml:
22122         * gst/gstpipeline.c:
22123         * gst/gstplugin.c:
22124         * gst/gstplugin.h:
22125           inlined the last two docs files
22126           removed the tmpl directory from cvs (no more conflicts here!)
22127
22128 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22129
22130         * docs/gst/gstreamer-sections.txt:
22131         * docs/gst/tmpl/.cvsignore:
22132         * docs/gst/tmpl/gstpad.sgml:
22133         * docs/gst/tmpl/gstpadtemplate.sgml:
22134         * gst/Makefile.am:
22135         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
22136         (gst_pad_finalize), (gst_pad_set_pad_template):
22137         * gst/gstpad.h:
22138         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
22139         (gst_pad_template_class_init), (gst_pad_template_init),
22140         (gst_pad_template_dispose), (name_is_valid),
22141         (gst_static_pad_template_get), (gst_pad_template_new),
22142         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
22143         (gst_pad_template_pad_created):
22144         * gst/gstpadtemplate.h:
22145           inlined two more docs
22146           factored gstpadtemplate out of gstpad
22147
22148 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
22149
22150         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22151         (test_children_state_change_order_semi_sink):
22152           Fix test case: we can't rely on a fixed state change order when
22153           going from READY => PAUSED because the sink might commit its 
22154           new state first when the first buffer created by the source 
22155           reaches the sink before the source has finished its change state.
22156           (Test case still fails at times, see #316856, comment 5 onwards)
22157
22158 2005-09-24  Wim Taymans  <wim@fluendo.com>
22159
22160         * docs/design/part-events.txt:
22161         * docs/design/part-gstbus.txt:
22162         * docs/design/part-gstpipeline.txt:
22163         * docs/design/part-messages.txt:
22164         * docs/design/part-overview.txt:
22165         * docs/design/part-segments.txt:
22166         * gst/gstbin.c:
22167         * gst/gstbuffer.c:
22168         * gst/gstclock.c:
22169         * gst/gstelement.c:
22170         * gst/gstevent.c:
22171         * gst/gstfilter.c:
22172         * gst/gstiterator.c:
22173         Various documentation updates.
22174
22175 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22176
22177         * gst/gstclock.h:
22178           Well, that's embarassing.  Luckily we weren't using
22179           GST_CLOCK_DIFF anywhere.
22180
22181 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22182
22183         * common/gtk-doc.mak:
22184           don't fail on building XML, FC4 slave shows a bunch of doc
22185           missing bits that I don't get
22186         * gst/gstpad.c:
22187         * gst/gstpipeline.c:
22188         * gst/gststructure.c:
22189           some doc updates
22190
22191 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22192
22193         * docs/design/part-gstbin.txt:
22194         * docs/design/part-gstbus.txt:
22195         * gst/gstbus.c:
22196           Add blurb about how the bus goes into flushing mode and
22197           drops all messages when its bin goes from READY into NULL 
22198           state.
22199
22200 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22201
22202         * docs/gst/gstreamer-sections.txt:
22203         * gst/gststructure.c: (gst_structure_get_clock_time):
22204         * gst/gststructure.h:
22205           add a method to get a GstClockTime out of a structure
22206
22207 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22208
22209         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22210         (test_children_state_change_order_semi_sink), (gst_bin_suite):
22211           Added test to check state change order in bins (can still be made
22212           to fail here under heavy disk load; bails out with 'Push on pad
22213           fakesink:sink0, but it was not activated in push mode').
22214
22215         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
22216           Fix state change order when there is only a semi sink (#316856)
22217
22218         * gst/gstbus.c: (gst_bus_class_init):
22219           Use _class_peek_parent(), not _class_ref(); fix docs to say
22220           'default main context' instead of 'mainloop' where that is
22221           what's meant.
22222
22223         * gst/gstelement.c: (gst_element_commit_state),
22224         (gst_element_set_state):
22225           Fix typos in debug messages
22226
22227 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22228
22229         * docs/README:
22230         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
22231         * gst/gstpluginfeature.c:
22232         * gst/gstutils.c:
22233           various doc updates
22234         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22235           change an assert into an error until it gets fixed properly
22236
22237 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
22238
22239         * docs/gst/gstreamer-sections.txt:
22240         * docs/gst/tmpl/.cvsignore:
22241         * docs/gst/tmpl/gstelement.sgml:
22242         * docs/gst/tmpl/gstinfo.sgml:
22243         * docs/gst/tmpl/gstobject.sgml:
22244         * gst/gstelement.c:
22245         * gst/gstelement.h:
22246         * gst/gstinfo.c:
22247         * gst/gstinfo.h:
22248         * gst/gstobject.c: (gst_object_class_init):
22249         * gst/gstobject.h:
22250           inlined 3 more biiiig doc files and added some missing docs on the fly
22251
22252 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22253
22254         * check/gst/.cvsignore:
22255         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
22256         * gst/gstregistryxml.c: (load_plugin),
22257         (gst_registry_xml_save_plugin):
22258           put back source in registry.  add checks for find_plugin.
22259         * testsuite/states/bin.c: (assert_state), (empty_bin),
22260         (test_adding_one_element), (main):
22261         * testsuite/states/locked.c: (main):
22262           some compile/run fixes
22263
22264 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22265
22266         * check/gst/gstvalue.c: (GST_START_TEST):
22267           fix leaks in the test itself
22268
22269 2005-09-22  Wim Taymans  <wim@fluendo.com>
22270
22271         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22272         (gst_base_sink_send_event), (gst_base_sink_peer_query),
22273         (gst_base_sink_query):
22274         Prepare for more accurate position reporting and query
22275         handling.
22276
22277         * gst/gstelement.c: (gst_element_send_event),
22278         (gst_element_set_state):
22279         Add some comment.
22280
22281 2005-09-22  Wim Taymans  <wim@fluendo.com>
22282
22283         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
22284         (gst_query_parse_segment):
22285         * gst/gstquery.h:
22286         More documentation.
22287         Add segment query for future use.
22288
22289 2005-09-22  Wim Taymans  <wim@fluendo.com>
22290
22291         * gst/gstbin.c: (gst_bin_add_func):
22292         Some more debug info.
22293
22294         * gst/gstelement.c: (gst_element_send_event):
22295         Simplify send_event
22296
22297         * gst/gstelement.h:
22298         Don't know how flags got broken.
22299
22300         * gst/gstquery.h:
22301         Added new query.
22302
22303 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22304
22305         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
22306           Add simplistic test suite for GST_TYPE_DATE serialisation and
22307           deserialisation.
22308
22309 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22310
22311         * docs/gst/gstreamer-sections.txt:
22312         * gst/gststructure.c: (gst_structure_set_valist),
22313         (gst_structure_get_date):
22314         * gst/gststructure.h:
22315         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
22316         (gst_date_copy), (gst_value_compare_date),
22317         (gst_value_serialize_date), (gst_value_deserialize_date),
22318         (gst_value_transform_date_string),
22319         (gst_value_transform_string_date), (_gst_value_initialize):
22320         * gst/gstvalue.h:
22321           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
22322           bunch of utility functions along with a hack that checks that
22323           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
22324           is required. Part of the grand scheme in #170777.
22325
22326 2005-09-22  Andy Wingo  <wingo@pobox.com>
22327
22328         * gst/gstconfig.h.in: Psych out gtk-doc.
22329
22330         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
22331
22332         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
22333
22334         * tools/gst-inspect.c (print_element_list): Plug some
22335         inconsequential leaks.
22336
22337         * gst/gstregistry.c (gst_registry_get_default): Doc.
22338
22339         * check/gst/gstplugin.c: 
22340         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
22341         * gst/gstelementfactory.c (gst_element_factory_create): 
22342         * gst/gstindexfactory.c (gst_index_factory_create): Update for
22343         refcount changes.
22344
22345         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
22346         (gst_plugin_feature_load): Doc, don't eat refs.
22347
22348         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
22349         (gst_plugin_list_free): Doc.
22350         (gst_plugin_load_file): Doc updates.
22351
22352         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
22353         accessors returning refcounted objects, return a ref.
22354
22355         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
22356         accessor for caps. IDEMPOTENCE. Oh yes.
22357
22358 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
22359
22360         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22361
22362         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
22363         (_gst_debug_register_funcptr):
22364           Add mutex to serialise access to the hash table with
22365           the function pointer => function name string mapping;
22366           make that hash table static scope (#316809).
22367
22368         * gst/registries/.cvsignore:
22369           Remove left-over file.
22370
22371 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
22372
22373         * docs/pwg/appendix-porting.xml:
22374           And something about newsegment events and caps-on-buffers to
22375           the porting guide (feel free to improve).
22376
22377 2005-09-21  Andy Wingo  <wingo@pobox.com>
22378
22379         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
22380         data and event probes on the same pad.
22381         (test_buffer_probe_once): Test that removing probes from within
22382         the probe functions works.
22383
22384 2005-09-21  Andy Wingo  <wingo@pobox.com>
22385
22386         * check/gst/gstutils.c: New file.
22387         (test_buffer_probe_n_times): A simple buffer probe test. More to
22388         come, foolios.
22389
22390         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
22391         have-data::buffer, not have-data.
22392         (gst_pad_add_event_probe): Likewise for have-data::event.
22393         (gst_pad_add_data_probe): More docs. The part about 'resolving the
22394         peer' isn't quite right yet though.
22395         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
22396         (gst_pad_remove_data_probe): Change to take the guint handler_id
22397         as their arg, not the function+data, which is more glib-like.
22398
22399         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
22400         the signal emission to indicate if the data is a buffer or an
22401         event.
22402         (gst_pad_get_type): Initialize buffer and event quarks.
22403         (gst_pad_class_init): have-data is now a detailed signal, yes it
22404         is.
22405
22406 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
22407
22408         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22409         * gst/gstutils.c: (gst_util_set_value_from_string),
22410         (gst_util_set_object_arg):
22411           Don't put functional code in g_return_if_fail() or
22412           g_return_val_if_fail() statements, otherwise things will 
22413           break when G_DISABLE_CHECKS is defined during compilation.
22414
22415 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22416
22417         * docs/gst/tmpl/.cvsignore:
22418         * docs/gst/tmpl/gstvalue.sgml:
22419         * gst/gstvalue.c:
22420         * gst/gstvalue.h:
22421           inlied another one and added  some obvious docs
22422
22423 2005-09-21  Wim Taymans  <wim@fluendo.com>
22424
22425         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
22426         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
22427         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
22428         (gst_fdsrc_get_property), (gst_fdsrc_create):
22429         * gst/elements/gstfdsrc.h:
22430         Properly implement fdsrc. Removed signal and timeout,
22431         better implemented somewhere else.
22432
22433 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22434
22435         * docs/gst/tmpl/.cvsignore:
22436         * docs/gst/tmpl/gstimplementsinterface.sgml:
22437         * gst/gstinterface.c:
22438           inlined more docs
22439
22440 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22441
22442         * docs/gst/gstreamer-sections.txt:
22443         * docs/gst/tmpl/.cvsignore:
22444         * docs/gst/tmpl/gstenumtypes.sgml:
22445           remove obsolete doc file
22446
22447 2005-09-21  David Schleef  <ds@schleef.org>
22448
22449         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
22450         little beer, fix a little leak.
22451
22452 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22453
22454         * docs/gst/gstreamer-docs.sgml:
22455         * docs/gst/gstreamer-sections.txt:
22456         * docs/gst/tmpl/.cvsignore:
22457         * gst/Makefile.am:
22458         * gst/gst.h:
22459         * gst/gstbin.c:
22460         * gst/gstelement.h:
22461         * gst/gstindex.c: (gst_index_class_init):
22462         * gst/gstindex.h:
22463         * gst/gstindexfactory.c: (gst_index_factory_get_type),
22464         (gst_index_factory_class_init), (gst_index_factory_init),
22465         (gst_index_factory_finalize), (gst_index_factory_new),
22466         (gst_index_factory_destroy), (gst_index_factory_find),
22467         (gst_index_factory_create), (gst_index_factory_make):
22468         * gst/gstindexfactory.h:
22469         * gst/gstpluginfeature.c:
22470         * gst/gstpluginfeature.h:
22471         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22472           more docs inlined, splitted gstindex.{c,h}
22473
22474 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22475
22476         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22477           fix a leak
22478
22479 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
22480
22481         * gst/elements/gstfilesink.c: (gst_file_sink_init):
22482           Set sync to FALSE by default.
22483
22484 2005-09-20  Wim Taymans  <wim@fluendo.com>
22485
22486         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22487         (gst_base_sink_init):
22488         Make sync property settable from subclass.
22489
22490         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22491         (gst_fake_sink_change_state):
22492         Set sync to FALSE by default.
22493
22494 2005-09-20  Wim Taymans  <wim@fluendo.com>
22495
22496         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
22497         * tools/gst-launch.c: (main):
22498         The timeout handler should have lower priority than the source
22499         so we don't timeout before popping a message with 0 timeout.
22500         Dump error messages after failed state change.
22501
22502 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
22503
22504         * tools/gst-inspect.c: (print_element_properties_info):
22505           Fix two typos.
22506
22507 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22508
22509         * check/gst/gstevent.c:
22510         * gst/elements/gstfakesink.c:
22511         * gst/elements/gstfakesink.h:
22512           remove the sync property from fakesink.
22513           has the side effect of setting sync TRUE
22514           for fakesink, which is a change.  Anyone who knows how
22515           to fix this nicely in a GObject-y way, feel free.
22516
22517 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22518
22519         * docs/gst/gstreamer-docs.sgml:
22520           remove probe refsection
22521
22522 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22523
22524         * check/Makefile.am:
22525           disable valgrinding the controller test again
22526         * docs/gst/gstreamer-sections.txt:
22527           update for api-changes
22528
22529 2005-09-20  Wim Taymans  <wim@fluendo.com>
22530
22531         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22532         (gst_base_sink_set_property), (gst_base_sink_get_property),
22533         (gst_base_sink_do_sync):
22534         * gst/base/gstbasesink.h:
22535         Added sync property to basesink to disable clock sync.
22536
22537 2005-09-20  Andy Wingo  <wingo@pobox.com>
22538
22539         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
22540         eating the caller's refcount.
22541
22542         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
22543         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
22544         refcount.
22545
22546         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
22547         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
22548         of GLib 2.8 public, so we can know which refcount to check in
22549         tests.
22550
22551         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
22552         (gst_object_init): Only set the gst refcount if we're going ahead
22553         with the refcount hack.
22554
22555 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22556
22557         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22558         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22559           more leaks plumbed, added more debug-logging
22560         * gst/gstmacros.h:
22561           whitespace fix
22562
22563 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22564
22565         * gst/gstmessage.c:
22566           remove include of gstmemchunk.h
22567
22568 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22569
22570         * gst/gstclock.c: (_gst_clock_id_free):
22571           Commit from the Political Party For More Atomic CVS Commits,
22572           so that people don't waste too much of their day fishing
22573           out obvious leaks out of massive commits.
22574           Oh, and fix a pretty damn obvious leak in the memchunk
22575           removal code.
22576
22577 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
22578
22579         * check/Makefile.am:
22580         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22581           plug mem-leak, re-add to valgrindable tests
22582
22583 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22584
22585         * gst/gstplugin.h:
22586           unbreak the build for those who have chronic arthritis
22587           and typing "make check" is just too taxing on the hands
22588
22589 2005-09-20  Andy Wingo  <wingo@pobox.com>
22590
22591         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
22592         really want it out, you should fix plugins at the same time.
22593
22594 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
22595
22596         * configure.ac:
22597         * docs/gst/gstreamer-sections.txt:
22598         * gst/gstobject.c:
22599           added missing symbols to api docs
22600           disable ref-count hack if we have glib >= 2.8
22601
22602 2005-09-19  David Schleef  <ds@schleef.org>
22603
22604         * docs/gst/Makefile.am: Ignore a few more internal headers
22605         * docs/gst/gstreamer-docs.sgml: Remove old sections
22606         * docs/gst/gstreamer-sections.txt: Remove old sections
22607         * docs/gst/tmpl/gstobject.sgml: update
22608         * docs/gst/tmpl/gstplugin.sgml: update
22609         * docs/gst/tmpl/gstpluginfeature.sgml: update
22610         * docs/random/ds/0.9-suggested-changes: update.
22611         * gst/Makefile.am: remove memchunk and trashstack, since they're
22612           not used.
22613         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
22614         * gst/gst.h: don't include some headers
22615         * gst/gstchildproxy.c: add gstmarshal.h
22616         * gst/gstclock.c: Don't use memchunks
22617         * gst/gstminiobject.c: Add some docs
22618         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
22619         * gst/gstobject.h: same
22620         * gst/gstplugin.c: include gstmacros.h
22621         * gst/gstplugin.h: don't include gstmacros.h, since it's private
22622         * gst/gstquery.c: don't use memchunks
22623         * gst/gstregistry.c: rename gst_registry_deinit()
22624         * gst/gstregistry.h: same
22625
22626 2005-09-19  David Schleef  <ds@schleef.org>
22627
22628         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
22629         * docs/libs/gstreamer-libs-sections.txt:
22630         * docs/libs/tmpl/gstgetbits.sgml:
22631         * docs/libs/tmpl/gstputbits.sgml:
22632
22633 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
22634
22635         * win32/gstenumtypes.c:
22636         * win32/gstenumtypes.h:
22637           Update.
22638
22639 2005-09-19  Wim Taymans  <wim@fluendo.com>
22640
22641         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
22642         Automatically PAUSE and RESUME a pipeline when a flushing seek
22643         is performed.
22644
22645 2005-09-19  Andy Wingo  <wingo@pobox.com>
22646
22647         * gst/gstregistry.h: Spacing fixen.
22648
22649 2005-09-19  Wim Taymans  <wim@fluendo.com>
22650
22651         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
22652         Handle state change failure more correctly.
22653
22654 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22655
22656         * check/Makefile.am:
22657         * check/pipelines/cleanup.c: (run_pipeline):
22658         * check/pipelines/simple_launch_lines.c: (run_pipeline),
22659         (GST_START_TEST):
22660           enable cleanup again after fixing the leak
22661         * docs/README:
22662           some more info on docs
22663
22664 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22665
22666         * check/Makefile.am:
22667           re-enable tests now that leaks are plugged
22668         * check/gst/gst.c:
22669         * check/gst/gstbin.c:
22670         * check/gst/gstpipeline.c:
22671           add some more tests while fixing leaks
22672         * common/check.mak:
22673           make sure binaries are uptodate when valgrinding/gdbing
22674         * gst/gst.c:
22675         * gst/gstelementfactory.c:
22676           remove a ref too many, and add a FIXME for when we get
22677           round to disposing of classes
22678         * gst/gstplugin.c:
22679           fix the refcounting when loading a plugin from a file and
22680           the code pretends that the pointer is the same even though
22681           of course it can change
22682         * gst/gstpluginfeature.c:
22683           unref plugins marked cached (a bit confusing as a name)
22684           as the docs state should be done
22685           various doc additions to explain refcounting
22686         * gst/gstregistry.c:
22687         * gst/gstregistryxml.c:
22688           debugging
22689
22690 2005-09-19  Wim Taymans  <wim@fluendo.com>
22691
22692         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22693         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22694         (send_messages), (GST_START_TEST), (gstbus_suite):
22695         * check/gst/gstpipeline.c: (GST_START_TEST):
22696         * check/pipelines/cleanup.c: (run_pipeline):
22697         * check/pipelines/simple_launch_lines.c: (run_pipeline),
22698         (GST_START_TEST):
22699         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
22700         (gst_bus_source_check), (gst_bus_source_dispatch),
22701         (gst_bus_create_watch), (gst_bus_add_watch_full),
22702         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
22703         * gst/gstbus.h:
22704         * tools/gst-launch.c: (event_loop):
22705         * tools/gst-md5sum.c: (event_loop):
22706         GstBusHandler -> GstBusFunc, return value has the same meaning as
22707         any other GSource (FALSE == remove source).
22708         _add_watch() and _add_watch_full() now take a MessageType mask to
22709         only handle specific types of messages.
22710         _poll() returns the GstMessage instead of the message type to avoid
22711         race conditions.
22712         _have_pending() takes a MessageType mask now too.
22713         Added testsuite for multiple bus watches.
22714         Fix testsuites and applications for new bus API.
22715
22716 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22717
22718         * check/Makefile.am:
22719           mark a bunch of the tests as to fix until we fix them
22720
22721 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22722
22723         * common/check.mak:
22724           use GST_PLUGIN settings for valgrind tests as well, so we're
22725           valgrinding the correct thing
22726         * gst/gst.c: (init_post):
22727           plug another leak
22728
22729 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22730
22731         * gst/gst.c: (init_post), (gst_deinit):
22732         * gst/gstelementfactory.c: (gst_element_factory_class_init),
22733         (gst_element_factory_finalize), (gst_element_factory_cleanup):
22734         * gst/gstindex.c: (gst_index_factory_class_init),
22735         (gst_index_factory_finalize):
22736         * gst/gstobject.c: (gst_object_dispose):
22737         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
22738         (gst_plugin_load_file), (gst_plugin_desc_free):
22739         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
22740         (gst_plugin_feature_finalize):
22741         * gst/gstregistry.c: (gst_registry_class_init),
22742         (gst_registry_init), (gst_registry_finalize),
22743         (gst_registry_get_default), (gst_registry_deinit):
22744         * gst/gstregistry.h:
22745         * gst/gstregistryxml.c: (load_feature), (load_plugin):
22746           various cleanups and memleak plugging.  make valgrind is happy now.
22747
22748 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22749
22750         * common/check.mak:
22751           add a check-valgrind target
22752
22753 2005-09-18  David Schleef  <ds@schleef.org>
22754
22755         * tools/gst-inspect.c: Revert the GOption code.
22756
22757 2005-09-17  David Schleef  <ds@schleef.org>
22758
22759         * check/Makefile.am: Fix environment variables.
22760         * check/gst/gstplugin.c: Fix for API changes.
22761         * tools/gst-inspect.c: Fix for API changes.
22762         * tools/gst-xmlinspect.c: Fix for API changes.
22763         * gst/gstelementfactory.c:
22764         * gst/gstplugin.c:
22765         * gst/gstplugin.h:
22766         * gst/gstpluginfeature.c:
22767         * gst/gstpluginfeature.h:
22768         * gst/gstregistry.c:
22769         * gst/gstregistry.h:
22770         * gst/gstregistryxml.c:
22771         * gst/gsttypefind.c:
22772         * gst/gsttypefindfactory.c:
22773         * gst/indexers/gstfileindex.c:
22774         * gst/indexers/gstmemindex.c:
22775         * gst/schedulers/Makefile.am:
22776           Change registry to keep track of both plugins and features,
22777           removing the feature tracking from plugins themselves.
22778
22779 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22780
22781         * check/Makefile.am:
22782         * tools/gst-register.1.in:
22783           remove gst-register
22784
22785 2005-09-15  David Schleef  <ds@schleef.org>
22786
22787         * check/gst/gstplugin.c:
22788         * gst/gstelementfactory.c:
22789         * gst/gstplugin.c:
22790         * gst/gstpluginfeature.c:
22791         * gst/gstregistry.c:
22792           Getting tired of debugging.  Disabled all the unreffing of
22793           plugins and features, which fixes the segfaults, but of
22794           course leaks like crazy.  At least playbin works.
22795
22796 2005-09-15  David Schleef  <ds@schleef.org>
22797
22798         * check/gst/gstplugin.c: (register_check_elements),
22799         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
22800         More testing
22801         * gst/elements/gsttypefindelement.c: Fix refcounting.
22802         * gst/gsttypefind.c:
22803         * gst/gsttypefindfactory.c:
22804         * gst/gsttypefindfactory.h:
22805
22806 2005-09-15  David Schleef  <ds@schleef.org>
22807
22808         * gst/gstindex.c: get refcounting correct.
22809         * gst/gstregistry.c: Handle the case where a feature/plugin is
22810           not found.
22811
22812 2005-09-15  David Schleef  <ds@schleef.org>
22813
22814         * check/Makefile.am:
22815         * check/gst/gstplugin.c: Add test
22816         * gst/gstplugin.c: Fix problems noticed by testsuite
22817         * gst/gstplugin.h:
22818         * gst/gstregistry.c: 
22819         * gst/gstregistry.h:
22820
22821 2005-09-15  David Schleef  <ds@schleef.org>
22822
22823         * gst/gstplugin.c: Implement semi-decent recounting and locking
22824           in plugins and plugin features.
22825         * gst/gstplugin.h:
22826         * gst/gstpluginfeature.c:
22827         * gst/gstpluginfeature.h:
22828         * gst/gstregistry.c:
22829
22830 2005-09-15  Michael Smith <msmith@fluendo.com>
22831
22832         * gst/gstregistry.c: (gst_registry_get_feature_list):
22833           Implement this. Makes oggdemux work; decodebin still broken.
22834
22835 2005-09-14  David Schleef  <ds@schleef.org>
22836
22837         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
22838           #316076)
22839         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
22840         * gst/check/Makefile.am:
22841         * libs/gst/controller/Makefile.am:
22842         * libs/gst/dataprotocol/Makefile.am:
22843
22844 2005-09-14  David Schleef  <ds@schleef.org>
22845
22846         * configure.ac: Remove getbits library.  Nothing uses it, and
22847           it should be in something like liboil if someone did want
22848           to use it.
22849         * libs/gst/Makefile.am:
22850         * libs/gst/getbits/Makefile.am:
22851         * libs/gst/getbits/gbtest.c:
22852         * libs/gst/getbits/getbits.c:
22853         * libs/gst/getbits/getbits.h:
22854         * libs/gst/getbits/gstgetbits_generic.c:
22855         * libs/gst/getbits/gstgetbits_i386.s:
22856         * libs/gst/getbits/gstgetbits_inl.h:
22857
22858 2005-09-14  David Schleef  <ds@schleef.org>
22859
22860         * gst/Makefile.am: Dist glib-compat.h
22861
22862 2005-09-14  David Schleef  <ds@schleef.org>
22863
22864         * configure.ac: Remove gst/registries, since it's no longer used.
22865         * gst/registries/Makefile.am:
22866         * gst/registries/gstlibxmlregistry.c:
22867         * gst/registries/gstlibxmlregistry.h:
22868         * gst/registries/gstxmlregistry.c:
22869         * gst/registries/gstxmlregistry.h:
22870         * gst/registries/registrytest.c:
22871
22872 2005-09-14  David Schleef  <ds@schleef.org>
22873
22874         * gst/glib-compat.h:
22875         * gst/gstregistryxml.c:
22876           Convergence is near.  Seriously.
22877
22878 2005-09-14  David Schleef  <ds@schleef.org>
22879
22880         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22881         * gst/glib-compat.h:
22882           Attempt #4 to appease the buildbots.
22883
22884 2005-09-14  David Schleef  <ds@schleef.org>
22885
22886         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22887           Attempt #3.
22888
22889 2005-09-14  David Schleef  <ds@schleef.org>
22890
22891         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22892         Attempt #2.
22893
22894 2005-09-14  David Schleef  <ds@schleef.org>
22895
22896         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
22897           the new functions.
22898
22899 2005-09-14  David Schleef  <ds@schleef.org>
22900
22901         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22902         * gst/glib-compat.h: Add some functions that are in newer versions
22903           of glib than we care to require.
22904         * gst/gstregistryxml.c: Use them.
22905
22906 2005-09-14  David Schleef  <ds@schleef.org>
22907
22908         * po/POTFILES.in: remove gst-register.c
22909
22910 2005-09-14  David Schleef  <ds@schleef.org>
22911
22912         * docs/gst/gstreamer-docs.sgml:
22913         * docs/gst/gstreamer-sections.txt:
22914         * docs/gst/gstreamer.types:
22915         * docs/gst/tmpl/gstelement.sgml:
22916         * docs/gst/tmpl/gstplugin.sgml:
22917         * docs/gst/tmpl/gstpluginfeature.sgml:
22918           Documentation updates for registry changes.
22919
22920 2005-09-14  David Schleef  <ds@schleef.org>
22921
22922         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
22923           because we don't require glib-2.8.
22924
22925 2005-09-14  David Schleef  <ds@schleef.org>
22926
22927         * gst/gstregistryxml.c: Added.  Essentially moved out of the
22928           registries directory.
22929
22930 2005-09-14  David Schleef  <ds@schleef.org>
22931
22932         * check/Makefile.am:
22933         * check/generic/states.c:
22934         * gst/Makefile.am:
22935         * gst/gst.c:
22936         * gst/gst.h:
22937         * gst/gst_private.h:
22938         * gst/gstelementfactory.c:
22939         * gst/gstindex.c:
22940         * gst/gstinfo.c:
22941         * gst/gstplugin.c:
22942         * gst/gstplugin.h:
22943         * gst/gstpluginfeature.c:
22944         * gst/gstpluginfeature.h:
22945         * gst/gstregistry.c:
22946         * gst/gstregistry.h:
22947         * gst/gstregistrypool.c: remove
22948         * gst/gstregistrypool.h: remove
22949         * gst/gsttypefind.c:
22950         * gst/gsttypefindfactory.c:
22951         * gst/gsturi.c:
22952         * tools/Makefile.am:
22953         * tools/gst-compprep.c:
22954         * tools/gst-inspect.c:
22955         * tools/gst-register.c: remove
22956         * tools/gst-xmlinspect.c:
22957           Registry rewrite.  Changes registry from being a file created
22958           by a tool into a simple cache file created automatically by 
22959           libgstreamer.  Removed gst-register (because it's no longer
22960           needed).  Remove registry pools, because we only have one
22961           registry implementation (XML).  Fix up other subsystems as
22962           necessary.
22963
22964 2005-09-13  Michael Smith <msmith@fluendo.com>
22965
22966         * gst/gstconfig.h.in:
22967           Don't Use windows linking attributes for MinGW. Fixes #316157
22968
22969 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22970
22971         * gst/gstutils.c: (set_state_async_thread_func),
22972         (gst_element_set_state_async):
22973           Apparently people think it's better if this function doesn't
22974           try to set the state to whatever state was asked for on the first
22975           call to this function for any object.  Seriously.
22976
22977 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22978
22979         * check/gst/gstpipeline.c: (GST_START_TEST):
22980         * docs/gst/gstreamer-sections.txt:
22981         * gst/gstutils.c: (set_state_async_thread_func),
22982         (gst_element_set_state_async):
22983         * gst/gstutils.h:
22984           add a "gst_element_set_state_async" method that
22985           sets the state and starts a thread to make sure the state
22986           change completes as best as it can
22987
22988 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22989
22990         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22991           codify design+behaviour in testsuite after discussion
22992
22993 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22994
22995         * docs/gst/tmpl/gstelement.sgml:
22996         * docs/manual/appendix-quotes.xml:
22997           add a quote
22998         * gst/gstelement.c: (gst_element_set_state):
22999           add some debug
23000
23001 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
23002
23003         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23004         (gst_base_transform_prepare_output_buf),
23005         (gst_base_transform_handle_buffer):
23006         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
23007         (gst_capsfilter_prepare_buf):
23008           Remove the requirement for sub-classes to call the parent
23009           implementation of prepare_output_buffer with a wrapper function.
23010           
23011         * gst/gsttaglist.h:
23012         * gst/gsttagsetter.h:
23013           Fix #define wrapper
23014
23015 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
23016
23017         * docs/gst/gstreamer-sections.txt:
23018           more doc cleanups
23019
23020 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23021
23022         * docs/gst/gstreamer-sections.txt:
23023         * docs/gst/tmpl/gstelement.sgml:
23024         * docs/gst/tmpl/gstplugin.sgml:
23025         * gst/gstminiobject.c:
23026         * gst/gstvalue.h:
23027           docs now stop throwing warnings
23028
23029 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23030
23031         * docs/gst/gstreamer-sections.txt:
23032         * docs/gst/gstreamer.types:
23033         * docs/gst/tmpl/gstpad.sgml:
23034         * docs/gst/tmpl/gsttypes.sgml:
23035         * gst/base/gstadapter.h:
23036         * gst/base/gstbasesink.h:
23037         * gst/base/gstbasesrc.h:
23038         * gst/gstbin.h:
23039         * gst/gstbuffer.h:
23040         * gst/gstbus.h:
23041         * gst/gstcaps.h:
23042         * gst/gstclock.h:
23043         * gst/gstelement.h:
23044         * gst/gstevent.h:
23045         * gst/gstmessage.h:
23046         * gst/gstpad.h:
23047         * gst/gststructure.c:
23048         * gst/registries/gstlibxmlregistry.h:
23049           various documentation fixes
23050
23051 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23052
23053         * docs/gst/gstreamer-sections.txt:
23054         * docs/gst/tmpl/gstvalue.sgml:
23055           rearrange gstvalue section
23056         * gst/gstutils.c: (gst_element_state_get_name):
23057           NONE -> VOID
23058         * gst/gstvalue.c: (_gst_value_initialize):
23059         * gst/gstvalue.h:
23060           doc updates
23061
23062 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
23063
23064         * check/gst-libs/controller.c:
23065           Header include fix.
23066         * gst/base/gstbasetransform.c:
23067         (gst_base_transform_default_prepare_buf),
23068         (gst_base_transform_handle_buffer):
23069         * gst/base/gstbasetransform.h:
23070           Some more basetransform changes and fixes to enable sub-classes
23071           that modify buffer metadata only.
23072         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23073         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
23074         (gst_capsfilter_prepare_buf):
23075           If the output pad has fixed allowed caps and input buffers 
23076           don't have any, set the fixed caps on outgoing buffers.
23077
23078 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
23079         * check/elements/identity.c: (GST_START_TEST):
23080           Make the error a little clearer when the test fails because
23081           identity made a copy of the buffer.
23082         * docs/gst/gstreamer-sections.txt:
23083           New symbols in gstbasetransform.h
23084         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23085         (gst_base_transform_init), (gst_base_transform_transform_size),
23086         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23087         (gst_base_transform_default_prepare_buf),
23088         (gst_base_transform_get_unit_size),
23089         (gst_base_transform_buffer_alloc),
23090         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
23091         (gst_base_transform_change_state),
23092         (gst_base_transform_set_passthrough),
23093         (gst_base_transform_set_in_place),
23094         (gst_base_transform_is_in_place):
23095         * gst/base/gstbasetransform.h:
23096           Change BaseTransform to separate in_place operate from same_caps
23097           output. in_place implies that the element can perform the transform
23098           on incoming buffers in-place, even if the caps on the output are
23099           different.
23100           Sub-class elements can now implement special buffer allocation
23101           methods for outgoing buffers if they wish to.
23102           Big documentation addition.
23103         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
23104         * gst/elements/gstelements.c:
23105           Changes for basetransform modifications.
23106         * gst/elements/Makefile.am:
23107         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
23108           Compile fix. Extra debug output.
23109
23110 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23111
23112         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
23113         (gst_pad_suite):
23114           add tests for valid pad naming
23115         * gst/check/gstcheck.c: (gst_check_log_message_func),
23116         (gst_check_log_critical_func):
23117           add ASSERT_WARNING
23118           remove printing of code, it is fragile when the code contains
23119           % and the line number is enough info
23120         * gst/check/gstcheck.h:
23121         * gst/gstpad.c: (gst_pad_template_new):
23122           fix memleaks
23123
23124 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23125
23126         * configure.ac:
23127           say what CHECK flags we use
23128         * docs/libs/gstreamer-libs.types:
23129         * libs/gst/controller/Makefile.am:
23130         * libs/gst/controller/gst-controller.c:
23131         * libs/gst/controller/gst-controller.h:
23132         * libs/gst/controller/gst-helper.c:
23133         * libs/gst/controller/gst-interpolation.c:
23134         * libs/gst/controller/gstcontroller.c:
23135         * libs/gst/controller/gsthelper.c:
23136         * libs/gst/controller/gstinterpolation.c:
23137         * tools/gst-inspect.c: (print_plugin_info):
23138           we don't use dashes in header names
23139
23140 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23141
23142         * check/Makefile.am:
23143         * check/gst/.cvsignore:
23144         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
23145         (gst_pipeline_suite), (main):
23146           adding a test for pipelines and state changes
23147         * gst/gstutils.c: (get_state_func):
23148           add some debugging
23149         * gstreamer.spec.in:
23150           fix up spec file
23151
23152 2005-09-08  Michael Smith <msmith@fluendo.com>
23153
23154         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
23155         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
23156         (gst_file_src_is_seekable), (gst_file_src_get_size),
23157         (gst_file_src_start):
23158         * gst/elements/gstfilesrc.h:
23159           Various fixes for unseekable, unmmapable, and non-normal files, so
23160           that fallback to read() rather than mmap() works.
23161         * gst/gstevent.c: (gst_event_new_newsegment):
23162           Allow newsegment events with segment_start == segment_end, as will
23163           correctly happen if you use filesrc on a zero-size file, for
23164           example.
23165
23166 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23167
23168         * gst/gstplugin.c: (gst_plugin_load_file):
23169           Call g_module_close when we don't load the module
23170
23171         * gst/registries/gstlibxmlregistry.c:
23172         (gst_xml_registry_get_property):
23173           Port leak fix from 0.8
23174
23175 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23176
23177         * docs/gst/gstreamer-docs.sgml:
23178         * docs/gst/tmpl/.cvsignore:
23179         * docs/gst/tmpl/gsttrace.sgml:
23180         * docs/gst/tmpl/gsttrashstack.sgml:
23181         * gst/Makefile.am:
23182         * gst/gst.h:
23183         * gst/gstelement.h:
23184         * gst/gstevent.h:
23185         * gst/gstmessage.c:
23186         * gst/gstmessage.h:
23187         * gst/gsttag.c:
23188         * gst/gsttag.h:
23189         * gst/gsttaginterface.c:
23190         * gst/gsttaginterface.h:
23191         * gst/gsttaglist.c:
23192         * gst/gsttaglist.h:
23193         * gst/gsttagsetter.c:
23194         * gst/gsttagsetter.h:
23195         * gst/gsttrace.c:
23196         * gst/gsttrace.h:
23197         * gst/gsttrashstack.c:
23198           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
23199           inlined docs for gsttrace, gsttrashstack
23200
23201 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23202
23203         * gst/Makefile.am:
23204         * gst/elements/gstbufferstore.h:
23205         * gst/elements/gsttypefindelement.c:
23206         * gst/elements/gsttypefindelement.h:
23207         * gst/gst.h:
23208         * gst/gsttypefind.c:
23209         * gst/gsttypefind.h:
23210         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
23211         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
23212         (gst_type_find_factory_dispose),
23213         (gst_type_find_factory_unload_thyself),
23214         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
23215         (gst_type_find_factory_get_caps),
23216         (gst_type_find_factory_get_extensions),
23217         (gst_type_find_factory_call_function):
23218         * gst/gsttypefindfactory.h:
23219         * gst/registries/gstlibxmlregistry.c:
23220         * gst/registries/gstxmlregistry.c:
23221           splitted gsttypefind into gsttypefind, gsttypefindfactory
23222
23223 2005-09-07  Andy Wingo  <wingo@pobox.com>
23224
23225         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
23226         condition whereby the pad's task function is entered before the
23227         pad_mode variable was set.
23228
23229 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23230
23231         * gst/gstpad.c: (gst_pad_alloc_buffer):
23232           Catch misbehaving pad_alloc functions that don't
23233           set up caps and do it for them.
23234
23235 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23236
23237         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23238           test for pipe!=NULL
23239         * docs/gst/tmpl/.cvsignore:
23240         * docs/gst/tmpl/gstmemchunk.sgml:
23241         * docs/gst/tmpl/gstparse.sgml:
23242         * docs/gst/tmpl/gsttaglist.sgml:
23243         * docs/gst/tmpl/gsttagsetter.sgml:
23244         * docs/gst/tmpl/gsttypefind.sgml:
23245         * docs/gst/tmpl/gsttypefindfactory.sgml:
23246         * gst/gstmemchunk.c:
23247         * gst/gstparse.c:
23248         * gst/gsttag.c:
23249         * gst/gsttaginterface.c:
23250         * gst/gsttypefind.c:
23251         * gst/gsttypefind.h:
23252           inlined more docs
23253
23254 === release 0.9.2 ===
23255
23256 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23257
23258         * NEWS:
23259         * RELEASE:
23260         * configure.ac:
23261           releasing 0.9.2, "South"
23262
23263 2005-09-05  Andy Wingo  <wingo@pobox.com>
23264
23265         * gst/registries/gstxmlregistry.h:
23266         * gst/registries/gstxmlregistry.c: Um... resurrect...
23267         
23268         * gst/registries/gstxmlregistry.h:
23269         * gst/registries/gstxmlregistry.c: and update to newer API.
23270         Incidentally they should be a bit faster now that they don't have
23271         to parse the caps.
23272         
23273 2005-09-05  Andy Wingo  <wingo@pobox.com>
23274
23275         * gst/registries/gstxmlregistry.h:
23276         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
23277         replaced by the libxml registry a while back
23278
23279 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23280
23281         * docs/gst/tmpl/gstplugin.sgml:
23282         * gst/elements/gstelements.c:
23283         * gst/gst.c:
23284         * gst/gstplugin.c: (gst_plugin_register_func),
23285         (gst_plugin_desc_copy), (gst_plugin_desc_free),
23286         (gst_plugin_get_source):
23287         * gst/gstplugin.h:
23288         * gst/registries/gstlibxmlregistry.c: (load_plugin),
23289         (gst_xml_registry_save_plugin):
23290         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
23291         (gst_xml_registry_save_plugin):
23292         * tools/gst-inspect.c: (print_plugin_info):
23293           add a "source" plugin description field, to represent the source
23294           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
23295           will set it to PACKAGE, which is automake's idea of the name of
23296           the source project.
23297
23298 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23299
23300         * Makefile.am:
23301         * autogen.sh:
23302         * configure.ac:
23303         * docs/Makefile.am:
23304         * docs/faq/Makefile.am:
23305         * docs/gst/tmpl/gstelement.sgml:
23306         * docs/gst/tmpl/gsttypes.sgml:
23307         * docs/htmlinstall.mak:
23308         * docs/manual/Makefile.am:
23309         * docs/pwg/Makefile.am:
23310           reorganize doc build a little
23311           split out docbook and gtk-doc stuff
23312           have two separate --enable's and enable them through autogen
23313           but disable by default in configure (to be similar to other
23314           projects)
23315         * gstreamer.spec.in:
23316           clean up docs install
23317         * po/af.po:
23318         * po/az.po:
23319         * po/ca.po:
23320         * po/cs.po:
23321         * po/de.po:
23322         * po/en_GB.po:
23323         * po/fr.po:
23324         * po/it.po:
23325         * po/nb.po:
23326         * po/nl.po:
23327         * po/ru.po:
23328         * po/sq.po:
23329         * po/sr.po:
23330         * po/sv.po:
23331         * po/tr.po:
23332         * po/uk.po:
23333         * po/vi.po:
23334           translation updates
23335
23336 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
23337
23338         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
23339           Add comment.
23340           
23341         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23342         (gst_fake_sink_change_state):
23343           Make state change function thread-safe.
23344           
23345         * gst/gstpad.c: (gst_pad_alloc_buffer):
23346           Set offset on generic buffer allocated by fallback.
23347
23348 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
23349
23350         * docs/gst/gstreamer-sections.txt:
23351         * docs/gst/tmpl/gstelement.sgml:
23352         * gst/gstpad.c:
23353         * libs/gst/controller/gst-controller.c:
23354         (gst_controlled_property_set_interpolation_mode),
23355         (gst_controlled_property_new),
23356         (gst_controller_find_controlled_property):
23357          run the wingo-magic script against the docs
23358
23359 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
23360
23361         * docs/gst/gstreamer-docs.sgml:
23362         * docs/gst/gstreamer-sections.txt:
23363         * docs/gst/tmpl/.cvsignore:
23364         * docs/gst/tmpl/gstelementdetails.sgml:
23365         * docs/gst/tmpl/gstelementfactory.sgml:
23366         * gst/gst.c:
23367         * gst/gstbus.c:
23368         * gst/gstelementfactory.c:
23369         * gst/gstelementfactory.h:
23370           merged elementdetails docs into elementfactory docs
23371           inlined both
23372
23373 2005-09-02  Andy Wingo  <wingo@pobox.com>
23374
23375         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
23376         consider this enum an enum and not a flags.
23377
23378 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
23379
23380         * docs/gst/gstreamer-docs.sgml:
23381         * docs/gst/tmpl/.cvsignore:
23382         * docs/gst/tmpl/gstghostpad.sgml:
23383         * docs/gst/tmpl/gstiterator.sgml:
23384         * docs/gst/tmpl/gstmacros.sgml:
23385         * docs/gst/tmpl/gstrealpad.sgml:
23386         * docs/gst/tmpl/gstregistry.sgml:
23387         * docs/gst/tmpl/gstregistrypool.sgml:
23388         * docs/gst/tmpl/gststructure.sgml:
23389         * docs/gst/tmpl/gstsystemclock.sgml:
23390         * docs/gst/tmpl/gsttrace.sgml:
23391         * gst/gstghostpad.c:
23392         * gst/gstmacros.h:
23393         * gst/gstmemchunk.c:
23394         * gst/gstmemchunk.h:
23395         * gst/gstqueue.c:
23396         * gst/gstregistry.c:
23397         * gst/gstregistrypool.c:
23398         * gst/gststructure.c:
23399         * gst/gstsystemclock.c:
23400           more docs inlined
23401
23402 2005-09-02  Andy Wingo  <wingo@pobox.com>
23403
23404         * gst/gstelement.h (GstState): Renamed from GstElementState,
23405         changed to be a normal enum instead of flags.
23406         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
23407         munged to be GST_STATE_CHANGE_*.
23408         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
23409         work with the new state representation.
23410         (GstStateChange): New enumeration of possible state transitions.
23411         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
23412         (GstElementClass::change_state): Pass the GstStateChange along as
23413         an argument. Helps language bindings, so they don't have to use
23414         tricky lock-needing macros like GST_STATE_CHANGE ().
23415
23416         * scripts/update-states (file): New script. Run it on a file to
23417         update it for state naming and API changes. Updates files in
23418         place.
23419
23420         * All files updated for the new API.
23421
23422 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23423
23424         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
23425         * gst/gstutils.c: (gst_util_set_value_from_string),
23426         (gst_util_set_object_arg):
23427           fix a bunch of unchecked return values
23428         * tools/gst-complete.c: (main):
23429         * gstreamer.spec.in:
23430           clean up a little
23431
23432 2005-09-01  Wim Taymans  <wim@fluendo.com>
23433
23434         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23435         (gst_base_sink_event), (gst_base_sink_do_sync),
23436         (gst_base_sink_handle_event):
23437         * gst/base/gstbasesink.h:
23438         Handle newsegments more correctly.
23439
23440         * gst/gstbus.c:
23441         Fix docs.
23442
23443         * gst/gstevent.c: (gst_event_new_newsegment):
23444         A newsegment cannot have a start_time of -1
23445
23446 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
23447
23448         * win32/gstenumtypes.c:
23449         * win32/gstenumtypes.h:
23450           Update
23451
23452 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23453
23454         * libs/gst/controller/gst-controller.c:
23455         (gst_controlled_property_set_interpolation_mode),
23456         (gst_controlled_property_new):
23457          fixed boolean again
23458
23459 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
23460
23461         * docs/faq/gst-uninstalled:
23462           add -good
23463         * gst/gstevent.c:
23464         * gst/gstevent.h:
23465           remove wrong docs
23466         * gst/gstutils.c: (gst_element_link_filtered):
23467         * gst/gstutils.h:
23468           add gst_element_link_filtered
23469
23470 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23471
23472         * docs/gst/gstreamer-docs.sgml:
23473         * docs/gst/gstreamer-sections.txt:
23474         * docs/gst/tmpl/.cvsignore:
23475         * docs/gst/tmpl/gsterror.sgml:
23476         * docs/gst/tmpl/gstfilter.sgml:
23477         * docs/gst/tmpl/gsturihandler.sgml:
23478         * docs/gst/tmpl/gsturitype.sgml:
23479         * docs/gst/tmpl/gstutils.sgml:
23480         * docs/gst/tmpl/gstxml.sgml:
23481         * gst/gsterror.c:
23482         * gst/gsterror.h:
23483         * gst/gstfilter.c:
23484         * gst/gsturi.c:
23485         * gst/gsturitype.c:
23486         * gst/gstutils.c:
23487         * gst/gstxml.c:
23488           inlined more docs, fixed double id-ref
23489
23490 2005-08-31  Wim Taymans  <wim@fluendo.com>
23491
23492         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23493         (gst_base_transform_handle_buffer):
23494         Passthrough elements don't need the caps as they don't care.
23495
23496 2005-08-31  Wim Taymans  <wim@fluendo.com>
23497
23498         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23499         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
23500         Don't leak refcounts on buffers.
23501
23502 2005-08-31  Wim Taymans  <wim@fluendo.com>
23503
23504         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
23505         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23506         (gst_base_transform_chain), (gst_base_transform_change_state):
23507         * gst/base/gstbasetransform.h:
23508         Handle the case where we are not negotiated more gracefully.
23509
23510 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
23511
23512         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
23513         (gst_file_src_map_region):
23514           Set READONLY flag on mmap'ed buffers, otherwise
23515           gst_buffer_make_writable() won't work properly (#314708).
23516
23517 2005-08-31  Wim Taymans  <wim@fluendo.com>
23518
23519         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
23520         passthrough elements can even do inplace on non writable
23521         buffers (as they don't touch them).
23522
23523 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23524
23525         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23526         (gst_test_mono_source_set_property),
23527         (gst_test_mono_source_class_init), (GST_START_TEST),
23528         (gst_controller_suite):
23529           more tests (hehe I have the most)
23530         * gst/gstbus.c:
23531           describe popping messages whenusing mulltiple sources
23532         * libs/gst/controller/gst-controller.c:
23533         (gst_controlled_property_set_interpolation_mode),
23534         (gst_controlled_property_new):
23535         * libs/gst/controller/gst-controller.h:
23536         * libs/gst/controller/gst-interpolation.c:
23537           implement boolean properties
23538
23539 2005-08-31  Wim Taymans  <wim@fluendo.com>
23540
23541         * gst/gstminiobject.c: (gst_mini_object_ref):
23542         Cannot assert that the refcount has to be positive
23543         since a disposed object can be resurrected.
23544
23545 2005-08-31  Wim Taymans  <wim@fluendo.com>
23546
23547         * gst/gstpad.c: (gst_pad_init):
23548         Revert change, need to first fix badly behaving 
23549         apps.
23550
23551 2005-08-30  Wim Taymans  <wim@fluendo.com>
23552
23553         * check/elements/fakesrc.c: (setup_fakesrc):
23554         * check/elements/identity.c: (setup_identity):
23555         Activate pads before using them.
23556
23557 2005-08-30  Wim Taymans  <wim@fluendo.com>
23558
23559         * gst/base/gstadapter.c: (gst_adapter_flush):
23560         Flushing out 0 bytes is ok for this function.
23561
23562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23563         no newsegment gives a warning and sets the start/stop to 
23564         invalid.
23565
23566         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
23567         (gst_base_transform_set_passthrough):
23568         Some debug info.
23569
23570         * gst/gstminiobject.c: (gst_mini_object_ref):
23571         Check refcount here too.
23572
23573         * gst/gstpad.c: (gst_pad_init):
23574         Pads are initially flushing and refusing data.
23575
23576         * gst/gstutils.c: (gst_element_link_pads_filtered):
23577         When adding a capsfilter element make sure it has the
23578         same state as the parent bin.
23579
23580 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23581
23582         * docs/gst/tmpl/.cvsignore:
23583         * docs/gst/tmpl/gstformat.sgml:
23584         * docs/gst/tmpl/gstversion.sgml:
23585         * gst/gstbus.h:
23586         * gst/gstformat.c:
23587         * gst/gstformat.h:
23588         * gst/gstversion.h.in:
23589           more docs and two more inlined
23590
23591 2005-08-30  Wim Taymans  <wim@fluendo.com>
23592
23593         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
23594         Don't sync to clock.
23595
23596 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23597
23598         * docs/gst/gstreamer-sections.txt:
23599           ultral33t func10ns deserve to appear in the docs actually
23600         * docs/gst/tmpl/.cvsignore:
23601         * docs/gst/tmpl/gstcompat.sgml:
23602         * docs/gst/tmpl/gstconfig.sgml:
23603         * gst/check/gstcheck.c:
23604         * gst/gstcompat.h:
23605         * gst/gstconfig.h.in:
23606           inlined more docs
23607
23608 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23609
23610         * docs/gst/tmpl/.cvsignore:
23611         * docs/gst/tmpl/gstquery.sgml:
23612         * docs/gst/tmpl/gstutils.sgml:
23613         * gst/gstquery.c:
23614         * gst/gstquery.h:
23615           inlined and extended docs
23616
23617 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
23618
23619         * check/gst-libs/controller.c: (GST_START_TEST),
23620         (gst_controller_suite):
23621           more tests
23622         * docs/gst/tmpl/gstutils.sgml:
23623         * docs/libs/gstreamer-libs-sections.txt:
23624         * docs/libs/tmpl/gstdataprotocol.sgml:
23625           include path fixes
23626         * examples/controller/audio-example.c: (main):
23627           controller example works now
23628         * gst/gstclock.h:
23629           doc fixes
23630         * tools/gst-inspect.c: (print_element_properties_info):
23631           show param spec flags
23632
23633 2005-08-29  Andy Wingo  <wingo@pobox.com>
23634
23635         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
23636
23637 2005-08-28  Andy Wingo  <wingo@pobox.com>
23638
23639         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
23640         as having two arguments instead of just one. Allows superclasses
23641         to access information on subclasses -- see the terrible for() loop
23642         in gtype.c:g_type_create_instance for the reason why. All callers
23643         changed.
23644
23645 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23646
23647         * docs/design/part-messages.txt:
23648           update info
23649         * docs/gst/tmpl/.cvsignore:
23650         * docs/gst/tmpl/gstcaps.sgml:
23651         * docs/gst/tmpl/gstclock.sgml:
23652         * gst/gstbus.c:
23653         * gst/gstcaps.c:
23654         * gst/gstcaps.h:
23655         * gst/gstclock.c:
23656         * gst/gstclock.h:
23657         * gst/gstmessage.c:
23658           added descriptions for bus and message
23659           inline caps and clock docs
23660
23661 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23662
23663         * gst/gstmessage.c:
23664         * gst/gstmessage.h:
23665           doc fixes
23666
23667 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
23668
23669         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23670           fix div-by-zero
23671
23672 2005-08-26  Andy Wingo  <wingo@pobox.com>
23673
23674         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
23675         element_set_state's return val.
23676         (test_2_elements): Add test that's been disabled for months.
23677
23678         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
23679         can-activate-pull properties.
23680
23681         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
23682         can-activate-pull properties. Implement is_seekable so fakesrc can
23683         operate in pull mode.
23684
23685         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
23686         properties.
23687         (gst_base_sink_activate, gst_base_sink_activate_pull)
23688         (gst_base_sink_activate_push): Make activation mode choosing work.
23689         Cleanups.
23690         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
23691         is right. Make pull mode work. Post an eos before pausing in pull
23692         mode.
23693         (gst_base_sink_change_state): Pay attention to the core's
23694         change_state() return val.
23695         
23696         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
23697         has-getrange properties. Cleanups.
23698         
23699         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
23700         has_getrange and replace with can_activate_pull and
23701         can_activate_push.
23702
23703         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
23704         locking comments. Remove has_loop, has_chain and replace with
23705         can_activate_pull and can_activate_push.
23706
23707 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
23708
23709         * configure.ac:
23710         * examples/Makefile.am:
23711         * examples/metadata/Makefile.am:
23712         * examples/metadata/read-metadata.c: (message_loop),
23713         (have_pad_handler), (make_pipeline), (print_tag), (main):
23714           Add metadata reading example that loops over a list of filenames,
23715           dumping any tags found.
23716
23717         * gst/gstbus.c: (gst_bus_dispose):
23718         * gst/gstelement.c: (gst_element_dispose):
23719           Release a few potentially-held references in dispose.
23720
23721 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23722
23723         * docs/gst/tmpl/gstminiobject.sgml:
23724           do *not* add tmpl/*.sgml files to CVS!
23725
23726 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23727
23728         * libs/gst/bytestream/.cvsignore:
23729         * libs/gst/bytestream/Makefile.am:
23730         * libs/gst/bytestream/adapter.c:
23731         * libs/gst/bytestream/adapter.h:
23732         * libs/gst/bytestream/bytestream.c:
23733         * libs/gst/bytestream/bytestream.h:
23734         * libs/gst/bytestream/filepad.c:
23735         * libs/gst/bytestream/filepad.h:
23736           removing obsolete files
23737
23738 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23739
23740         * docs/gst/gstreamer-docs.sgml:
23741         * docs/libs/gstreamer-libs-docs.sgml:
23742           disabed additional index entries again, as this makes docs-gen just
23743           slow and they aren't useful yet
23744         * docs/libs/gstreamer-libs-sections.txt:
23745           little -section.txt cleanup for libs
23746
23747 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
23748
23749         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23750         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
23751           fix up some debugging
23752         (gst_base_transform_get_unit_size),
23753         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
23754         (gst_base_transform_handle_buffer):
23755         * gst/base/gstbasetransform.h:
23756           handle and store timed NEWSEGMENT events so that subclasses that
23757           calculate time by counting samples have a segment_start time they
23758           need to add to their timestamps - see audioresample
23759
23760 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
23761
23762         * gst/gstbin.h:
23763           removed ';' from the end of macro defs
23764         * docs/gst/gstreamer-docs.sgml:
23765         * docs/gst/gstreamer-sections.txt:
23766         * docs/gst/tmpl/.cvsignore:
23767         * gst/gstbus.h:
23768         * gst/gstelement.c: (gst_element_class_init),
23769         (gst_element_set_state), (activate_pads),
23770         (gst_element_save_thyself):
23771         * gst/gstevent.c: (gst_event_new_newsegment):
23772         * gst/gstevent.h:
23773         * gst/gstiterator.c:
23774         * gst/gstiterator.h:
23775         * gst/gstpad.c:
23776         * gst/gstprobe.h:
23777         * gst/gstutils.c: (gst_pad_query_convert):
23778         * gst/gstutils.h:
23779           fixed parameter name mismatches between source, header and docs
23780           added some more docs, resolved the last batch of unused elements in
23781           docs (now someone needs to doc them)
23782
23783 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23784
23785         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
23786         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
23787           don't walk through the plugins backwards.  Where is all this
23788           reversed logic coming from ?
23789
23790 2005-08-25  Wim Taymans  <wim@fluendo.com>
23791
23792         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23793         (gst_base_transform_transform_size),
23794         (gst_base_transform_configure_caps),
23795         (gst_base_transform_get_unit_size),
23796         (gst_base_transform_buffer_alloc),
23797         (gst_base_transform_change_state):
23798         * gst/base/gstbasetransform.h:
23799         Cache caps unit_size.
23800         Make sure we cannot negotiate up and downstream at the
23801         same time.
23802
23803 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23804
23805         * gst/gst.c: (init_pre), (init_post):
23806           register the installed plugin path after the env var
23807         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
23808         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
23809           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
23810           directories, so the tests can prefer uninstalled over installed
23811
23812 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
23813
23814         * gst/base/gstbasetransform.h:
23815           comment
23816         * gst/gstpad.c:
23817           add to docs
23818
23819 2005-08-25  Wim Taymans  <wim@fluendo.com>
23820
23821         * gst/gstbin.c: (bin_bus_handler):
23822         Be a bit more conservative about the posted message.
23823         
23824         * gst/gstbus.c: (gst_bus_post):
23825         Some cleanups, warn wrong return values.
23826
23827 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
23828
23829         * check/gst/gstbin.c: (GST_START_TEST):
23830         * gst/gstbin.c: (bin_bus_handler):
23831         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
23832         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
23833         (gst_message_new_warning), (gst_message_new_tag),
23834         (gst_message_new_state_changed), (gst_message_new_segment_start),
23835         (gst_message_new_segment_done), (gst_message_new_custom):
23836         * gst/gstmessage.h:
23837         * tools/gst-launch.c: (event_loop):
23838         * tools/gst-md5sum.c: (event_loop):
23839           Revert unpopular change for GST_MESSAGE_SRC to GObject.
23840
23841 2005-08-25  Wim Taymans  <wim@fluendo.com>
23842
23843         * check/generic/states.c: (GST_START_TEST):
23844         Cleanup can be done at the end.
23845
23846         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
23847         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
23848         (gst_task_get_state), (gst_task_start), (gst_task_pause):
23849         Oh boy.. Thanks for finding this, Thomas. 
23850
23851 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
23852
23853         * docs/gst/gstreamer.types:
23854           added missing types
23855
23856 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
23857
23858         * docs/gst/gstreamer-docs.sgml:
23859         * docs/gst/gstreamer-sections.txt:
23860         * docs/gst/tmpl/.cvsignore:
23861         * gst/gstbin.c:
23862         * gst/gstiterator.c:
23863         * gst/gstutils.c:
23864         * gst/registries/gstxmlregistry.h:
23865           added missing classes and symbols (123 more to go)
23866           removed removed symbols from section file
23867           fixed many doc-comments
23868
23869 2005-08-24  Wim Taymans  <wim@fluendo.com>
23870
23871         * check/generic/states.c: (GST_START_TEST):
23872         Make sure all tasks are stopped.
23873
23874         * check/gst/gstbin.c: (GST_START_TEST):
23875         Unref after usage for proper valgrinding.
23876
23877         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
23878         Really wait for the task to stop before destroying the
23879         mutex.
23880
23881         * gst/gstqueue.c: (gst_queue_sink_activate_push),
23882         (gst_queue_src_activate_push):
23883         Small cleanups. Don't stop the task when we did not start
23884         it.
23885
23886         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
23887         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
23888         (gst_task_get_state), (gst_task_start), (gst_task_pause),
23889         (gst_task_join):
23890         * gst/gsttask.h:
23891         Protect the stream lock with the object lock.
23892         Disallow setting the stream lock when running.
23893         Add cleanup_all to wait for the threadpool to finish.
23894         Remove code to autoallocate a mutex if none was provided.
23895         Add _join() to wait for a task to stop.
23896         Protect the thread pool with a global lock.
23897
23898 2005-08-24  Wim Taymans  <wim@fluendo.com>
23899
23900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23901         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23902         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
23903         * gst/base/gstbasesink.h:
23904         Handle newsegment events correctly.
23905         Drop buffers out of the segment range.
23906
23907 2005-08-22  Andy Wingo  <wingo@pobox.com>
23908
23909         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
23910         macro, implements an interface and gstimplementsinterface for a
23911         new type.
23912
23913 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23914
23915         * check/Makefile.am:
23916         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
23917           add a test that does a bunch of state changes on elements
23918           needs some fixing for valgrind
23919         * check/states/sinks.c: (gst_object_suite):
23920           whitespace
23921         * gst/gstcaps.h:
23922           add prototype for gst_caps_is_equal_fixed
23923         * gst/gstplugin.c:
23924         * gst/gstregistrypool.c:
23925           doc fixes
23926
23927 2005-08-24  Andy Wingo  <wingo@pobox.com>
23928
23929         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
23930         convert a negative value. Doesn't make much sense. Mostly this is
23931         here to force callers to ensure -1 maps to -1.
23932
23933 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
23934
23935         * docs/pwg/advanced-types.xml:
23936           Well done to Michael for catching my deliberate introduction
23937           of this spelling mistake. 
23938         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
23939         * gst/gstelement.h:
23940           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
23941           unlink pads before removing the element from the bin.
23942
23943 2005-08-24  Andy Wingo  <wingo@pobox.com>
23944
23945         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
23946         the same thing as GST_DEBUG=*:4.
23947         (parse_debug_level, parse_debug_category): New helper parsers.
23948
23949 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23950
23951         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23952         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
23953         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
23954         (gst_base_transform_buffer_alloc),
23955         (gst_base_transform_handle_buffer):
23956           use gboolean return values and pointers to size so we can use the
23957           full GST_BUFFER_SIZE range (guint) for buffer sizes
23958           use GstPadDirection for transform_caps
23959         * gst/base/gstbasetransform.h:
23960           rename get_size to get_unit_size since that's what it is
23961         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
23962           use GstPadDirection for transform_caps
23963         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23964         * gst/gstutils.h:
23965           cleanup and debugging
23966
23967 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
23968
23969         * gst/gstelement.c: (gst_element_class_init),
23970         (gst_element_set_state), (activate_pads),
23971         (gst_element_save_thyself):
23972         * tools/gst-compprep.c: (main):
23973         * tools/gst-inspect.c: (print_element_properties_info):
23974         * tools/gst-xmlinspect.c: (print_element_properties):
23975           Fixed long standing mem-leak
23976
23977 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
23978
23979         * check/gst/gstbin.c: (GST_START_TEST):
23980         * gst/gstbin.c: (bin_bus_handler):
23981         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
23982         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
23983         (gst_message_new_warning), (gst_message_new_tag),
23984         (gst_message_new_state_changed), (gst_message_new_segment_start),
23985         (gst_message_new_segment_done), (gst_message_new_custom):
23986         * gst/gstmessage.h:
23987         * tools/gst-launch.c: (event_loop):
23988         * tools/gst-md5sum.c: (event_loop):
23989           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
23990           that applications can sensibly post custom messages with references
23991           to their own objects.
23992
23993 2005-08-24  Andy Wingo  <wingo@pobox.com>
23994
23995         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
23996         already.
23997
23998 2005-08-24  Wim Taymans  <wim@fluendo.com>
23999
24000         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24001         (gst_base_transform_transform_caps),
24002         (gst_base_transform_transform_size),
24003         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24004         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24005         (gst_base_transform_handle_buffer):
24006         * gst/base/gstbasetransform.h:
24007         Many fixes and new features added by Thomas. Can now also do
24008         transforms with variable sizes and a custom fixate_caps function.
24009
24010 2005-08-24  Wim Taymans  <wim@fluendo.com>
24011
24012         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24013         Some debugging.
24014
24015         * gst/gstclock.h:
24016         Cast to ClockTime before formatting to time.
24017
24018         * gst/gstutils.h:
24019         Cleanups.
24020
24021 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24022
24023         * check/gst-libs/controller.c: (GST_START_TEST),
24024         (gst_controller_suite):
24025         * docs/gst/tmpl/gstcaps.sgml:
24026         * docs/gst/tmpl/gstghostpad.sgml:
24027         * docs/gst/tmpl/gstquery.sgml:
24028         * docs/gst/tmpl/gstutils.sgml:
24029         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
24030         (gst_object_sink_values), (gst_object_get_value_arrays),
24031         (gst_object_get_value_array):
24032           gracefully handle helper method calls to objects that are not beeing
24033           controlled, added test case for that          
24034
24035 2005-08-23  Wim Taymans  <wim@fluendo.com>
24036
24037         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
24038         (gst_event_new_newsegment), (gst_event_parse_newsegment),
24039         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
24040         (gst_event_parse_qos), (gst_event_new_seek),
24041         (gst_event_parse_seek):
24042         * gst/gstevent.h:
24043         Some more debugging output and doc cleanups.
24044
24045         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24046         Fix possible deadlock.
24047
24048 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24049
24050         * docs/gst/gstreamer-docs.sgml:
24051         * docs/gst/gstreamer-sections.txt:
24052         * docs/gst/gstreamer.types:
24053         * docs/gst/tmpl/.cvsignore:
24054         * gst/gstbin.h:
24055         * gst/gstbus.c:
24056         * gst/gstelement.c:
24057         * gst/gstevent.h:
24058           added 100 symbols from gstreamer-unused.txt to the right sections
24059           fixed more broken comments
24060           added GstBus to docs
24061
24062 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24063
24064         * docs/gst/gstreamer-sections.txt:
24065         * docs/gst/tmpl/.cvsignore:
24066         * docs/gst/tmpl/gstbin.sgml:
24067         * docs/gst/tmpl/gstbuffer.sgml:
24068         * gst/base/gstbasesrc.c:
24069         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
24070         * gst/gstbuffer.c:
24071         * gst/gstbuffer.h:
24072         * tools/gst-launch.1.in:
24073           inlined more doc comments, added missing comments and fixed comments
24074           fixed typos
24075
24076 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24077
24078         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24079           some debugging
24080         * gst/gstcaps.h:
24081           whitespace fixes
24082         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
24083           more debugging
24084         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
24085         * gst/gststructure.h:
24086           add a fixate function for booleans; add a FIXME that these func
24087           names should probably be gst_structure_fixate_*
24088
24089 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24090
24091         * docs/gst/gstreamer-docs.sgml:
24092         * docs/gst/gstreamer-sections.txt:
24093         * gst/Makefile.am:
24094         * gst/gstbin.c: (gst_bin_get_type),
24095         (gst_bin_child_proxy_get_child_by_index),
24096         (gst_bin_child_proxy_get_children_count),
24097         (gst_bin_child_proxy_init):
24098         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24099         (gst_child_proxy_get_child_by_index),
24100         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
24101         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
24102         (gst_child_proxy_get), (gst_child_proxy_set_property),
24103         (gst_child_proxy_set_valist), (gst_child_proxy_set),
24104         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
24105         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
24106         * gst/gstchildproxy.h:
24107         * gst/parse/grammar.y:
24108         * tools/gst-inspect.c: (print_interfaces),
24109         (print_element_properties_info), (print_element_info):
24110           ported gstchildproxy over from 0.8
24111           ported gst-inspect fixes and enhancements over from 0.8
24112
24113 2005-08-22  Wim Taymans  <wim@fluendo.com>
24114
24115         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24116         (gst_base_transform_handle_buffer):
24117         Also call the transform function if we have ANY caps.
24118
24119         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
24120         Fix debug info.
24121
24122 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24123
24124         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
24125           Don't pretend to handle seek events if the source is not seekable
24126
24127 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24128
24129         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24130           Remove extra parameter to debug output
24131
24132         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24133         (gst_base_src_do_seek), (gst_base_src_activate_push):
24134           Fix seek event handling.
24135
24136         * gst/gstpipeline.c: (gst_pipeline_change_state):
24137         * gst/gstqueue.c: (gst_queue_handle_sink_event),
24138         (gst_queue_src_activate_push):
24139           Don't start the src pad task on FLUSH_STOP if the pad
24140           isn't linked.
24141           Debug changes.
24142
24143 2005-08-22  Wim Taymans  <wim@fluendo.com>
24144
24145         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
24146         Added check for gst_static_caps_get() refcounting.
24147
24148 2005-08-22  Wim Taymans  <wim@fluendo.com>
24149
24150         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
24151         Make _static_caps_get() refcounting sane.
24152         
24153         * gst/gstelement.c: (gst_element_set_state):
24154         Add g_return_val_if_fail() to protect against segfaults.
24155
24156 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
24157
24158         * docs/gst/tmpl/gstevent.sgml:
24159         * gst/gstevent.c:
24160         * gst/gstevent.h:
24161           inlined remaining docs, added missing doc comments
24162
24163 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24164
24165         * check/gst/gstbin.c: (GST_START_TEST):
24166           since we don't know when preroll is done, use refcount range
24167           check for the sink
24168         * gst/check/gstcheck.h:
24169           add macro for checking refcount range
24170
24171 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24172
24173         * check/Makefile.am:
24174           clean up environment for when registry gets built versus
24175           when actual tests are run; valgrind seems to not report
24176           leaks if GST_PLUGIN_PATH is set to some specific values
24177         * check/gst/gstbin.c: (GST_START_TEST):
24178           add more refcounting checks; maybe this exposes a
24179           preroll lock bug ?
24180         * common/check.mak:
24181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24182         * gst/check/gstcheck.h:
24183         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
24184         (gst_bin_change_state):
24185         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
24186           add/fix debugging/whitespace
24187
24188 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24189
24190         * check/gst/gstevent.c: (event_probe), (test_event),
24191         (GST_START_TEST):
24192          Er, don't call gst_bin_watch_for_state_change you idiot.
24193
24194 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24195
24196         * check/Makefile.am:
24197           Use CHECK_CFLAGS and CHECK_LIBS
24198         * check/gst/gstevent.c: (event_probe), (test_event),
24199         (GST_START_TEST):
24200           Don't leak events.
24201         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24202         (gst_base_src_start), (gst_base_src_stop),
24203         (gst_base_src_activate_push), (gst_base_src_activate_pull),
24204         (gst_base_src_change_state):
24205           Sprinkle gst_base_src_stop liberally around error paths to fix
24206           problems reusing a source after failed state changes.
24207         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24208         (helper_find_suggest), (gst_type_find_helper):
24209           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
24210         * gst/gstevent.h:
24211         * docs/gst/tmpl/gstevent.sgml:
24212           Migrate part of the docs from the SGML file. Wait for ensonic to
24213           tell me how I did it wrong ;)
24214         * tools/gst-typefind.c: (main):
24215           Extra robustness to state changes between files.
24216
24217 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24218
24219         * check/Makefile.am:
24220           don't valgrind the controller test - it's leaking - Stefan, HELP
24221         * gst/check/gstcheck.c: (gst_check_message_error),
24222         (gst_check_chain_func), (gst_check_setup_element),
24223         (gst_check_teardown_element), (gst_check_setup_src_pad),
24224         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
24225         (gst_check_teardown_sink_pad):
24226         * gst/check/gstcheck.h:
24227           add a bunch of methods to set up elements, and src and sink pads
24228         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
24229         * check/elements/identity.c: (setup_identity), (cleanup_identity),
24230         (GST_START_TEST):
24231           use them
24232         * gst/gstmessage.c:
24233         * gst/gsttag.h:
24234           whitespace/doc fixes
24235
24236 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24237
24238         * gst/gstelement.h:
24239           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
24240           be handled by the application and not always printed as well
24241
24242 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24243
24244         * check/Makefile.am:
24245           set GST_TOOLS_DIR
24246         * gst/check/gstcheck.c: (gst_check_message_error):
24247         * gst/check/gstcheck.h:
24248           add a fail_unless_equals_int
24249           add fail_unless for error messages
24250
24251 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24252
24253         * check/Makefile.am:
24254         * check/gst.supp:
24255         * common/Makefile.am:
24256         * common/check.mak:
24257         * common/gst.supp:
24258           factor out some of the common stuff so we can use it
24259
24260 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24261
24262         * check/Makefile.am:
24263         * check/gst/gstiterator.c: (GST_START_TEST):
24264         * check/gst/gstsystemclock.c: (GST_START_TEST),
24265         (gst_systemclock_suite):
24266         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24267         * gst/gstclock.c:
24268           valgrind more tests
24269
24270 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24271
24272         * check/elements/.cvsignore:
24273         * check/elements/gstfakesrc.c:
24274           rename to name of element
24275         * check/elements/identity.c: (chain_func), (event_func),
24276         (setup_identity), (cleanup_identity), (GST_START_TEST),
24277         (identity_suite), (main):
24278           add a test for identity
24279         * check/Makefile.am:
24280         * pkgconfig/Makefile.am:
24281         * pkgconfig/gstreamer-check.pc.in:
24282         * pkgconfig/gstreamer-check-uninstalled.pc.in:
24283         * gst/check:
24284         * gst/Makefile.am:
24285         * configure.ac:
24286           move the check stuff to a library that gets installed
24287         * check/gst-libs/controller.c: (GST_START_TEST):
24288         * check/gst-libs/gdp.c:
24289         * check/gst/gst.c: (GST_START_TEST):
24290         * check/gst/gstbin.c:
24291         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24292         * check/gst/gstbus.c:
24293         * check/gst/gstcaps.c: (GST_START_TEST):
24294         * check/gst/gstelement.c:
24295         * check/gst/gstghostpad.c:
24296         * check/gst/gstiterator.c:
24297         * check/gst/gstmessage.c:
24298         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
24299         * check/gst/gstobject.c:
24300         * check/gst/gstpad.c: (GST_START_TEST):
24301         * check/gst/gststructure.c: (GST_START_TEST):
24302         * check/gst/gstsystemclock.c: (GST_START_TEST),
24303         (gst_systemclock_suite):
24304         * check/gst/gsttag.c: (gst_tag_suite):
24305         * check/gst/gstvalue.c:
24306         * check/pipelines/cleanup.c:
24307         * check/pipelines/simple_launch_lines.c:
24308         * check/states/sinks.c:
24309           change include statement
24310
24311         * docs/gst/gstreamer-sections.txt:
24312         * docs/gst/tmpl/gstpad.sgml:
24313           document more pad stuff
24314         * gst/gstminiobject.c: (gst_mini_object_ref),
24315         (gst_mini_object_unref):
24316           debug refcounting
24317
24318 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
24319
24320         * docs/gst/tmpl/gst.sgml:
24321         * gst/gst.c:
24322           eliminate another tmpl file, fix spelling in the long-description
24323
24324 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24325
24326         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24327         (test_event), (timediff), (gstevents_suite):
24328           Should fix build on 64-bit arch's
24329
24330 2005-08-18  Andy Wingo  <wingo@pobox.com>
24331
24332         Make sure that when a pipeline goes to PLAYING, that data has
24333         actually hit the sink.
24334
24335         * check/states/sinks.c (test_sink): A sink that doesn't get any
24336         data shouldn't return SUCCESS for going to either PLAYING or
24337         PAUSED. Test also the return values on the way back down.
24338
24339         * gst/gstelement.c (gst_element_set_state): When changing the
24340         state of an element currently changing state asynchronously, go to
24341         lost-state after commiting the pending state. Makes future calls
24342         to get_state continue to return ASYNC.
24343
24344         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
24345         ASYNC when going to PLAYING if we still don't have preroll, as can
24346         happen with live sources.
24347
24348 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24349
24350         * docs/pwg/advanced-types.xml:
24351           Hack long paragraph into 2 chunks as a workaround for buggy
24352           jadetex version in sid and breezy that loops infinitely and
24353           eats all RAM.
24354
24355 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24356
24357         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24358         (test_event), (timediff), (gstevents_suite):
24359           Provide more error margin in clock measurements to allow for 
24360           g_get_current_time inaccuracies.
24361
24362 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24363
24364         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24365         (test_event), (timediff), (gstevents_suite):
24366            Fix error message output so I might be able to tell why the
24367            test works here but fails on the build farm.
24368
24369 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24370
24371         * check/Makefile.am:
24372         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24373         (test_event), (timediff), (gstevents_suite), (main):
24374           I wrote a test!
24375
24376         * docs/design/part-seeking.txt:
24377           Spelling correction
24378
24379         * docs/gst/tmpl/gstevent.sgml:
24380         * docs/gst/tmpl/gstfakesrc.sgml:
24381           Docs updates.
24382
24383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24384           Treat a buffer-without-newsegment the same as a receiving 
24385           a newsegment not in time format, and disable syncing to the clock
24386           with a warning.
24387
24388         * gst/gstbus.c: (gst_bus_set_sync_handler):
24389           Assert if anyone tries to replace the existing sync_handler for bus, 
24390           as only the owner should be setting it.
24391
24392         * gst/gstevent.h:
24393           Have a fixed set of custom event enums with events identified by
24394           their structure name (as in 0.8), rather than a free-for-all
24395           allowing collisions between enum values from different plugins.
24396
24397         * gst/gstpad.c: (gst_pad_class_init):
24398           Docs change.
24399           
24400         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24401           Handle out-of-band downstream events from the sending thread.
24402
24403 2005-08-17  Andy Wingo  <wingo@pobox.com>
24404
24405         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
24406         play-timeout==0 to mean no timeout at all. In that case, don't
24407         bother with a get_state or a warning, just return directly, even
24408         if it's ASYNC.
24409
24410         * gst/base/gstbasetransform.c: Debug changes.
24411
24412         * gst/gstutils.h:
24413         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
24414         ensure bins post state change messages. A bit of a hack but I can't
24415         think of a way to avoid it.
24416
24417         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
24418
24419 2005-08-16  Andy Wingo  <wingo@pobox.com>
24420
24421         * gst/base/gstadapter.h:
24422         * gst/base/gstadapter.c (gst_adapter_take): New function, like
24423         peek() but you own the data. Not terribly efficient atm.
24424
24425 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24426
24427         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
24428         (gst_element_found_tags):
24429         * gst/gstutils.h:
24430           Add two utility functions for tag handling.
24431
24432 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24433
24434         * docs/manual/advanced-dataaccess.xml:
24435         * docs/manual/basics-helloworld.xml:
24436           Fix docs to use _bin_add() before _link(), which fixes the examples
24437           with recent core versions (reported by Madhan Raj M
24438           <raj_madan@rediffmail.com>, #313199).
24439
24440 2005-08-16  Wim Taymans  <wim@fluendo.com>
24441
24442         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24443         Added subtract checks.
24444
24445         * docs/design/part-events.txt:
24446         Some more docs about newsegment
24447
24448         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24449         Fix FIXME
24450
24451         * gst/gstcaps.c: (gst_caps_to_string):
24452         Add comments, cleanups.
24453         
24454         * gst/gstelement.c: (gst_element_save_thyself):
24455         cleanups
24456         
24457         * gst/gstvalue.c: (gst_value_collect_int_range),
24458         (gst_string_unwrap), (gst_value_union_int_int_range),
24459         (gst_value_union_int_range_int_range),
24460         (gst_value_intersect_int_int_range),
24461         (gst_value_intersect_int_range_int_range),
24462         (gst_value_intersect_double_double_range),
24463         (gst_value_intersect_double_range_double_range),
24464         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
24465         (gst_value_subtract_int_range_int),
24466         (gst_value_subtract_double_range_double),
24467         (gst_value_subtract_double_range_double_range),
24468         (gst_value_subtract_from_list), (gst_value_subtract_list),
24469         (gst_value_can_compare), (gst_value_compare_fraction):
24470         Cleanups, add comments, remove unneeded asserts.
24471
24472 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
24473
24474         * tools/gst-launch.c: (event_loop):
24475           don't convert NULL structures to strings
24476
24477 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
24478
24479         * docs/gst/gstreamer-sections.txt:
24480           made some defines private
24481         * docs/gst/tmpl/gstconfig.sgml:
24482         * docs/gst/tmpl/gstqueue.sgml:
24483         * docs/gst/tmpl/gsttaglist.sgml:
24484         * docs/gst/tmpl/gsttypes.sgml:
24485         * docs/gst/tmpl/gstutils.sgml:
24486         * docs/pwg/appendix-porting.xml:
24487         * gst/base/gstbasesink.h:
24488         * gst/base/gstbasesrc.c:
24489         * gst/base/gstbasesrc.h:
24490         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
24491         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
24492         * gst/gstelement.c: (gst_element_class_init):
24493         * gst/gstpad.c: (gst_pad_class_init):
24494         * gst/gstqueue.c: (gst_queue_class_init):
24495         * gst/gstxml.c: (gst_xml_class_init):
24496           documented all undocumented signal inline
24497         * libs/gst/controller/gst-controller.h:
24498           added padding
24499
24500 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24501
24502         * docs/pwg/appendix-porting.xml:
24503           Document _set_link_function -> _set_setcaps_function.
24504
24505 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
24506
24507         * check/Makefile.am:
24508           add a .check target for running the check
24509         * check/gst-libs/controller.c: (GST_START_TEST):
24510           cosmetic fixups
24511         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24512           complete checks for gstbuffer; would be nice if I could get the
24513           gcov stuff to work so I can see if I actually completed gstbuffer.c
24514         * check/gstcheck.h:
24515           add ASSERT_BUFFER_REFCOUNT
24516
24517 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
24518
24519         * docs/gst/gstreamer-sections.txt:
24520         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
24521         * gst/gsttag.h:
24522           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
24523           spew out a warning if a tag that is already registered
24524           is re-registered, unless it is re-registered with a 
24525           different type (#308438).
24526
24527 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
24528
24529         * docs/pwg/appendix-porting.xml:
24530         * docs/pwg/building-state.xml:
24531           Add some paragraphs about state changes in 0.9 to the PWG
24532           and the porting guide, in particular about the new meaning
24533           of GST_STATE_PAUSED and how to write state change functions
24534           with concurrent access by multiple threads in mind.
24535
24536 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
24537
24538         * docs/gst/gstreamer-docs.sgml:
24539         * docs/libs/gstreamer-libs-docs.sgml:
24540           added deprecation and since indexes
24541         * libs/gst/controller/gst-controller.c:
24542         * libs/gst/controller/gst-helper.c:
24543           added since tags
24544
24545
24546 2005-08-11  Wim Taymans  <wim@fluendo.com>
24547
24548         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
24549         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
24550         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
24551         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
24552         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
24553         (gst_ghost_pad_set_target):
24554         Actually implement (re)setting the target on a ghostpad
24555         as described in the docs.
24556
24557 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
24558
24559         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
24560           Check whether GST_DEBUG_NO_COLOR environment variable is
24561           set and disable coloured debug output if that is the case.
24562
24563 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
24564
24565         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24566         (gst_type_find_helper):
24567           The memory returned by gst_type_find_peek() needs to
24568           stay valid until the end of a typefind function, and
24569           typefind functions may keep results from different 
24570           offsets around, so we can't just unref the buffer from
24571           the previous _peek(), but have to save all buffers 
24572           returned by _peek() until typefinding is done and only
24573           free them then.
24574
24575 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
24576
24577         * docs/gst/gstreamer-sections.txt:
24578         * gst/gstutils.h:
24579           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
24580
24581 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24582
24583         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
24584           Fix a pretty good memleak.
24585
24586 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
24587
24588         * gst/gstiterator.h:
24589           Fix wrong include and 'make distcheck'.
24590
24591 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24592
24593         * gst/gstbin.c: (bin_bus_handler):
24594           Use gst_element_post_message() instead.
24595
24596 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
24597
24598         * gst/base/gstadapter.h:
24599         * gst/base/gstbasesink.h:
24600         * gst/base/gstbasesrc.h:
24601         * gst/base/gstbasetransform.h:
24602         * gst/base/gstcollectpads.h:
24603         * gst/base/gstpushsrc.h:
24604         * gst/gstiterator.h:
24605           Add padding to our base elements' class and instance structs and
24606           to GstIterator (you will need to rebuild all plugins and apps!)
24607
24608 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24609
24610         * gst/gstbin.c: (bin_bus_handler):
24611           Make default message forwarding from child->bus to bin->bus
24612           threadsafe and make it not emit warnings if the parent has no bus.
24613
24614 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24615
24616         * gst/gstelement.c: (activate_pads):
24617           On paused->ready, set pad->caps to NULL, as is the documented
24618           behaviour in this state change. Fixes playback of series of
24619           media files when visualization is enabled in Totem.
24620
24621 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24622
24623         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24624           Allow NULL as filter-caps (which means "any").
24625
24626 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24627
24628         * docs/libs/gstreamer-libs-sections.txt:
24629         * libs/gst/controller/gst-controller.c:
24630         * libs/gst/controller/gst-controller.h:
24631         * libs/gst/controller/gst-helper.c:
24632           adding more entries to the docs and fix small doc-bugs
24633
24634 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24635
24636         * docs/gst/gstreamer-docs.sgml:
24637         * docs/gst/gstreamer-sections.txt:
24638         * docs/gst/gstreamer.types:
24639         * docs/gst/tmpl/gstbasesink.sgml:
24640         * docs/gst/tmpl/gstbasesrc.sgml:
24641         * docs/gst/tmpl/gstbasetransform.sgml:
24642         * docs/gst/tmpl/gstfakesrc.sgml:
24643         * gst/base/gstcollectpads.c:
24644         * gst/base/gstcollectpads.h:
24645         * libs/gst/controller/gst-controller.c:
24646         * libs/gst/controller/gst-controller.h:
24647         * libs/gst/controller/gst-helper.c:
24648         * libs/gst/controller/gst-interpolation.c:
24649         * libs/gst/controller/lib.c:
24650           added long/short desc for controller docs
24651           added collectpads base class docs
24652           added correct includes to base-class docs
24653
24654 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
24655
24656         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24657         (gst_test_mono_source_set_property),
24658         (gst_test_mono_source_class_init), (GST_START_TEST),
24659         (gst_controller_suite):
24660         * docs/gst/gstreamer-docs.sgml:
24661         * docs/gst/gstreamer-sections.txt:
24662         * docs/gst/gstreamer.types:
24663         * docs/libs/gstreamer-libs-docs.sgml:
24664         * docs/libs/gstreamer-libs-sections.txt:
24665         * gst/base/gstadapter.c:
24666         * libs/gst/controller/gst-controller.c:
24667         (gst_controlled_property_new), (gst_controlled_property_free),
24668         (gst_controller_new_valist),
24669         (gst_controller_remove_properties_valist),
24670         (gst_controller_sink_values), (_gst_controller_finalize):
24671         * libs/gst/controller/gst-controller.h:
24672         * libs/gst/controller/gst-helper.c:
24673         (gst_object_control_properties), (gst_object_uncontrol_properties),
24674         (gst_object_get_controller), (gst_object_set_controller),
24675         (gst_object_sink_values), (gst_object_get_value_arrays),
24676         (gst_object_get_value_array):
24677           more tests (and fixes) for the controller
24678           more docs for the controller
24679           integrated companies docs for the adapter 
24680
24681 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24682
24683         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
24684         (GST_START_TEST), (fakesrc_suite):
24685           add tests for sizetype
24686
24687 2005-08-04  Andy Wingo  <wingo@pobox.com>
24688
24689         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
24690         fixes buffer_alloc proxying among other things.
24691
24692         * gst/base/gstbasetransform.c:
24693         * gst/base/gstbasetransform.h:
24694         Revert patch to gstbasetransform from 7-28 removing
24695         delay_configure.
24696
24697         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
24698         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
24699         Semantics changed, should return not the size of the output buffer
24700         but the byte size of a buffer with a given caps.
24701
24702         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
24703         debug object.
24704         (gst_base_transform_configure_caps): Don't set out_size here: (in,
24705         out) are not the pad caps until setcaps finishes.
24706         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
24707         not-in-place case as well. Deal with changing from in-place to
24708         not-in-place within calling pad_alloc_buffer. Still a bit
24709         concerned about the overhead here...
24710
24711 2005-08-03  Andy Wingo  <wingo@pobox.com>
24712
24713         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
24714         fixating is an error.
24715
24716 2005-08-04  Edward Hervey  <edward@fluendo.com>
24717
24718         * gst/base/gstadapter.h: 
24719         Added gst_adapter_get_type() to the header
24720
24721 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24722
24723         * check/Makefile.am:
24724         * check/gst-libs/controller.c:
24725         * libs/gst/controller/gst-controller.c:
24726         (gst_controller_new_valist):
24727           added check test suite for the controller
24728         * gst/base/gstpushsrc.c:
24729           fixed a doc typo
24730
24731 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24732
24733         * docs/gst/Makefile.am:
24734         * docs/gst/gstreamer-docs.sgml:
24735         * docs/gst/gstreamer-sections.txt:
24736         * docs/gst/gstreamer.types:
24737         * docs/gst/tmpl/gstfakesrc.sgml:
24738         * gst/base/README:
24739         * gst/base/gstbasesink.c:
24740         * gst/base/gstbasesink.h:
24741         * gst/base/gstbasesrc.c:
24742         * gst/base/gstbasesrc.h:
24743         * gst/base/gstbasetransform.c:
24744         * gst/base/gstpushsrc.c:
24745         * gst/base/gstpushsrc.h:
24746           add short/long description docs to base classes
24747           add pushsrc to the docs
24748           remove consolidated doc fragments
24749
24750 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
24751
24752         * configure.ac:
24753         * docs/libs/Makefile.am:
24754         * docs/libs/gstreamer-libs-docs.sgml:
24755         * docs/libs/gstreamer-libs-sections.txt:
24756         * docs/libs/gstreamer-libs.types:
24757         * examples/Makefile.am:
24758         * examples/controller/.cvsignore:
24759         * examples/controller/Makefile.am:
24760         * examples/controller/audio-example.c: (main):
24761         * libs/gst/Makefile.am:
24762         * libs/gst/controller/.cvsignore:
24763         * libs/gst/controller/Makefile.am:
24764         * libs/gst/controller/gst-controller.c:
24765         (on_object_controlled_property_changed), (gst_timed_value_compare),
24766         (gst_timed_value_find),
24767         (gst_controlled_property_set_interpolation_mode),
24768         (gst_controlled_property_new), (gst_controlled_property_free),
24769         (gst_controller_find_controlled_property),
24770         (gst_controller_new_valist), (gst_controller_new),
24771         (gst_controller_remove_properties_valist),
24772         (gst_controller_remove_properties), (gst_controller_set),
24773         (gst_controller_set_from_list), (gst_controller_unset),
24774         (gst_controller_get), (gst_controller_get_all),
24775         (gst_controller_sink_values), (gst_controller_get_value_arrays),
24776         (gst_controller_get_value_array),
24777         (gst_controller_set_interpolation_mode),
24778         (_gst_controller_finalize), (_gst_controller_init),
24779         (_gst_controller_class_init), (gst_controller_get_type):
24780         * libs/gst/controller/gst-controller.h:
24781         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
24782         (g_object_uncontrol_properties), (g_object_get_controller),
24783         (g_object_set_controller), (g_object_sink_values),
24784         (g_object_get_value_arrays), (g_object_get_value_array):
24785         * libs/gst/controller/gst-interpolation.c:
24786         (gst_controlled_property_find_timed_value_node),
24787         (interpolate_none_get), (interpolate_trigger_get),
24788         (interpolate_trigger_get_value_array):
24789         * libs/gst/controller/lib.c: (gst_controller_init):
24790         * pkgconfig/Makefile.am:
24791         * pkgconfig/gstreamer-control-uninstalled.pc.in:
24792         * pkgconfig/gstreamer-control.pc.in:
24793         * testsuite/Makefile.am:
24794         * testsuite/controller/.cvsignore:
24795         * testsuite/controller/Makefile.am:
24796         * testsuite/controller/interpolator.c: (main):
24797           added controller code
24798           removed dparam pc files
24799
24800 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
24801         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
24802         (gst_collectpads_stop):
24803           Broadcast the condition when shutting down, to make sure we wake all
24804           threads up. Shut down pads on finalize, for safety.
24805
24806 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
24807         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24808         (gst_base_transform_handle_buffer),
24809         (gst_base_transform_change_state):
24810           Handle PAUSED->READY->PAUSED transition after negotiation
24811           occurred already.
24812         * gst/gstmessage.c: (gst_message_init):
24813           Extra piece of debug for new messages.
24814
24815 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
24816
24817         * configure.ac:
24818         * docs/gst/tmpl/gstbasesrc.sgml:
24819         * docs/gst/tmpl/gstelement.sgml:
24820         * docs/gst/tmpl/gstevent.sgml:
24821         * docs/gst/tmpl/gstfakesrc.sgml:
24822         * docs/gst/tmpl/gstformat.sgml:
24823         * docs/gst/tmpl/gstghostpad.sgml:
24824         * docs/gst/tmpl/gstpad.sgml:
24825         * docs/gst/tmpl/gstquery.sgml:
24826         * docs/gst/tmpl/gststructure.sgml:
24827         * docs/gst/tmpl/gsttaglist.sgml:
24828         * docs/gst/tmpl/gstvalue.sgml:
24829         * docs/libs/gstreamer-libs-docs.sgml:
24830         * docs/libs/gstreamer-libs-sections.txt:
24831         * docs/libs/gstreamer-libs.types:
24832         * libs/gst/Makefile.am:
24833         * libs/gst/control/.cvsignore:
24834         * libs/gst/control/Makefile.am:
24835         * libs/gst/control/control.c:
24836         * libs/gst/control/control.h:
24837         * libs/gst/control/dparam.c:
24838         * libs/gst/control/dparam.h:
24839         * libs/gst/control/dparam_smooth.c:
24840         * libs/gst/control/dparam_smooth.h:
24841         * libs/gst/control/dparamcommon.h:
24842         * libs/gst/control/dparammanager.c:
24843         * libs/gst/control/dparammanager.h:
24844         * libs/gst/control/dplinearinterp.c:
24845         * libs/gst/control/dplinearinterp.h:
24846         * libs/gst/control/unitconvert.c:
24847         * libs/gst/control/unitconvert.h:
24848         * testsuite/Makefile.am:
24849         * testsuite/dynparams/.cvsignore:
24850         * testsuite/dynparams/Makefile.am:
24851         * testsuite/dynparams/dparamstest.c:
24852         * tools/Makefile.am:
24853         * tools/gst-inspect.c: (print_element_info), (main):
24854         * tools/gst-xmlinspect.c: (print_element_info), (main):
24855           deactivate and remove dparams (libgstcontrol)
24856
24857 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
24858
24859         * gst/elements/gsttypefindelement.c:
24860         (gst_type_find_element_have_type), (gst_type_find_element_init),
24861         (stop_typefinding), (gst_type_find_element_handle_event),
24862         (gst_type_find_element_chain), (gst_type_find_element_getrange):
24863         * gst/elements/gsttypefindelement.h:
24864           Set caps on all outgoing buffers, not just the first one.
24865
24866 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
24867
24868         * gst/elements/gsttypefindelement.c:
24869         (gst_type_find_element_have_type),
24870         (gst_type_find_element_check_set_buffer_caps),
24871         (gst_type_find_element_init), (stop_typefinding),
24872         (gst_type_find_element_handle_event),
24873         (gst_type_find_element_chain), (gst_type_find_element_getrange):
24874         * gst/elements/gsttypefindelement.h:
24875           Set caps on first outgoing buffer when we've found the type.
24876
24877 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
24878
24879         * docs/gst/gstreamer-docs.sgml:
24880         * docs/gst/gstreamer-sections.txt:
24881         * docs/gst/tmpl/gstscheduler.sgml:
24882         * docs/gst/tmpl/gstschedulerfactory.sgml:
24883           Remove some old cruft from docs.
24884
24885 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
24886
24887         * gst/gstpad.h:
24888           Fix inline docs for GstPadLinkReturn.
24889           
24890         * gst/gststructure.c: (gst_structure_has_name):
24891         * gst/gststructure.h:
24892         * docs/gst/gstreamer-sections.txt:
24893           New API: gst_structure_has_name().
24894
24895 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
24896
24897         * configure.ac:
24898           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
24899           and _LARGEFILE_SOURCE in config.h as required. Do not 
24900           export those flags in our .pc files any longer (#142209).
24901
24902           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
24903
24904         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
24905         (gst_file_sink_do_seek), (gst_file_sink_event),
24906         (gst_file_sink_get_current_offset), (gst_file_sink_render):
24907           Redo seek/tell calls with large file support in mind; add some
24908           debugging messages; add log message that tells us when large
24909           file support is unavailable or not enabled for some reason.
24910
24911         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
24912           Add log message that tells us when large file support 
24913           is unavailable or not enabled for some reason.
24914
24915 2005-07-29  Wim Taymans  <wim@fluendo.com>
24916
24917         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
24918         Added test for removing an element with ghostpad from a bin.
24919         Fixed test as current implementation does the right thing.
24920
24921         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
24922         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
24923         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
24924         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
24925         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
24926         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
24927         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
24928         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
24929         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
24930         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
24931         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
24932         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
24933         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
24934         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
24935         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
24936         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
24937         * gst/gstghostpad.h:
24938         Clean up ghostpads, remove properties for internal stuff.
24939         Make threadsafe.
24940         Fix refcounting.
24941         Prepare for switching targets, not all use cases work yet.
24942
24943 2005-07-29  Wim Taymans  <wim@fluendo.com>
24944
24945         * docs/design/part-gstghostpad.txt:
24946         Small update.
24947
24948         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
24949         (gst_bin_remove_func):
24950         Unlinking pads while holding the bin LOCK is not a good
24951         idea.
24952
24953         * gst/gstpad.c: (gst_pad_class_init),
24954         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
24955         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
24956         No prob setting template after creating the pad.
24957
24958 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
24959
24960         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
24961         (gst_bus_peek), (gst_bus_source_dispatch),
24962         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
24963         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
24964           gst_bus_poll may be called from other threads. Handle
24965           this nicely by not making poll_data disappear off the
24966           stack once gst_bus_poll returns.
24967           gst_bus_peek now increments the refcount on the returned
24968           message.
24969
24970 2005-07-29  Wim Taymans  <wim@fluendo.com>
24971
24972         * docs/design/part-gstghostpad.txt:
24973         Overview of current GhostPad datastructures and use
24974         cases for changing the target.
24975
24976 2005-07-28  Wim Taymans  <wim@fluendo.com>
24977
24978         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24979         Added checks for hierarchy consistency whan adding linked
24980         elements to bins.
24981
24982         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24983         Added check to test element scheduling without bin/pipeline.
24984
24985         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24986         First add elements to bin, then link.
24987         
24988         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
24989         (gst_bin_remove_func):
24990         Unlink pads from elements added/removed from bin to maintain
24991         hierarchy consistency.
24992
24993 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24994
24995         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24996         (gst_base_transform_handle_buffer):
24997         * gst/base/gstbasetransform.h:
24998           Remove broken delay_configure (fixes renegotiation of software
24999           scaling pipelines); remove some leftover printf()s.
25000
25001 2005-07-28  Wim Taymans  <wim@fluendo.com>
25002
25003         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25004         Added some more tests for wrong hierarchy
25005
25006         * docs/design/part-overview.txt:
25007         Some updates.
25008
25009         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
25010         Cleanups.
25011
25012         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
25013         (gst_element_dispose):
25014         Some more cleanups.
25015
25016         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25017         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
25018         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25019         (gst_pad_set_caps), (gst_pad_send_event):
25020         Check for correct hierarchy when linking pads. Moving to
25021         strict requirement for ghostpads when linking elements in
25022         different bins.
25023
25024         * gst/gstpad.h:
25025         Clean ups. Added WRONG_HIERARCHY return value.
25026
25027 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25028
25029         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25030           Better debug if no transform is possible.
25031
25032 2005-07-27  Wim Taymans  <wim@fluendo.com>
25033
25034         * docs/random/wtay/network-transp:
25035         Some old doc I had.
25036
25037 2005-07-27  Wim Taymans  <wim@fluendo.com>
25038
25039         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25040         (gst_dp_event_from_packet):
25041         Fix serialization of seek events.
25042
25043 2005-07-27  Wim Taymans  <wim@fluendo.com>
25044
25045         * check/gst-libs/gdp.c: (GST_START_TEST):
25046         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25047         Fix compilation and fix event serialization.
25048
25049 2005-07-27  Wim Taymans  <wim@fluendo.com>
25050
25051         * CHANGES-0.9:
25052         * docs/design/part-TODO.txt:
25053         * docs/design/part-events.txt:
25054         Some docs updates
25055
25056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25057         (gst_base_sink_event), (gst_base_sink_do_sync),
25058         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25059         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25060         (gst_base_src_do_seek), (gst_base_src_event_handler),
25061         (gst_base_src_loop):
25062         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25063         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25064         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25065         (gst_base_transform_event), (gst_base_transform_handle_buffer),
25066         (gst_base_transform_set_passthrough),
25067         (gst_base_transform_is_passthrough):
25068         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25069         * gst/elements/gstfilesink.c: (gst_file_sink_event):
25070         Event updates.
25071
25072         * gst/gstbuffer.h:
25073         Use faster casts.
25074
25075         * gst/gstelement.c: (gst_element_seek):
25076         * gst/gstelement.h:
25077         Update gst_element_seek.
25078
25079         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
25080         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
25081         (gst_event_new_flush_start), (gst_event_new_flush_stop),
25082         (gst_event_new_eos), (gst_event_new_newsegment),
25083         (gst_event_parse_newsegment), (gst_event_new_tag),
25084         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
25085         (gst_event_parse_qos), (gst_event_new_seek),
25086         (gst_event_parse_seek), (gst_event_new_navigation):
25087         * gst/gstevent.h:
25088         Make GstEvent use GstStructure. Add parsing code, make sure the
25089         API is sufficiently generic.
25090         Mark possible directions of events and serialization.
25091
25092         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
25093         (_gst_message_copy), (gst_message_new_segment_start),
25094         (gst_message_new_segment_done), (gst_message_new_custom),
25095         (gst_message_parse_segment_start),
25096         (gst_message_parse_segment_done):
25097         Small cleanups.
25098
25099         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25100         (gst_pad_set_caps), (gst_pad_send_event):
25101         Update for new events. 
25102         Catch events sent in wrong directions.
25103
25104         * gst/gstqueue.c: (gst_queue_link_src),
25105         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25106         (gst_queue_handle_src_query):
25107         Event updates.
25108
25109         * gst/gsttag.c:
25110         * gst/gsttag.h:
25111         Remove event code from this file.
25112
25113         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25114         (gst_dp_event_from_packet):
25115         Event updates.
25116
25117 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25118
25119         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
25120         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25121         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
25122           Make debugging actually useful.
25123
25124 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25125
25126         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
25127         (gst_pad_fixate_caps):
25128           Implement default fixation once again, so that gst_pad_fixate()
25129           actually does anything at all. This probably needs to be some
25130           sort of a last resort, and use profile-based fixation first, but
25131           since that doesn't exist yet, this is the best we have. Fixes
25132           visualization in Totem.
25133
25134 2005-07-22  Wim Taymans  <wim@fluendo.com>
25135
25136         * docs/design/part-events.txt:
25137         Small update.
25138
25139         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25140         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
25141         (gst_base_sink_activate_pull):
25142         Some more comments.
25143
25144         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
25145         (gst_fake_src_create):
25146         Fix handoff marshall.
25147
25148         * gst/elements/gstidentity.c: (gst_identity_class_init),
25149         (gst_identity_transform_ip):
25150         We're a real inplace element.
25151
25152         * gst/gstbus.c: (gst_bus_post):
25153         Added some comments.
25154
25155         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
25156         * tests/muxing/case1.c: (main):
25157         * tests/sched/dynamic-pipeline.c: (main):
25158         * tests/sched/interrupt1.c: (main):
25159         * tests/sched/interrupt2.c: (main):
25160         * tests/sched/interrupt3.c: (main):
25161         * tests/sched/runxml.c: (main):
25162         * tests/sched/sched-stress.c: (main):
25163         * tests/seeking/seeking1.c: (event_received), (main):
25164         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
25165         (main):
25166         * tests/threadstate/threadstate3.c: (main):
25167         * tests/threadstate/threadstate4.c: (main):
25168         * tests/threadstate/threadstate5.c: (main):
25169         Fix the tests.
25170
25171 2005-07-21  Wim Taymans  <wim@fluendo.com>
25172
25173         * docs/design/part-seeking.txt:
25174         Some small additions.
25175
25176         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25177         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25178         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25179         * gst/base/gstbasesink.h:
25180         discont values are gint64, handle the math correctly.
25181
25182         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25183         Make the basesrc report error if the source pad is not linked.
25184
25185         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
25186         (gst_queue_loop), (gst_queue_handle_src_query),
25187         (gst_queue_src_activate_push):
25188         Make queue collect data even if the srcpad is not linked.
25189         Start pushing out data as soon as it is linked.
25190
25191         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
25192         * gst/gstutils.h:
25193         Added gst_flow_get_name() to ease error reporting.
25194
25195 2005-07-20  Wim Taymans  <wim@fluendo.com>
25196
25197         * gst/gstmessage.c: (gst_message_new_segment_start),
25198         (gst_message_new_segment_done), (gst_message_parse_segment_start),
25199         (gst_message_parse_segment_done):
25200         * gst/gstmessage.h:
25201         Added a bunch of messages for advanced seeking.
25202
25203         * gst/parse/grammar.y:
25204         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
25205         (gst_dpman_state_changed):
25206         Fix some new-pad -> pad-added signals
25207
25208 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25209
25210         * docs/manual/appendix-porting.xml:
25211         * docs/pwg/appendix-porting.xml:
25212           Document new-pad/state-change signal renames and the FixedList
25213           type rename.
25214
25215 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25216
25217         * docs/manual/advanced-autoplugging.xml:
25218         * docs/manual/basics-helloworld.xml:
25219         * docs/manual/basics-pads.xml:
25220         * docs/random/ds/0.9-suggested-changes:
25221         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
25222         * gst/gstelement.h:
25223         * gst/gstevent.h:
25224         * gst/gstformat.h:
25225         * gst/gstquery.h:
25226         * gst/gststructure.c: (gst_structure_value_get_generic_type),
25227         (gst_structure_parse_array), (gst_structure_parse_value):
25228         * gst/gstvalue.c: (gst_type_is_fixed),
25229         (gst_value_list_prepend_value), (gst_value_list_append_value),
25230         (gst_value_list_get_size), (gst_value_list_get_value),
25231         (gst_value_transform_array_string), (gst_value_serialize_array),
25232         (gst_value_deserialize_array), (gst_value_intersect_array),
25233         (gst_value_is_fixed), (_gst_value_initialize):
25234         * gst/gstvalue.h:
25235           GstElement::new-pad -> pad-added, GstElement::state-change ->
25236           state-changed, GstValueFixedList -> GstValueArray, add format and
25237           flags as their own arguments in gst_element_seek() (should improve
25238           "bindeability"), remove function generators since they don't work
25239           under a whole bunch of compilers (they were deprecated already
25240           anyway).
25241
25242 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25243
25244         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25245         (_gst_debug_register_funcptr):
25246         * gst/gstinfo.h:
25247           Fix illegal cast on some platforms (#309253).
25248
25249 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25250
25251         * gst/gstmessage.c: (gst_message_new_custom):
25252         * gst/gstmessage.h:
25253           Add _new_custom, make _new_application a macro to _new_custom.
25254
25255 2005-07-20  Wim Taymans  <wim@fluendo.com>
25256
25257         * gst/base/gstbasesrc.c: (gst_base_src_init),
25258         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
25259         * gst/base/gstbasesrc.h:
25260         Add a gboolean to decide when to push out a discont.
25261
25262         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25263         (gst_queue_loop), (gst_queue_handle_src_query),
25264         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
25265         (gst_queue_set_property), (gst_queue_get_property):
25266         Some cleanups.
25267
25268         * tests/threadstate/threadstate1.c: (main):
25269         Make a thread test compile and run... very silly..
25270
25271
25272 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25273
25274         * docs/manual/appendix-porting.xml:
25275           Mention removal of libgstgconf-0.9.la and existence of gconf
25276           elements.
25277
25278 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25279
25280         * docs/pwg/advanced-clock.xml:
25281         * docs/pwg/appendix-porting.xml:
25282         * docs/pwg/intro-preface.xml:
25283         * docs/pwg/other-base.xml:
25284         * docs/pwg/other-manager.xml:
25285         * docs/pwg/other-nton.xml:
25286         * docs/pwg/other-ntoone.xml:
25287         * docs/pwg/other-oneton.xml:
25288         * docs/pwg/pwg.xml:
25289           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
25290           demuxer), remove n-to-n (was never written), fix some code examples
25291           and links and update the porting section to include all this.
25292
25293 2005-07-19  Wim Taymans  <wim@fluendo.com>
25294
25295         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
25296         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
25297         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
25298         (gst_queue_src_activate_push), (gst_queue_change_state),
25299         (gst_queue_get_property):
25300         * gst/gstqueue.h:
25301         Propagate GstFlowReturn more intelligently upstream and output
25302         an ERROR/EOS when streaming stopped due to fatal error.
25303
25304 2005-07-19  Wim Taymans  <wim@fluendo.com>
25305
25306         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25307         Don't block forever for the state change to complete, the
25308         pipeline already did with a sensible timeout.
25309
25310 2005-07-19  Wim Taymans  <wim@fluendo.com>
25311
25312         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
25313         Make sure we never call the create function is we
25314         got deactivated.
25315
25316 2005-07-19  Andy Wingo  <wingo@pobox.com>
25317
25318         * gst/parse/parse.l: Attempt to solve bug #172815.
25319
25320 2005-07-19  Wim Taymans  <wim@fluendo.com>
25321
25322         * docs/design/part-clocks.txt:
25323         * docs/design/part-events.txt:
25324         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
25325         Small docs updates.
25326         Only update the seeking values when we are not
25327         busy streaming.
25328
25329 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25330
25331         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25332           Oops, ignore the result of gst_pad_push_event here.
25333
25334 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25335
25336         * gst/base/gstbasesrc.c: (gst_base_src_loop),
25337         (gst_base_src_activate_push):
25338           Send discont event from the loop function, as pads
25339           aren't activated yet in the activate_push handler.
25340
25341         * gst/gstbin.c: (bin_bus_handler):
25342           Don't leak element name.
25343
25344 2005-07-18  Andy Wingo  <wingo@pobox.com>
25345
25346         * configure.ac: Use AS_LIBTOOL_TAGS.
25347
25348 2005-07-18  Wim Taymans  <wim@fluendo.com>
25349
25350         * docs/gst/gstreamer.types:
25351         Remove deleted types.
25352
25353 2005-07-18  Wim Taymans  <wim@fluendo.com>
25354
25355         * check/elements/gstfakesrc.c: (GST_START_TEST):
25356         * configure.ac:
25357         * gst/Makefile.am:
25358         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
25359         (init_popt_callback):
25360         * gst/gst.h:
25361         * gst/gst_private.h:
25362         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
25363         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
25364         * gst/gstbin.h:
25365         * gst/gstbus.h:
25366         * gst/gstconfig.h.in:
25367         * gst/gstelement.c: (gst_element_class_init),
25368         (gst_element_set_base_time), (gst_element_get_base_time),
25369         (iterator_fold_with_resync), (gst_element_change_state),
25370         (gst_element_dispose), (gst_element_get_bus):
25371         * gst/gstelement.h:
25372         * gst/gstelementfactory.h:
25373         * gst/gsterror.c: (_gst_core_errors_init):
25374         * gst/gsterror.h:
25375         * gst/gstevent.h:
25376         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25377         * gst/gstindex.c:
25378         * gst/gstinfo.c: (_gst_debug_init):
25379         * gst/gstmessage.c: (_gst_message_copy):
25380         * gst/gstmessage.h:
25381         * gst/gstminiobject.h:
25382         * gst/gstobject.c:
25383         * gst/gstobject.h:
25384         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25385         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
25386         * gst/gstpad.h:
25387         * gst/gstparse.h:
25388         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
25389         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25390         (gst_pipeline_get_last_stream_time):
25391         * gst/gstpipeline.h:
25392         * gst/gstpluginfeature.h:
25393         * gst/gstquery.h:
25394         * gst/gstscheduler.c:
25395         * gst/gstscheduler.h:
25396         * gst/gststructure.h:
25397         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25398         (gst_task_finalize), (gst_task_func), (gst_task_create),
25399         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
25400         (gst_task_stop), (gst_task_pause):
25401         * gst/gsttask.h:
25402         * gst/gsttypefind.h:
25403         * gst/gsttypes.h:
25404         * gst/registries/gstlibxmlregistry.c: (load_feature),
25405         (gst_xml_registry_load), (gst_xml_registry_save_feature):
25406         * gst/registries/gstxmlregistry.c:
25407         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
25408         * gst/schedulers/threadscheduler.c:
25409         * libs/gst/control/dparammanager.h:
25410         * tools/gst-inspect.c: (print_element_list),
25411         (print_plugin_features), (print_element_features):
25412         * tools/gst-xmlinspect.c: (print_element_list),
25413         (print_plugin_info), (main):
25414         Removed plugable schedulers.
25415         Removed Scheduler/Manager from elements.
25416         Removed gsttypes.h, rearranged includes.
25417         Removed dependency pad<->element, element<>pipeline, and
25418         various others,  fix includes.
25419         implement gst_pad_get_parent() with gst_object_get_parent()
25420         Make GstTask sefcontained.
25421         Fix _get_state() on GstBin, it did not return ASYNC with a 0
25422         timeout.
25423         Fix endless loop in iterator_fold_with_resync.
25424
25425
25426 2005-07-18  Wim Taymans  <wim@fluendo.com>
25427
25428         * gst/Makefile.am:
25429         * gst/gstarch.h:
25430         Remove old file.
25431
25432 2005-07-18  Wim Taymans  <wim@fluendo.com>
25433
25434         * gst/Makefile.am:
25435         No more cothreads.h
25436
25437 2005-07-18  Wim Taymans  <wim@fluendo.com>
25438
25439         * gst/cothreads.c:
25440         * gst/cothreads.h:
25441         Let's remove these.
25442
25443 2005-07-18  Wim Taymans  <wim@fluendo.com>
25444
25445         * docs/design/part-dynamic.txt:
25446         * docs/design/part-events.txt:
25447         * docs/design/part-seeking.txt:
25448         Some more docs in the works.
25449
25450         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25451         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
25452         (gst_base_transform_setcaps), (gst_base_transform_get_size),
25453         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25454         (gst_base_transform_handle_buffer),
25455         (gst_base_transform_sink_activate_push),
25456         (gst_base_transform_src_activate_pull),
25457         (gst_base_transform_set_passthrough),
25458         (gst_base_transform_is_passthrough):
25459         Refcounting fixes.
25460
25461         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
25462         Cleanups.
25463
25464         * gst/gstevent.c: (gst_event_finalize):
25465         Set SRC to NULL.
25466
25467         * gst/gstutils.c: (gst_element_unlink),
25468         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
25469         (gst_pad_proxy_setcaps):
25470         * gst/gstutils.h:
25471         Add _get_parent_element() to get a pads parent as an element.
25472
25473 2005-07-18  Wim Taymans  <wim@fluendo.com>
25474
25475         * check/gst/gstbin.c: (GST_START_TEST):
25476         Remove bogus test.
25477
25478 2005-07-18  Wim Taymans  <wim@fluendo.com>
25479
25480         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25481         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25482         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25483         (gst_base_sink_event), (gst_base_sink_do_sync),
25484         (gst_base_sink_chain), (gst_base_sink_loop),
25485         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
25486         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
25487         Refcounting fixes.
25488         Fix logic for returning ASYNC when not prerolled.
25489
25490 2005-07-18  Wim Taymans  <wim@fluendo.com>
25491
25492         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25493         Fix nasty refcount bug.
25494
25495 2005-07-16 Philippe Khalaf <burger@speedy.org>
25496
25497         * gst/elements/gstfdsrc.c:
25498         * gst/elements/gstfdsrc.h:
25499         * gst/elements/gstelements.c:
25500         * gst/elements/Makefile.am:
25501         Ported fdsrc to 0.9.
25502
25503 2005-07-16  Wim Taymans  <wim@fluendo.com>
25504
25505         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25506         (gst_base_sink_do_sync):
25507         Fix compile error.
25508
25509 2005-07-16  Wim Taymans  <wim@fluendo.com>
25510
25511         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25512         (gst_base_sink_event), (gst_base_sink_get_times),
25513         (gst_base_sink_do_sync), (gst_base_sink_change_state):
25514         * gst/base/gstbasesink.h:
25515         Store and use discont values when syncing buffers as described
25516         in design docs.
25517         
25518         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25519         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
25520         (gst_base_src_activate_push):
25521         Push discont event when starting.
25522
25523         * gst/elements/gstidentity.c: (gst_identity_transform):
25524         Small cleanups.
25525
25526         * gst/gstbin.c: (gst_bin_change_state):
25527         Small cleanups in base_time  distribution.
25528
25529         * gst/gstelement.c: (gst_element_set_base_time),
25530         (gst_element_get_base_time), (gst_element_change_state):
25531         * gst/gstelement.h:
25532         Added methods for the base_time of the element.
25533         Some MT fixes.
25534
25535         * gst/gstpipeline.c: (gst_pipeline_send_event),
25536         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25537         (gst_pipeline_get_last_stream_time):
25538         * gst/gstpipeline.h:
25539         MT fixes.
25540         Handle seeking as described in design doc, remove stream_time
25541         hack.
25542         Cleanups clock and stream_time selection code. Added accessors
25543         for the stream_time.
25544         
25545
25546 2005-07-16  Andy Wingo  <wingo@pobox.com>
25547
25548         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
25549         (#305291).
25550
25551 2005-07-16  Wim Taymans  <wim@fluendo.com>
25552
25553         * check/gst/gstbin.c: (GST_START_TEST):
25554         Make elements silent as the deep_notify refs the
25555         parent, which might make the test fail.
25556
25557         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25558         Don't hold the lock for too long.
25559
25560 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
25561
25562         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
25563           Don't unref the caps we passed to gst_caps_make_writable() after
25564           passing them. gst_caps_make_writable() will do that for us.
25565
25566 2005-07-15  Andy Wingo  <wingo@pobox.com>
25567
25568         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
25569         (#157311).
25570
25571         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
25572         own marshalling function for the handoff signal. Properly type the
25573         buffer as a buffer. Fixes some warnings. Should do a more general
25574         solution.
25575         (gst_identity_class_init): Plug into the right marshaller.
25576
25577 2005-07-15  Wim Taymans  <wim@fluendo.com>
25578
25579         * docs/design/part-TODO.txt:
25580         * docs/design/part-clocks.txt:
25581         * docs/design/part-element-sink.txt:
25582         * docs/design/part-events.txt:
25583         * docs/design/part-gstpipeline.txt:
25584         Updated docs, mostly DISCONT related.
25585
25586 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
25587
25588         * docs/pwg/building-pads.xml:
25589           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
25590
25591 2005-07-15  Andy Wingo  <wingo@pobox.com>
25592
25593         * tools/gst-typefind.c: Update, add copyright block.
25594
25595         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
25596         Normalize and truncate caps before fixation.
25597
25598         * gst/gstcaps.h:
25599         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
25600         discards all but the first structure from its argument.
25601
25602 2005-07-15  Wim Taymans  <wim@fluendo.com>
25603
25604         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25605         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
25606         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25607         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25608         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
25609         (gst_base_transform_chain), (gst_base_transform_change_state),
25610         (gst_base_transform_set_passthrough),
25611         (gst_base_transform_is_passthrough):
25612         * gst/base/gstbasetransform.h:
25613         Make passthrough work using the bufferpools.
25614         Changed API a bit, subclasses have to write into a buffer
25615         provided by the base class.
25616         More debug info in nego functions.
25617         
25618         * gst/elements/gstidentity.c: (gst_identity_init),
25619         (gst_identity_transform):
25620         Port to new base class.
25621
25622 2005-07-15  Wim Taymans  <wim@fluendo.com>
25623
25624         * gst/gstmessage.c: (gst_message_new_state_changed):
25625         * tools/gst-launch.c: (event_loop), (main):
25626         Totally dump messages in -launch with the -m option.
25627         Fix message name for State messages,
25628
25629 2005-07-14  Wim Taymans  <wim@fluendo.com>
25630
25631         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25632         Post error messages on errors.
25633
25634 2005-07-14  Wim Taymans  <wim@fluendo.com>
25635
25636         * gst/gstcaps.c: (gst_caps_do_simplify):
25637         Remove debug info.
25638
25639         * gst/gsterror.h:
25640         Define error for stream stopped.
25641
25642         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25643         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
25644         Do proper return values.
25645
25646         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25647         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
25648         (gst_pad_get_range):
25649         Better return values.
25650
25651         * gst/gstpad.h:
25652         Reorganise return values, add macro to check for fatal errors.
25653
25654         * gst/gstqueue.c: (gst_queue_chain):
25655         Return proper GstFlowReturn values,
25656
25657 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
25658
25659         * docs/gst/gstreamer-sections.txt:
25660         * docs/gst/gstreamer.types:
25661         * docs/gst/tmpl/gst.sgml:
25662         * docs/gst/tmpl/gstbasesink.sgml:
25663         * docs/gst/tmpl/gstbasesrc.sgml:
25664         * docs/gst/tmpl/gstbasetransform.sgml:
25665         * docs/gst/tmpl/gstbin.sgml:
25666         * docs/gst/tmpl/gstbuffer.sgml:
25667         * docs/gst/tmpl/gstcaps.sgml:
25668         * docs/gst/tmpl/gstclock.sgml:
25669         * docs/gst/tmpl/gstcompat.sgml:
25670         * docs/gst/tmpl/gstconfig.sgml:
25671         * docs/gst/tmpl/gstelement.sgml:
25672         * docs/gst/tmpl/gstelementdetails.sgml:
25673         * docs/gst/tmpl/gstelementfactory.sgml:
25674         * docs/gst/tmpl/gstenumtypes.sgml:
25675         * docs/gst/tmpl/gsterror.sgml:
25676         * docs/gst/tmpl/gstevent.sgml:
25677         * docs/gst/tmpl/gstfakesink.sgml:
25678         * docs/gst/tmpl/gstfakesrc.sgml:
25679         * docs/gst/tmpl/gstfilesink.sgml:
25680         * docs/gst/tmpl/gstfilesrc.sgml:
25681         * docs/gst/tmpl/gstfilter.sgml:
25682         * docs/gst/tmpl/gstformat.sgml:
25683         * docs/gst/tmpl/gstghostpad.sgml:
25684         * docs/gst/tmpl/gstimplementsinterface.sgml:
25685         * docs/gst/tmpl/gstindex.sgml:
25686         * docs/gst/tmpl/gstindexfactory.sgml:
25687         * docs/gst/tmpl/gstinfo.sgml:
25688         * docs/gst/tmpl/gstiterator.sgml:
25689         * docs/gst/tmpl/gstmacros.sgml:
25690         * docs/gst/tmpl/gstmemchunk.sgml:
25691         * docs/gst/tmpl/gstminiobject.sgml:
25692         * docs/gst/tmpl/gstobject.sgml:
25693         * docs/gst/tmpl/gstpad.sgml:
25694         * docs/gst/tmpl/gstpadtemplate.sgml:
25695         * docs/gst/tmpl/gstparse.sgml:
25696         * docs/gst/tmpl/gstpipeline.sgml:
25697         * docs/gst/tmpl/gstplugin.sgml:
25698         * docs/gst/tmpl/gstpluginfeature.sgml:
25699         * docs/gst/tmpl/gstquery.sgml:
25700         * docs/gst/tmpl/gstqueue.sgml:
25701         * docs/gst/tmpl/gstregistry.sgml:
25702         * docs/gst/tmpl/gstregistrypool.sgml:
25703         * docs/gst/tmpl/gstscheduler.sgml:
25704         * docs/gst/tmpl/gstschedulerfactory.sgml:
25705         * docs/gst/tmpl/gststructure.sgml:
25706         * docs/gst/tmpl/gstsystemclock.sgml:
25707         * docs/gst/tmpl/gsttaglist.sgml:
25708         * docs/gst/tmpl/gsttagsetter.sgml:
25709         * docs/gst/tmpl/gsttrace.sgml:
25710         * docs/gst/tmpl/gsttrashstack.sgml:
25711         * docs/gst/tmpl/gsttypefind.sgml:
25712         * docs/gst/tmpl/gsttypefindfactory.sgml:
25713         * docs/gst/tmpl/gsttypes.sgml:
25714         * docs/gst/tmpl/gsturihandler.sgml:
25715         * docs/gst/tmpl/gsturitype.sgml:
25716         * docs/gst/tmpl/gstutils.sgml:
25717         * docs/gst/tmpl/gstvalue.sgml:
25718         * docs/gst/tmpl/gstversion.sgml:
25719         * docs/gst/tmpl/gstxml.sgml:
25720         * docs/libs/tmpl/gstcontrol.sgml:
25721         * docs/libs/tmpl/gstdataprotocol.sgml:
25722         * docs/libs/tmpl/gstdparam.sgml:
25723         * docs/libs/tmpl/gstdplinint.sgml:
25724         * docs/libs/tmpl/gstdpman.sgml:
25725         * docs/libs/tmpl/gstdpsmooth.sgml:
25726         * docs/libs/tmpl/gstgetbits.sgml:
25727         * docs/libs/tmpl/gstunitconvert.sgml:
25728         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
25729         (gst_push_src_base_init), (gst_push_src_class_init),
25730         (gst_push_src_init), (gst_push_src_create):
25731         * gst/base/gstpushsrc.h:
25732         * gst/elements/gstelements.c:
25733         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
25734         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
25735         (gst_fake_sink_init), (gst_fake_sink_set_property),
25736         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
25737         (gst_fake_sink_event), (gst_fake_sink_preroll),
25738         (gst_fake_sink_render), (gst_fake_sink_change_state):
25739         * gst/elements/gstfakesink.h:
25740         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
25741         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
25742         (gst_fake_src_base_init), (gst_fake_src_class_init),
25743         (gst_fake_src_init), (gst_fake_src_event_handler),
25744         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
25745         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
25746         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
25747         (gst_fake_src_create_buffer), (gst_fake_src_create),
25748         (gst_fake_src_start), (gst_fake_src_stop):
25749         * gst/elements/gstfakesrc.h:
25750         * gst/elements/gstfilesink.c: (_do_init),
25751         (gst_file_sink_base_init), (gst_file_sink_class_init),
25752         (gst_file_sink_init), (gst_file_sink_dispose),
25753         (gst_file_sink_set_location), (gst_file_sink_set_property),
25754         (gst_file_sink_get_property), (gst_file_sink_open_file),
25755         (gst_file_sink_close_file), (gst_file_sink_query),
25756         (gst_file_sink_event), (gst_file_sink_render),
25757         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
25758         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
25759         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
25760         * gst/elements/gstfilesink.h:
25761         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
25762         (gst_file_src_class_init), (gst_file_src_init),
25763         (gst_file_src_finalize), (gst_file_src_set_location),
25764         (gst_file_src_set_property), (gst_file_src_get_property),
25765         (gst_file_src_map_region), (gst_file_src_map_small_region),
25766         (gst_file_src_create_mmap), (gst_file_src_create_read),
25767         (gst_file_src_create), (gst_file_src_is_seekable),
25768         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
25769         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
25770         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
25771         (gst_file_src_uri_handler_init):
25772         * gst/elements/gstfilesrc.h:
25773           more autistic cleanliness in functions/names/defines
25774
25775 2005-07-13  Andy Wingo  <wingo@pobox.com>
25776
25777         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
25778         source couldn't negotiate.
25779
25780         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
25781         connections again.
25782
25783         * gst/gstutils.h:
25784         * gst/gstutils.c (gst_element_link_pads_filtered): New old
25785         function. I am channeling Hades. Put your boots on suckers!!!
25786
25787 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25788
25789         * testsuite/caps/Makefile.am:
25790         * testsuite/caps/value_compare.c:
25791         * testsuite/caps/value_intersect.c:
25792         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25793           move two testsuite apps over to the check dir
25794
25795 2005-07-12  Wim Taymans  <wim@fluendo.com>
25796
25797         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25798         Added more debug info in the negotiate process.
25799
25800         * gst/gstmessage.h:
25801         Prepare for segment playback.
25802
25803         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
25804         Better debugging.
25805
25806         * gst/gstutils.c:
25807         Some more docs.
25808
25809         * tools/gst-launch.c: (main):
25810         NULL pipeline on errors.
25811
25812 2005-07-12  Andy Wingo  <wingo@pobox.com>
25813
25814         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
25815         not it comes from a malloc region. Make sure our copy gets freed.
25816
25817 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25818
25819         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25820         * check/gst/gstmessage.c: (GST_START_TEST):
25821         * check/gst/gststructure.c: (GST_START_TEST),
25822         (gst_structure_suite), (main):
25823           more testing
25824         * gst/gstelement.c: (gst_element_message_full):
25825           clean up GError and debug string now that they get copied
25826         * gst/gstmessage.c: (gst_message_new_error),
25827         (gst_message_new_warning), (gst_message_parse_error),
25828         (gst_message_parse_warning):
25829           use GST_TYPE_G_ERROR for structure_new, and take copies of
25830           arguments, so that we don't mess up refcounting
25831
25832 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25833
25834         * check/Makefile.am:
25835           add per-test valgrind targets
25836         * check/gst-libs/gdp.c: (GST_START_TEST),
25837         (gst_data_protocol_suite), (main):
25838           clean up
25839
25840 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25841
25842         * check/Makefile.am:
25843           instate more valgrindable tests
25844         * check/elements/gstfakesrc.c: (chain_func), (event_func),
25845         (GST_START_TEST), (fakesrc_suite):
25846         * check/gst/gstpad.c: (GST_START_TEST):
25847         * check/gst/gststructure.c: (GST_START_TEST):
25848           fix test leaks
25849         * docs/gst/tmpl/gstminiobject.sgml:
25850         * gst/gstpad.c: (gst_pad_finalize):
25851           fix the static mutex leak
25852
25853 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25854
25855         * check/Makefile.am:
25856           add two more tests for valgrinding
25857         * check/gst/gstvalue.c: (GST_START_TEST):
25858           test refcount of deserialized buffer, found a leak
25859         * docs/gst/gstreamer-docs.sgml:
25860         * docs/gst/gstreamer-sections.txt:
25861         * docs/gst/gstreamer.types:
25862         * docs/gst/tmpl/gstminiobject.sgml:
25863           add miniobject to docs
25864         * gst/gstminiobject.c:
25865           add some docs
25866         * gst/gstvalue.c: (gst_value_deserialize_buffer),
25867         (gst_string_unwrap):
25868           fix a hard-to-find invalid write for one of the tests
25869           fix a leak for deserialized buffers
25870
25871 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25872
25873         * docs/pwg/advanced-events.xml:
25874         * docs/pwg/advanced-request.xml:
25875         * docs/pwg/advanced-scheduling.xml:
25876         * docs/pwg/appendix-porting.xml:
25877         * docs/pwg/building-boiler.xml:
25878         * docs/pwg/intro-preface.xml:
25879         * docs/pwg/other-ntoone.xml:
25880           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
25881           of example code and explanation for pad activation, loop() and
25882           getrange() functions and a bit more. Remove old comments pointing
25883           to loop-functions.
25884         * examples/pwg/Makefile.am:
25885           Add loop/getrange examples.
25886
25887 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25888
25889         * configure.ac:
25890           check for valgrind binary + some fixes
25891         * check/gst.supp:
25892           valgrind suppressions for the tests
25893         * check/Makefile.am:
25894           add a valgrind: target that valgrinds the unit tests
25895         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
25896         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25897         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25898         * check/gst/gstghostpad.c:
25899           added some cleanup
25900         * check/gst/gstdata.c:
25901           removed
25902         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
25903         (thread_unref), (gst_mini_object_suite), (main):
25904           added
25905         * gst/gst.c: (gst_deinit):
25906         * gst/gst.h:
25907           add a method to clean up.
25908         * gst/gstsystemclock.c: (gst_system_clock_dispose),
25909         (gst_system_clock_obtain):
25910           allow for disposing the system clock.
25911         * tools/gst-launch.c: (main):
25912           deinit
25913
25914 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25915
25916         * docs/gst/tmpl/gstbasesrc.sgml:
25917         * docs/gst/tmpl/gstfakesrc.sgml:
25918         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25919         (gst_base_src_init), (gst_base_src_set_property),
25920         (gst_base_src_get_property), (gst_base_src_get_range),
25921         (gst_base_src_start):
25922         * gst/base/gstbasesrc.h:
25923           add num-buffers property
25924         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25925         (gst_fakesrc_init), (gst_fakesrc_set_property),
25926         (gst_fakesrc_get_property), (gst_fakesrc_create),
25927         (gst_fakesrc_start):
25928           remove num-buffers property
25929
25930 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
25931
25932         * docs/gst/gstreamer-sections.txt:
25933         * docs/gst/tmpl/gstbasesink.sgml:
25934         * docs/gst/tmpl/gstbasesrc.sgml:
25935         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25936         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25937         (gst_base_sink_finalize), (gst_base_sink_set_clock),
25938         (gst_base_sink_set_property), (gst_base_sink_get_property),
25939         (gst_base_sink_handle_object), (gst_base_sink_event),
25940         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
25941         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
25942         (gst_base_sink_loop), (gst_base_sink_deactivate),
25943         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
25944         (gst_base_sink_change_state):
25945         * gst/base/gstbasesink.h:
25946         * gst/base/gstbasesrc.h:
25947         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
25948         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
25949         (gst_filesink_init):
25950           more macro splitting
25951
25952 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
25953
25954         * gst/gstelement.c: (gst_element_get_bus):
25955           add debug
25956         * tools/gst-launch.c: (check_intr), (event_loop):
25957           fix bus leaks
25958
25959 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
25960
25961         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
25962           fix a caps leak
25963
25964 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
25965
25966         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25967         (gst_base_src_finalize):
25968           add finalize method and clean up properly
25969         * gst/gstpipeline.c: (gst_pipeline_dispose):
25970           add debug
25971
25972 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25973
25974         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
25975         (gst_bin_suite):
25976           add more things to check
25977         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25978         * gst/gstelement.c:
25979           more debug
25980
25981 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25982
25983         * check/elements/gstfakesrc.c: (chain_func), (event_func),
25984         (GST_START_TEST), (fakesrc_suite):
25985         * check/gst-libs/gdp.c: (GST_START_TEST):
25986         * check/gst/gst.c: (GST_START_TEST):
25987         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25988         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25989         * check/gst/gstbus.c: (GST_START_TEST):
25990         * check/gst/gstcaps.c: (GST_START_TEST):
25991         * check/gst/gstdata.c: (GST_START_TEST):
25992         * check/gst/gstelement.c: (GST_START_TEST):
25993         * check/gst/gstghostpad.c: (GST_START_TEST):
25994         * check/gst/gstiterator.c: (GST_START_TEST):
25995         * check/gst/gstmessage.c: (GST_START_TEST):
25996         * check/gst/gstobject.c: (GST_START_TEST):
25997         * check/gst/gstpad.c: (GST_START_TEST):
25998         * check/gst/gststructure.c: (GST_START_TEST):
25999         * check/gst/gstsystemclock.c: (GST_START_TEST),
26000         (gst_systemclock_suite):
26001         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26002         * check/gst/gstvalue.c: (GST_START_TEST):
26003         * check/pipelines/cleanup.c: (GST_START_TEST):
26004         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26005         * check/states/sinks.c: (GST_START_TEST):
26006         * check/gstcheck.c: (gst_check_init):
26007         * check/gstcheck.h:
26008           add debugging category
26009           use GST_START_TEST now, so we add a debug line
26010
26011 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26012
26013         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
26014           add test for state change message on a bin
26015         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
26016           add another test
26017         * gst/gstbin.c: (gst_bin_init):
26018         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
26019         * gst/gstelement.c: (gst_element_post_message),
26020         (gst_element_set_state):
26021         * gst/gstelementfactory.c: (gst_element_factory_create):
26022         * gst/gstmessage.c: (gst_message_new):
26023         * gst/gstscheduler.c:
26024           various debugging additions and cleanups
26025
26026 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26027
26028         * check/Makefile.am:
26029         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
26030         (main):
26031           adding tests for elements
26032         * gst/gstelement.c: (gst_element_dispose):
26033
26034 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26035
26036         * gst/registries/gstlibxmlregistry.c: (load_feature):
26037           plug more leaks.  A simple gst_init() now is leakfree, yay.
26038
26039 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26040
26041         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
26042         (gst_xml_registry_load):
26043           plug another memleak
26044
26045 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26046
26047         * configure.ac:
26048           use GST_SET_ERROR_CFLAGS
26049         * docs/faq/cvs.xml:
26050           change to ERROR_CFLAGS
26051
26052 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26053
26054         * configure.ac:
26055           make GST_ERROR_CFLAGS overridable and re-enable Werror
26056         * docs/faq/cvs.xml:
26057           add a note about error CFLAGS
26058         * docs/gst/tmpl/gstfakesrc.sgml:
26059         * gst/elements/gstfakesrc.c:
26060           comment out some unused code
26061         * gst/gst.c: (split_and_iterate):
26062         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
26063         (load_feature):
26064           plug some memleaks
26065
26066 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26067
26068         * common/Makefile.am:
26069         * common/gtk-doc.mak:
26070         * docs/gst/Makefile.am:
26071           factor out gtk-doc.mak
26072
26073 2005-07-07  Wim Taymans  <wim@fluendo.com>
26074
26075         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
26076         (gst_thread_scheduler_dispose):
26077         Unlock the STREAM_LOCK completely.
26078
26079 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26080
26081         * check/Makefile.am:
26082         * check/elements/.cvsignore:
26083         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26084         (START_TEST), (fakesrc_suite), (main):
26085         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26086         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
26087         (gst_fakesrc_create), (gst_fakesrc_start):
26088         * gst/elements/gstfakesrc.h:
26089           adding a first element test
26090
26091 2005-07-07  Andy Wingo  <wingo@pobox.com>
26092
26093         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
26094         debug message.
26095
26096 2005-07-07  Wim Taymans  <wim@fluendo.com>
26097
26098         * gst/gstquery.c:
26099         * gst/gstquery.h:
26100         Remove old types
26101
26102 2005-07-07  Wim Taymans  <wim@fluendo.com>
26103
26104         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
26105         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
26106         Allow subclasses to implement their own negotiation.
26107
26108 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26109
26110         * docs/design/part-gstbin.txt:
26111         * docs/design/part-gstpipeline.txt:
26112           Update design notes to reflect the movement of
26113           responsibility for bus handling from GstPipeline to
26114           GstBin
26115
26116 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26117
26118         * configure.ac:
26119           Remove unnecessary queue2/3/4 examples.
26120
26121 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26122
26123         * examples/Makefile.am:
26124         * examples/helloworld/helloworld.c: (event_loop), (main):
26125         * examples/queue/queue.c: (event_loop), (main):
26126         * examples/queue2/queue2.c: (main):
26127           Update a couple of the examples to work again.
26128
26129         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26130         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
26131          Spelling corrections and extra debug.
26132         
26133         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
26134         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
26135         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
26136         * gst/gstbin.h:
26137         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26138         (gst_pipeline_change_state):
26139         * gst/gstpipeline.h:
26140           Move the bus handler for children to the GstBin, and create a
26141           separate bus for receiving messages from children to the one the
26142           bus sends 'upwards' on.
26143
26144 2005-07-06  Wim Taymans  <wim@fluendo.com>
26145
26146         * gst/base/README:
26147         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26148         (gst_base_sink_handle_object), (gst_base_sink_loop),
26149         (gst_base_sink_change_state):
26150         * gst/base/gstbasesink.h:
26151         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26152         (gst_base_src_init), (gst_base_src_setcaps),
26153         (gst_base_src_getcaps), (gst_base_src_loop),
26154         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
26155         (gst_base_src_start), (gst_base_src_change_state):
26156         * gst/base/gstbasesrc.h:
26157         Make basesrc negotiate.
26158         Handle the case where preroll fails in basesink.
26159         Update README.
26160
26161 2005-07-06  Wim Taymans  <wim@fluendo.com>
26162
26163         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
26164         Implement the fixate function.
26165         Clean up acceptcaps.
26166
26167 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26168
26169         * docs/pwg/building-filterfactory.xml:
26170         * docs/pwg/pwg.xml:
26171           Remove never-written filter-factory chapter; I'll add the various
26172           base classes to part 4 ("other element types") later on.
26173
26174 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26175
26176         * docs/pwg/advanced-negotiation.xml:
26177         * docs/pwg/building-boiler.xml:
26178         * docs/pwg/building-pads.xml:
26179         * docs/pwg/pwg.xml:
26180         * examples/pwg/Makefile.am:
26181           Add a chapter on caps negotiation, simplify the original code
26182           samples a bit w.r.t. caps negotiation, add link to the advanced
26183           section. Add a bunch of examples showing different use cases of
26184           different types of caps negotiation. Upstream renegotiation isn't
26185           fully documented yet since nobody knows how that works.
26186
26187 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
26188
26189         * check/gst/gstpad.c:
26190         * check/gstcheck.c:
26191         * gst/gstpad.c: (gst_pad_get_internal_links_default):
26192           if pad has no parent, return NULL as list of internal links
26193
26194 2005-07-05  Andy Wingo  <wingo@pobox.com>
26195
26196         * gst/elements/gstfilesrc.c:
26197         * gst/elements/gstfakesrc.c: 
26198         * gst/base/gstpushsrc.c:
26199         * gst/base/gstbasesrc.h: 
26200         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
26201         
26202 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
26203
26204         * Makefile.am:
26205           better report generation target (lcov needs a patch)
26206
26207 2005-07-05  Andy Wingo  <wingo@pobox.com>
26208
26209         * gst/elements, testsuite: Null if we got it...
26210
26211 2005-07-05  Wim Taymans  <wim@fluendo.com>
26212
26213         * configure.ac:
26214         * libs/gst/dataprotocol/Makefile.am:
26215         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
26216         * libs/gst/dataprotocol/dataprotocol.h:
26217         * pkgconfig/Makefile.am:
26218         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
26219         * pkgconfig/gstreamer-dataprotocol.pc.in:
26220         Ported dataprotol to 0.9. 
26221         Added pkgconfig files.
26222
26223 2005-07-05  Andy Wingo  <wingo@pobox.com>
26224
26225         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
26226         Default to returning TRUE for the case when tranform_caps returns
26227         a fixed caps, like for identity or volume.
26228
26229         * check/gst/gstbus.c (pound_bus_with_messages): 
26230         * check/gst/gstmessage.c (START_TEST): 
26231         * check/pipelines/simple_launch_lines.c (got_handoff): Application
26232         message API change.
26233
26234         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
26235         logic weaks here: always run transform_caps, trying passthrough
26236         operation only if the original caps intersects with the transform.
26237
26238         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
26239         source and sink caps.
26240
26241         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
26242         Intersect the peer caps with the pad template before going into
26243         transform_caps.
26244         (gst_base_transform_transform_caps): More debugging.
26245
26246         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
26247         src argument.
26248
26249 2005-07-04  Edward Hervey  <edward@fluendo.com>
26250
26251         * gst/gstutils.c:
26252         * gst/gstutils.h:
26253         (gst_pad_add_*_probe): now returns the signal id for better wrapping
26254         in bindings.
26255
26256 2005-07-04  Andy Wingo  <wingo@pobox.com>
26257
26258         * check/gst/gstpad.c: Only set explicit caps on pads.
26259
26260 2005-07-01  Andy Wingo  <wingo@pobox.com>
26261
26262         * tests/network-clock.scm: Commentary update.
26263
26264         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
26265         Didn't really make sense, not implementable with basetransform,
26266         etc.
26267         (gst_identity_transform): Unref inbuf via make_writable. Feeble
26268         attempt at implementing the sync property, needs an unlock method.
26269
26270         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
26271         New func, by default returns the same caps (the identity
26272         transformation).
26273         (gst_base_transform_getcaps): Uses transform_caps to return
26274         something sensible.
26275         (gst_base_transform_setcaps): Complicated logic to get caps on
26276         both pads, even if they are different, and to call set_caps once
26277         for every time both pads get their caps set.
26278         (gst_base_transform_handle_buffer): Give the ref to the transform
26279         function. Allows in-place modification of the buffer.
26280
26281         * gst/base/gstbasetransform.h (transform_caps): New class method.
26282         Given caps on one side, what can I do on the other.
26283         (set_caps): Take two caps, one for each side of the element.
26284
26285         * gst/gstpad.h:
26286         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
26287         caps in place. This is safe because we can check the mutability of
26288         the caps, and a good idea because fixate functions are just called
26289         as a matter of last resort. (Not actually implemented.)
26290         (gst_pad_set_caps): If the caps we're setting is actually the same
26291         as the existing pad caps, just update the pointer without calling
26292         setcaps. Assert that caps is either NULL or fixed, as per the
26293         docs.
26294
26295         * gst/gstghostpad.c: Update for fixate changes.
26296
26297 2005-07-02  Andy Wingo  <wingo@pobox.com>
26298
26299         * gst/gstcaps.c:
26300         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
26301         two refcounts makes it immutable, which is enough. Doc more.
26302
26303 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
26304
26305         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
26306           Put the mini_object into GValue as a mini_object,
26307           not a gpointer, since that's how we declared
26308           the signal.
26309
26310 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26311
26312         * examples/pwg/Makefile.am:
26313           Fix buildbot again.
26314
26315 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26316
26317         * docs/pwg/building-testapp.xml:
26318           Add extra check.
26319         * examples/pwg/Makefile.am:
26320           Fix buildbot.
26321
26322 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26323
26324         * configure.ac:
26325         * examples/Makefile.am:
26326         * examples/pwg/Makefile.am:
26327         * examples/pwg/extract.pl:
26328           Enable building the PWG examples.
26329         * docs/pwg/advanced-interfaces.xml:
26330           Add URI interface stub.
26331         * docs/pwg/advanced-types.xml:
26332         * docs/pwg/other-autoplugger.xml:
26333         * docs/pwg/appendix-porting.xml:
26334         * docs/pwg/pwg.xml:
26335           Add porting guide (mostly stubs), remove autoplugging (see ADM).
26336         * docs/pwg/building-boiler.xml:
26337         * docs/pwg/building-chainfn.xml:
26338         * docs/pwg/building-pads.xml:
26339         * docs/pwg/building-props.xml:
26340         * docs/pwg/building-state.xml:
26341         * docs/pwg/building-testapp.xml:
26342           Update the building-*.xml parts for 0.9 changes. All examples
26343           code blocks compile in examples/pwg/*.
26344
26345 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26346
26347         * docs/manual/advanced-autoplugging.xml:
26348         * docs/manual/appendix-checklist.xml:
26349         * docs/manual/appendix-integration.xml:
26350         * docs/manual/highlevel-components.xml:
26351           Fix playbin/decodebin examples, update docs a bit, mention bus
26352           instead of signals in various places, mention kmplayer and
26353           kaffeine since they have a working GStreamer backend in the KDE
26354           section.
26355
26356 2005-06-30  Wim Taymans  <wim@fluendo.com>
26357
26358         * CHANGES-0.9:
26359         * docs/design/draft-ghostpads.txt:
26360         * docs/design/draft-push-pull.txt:
26361         * docs/design/draft-query.txt:
26362         * docs/design/part-TODO.txt:
26363         * docs/design/part-query.txt:
26364         Added CHANGES-0.9 doc, updated status of other docs.
26365         
26366         * gst/gstquery.h:
26367         Remove "hmm" macro
26368
26369 2005-06-30  Wim Taymans  <wim@fluendo.com>
26370
26371         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26372         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26373         (gst_base_sink_change_state):
26374         * gst/base/gstbasesink.h:
26375         Some tweaks, only EOS and a buffer complete a preroll.
26376
26377 2005-06-30  Andy Wingo  <wingo@pobox.com>
26378
26379         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
26380         activate_push down to the internal pad as well.
26381
26382 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
26383
26384         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26385
26386         * gst/gsttaginterface.c:
26387           Some documentation fixes (#307394 and #307397).
26388
26389 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
26390
26391         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26392
26393         * gst/gstvalue.c: (gst_value_intersect_list):
26394           Fix memleak (#309125).
26395
26396 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26397
26398         * docs/manual/advanced-dataaccess.xml:
26399           Fix fakesrc example to compile; doesn't work, bug somewhere...?
26400         * docs/manual/basics-pads.xml:
26401           Add reference for filtered caps to above chapter.
26402
26403 2005-06-30  Wim Taymans  <wim@fluendo.com>
26404
26405         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
26406         (gst_bin_change_state):
26407         Probes are gone.
26408         Lame attempt at making the state change function a bit
26409         more readable.
26410
26411 2005-06-30  Wim Taymans  <wim@fluendo.com>
26412
26413         * docs/design/part-clocks.txt:
26414         * docs/design/part-element-sink.txt:
26415         * docs/design/part-events.txt:
26416         * docs/design/part-preroll.txt:
26417         * docs/design/part-states.txt:
26418         Some more tweeks and additions to the docs.
26419
26420 2005-06-30  Wim Taymans  <wim@fluendo.com>
26421
26422         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26423         (default_have_data), (gst_pad_class_init), (gst_pad_init),
26424         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26425         (gst_pad_check_pull_range), (gst_pad_get_range),
26426         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
26427         * gst/gstpad.h:
26428         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
26429         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26430         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26431         (gst_pad_remove_buffer_probe):
26432         Removed atomic operations, use existing LOCK.
26433         Move exception handling out of main code path.
26434
26435 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26436
26437         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26438         (silly_return_true_function), (gst_pad_class_init),
26439         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26440         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
26441         (gst_pad_send_event):
26442           Fix accumulator, add default value by using _emitv() instead
26443           of _emit() for signal emission.
26444
26445 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26446
26447         * docs/manual/advanced-dataaccess.xml:
26448         * examples/manual/Makefile.am:
26449           Add probe example.
26450         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
26451           Make work (??).
26452
26453 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
26454
26455         * gst/elements/gstfilesink.c: (gst_filesink_render):
26456           Simplify code so that we don't have to handle short
26457           writes and return GST_FLOW_ERROR if an error occured.
26458
26459 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26460
26461         * docs/gst/gstreamer-docs.sgml:
26462           Remove probes more.
26463
26464 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26465
26466         * docs/gst/gstreamer-sections.txt:
26467         * docs/gst/tmpl/gstpad.sgml:
26468         * docs/gst/tmpl/gstprobe.sgml:
26469         * gst/Makefile.am:
26470         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26471         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
26472         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26473         (gst_pad_push_event), (gst_pad_send_event):
26474         * gst/gstpad.h:
26475         * gst/gstutils.c: (gst_pad_add_data_probe),
26476         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26477         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26478         (gst_pad_remove_buffer_probe):
26479         * gst/gstutils.h:
26480           Remove old probes, add new g-signal-based probes and some utility
26481           functions.
26482
26483 2005-06-29  Edward Hervey  <edward@fluendo.com>
26484
26485         * gst/gstelementfactory.c:
26486         * gst/gstutils.h:
26487         * gst/gstutils.c:
26488         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
26489         the definition to the header file.
26490
26491 2005-06-29  Andy Wingo  <wingo@pobox.com>
26492
26493         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
26494         plugins from the source directory.
26495
26496 2005-06-29  Wim Taymans  <wim@fluendo.com>
26497
26498         * docs/gst/tmpl/gstbuffer.sgml:
26499         * docs/gst/tmpl/gstclock.sgml:
26500         Some fixings for blantently wrong text.
26501
26502 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
26503
26504         * check/Makefile.am:
26505         * gst/gst.c: (add_path_func), (init_pre):
26506         * gst/gstregistry.c: (gst_registry_add_path):
26507           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
26508           only scan the GST_PLUGIN_PATH locations, and not add
26509           system locations
26510
26511 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
26512
26513         * docs/gst/gstreamer-sections.txt:
26514         * docs/gst/tmpl/gstbasesrc.sgml:
26515         * gst/gstelement.c:
26516         * gst/gstelement.h:
26517         * gst/gstevent.c:
26518         * gst/gstutils.c:
26519           doc fixes
26520
26521 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26522
26523         * docs/manual/advanced-autoplugging.xml:
26524           Fix autoplugging example.
26525
26526 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26527
26528         * docs/manual/advanced-autoplugging.xml:
26529         * docs/manual/mime-world.fig:
26530           Try to get autoplugging working, fix type detection. Fix text
26531           in hello-world image.
26532
26533 2005-06-29  Wim Taymans  <wim@fluendo.com>
26534
26535         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26536         (gst_base_sink_change_state):
26537         Small debug line.
26538
26539         * gst/gstclock.h:
26540         map SIGNAL and BROADCAST to the right function.
26541
26542         * gst/gstobject.h:
26543         Remove redundant braces.
26544
26545         * gst/gstpad.c: (gst_pad_set_caps):
26546         Don't call setcaps function when reseting caps to NULL.
26547
26548         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26549         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
26550         (gst_system_clock_id_unschedule):
26551         Use BROADCAST as this is what we do.
26552
26553 2005-06-29  Wim Taymans  <wim@fluendo.com>
26554
26555         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26556         We are actually prerolling before commiting the state
26557         change. 
26558
26559 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26560
26561         * docs/manual/advanced-clocks.xml:
26562         * docs/manual/advanced-interfaces.xml:
26563         * docs/manual/advanced-metadata.xml:
26564         * docs/manual/advanced-position.xml:
26565         * docs/manual/advanced-schedulers.xml:
26566         * docs/manual/advanced-threads.xml:
26567         * docs/manual/appendix-porting.xml:
26568         * docs/manual/basics-bins.xml:
26569         * docs/manual/basics-bus.xml:
26570         * docs/manual/basics-elements.xml:
26571         * docs/manual/basics-helloworld.xml:
26572         * docs/manual/basics-pads.xml:
26573         * docs/manual/highlevel-components.xml:
26574         * docs/manual/manual.xml:
26575         * docs/manual/thread.fig:
26576           Update (until threads/scheduling) Application Development Manual;
26577           remove GstThread, add GstBus, add simple porting checklist, add
26578           documentation for tag writing, clocks, make all examples until this
26579           part compile and run.
26580         * examples/manual/Makefile.am:
26581           Update from changes to Application Development Manual; add bus
26582           example, remove thread example.
26583
26584 2005-06-28  Wim Taymans  <wim@fluendo.com>
26585
26586         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
26587         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
26588         (gst_bus_source_dispatch):
26589         Add debugging messages.
26590         Make internal methods static.
26591         Handle the case where the bus is flushed in the handler.
26592         
26593         * gst/gstelement.c: (gst_element_get_bus):
26594         Fix refcount in _get_bus();
26595
26596         * gst/gstpipeline.c: (gst_pipeline_change_state),
26597         (gst_pipeline_get_clock_func):
26598         Clock refcounting fixes.
26599         Handle the case where preroll timed out more gracefully.
26600         
26601         * gst/gstsystemclock.c: (gst_system_clock_dispose):
26602         Clean up the internal thread in dispose. This is needed
26603         for subclasses that actually get disposed.
26604         
26605         * gst/schedulers/threadscheduler.c:
26606         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
26607         (gst_thread_scheduler_dispose):
26608         Free thread pool in dispose.
26609
26610 2005-06-28  Andy Wingo  <wingo@pobox.com>
26611
26612         * tests/network-clock-utils.scm (debug, print-event): New utils.
26613
26614         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
26615         (*packet-loss*): Unified loss probability.
26616         (network-time): Report out-of-band events.
26617
26618         * tests/plot-data: Add support for out-of-band events. Hack it
26619         into this script instead of passing it down the pipe; should fix
26620         this later.
26621
26622 2005-06-28  Wim Taymans  <wim@fluendo.com>
26623
26624         * docs/gst/gstreamer.types:
26625         * docs/gst/tmpl/gstbasesrc.sgml:
26626         * docs/gst/tmpl/gstpad.sgml:
26627         Docs fixes.
26628
26629 2005-06-28  Wim Taymans  <wim@fluendo.com>
26630
26631         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26632         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
26633         (gst_proxy_pad_do_fixatecaps):
26634         Correctly proxy the check_pull_range function.
26635
26636 2005-06-28  Andy Wingo  <wingo@pobox.com>
26637
26638         * tests/network-clock.scm: Removed need for slib.
26639         
26640 2005-06-28  Wim Taymans  <wim@fluendo.com>
26641
26642         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
26643         (gst_basesink_preroll_queue_flush):
26644         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
26645         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
26646         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26647         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26648         (gst_proxy_pad_set_property):
26649         * gst/gstpad.c:
26650         * gst/gstpad.h:
26651         * gst/gstqueue.c: (gst_queue_init):
26652         The deprecated pad loop function is removed now.
26653
26654 2005-06-28  Andy Wingo  <wingo@pobox.com>
26655
26656         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
26657         New parameters, simulate network packet loss.
26658
26659         * tests/network-clock-utils.scm: Initialize the RNG.
26660
26661 2005-06-28  Wim Taymans  <wim@fluendo.com>
26662
26663         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
26664         (gst_basesink_event), (gst_basesink_deactivate):
26665         Flushing the preroll queue always needs to unlock the waiters.
26666
26667 2005-06-28  Edward Hervey  <edward@fluendo.com>
26668
26669         * gst/gstpipeline.c: (gst_pipeline_send_event): 
26670         Wheen a seek was successful on a pipeline, set the stream_time to the
26671         seek offset in order to have a synchronized stream_time.
26672
26673 2005-06-28  Wim Taymans  <wim@fluendo.com>
26674
26675         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26676         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
26677         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
26678         (gst_proxy_pad_do_fixatecaps):
26679         Call wrapper function instead of just calling the function
26680         pointers. This takes care of any locking and whatmore.
26681
26682 2005-06-28  Wim Taymans  <wim@fluendo.com>
26683
26684         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
26685         (gst_pad_pull_range):
26686         * gst/gstpad.h:
26687         CONNECTED -> LINKED.
26688
26689 2005-06-28  Andy Wingo  <wingo@pobox.com>
26690
26691         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
26692         source-munging commit!!!
26693
26694         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
26695         (gst_object_sink): Take gpointer arguments, not GstObject --
26696         avoids casts. Like GLib.
26697
26698         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
26699         activate.
26700
26701 2005-06-27  Andy Wingo  <wingo@pobox.com>
26702
26703         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
26704         remaining buffer.
26705
26706         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
26707         returns a sorted copy of the trace list.
26708         (gst_alloc_trace_print_live): New API, only prints traces with
26709         live objects. Sort the list.
26710         (gst_alloc_trace_print_all): Sort the list.
26711         (gst_alloc_trace_print): Align columns.
26712
26713         * gst/elements/gstttypefindelement.c:
26714         * gst/elements/gsttee.c:
26715         * gst/base/gstbasesrc.c:
26716         * gst/base/gstbasesink.c:
26717         * gst/base/gstbasetransform.c:
26718         * gst/gstqueue.c: Adapt for pad activation changes.
26719
26720         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
26721         sched.
26722         (gst_pipeline_dispose): Drop ref on sched.
26723
26724         * gst/gstpad.c (gst_pad_init): Set the default activate func.
26725         (gst_pad_activate_default): Push mode by default.
26726         (pre_activate_switch, post_activate_switch): New stubs, things to
26727         do before and after switching activation modes on pads.
26728         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
26729         the pad's activate function to choose which mode to activate.
26730         Shortcut on deactivation and call the right function directly.
26731         (gst_pad_activate_pull): New API, (de)activates a pad in pull
26732         mode.
26733         (gst_pad_activate_push): New API, same for push mode.
26734         (gst_pad_set_activate_function) 
26735         (gst_pad_set_activatepull_function) 
26736         (gst_pad_set_activatepush_function): Setters for new API.
26737
26738         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
26739         Trace all miniobjects.
26740         (gst_mini_object_make_writable): Unref the arg if we copy, like
26741         gst_caps_make_writable.
26742
26743         * gst/gstmessage.c (_gst_message_initialize): No trace init.
26744
26745         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
26746         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
26747         Adapt for new pad API.
26748
26749         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
26750
26751         * gst/gstelement.h:
26752         * gst/gstelement.c (gst_element_iterate_src_pads) 
26753         (gst_element_iterate_sink_pads): New API functions.
26754         
26755         * gst/gstelement.c (iterator_fold_with_resync): New utility,
26756         should fold into gstiterator.c in some form.
26757         (gst_element_pads_activate): Simplified via use of fold and
26758         delegation of decisions to gstpad->activate.
26759
26760         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
26761         help in debugging.
26762
26763         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
26764         class once in init, like gstmessage. Didn't run into this issue
26765         but it seems correct. Don't initialize a trace, gstminiobject does
26766         that.
26767
26768         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
26769         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
26770         to the bus.
26771         (assert_live_count): New util function, uses alloc traces to check
26772         cleanup.
26773
26774         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
26775         To be modified when unlink drops the internal pad.
26776
26777 2005-06-27  Wim Taymans  <wim@fluendo.com>
26778
26779         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
26780         (gst_bin_change_state):
26781         Cleanup the get_state() function a little, make sure it
26782         iterates the same set of elements.
26783         Added stub iterate_state_order().
26784
26785 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
26786
26787         * docs/gst/gstreamer-docs.sgml:
26788         * docs/gst/gstreamer-sections.txt:
26789         * docs/gst/gstreamer.types:
26790         * docs/gst/tmpl/gstbasesink.sgml:
26791         * docs/gst/tmpl/gstbasesrc.sgml:
26792         * docs/gst/tmpl/gstbasetransform.sgml:
26793         * docs/gst/tmpl/gstelement.sgml:
26794         * docs/gst/tmpl/gstiterator.sgml:
26795         * gst/base/gstbasesrc.c:
26796         * gst/base/gstbasesrc.h:
26797         * gst/base/gstbasetransform.h:
26798         * gst/gstelement.c:
26799         * gst/gstiterator.h:
26800           adding basetransform and iterator docs
26801
26802 2005-06-27  Andy Wingo  <wingo@pobox.com>
26803
26804         * docs/design/part-activation.txt: Notes on how activation should
26805         work -- not quite implemented yet.
26806
26807 2005-06-25  Wim Taymans  <wim@fluendo.com>
26808
26809         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
26810         At least get the chain function correct, needs more
26811         fixing.
26812
26813 2005-06-25  Wim Taymans  <wim@fluendo.com>
26814
26815         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26816         (gst_basesink_handle_object), (gst_basesink_event),
26817         (gst_basesink_do_sync), (gst_basesink_handle_event),
26818         (gst_basesink_change_state):
26819         * gst/gsttask.h:
26820         Right, two problems here: ghostpads don't take locks and
26821         glib _rec_mutex_lock_full() with depth==0 still locks.
26822         Catch illegal locking and g_warn them.
26823
26824 2005-06-25  Wim Taymans  <wim@fluendo.com>
26825
26826         * check/states/sinks.c: (START_TEST), (gst_object_suite):
26827         Have to check for completion now...
26828
26829 2005-06-25  Wim Taymans  <wim@fluendo.com>
26830
26831         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26832         (gst_basesink_handle_object), (gst_basesink_event),
26833         (gst_basesink_do_sync), (gst_basesink_handle_event),
26834         (gst_basesink_change_state):
26835         * gst/gstpad.h:
26836         Unlock STREAM_LOCK whatever the recursion was.
26837
26838 2005-06-25  Wim Taymans  <wim@fluendo.com>
26839
26840         * gst/base/gstbasesink.c: (gst_basesink_set_property),
26841         (gst_basesink_preroll_queue_empty),
26842         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
26843         (gst_basesink_event), (gst_basesink_do_sync),
26844         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
26845         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
26846         (gst_basesink_change_state):
26847         Reworked the base sink, handle event and buffer serialisation
26848         correctly and removed possible deadlock.
26849         Handle EOS correctly.
26850
26851 2005-06-25  Wim Taymans  <wim@fluendo.com>
26852
26853         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
26854         (gst_pipeline_change_state):
26855         * tools/gst-launch.c: (check_intr), (event_loop), (main):
26856         Allow elements to post EOS in the state change function.
26857         Fix up -launch, make it exit the poll loop when the
26858         pipeline actually changed state.
26859         Fix up warning parsing in -launch.
26860
26861 2005-06-25  Wim Taymans  <wim@fluendo.com>
26862
26863         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
26864         (gst_tee_sink_activate):
26865         Core takes STREAM_LOCK for us now.
26866
26867 2005-06-25  Wim Taymans  <wim@fluendo.com>
26868
26869         * gst/gstelement.c: (gst_element_get_state_func),
26870         (gst_element_set_state):
26871         * gst/gstelement.h:
26872         * gst/gstmessage.c: (gst_message_parse_error),
26873         (gst_message_parse_warning):
26874         Keep track of current target state while performing a state
26875         change so that subclasses can do something interesting.
26876         Fix parsing of warning/error messages when GError is NULL.
26877
26878 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26879
26880         * docs/gst/Makefile.am:
26881         * docs/gst/gstreamer-docs.sgml:
26882         * docs/gst/gstreamer-sections.txt:
26883         * docs/gst/gstreamer.types:
26884         * docs/gst/tmpl/gstbasesink.sgml:
26885         * docs/gst/tmpl/gstbasesrc.sgml:
26886         * docs/gst/tmpl/gstbin.sgml:
26887         * docs/gst/tmpl/gstcompat.sgml:
26888         * docs/gst/tmpl/gstfakesink.sgml:
26889         * docs/gst/tmpl/gstfakesrc.sgml:
26890         * docs/gst/tmpl/gstfilesink.sgml:
26891         * docs/gst/tmpl/gstfilesrc.sgml:
26892         * docs/gst/tmpl/gstindex.sgml:
26893         * docs/manual/appendix-quotes.xml:
26894         * gst/base/gstbasesrc.h:
26895         * gst/elements/gstfakesrc.h:
26896         * gst/gstmessage.h:
26897           start pulling in base classes and elements in our docs
26898
26899 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
26900
26901         * docs/gst/Makefile.am:
26902         * docs/libs/Makefile.am:
26903           fixed make distcheck with gtk-doc 1.3
26904
26905 2005-06-23  Wim Taymans  <wim@fluendo.com>
26906
26907         * gst/gstelement.c: (gst_element_get_state_func),
26908         (gst_element_set_state), (gst_element_change_state):
26909         When the state did not change, also report NO_PREROLL
26910         when it matters.
26911
26912 2005-06-23  Wim Taymans  <wim@fluendo.com>
26913
26914         * gst/gstpad.c: (gst_pad_event_default):
26915         * gst/gstqueue.c: (gst_queue_loop):
26916         No unsafe task pausing please.
26917
26918 2005-06-23  Wim Taymans  <wim@fluendo.com>
26919
26920         * gst/schedulers/threadscheduler.c:
26921         (gst_thread_scheduler_task_start),
26922         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
26923         Ref the task before pushing it on the threadpool. This
26924         makes sure that we have a ref when the threadfunction is
26925         actually called.
26926
26927 2005-06-23  Andy Wingo  <wingo@pobox.com>
26928
26929         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
26930         offset is greater than the file's size.
26931
26932         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
26933         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
26934         * gst/gstobject.c (gst_object_class_init): Make the class lock
26935         recursive. Wim won't let me drop deep_notify. Decodebin works
26936         again, whoopdy doo.
26937
26938         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
26939         internal pad, and hacks accordingly. Doesn't do it on the target
26940         pad because we change its caps. Probably catches all cases of
26941         interest tho.
26942         (gst_ghost_pad_set_property): Connect to notify::caps as
26943         appropritate.
26944
26945         * tests/network-clock.scm (plot-simulation): Pipe data to the
26946         elite python skript.
26947
26948         * tests/network-clock-utils.scm (define-parameter): New macro,
26949         defines a parameter that can be set via the command line.
26950         (set-parameter!, parse-parameter-arguments): Command line args
26951         parser.
26952
26953         * tests/plot-data: Simple matplotlib-based plotter, takes input on
26954         stdin.
26955
26956 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
26957
26958         * gst/elements/gsttypefindelement.c:
26959         (gst_type_find_element_handle_event):
26960           Don't restart typefinding on a discont.
26961         * gst/gstelement.c: (gst_element_set_state):
26962           Debug spelling fix.
26963         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
26964           Allow changing mode of an active pad.
26965           Debug output fixes.
26966         * gst/registries/gstlibxmlregistry.c: (load_feature):
26967           Don't cast a static pad template to a normal pad template.
26968
26969 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26970
26971         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26972         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
26973           remove gst_strtoll completely, since it didn't actually do
26974           anything more than what g_ascii_strtoull already does.
26975           check for range errors when deserializing
26976           do a cast for the unsigned cases; but further fixing needs
26977           a decision on what the interpretation of "(int)" and
26978           deserialization should be for values that fall outside the
26979           type's boundaries (ie, refuse, or interpret as casting)
26980
26981 2005-06-23  Wim Taymans  <wim@fluendo.com>
26982
26983         * check/Makefile.am:
26984         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
26985         * docs/design/part-live-source.txt:
26986         * docs/design/part-states.txt:
26987         * gst/base/gstbasesrc.c: (gst_basesrc_init),
26988         (gst_basesrc_set_live), (gst_basesrc_is_live),
26989         (gst_basesrc_get_range), (gst_basesrc_activate),
26990         (gst_basesrc_change_state):
26991         * gst/base/gstbasesrc.h:
26992         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26993         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26994         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
26995         * gst/gstelement.c: (gst_element_get_state_func),
26996         (gst_element_set_state):
26997         * gst/gstelement.h:
26998         * gst/gsttypes.h:
26999         * tools/gst-launch.c: (event_loop), (main):
27000         Added support for live sources and other elements that
27001         cannot do preroll.
27002         Updated design docs, added live-source design doc.
27003         Implemented live source functionality in basesrc
27004         Fix error condition in _bin_get_state()
27005         Implement live source handling in -launch.
27006         Added check for live sources.
27007         Fixed case in GstBin where elements were changed state
27008         multiple times.
27009
27010
27011 2005-06-23  Andy Wingo  <wingo@pobox.com>
27012
27013         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
27014         borken refcounting.
27015
27016         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
27017         gst_caps_replace takes care of this for us.
27018
27019         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
27020         gst_pad_set_caps on the target, not just its setcaps() function.
27021
27022         * tests/network-clock.scm: 
27023         * tests/network-clock-utils.scm: A network clock simulator.
27024         Something of an algorithmic testbed before doing something in C.
27025
27026 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27027
27028         * check/Makefile.am:
27029         * check/gst/capslist.h:
27030           copy over from 0.8, and add two with bitmasks specified with
27031           (int) 0xFF...
27032         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27033           add test to parse everything from capslist.h
27034         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
27035         (main):
27036           add test for structure deserialization
27037         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27038           add tests for deserialization of strings to int types
27039         * gst/gststructure.c: (gst_structure_nth_field_name):
27040         * gst/gststructure.h:
27041           add a way to get the name of a field referenced by index
27042         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27043           instead of checking if the resulting long long lies between
27044           min and max, we check if the long long would fit into
27045           a number of bytes for the final type.
27046           This fixes cases where a string represents 2^32 - 1, which
27047           when cast to int would be the (valid) -1, but is bigger than
27048           G_MAXINT
27049
27050 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27051
27052         * gst/parse/grammar.y:
27053           add a log line for type deserialization
27054
27055 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27056
27057         * check/gst/gstvalue.c: (START_TEST):
27058         * gst/gstvalue.c: (gst_value_deserialize):
27059           return long long, not int, so gint64 deserialization actually
27060           works.  Is there any flag that makes the compiler check this ?
27061           Fixes #308559
27062
27063 2005-06-22  Wim Taymans  <wim@fluendo.com>
27064
27065         * gst/gstbuffer.h:
27066         Added convenience macros for setting buffers in GValue.
27067
27068 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27069
27070         * check/gst/.cvsignore:
27071         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27072           add a test deserializing int64, and comment part out because
27073           it fails, yay !
27074
27075 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27076
27077         * check/Makefile.am:
27078         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
27079         * testsuite/Makefile.am:
27080         * testsuite/caps/Makefile.am:
27081         * testsuite/caps/value_serialize.c:
27082         * testsuite/test_gst_init.c:
27083           move a value_serialize test over
27084
27085 2005-06-20  Wim Taymans  <wim@fluendo.com>
27086
27087         * gst/gstpad.c:
27088         Small doc updates.
27089         
27090         * gst/gstvalue.c: (gst_value_compare_buffer),
27091         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
27092         (gst_value_compare_flags), (gst_value_serialize_flags),
27093         (gst_value_deserialize_flags), (_gst_value_initialize):
27094         Fix serialisation of buffers, they are not boxed types anymore
27095
27096 2005-06-20  Wim Taymans  <wim@fluendo.com>
27097
27098         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27099         Testcase to show error in buffer-on-caps serialisation.
27100
27101 2005-06-20  Andy Wingo  <wingo@pobox.com>
27102
27103         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
27104         will be adding to later.
27105
27106         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
27107         if its socks fill with rocks.
27108         (gst_system_clock_obtain): Set the name on object construction.
27109         Avoid double-checked locking.
27110
27111 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
27112
27113         * gst/gsturi.c: (gst_element_make_from_uri):
27114           Fix potential endless loop.
27115
27116 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27117
27118         * check/Makefile.am:
27119           add gsttag
27120         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
27121         (main):
27122           move over from testsuite dir and clean up
27123         * configure.ac:
27124         * gst/gsttag.c:
27125         * testsuite/Makefile.am:
27126         * testsuite/tags/.cvsignore:
27127         * testsuite/tags/Makefile.am:
27128         * testsuite/tags/merge.c:
27129           remove testsuite/tags
27130
27131 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27132
27133         * docs/gst/gstreamer-sections.txt:
27134         * docs/gst/tmpl/gstenumtypes.sgml:
27135         * win32/gstenumtypes.c:
27136           clean up documentation build a little
27137
27138 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27139
27140         * check/gstcheck.h:
27141           add macros for checking refcounts on objects and caps
27142         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
27143           add some more unit tests
27144         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27145         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
27146           fix leaked refcounts (I hope :)) so unittest works
27147         * gst/gstpad.h:
27148           whitespace removal
27149
27150 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27151
27152         * configure.ac: back to HEAD
27153
27154 === release 0.9.1 ===
27155
27156 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27157
27158         * NEWS:
27159         * RELEASE:
27160           updated
27161
27162 2005-06-17  Andy Wingo  <wingo@pobox.com>
27163
27164         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
27165         assert; it's always possible that the pad gets deactivated in
27166         between the checks in gstpad.c and the implementation. Rely on
27167         finish_preroll() to return a FLUSHING or similar instead of on the
27168         assert.
27169         
27170         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
27171         clock and post an EOS message if we come out of finish_preroll in
27172         the playing state.
27173
27174 2005-06-16  David Schleef  <ds@schleef.org>
27175
27176         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
27177         (gst_capsfilter_set_property): Allow NULL as possible value
27178         for filter_caps property, indicating GST_CAPS_ANY.
27179
27180 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27181
27182         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
27183           fix debug output
27184         * gst/schedulers/Makefile.am:
27185           use libgst prefix
27186         * gstreamer.spec.in:
27187           fix spec for it
27188
27189 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27190
27191         * gstreamer.spec.in:
27192           clean up
27193
27194 2005-06-08  Andy Wingo  <wingo@pobox.com>
27195
27196         * gst/gstutils.c: RPAD fixes all around.
27197         (gst_element_link_pads): Refcounting fixes.
27198
27199         * tools/gst-inspect.c:
27200         * tools/gst-xmlinspect.c:
27201         * parse/grammar.y:
27202         * gst/base/gsttypefindhelper.c:
27203         * gst/base/gstbasesink.c:
27204         * gst/gstqueue.c: RPAD fixes.
27205
27206         * gst/gstghostpad.h:
27207         * gst/gstghostpad.c: New ghost pad implementation as full proxy
27208         pads. The tricky thing is they provide both source and sink
27209         interfaces, since they proxy the internal pad for the external
27210         pad, and vice versa. Implement with lower-level ProxyPad objects,
27211         with the interior proxy pad as a child of the exterior ghost pad.
27212         Should write a doc on this.
27213         
27214         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
27215         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
27216         gst_object API.
27217         
27218         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
27219         pads are real pads. No ghost pads in this file. Not documenting
27220         the myriad s/RPAD/PAD/ and REALIZE fixes.
27221         (gst_pad_class_init): Add properties for "direction" and
27222         "template". Both are construct-only, so they can't change during
27223         the life of the pad. Fixes properly deriving from GstPad.
27224         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
27225         derived objects, just set properties when creating the objects via
27226         g_object_new.
27227         (gst_pad_get_parent): Implement as a function, return NULL if the
27228         parent is not an element.
27229         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
27230         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
27231         
27232         * gst/gstobject.c (gst_object_class_init): Make name a construct
27233         property. Don't set it in the object init.
27234
27235         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
27236         with UNKNOWN direction.
27237         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
27238         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
27239         (gst_element_remove_pad): Remove ghost-pad special cases.
27240         (gst_element_pads_activate): Remove rpad cruft.
27241
27242         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
27243         catch the pad's-parent-not-an-element case.
27244
27245         * gst/gst.h: Include gstghostpad.h.
27246
27247         * gst/gst.c (init_post): No more real, ghost pads.
27248
27249         * gst/Makefile.am: Add gstghostpad.[ch].
27250
27251         * check/Makefile.am:
27252         * check/gst/gstbin.c:
27253         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
27254         into a bin creates ghost pads, and that the refcounts are right.
27255         Partly moved from gstbin.c.
27256
27257 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27258
27259         * check/gst-libs/.cvsignore:
27260         * check/gst/.cvsignore:
27261         * check/pipelines/.cvsignore:
27262           ignore more
27263         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
27264         (START_TEST), (cleanup_suite), (main):
27265           add some tests related to cleanup after running pipelines
27266
27267 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27268
27269         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
27270           add a testsuite for GstBuffer
27271
27272 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27273
27274         * gst/gstminiobject.h:
27275           add defines for accessing the refcount
27276
27277 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
27278
27279         * Makefile.am: added support for html unit test coverage reports
27280
27281 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
27282
27283         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27284           Free existing caps if the capsfilter changes. Add a FIXME about
27285           setting those caps on the pads.
27286
27287         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
27288           Before adding a ghost pad to a parent bin, check that there isn't
27289           already one for the element on the bin. Prevents infinite recursion
27290           when using decodebin in parse pipelines. Andy says he'll rewrite the
27291           way this works anyway, so ignore the hack.
27292
27293 2005-06-02  Andy Wingo  <wingo@pobox.com>
27294
27295         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
27296         file size, pass it on to the type find helper.
27297
27298         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
27299         segment_start and segment_end properly according to the seek
27300         method. Segment_end is still a bit flaky because offset can be
27301         negative for CUR and END cases, but it takes -1 as an "unset"
27302         value.
27303
27304 2005-06-02  Wim Taymans  <wim@fluendo.com>
27305
27306         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
27307         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
27308         (gst_basesink_activate):
27309         * gst/base/gstbasesink.h:
27310         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27311         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27312         (gst_pad_query), (gst_pad_start_task):
27313         * gst/gstpad.h:
27314         * gst/gstqueue.c: (gst_queue_bufferalloc),
27315         (gst_queue_handle_sink_event), (gst_queue_chain):
27316         Bufferalloc: return GstFlowReturn to more accuratly report
27317         why allocation failed.
27318
27319 2005-06-02  Wim Taymans  <wim@fluendo.com>
27320
27321         * gst/gstpipeline.c: (gst_pipeline_send_event):
27322         Take snapshot of state without blocking.
27323
27324 2005-06-02  Wim Taymans  <wim@fluendo.com>
27325
27326         * docs/design/part-TODO.txt:
27327         * docs/design/part-caps.txt:
27328         * docs/design/part-clocks.txt:
27329         * docs/design/part-negotiation.txt:
27330         * docs/design/part-preroll.txt:
27331         Small doc updates 
27332
27333 2005-05-30  Wim Taymans  <wim@fluendo.com>
27334
27335         * gst/elements/gstidentity.c: (gst_identity_event),
27336         (gst_identity_transform), (gst_identity_get_property):
27337         Protect last_message property as it is accessed from
27338         multiple threads.
27339
27340 2005-05-30  Wim Taymans  <wim@fluendo.com>
27341
27342         * gst/gstelement.c: (gst_element_init),
27343         (gst_element_pads_activate), (gst_element_change_state):
27344         Slicker pad activation code.
27345
27346 2005-05-30  Wim Taymans  <wim@fluendo.com>
27347
27348         * gst/Makefile.am:
27349         * gst/gstelement.h:
27350         * gst/gstelementfactory.h:
27351         * gst/gsttypes.h:
27352         Move elementfactory methods to separate .h file.
27353
27354 2005-05-30  Wim Taymans  <wim@fluendo.com>
27355
27356         * docs/design/part-overview.txt:
27357         * gst/gstsystemclock.h:
27358         Small typo fixes, doc updates.
27359
27360 2005-05-30  Wim Taymans  <wim@fluendo.com>
27361
27362         * gst/gst.c: (gst_init_get_popt_table), (init_post),
27363         (init_popt_callback):
27364         Remove cpu-opt flag.
27365
27366 2005-05-30  Wim Taymans  <wim@fluendo.com>
27367
27368         * gst/gstbuffer.c: (gst_subbuffer_finalize),
27369         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
27370         * gst/gstbuffer.h:
27371         Avoid typechecking in places where not needed.
27372         Added accessor for malloc_data.
27373
27374 2005-05-30  Wim Taymans  <wim@fluendo.com>
27375
27376         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
27377         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
27378         (gst_pad_configure_sink), (gst_pad_configure_src),
27379         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
27380         (gst_pad_start_task):
27381         Propagate errors from _set_caps() in configure_src/sink
27382         functions instead of returning TRUE.
27383         FLUSH events can travel up and downstream
27384
27385
27386 2005-05-30  Wim Taymans  <wim@fluendo.com>
27387
27388         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27389         (gst_basesink_activate):
27390         Handle EOS in preroll.
27391
27392 2005-05-30  Wim Taymans  <wim@fluendo.com>
27393
27394         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27395         (gst_queue_loop), (gst_queue_handle_src_event):
27396         Remove old pieces of code
27397         Flushing the queue in an upstream event is a very bad idea.
27398
27399 2005-05-26  Andy Wingo  <wingo@pobox.com>
27400
27401         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
27402         gst_value_set_mini_object so as to add a ref on the object (which
27403         will be removed when the value is unset).
27404
27405         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
27406         arg type in ::handoff.
27407
27408         * gst/gstelement.c (gst_element_change_state): Also deactivate
27409         pads in READY->NULL, just in case the element didn't make it to
27410         PAUSED. Wingo tested, Wim approved.
27411
27412 2005-05-26  Wim Taymans  <wim@fluendo.com>
27413
27414         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27415         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27416         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
27417         A flushing pad cannot be used to alloc_buffer from.
27418
27419 2005-05-26  Wim Taymans  <wim@fluendo.com>
27420
27421         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
27422         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
27423         (gst_bus_source_dispatch), (gst_bus_source_finalize),
27424         (gst_bus_create_watch), (gst_bus_add_watch_full):
27425         * gst/gstbus.h:
27426         Implement a real GSource and use g_main_context_wakeup() to
27427         signal new messages instead of the socketpair.
27428
27429 2005-05-25  Wim Taymans  <wim@fluendo.com>
27430
27431         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
27432         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
27433         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27434         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27435         (gst_pad_send_event), (gst_pad_start_task):
27436         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
27437         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27438         (gst_queue_sink_activate), (gst_queue_src_activate),
27439         (gst_queue_change_state):
27440         * gst/gstqueue.h:
27441         Fix state changes for non sinks. We now change sinks, then elements
27442         with unconnected srcpads, then the rest.
27443         More efficient queue unlocking in flush and state changes.
27444         Set the pad activate mode even if it does not have an activate
27445         function.
27446
27447 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27448
27449         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
27450           Don't go in pull mode for non-seekable sources.
27451         * gst/elements/gsttypefindelement.h:
27452         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
27453         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
27454         (free_entry), (stop_typefinding),
27455         (gst_type_find_element_handle_event), (find_peek),
27456         (gst_type_find_element_chain), (do_pull_typefind),
27457         (gst_type_find_element_change_state):
27458           Allow typefinding (w/o seeking) in push-mode, simplified version
27459           of what was in 0.8.
27460         * gst/gstutils.c: (gst_buffer_join):
27461         * gst/gstutils.h:
27462           gst_buffer_join() from 0.8.
27463
27464 2005-05-25  Wim Taymans  <wim@fluendo.com>
27465
27466         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27467         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27468         (gst_pad_send_event), (gst_pad_start_task):
27469         Disable attempt at mode switching until it is figured out.
27470
27471 2005-05-25  Wim Taymans  <wim@fluendo.com>
27472
27473         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
27474         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27475         (gst_basesink_finish_preroll), (gst_basesink_chain),
27476         (gst_basesink_loop), (gst_basesink_activate),
27477         (gst_basesink_change_state):
27478         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
27479         (gst_basesrc_get_range), (gst_basesrc_loop),
27480         (gst_basesrc_activate):
27481         * gst/elements/gsttee.c: (gst_tee_sink_activate):
27482         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
27483         (gst_real_pad_init), (gst_real_pad_set_property),
27484         (gst_real_pad_get_property), (gst_pad_set_active),
27485         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
27486         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
27487         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
27488         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
27489         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27490         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
27491         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
27492         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27493         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
27494         (gst_pad_stop_task):
27495         * gst/gstpad.h:
27496         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27497         (gst_queue_loop), (gst_queue_src_activate):
27498         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
27499         (gst_task_get_state):
27500         * gst/gsttask.h:
27501         * gst/schedulers/threadscheduler.c:
27502         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
27503         Implement gst_pad_pause/start/stop_task(), take STREAM lock
27504         in task function.
27505         Remove ACTIVE pad flag, use FLUSHING everywhere
27506         Added _pad_chain(), _pad_get_range() to call chain/getrange 
27507         functions.
27508         Add locks around IS_FLUSHING when reading.
27509         Take STREAM lock in chain(), get_range() functions so plugins
27510         don't need to take it anymore.
27511         
27512
27513
27514 2005-05-25  Wim Taymans  <wim@fluendo.com>
27515
27516         * tools/gst-launch.c: (event_loop):
27517         Unref message after using its contents instead of
27518         before.
27519
27520 2005-05-24  Wim Taymans  <wim@fluendo.com>
27521
27522         * docs/design/draft-ghostpads.txt:
27523         * docs/design/draft-push-pull.txt:
27524         * docs/design/draft-query.txt:
27525         * docs/design/part-overview.txt:
27526         Docs updates, added general overview doc.
27527
27528 2005-05-21  David Schleef  <ds@schleef.org>
27529
27530         * docs/gst/tmpl/old/GstBin.sgml:
27531         * docs/gst/tmpl/old/GstBuffer.sgml:
27532         * docs/gst/tmpl/old/GstCaps.sgml:
27533         * docs/gst/tmpl/old/GstClock.sgml:
27534         * docs/gst/tmpl/old/GstCompat.sgml:
27535         * docs/gst/tmpl/old/GstData.sgml:
27536         * docs/gst/tmpl/old/GstElement.sgml:
27537         * docs/gst/tmpl/old/GstEvent.sgml:
27538         * docs/gst/tmpl/old/GstIndex.sgml:
27539         * docs/gst/tmpl/old/GstStructure.sgml:
27540         * docs/gst/tmpl/old/GstTag.sgml:
27541         * docs/gst/tmpl/old/cothreads.sgml:
27542         * docs/gst/tmpl/old/cothreads_compat.sgml:
27543         * docs/gst/tmpl/old/gettext.sgml:
27544         * docs/gst/tmpl/old/gobject2gtk.sgml:
27545         * docs/gst/tmpl/old/grammar.tab.sgml:
27546         * docs/gst/tmpl/old/gst-i18n-app.sgml:
27547         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
27548         * docs/gst/tmpl/old/gst_private.sgml:
27549         * docs/gst/tmpl/old/gstaggregator.sgml:
27550         * docs/gst/tmpl/old/gstarch.sgml:
27551         * docs/gst/tmpl/old/gstatomic_impl.sgml:
27552         * docs/gst/tmpl/old/gstbufferstore.sgml:
27553         * docs/gst/tmpl/old/gstdata_private.sgml:
27554         * docs/gst/tmpl/old/gstdisksink.sgml:
27555         * docs/gst/tmpl/old/gstdisksrc.sgml:
27556         * docs/gst/tmpl/old/gstelementfactory.sgml:
27557         * docs/gst/tmpl/old/gstextratypes.sgml:
27558         * docs/gst/tmpl/old/gstfakesink.sgml:
27559         * docs/gst/tmpl/old/gstfakesrc.sgml:
27560         * docs/gst/tmpl/old/gstfdsink.sgml:
27561         * docs/gst/tmpl/old/gstfdsrc.sgml:
27562         * docs/gst/tmpl/old/gstfilesink.sgml:
27563         * docs/gst/tmpl/old/gstfilesrc.sgml:
27564         * docs/gst/tmpl/old/gsthttpsrc.sgml:
27565         * docs/gst/tmpl/old/gstidentity.sgml:
27566         * docs/gst/tmpl/old/gstindexfactory.sgml:
27567         * docs/gst/tmpl/old/gstmarshal.sgml:
27568         * docs/gst/tmpl/old/gstmd5sink.sgml:
27569         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
27570         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
27571         * docs/gst/tmpl/old/gstpadtemplate.sgml:
27572         * docs/gst/tmpl/old/gstpipefilter.sgml:
27573         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
27574         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
27575         * docs/gst/tmpl/old/gstshaper.sgml:
27576         * docs/gst/tmpl/old/gstspider.sgml:
27577         * docs/gst/tmpl/old/gstspideridentity.sgml:
27578         * docs/gst/tmpl/old/gststatistics.sgml:
27579         * docs/gst/tmpl/old/gsttee.sgml:
27580         * docs/gst/tmpl/old/gsttimecache.sgml:
27581         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
27582         * docs/gst/tmpl/old/gstxmlregistry.sgml:
27583         * docs/gst/tmpl/old/gthread-cothreads.sgml:
27584         * docs/gst/tmpl/old/types.sgml:
27585           I didn't intend to add these or check them in.
27586
27587 2005-05-19  David Schleef  <ds@schleef.org>
27588
27589         * configure.ac: Use -no-common everywhere.  In a sane world, it
27590           would be the default in libtool, because without it, you can't
27591           build DLLs on Windows.
27592         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
27593         * docs/gst/gstreamer-sections.txt:
27594         * docs/gst/tmpl/gstcpu.sgml:
27595         * docs/gst/tmpl/gstdata.sgml:
27596         * docs/gst/tmpl/gstthread.sgml:
27597
27598 2005-05-19  David Schleef  <ds@schleef.org>
27599
27600         * gst/gstminiobject.c: (gst_value_set_mini_object),
27601         (gst_value_take_mini_object), (gst_value_get_mini_object):
27602         * gst/gstminiobject.h: Add GValue set/get functions.
27603
27604 2005-05-19  Wim Taymans  <wim@fluendo.com>
27605
27606         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
27607         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
27608         (gst_subbuffer_init), (gst_buffer_is_span_fast):
27609         * gst/gstbuffer.h:
27610         * gst/gstbus.c: (gst_bus_post):
27611         * gst/gstelement.c: (gst_element_get_random_pad):
27612         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
27613         Make subbufer unref the parent in finalize.
27614         some more debugging info.
27615
27616
27617 2005-05-19  Wim Taymans  <wim@fluendo.com>
27618
27619         * gst/base/gstbasesink.c: (gst_basesink_class_init),
27620         (gst_basesink_init), (gst_basesink_finalize),
27621         (gst_basesink_activate), (gst_basesink_change_state):
27622         Don't free preroll queue too early.
27623
27624 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27625
27626         * gst/Makefile.am:
27627         * gst/ROADMAP:
27628           Hi, I'm outdated. Please shoot me.
27629
27630 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27631
27632         * gst/gstpipeline.c: (gst_pipeline_send_event):
27633           Do not access variables after they have been deleted.
27634
27635 2005-05-19  Wim Taymans  <wim@fluendo.com>
27636
27637         * tools/gst-inspect.c: (print_plugin_features):
27638         A plugin feature does unfortunatly not use the
27639         object name yet...
27640
27641 2005-05-18  Wim Taymans  <wim@fluendo.com>
27642
27643         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
27644         Port _span() functions to new subbuffers.
27645
27646 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27647
27648         * gst/gstbin.c: (gst_bin_add_func):
27649           Fix clock settery in bins when adding kids after the clock has
27650           been selected.
27651
27652 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27653
27654         * gst/elements/gstidentity.c: (gst_identity_class_init):
27655           Workaround until signals support GstMiniObject.
27656
27657 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
27658
27659         * gst/gstbuffer.c:
27660         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
27661
27662 2005-05-18  Wim Taymans  <wim@fluendo.com>
27663
27664         * gst/base/Makefile.am:
27665         * gst/base/gstadapter.c: (gst_adapter_base_init),
27666         (gst_adapter_class_init), (gst_adapter_init),
27667         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
27668         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
27669         (gst_adapter_flush), (gst_adapter_available),
27670         (gst_adapter_available_fast):
27671         * gst/base/gstadapter.h:
27672         Ported and added adapter to the base classes.
27673
27674 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
27675
27676         * gst/gst.c:
27677         * gst/gstmessage.c:
27678           Make sure the class is reffed/unreffed once before threads can be
27679           used.  Fixes #304551.
27680
27681 2005-05-17  Wim Taymans  <wim@fluendo.com>
27682
27683         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
27684         (gst_basesink_chain_unlocked), (gst_basesink_activate):
27685         * gst/gstminiobject.c: (gst_mini_object_get_type),
27686         (gst_mini_object_free):
27687         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
27688         (gst_pad_push), (gst_pad_push_event):
27689         * gst/gstqueue.c: (gst_queue_change_state):
27690         Don't queue buffers in basesink when we are flushing.
27691         Unref buffer when flushing in basesink.
27692         Flush queue when going to READY
27693         Unref buffer when _push() returns an error.
27694         Don't free MiniObject instance when refcount is incremented
27695         in _finalize() so that we can recover objects.
27696
27697 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27698
27699         * docs/manual/advanced-schedulers.xml:
27700         * docs/manual/appendix-checklist.xml:
27701         * docs/pwg/advanced-clock.xml:
27702         * docs/pwg/advanced-interfaces.xml:
27703         * docs/pwg/advanced-request.xml:
27704         * docs/pwg/advanced-types.xml:
27705         * docs/pwg/intro-preface.xml:
27706         * examples/plugins/example.c: (gst_example_get_type),
27707         (gst_example_class_init), (gst_example_chain),
27708         (gst_example_set_property), (gst_example_get_property),
27709         (gst_example_change_state), (plugin_init):
27710         * examples/plugins/example.h:
27711           small doc fixes
27712
27713 2005-05-17  Wim Taymans  <wim@fluendo.com>
27714
27715         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
27716         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
27717         * gst/gstqueue.c: (gst_queue_change_state):
27718         Clear queue when going to READY.
27719         Remove IN_SETCAPS flag too.
27720
27721 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
27722
27723         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
27724           Remove implicit cast from gboolean to GstElementStateReturn;
27725           make sure we still return failure in paused => ready case if
27726           the parent class fails to change state and our own stop 
27727           vfunc succeeds.
27728
27729 2005-05-17  Wim Taymans  <wim@fluendo.com>
27730
27731         * tools/gst-launch.c: (event_loop):
27732         Message was unreffed too soon.
27733
27734 2005-05-16  Andy Wingo  <wingo@pobox.com>
27735
27736         * gst/gstbin.c (sink_iterator_filter): Err... um...
27737
27738         * check/gst/gstbin.c (test_ghost_pads): New test for the
27739         ghosting-if-elements-not-in-same-bin behavior.
27740
27741 2005-05-16  David Schleef  <ds@schleef.org>
27742
27743         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
27744         accessing refcount directly.
27745
27746 2005-05-15  David Schleef  <ds@schleef.org>
27747
27748         * check/Makefile.am: remove GstData checks
27749         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
27750         * gst/Makefile.am: add miniobject, remove data
27751         * gst/gst.h: add miniobject, remove data
27752         * gst/gstdata.c: remove
27753         * gst/gstdata.h: remove
27754         * gst/gstdata_private.h: remove
27755         * gst/gsttypes.h: remove GstEvent and GstMessage
27756         * gst/gstelement.c: (gst_element_post_message): fix for API changes
27757         * gst/gstmarshal.list: change BOXED -> OBJECT
27758
27759         Implement GstMiniObject.
27760         * gst/gstminiobject.c:
27761         * gst/gstminiobject.h:
27762
27763         Modify to be subclasses of GstMiniObject.
27764         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
27765         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
27766         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
27767         (gst_subbuffer_get_type), (gst_subbuffer_init),
27768         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
27769         (gst_buffer_span):
27770         * gst/gstbuffer.h:
27771         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
27772         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
27773         (_gst_event_copy), (gst_event_new):
27774         * gst/gstevent.h:
27775         * gst/gstmessage.c: (_gst_message_initialize),
27776         (gst_message_get_type), (gst_message_class_init),
27777         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
27778         (gst_message_new), (gst_message_new_error),
27779         (gst_message_new_warning), (gst_message_new_tag),
27780         (gst_message_new_state_changed), (gst_message_new_application):
27781         * gst/gstmessage.h:
27782         * gst/gstprobe.c: (gst_probe_perform),
27783         (gst_probe_dispatcher_dispatch):
27784         * gst/gstprobe.h:
27785         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
27786         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
27787         (_gst_query_copy), (gst_query_new):
27788
27789         Update elements for GstData -> GstMiniObject changes
27790         * gst/gstquery.h:
27791         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
27792         (gst_queue_chain), (gst_queue_loop):
27793         * gst/elements/gstbufferstore.c:
27794         (gst_buffer_store_add_buffer_func),
27795         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
27796         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27797         (gst_fakesink_render):
27798         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27799         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
27800         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
27801         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
27802         (gst_filesrc_create_read):
27803         * gst/elements/gstidentity.c: (gst_identity_class_init):
27804         * gst/elements/gsttypefindelement.c:
27805         (gst_type_find_element_src_event), (free_entry_buffers),
27806         (gst_type_find_element_handle_event):
27807         * libs/gst/dataprotocol/dataprotocol.c:
27808         (gst_dp_header_from_buffer):
27809         * libs/gst/dataprotocol/dataprotocol.h:
27810         * libs/gst/dataprotocol/dp-private.h:
27811
27812 2005-05-15  David Schleef  <ds@schleef.org>
27813
27814         * gst/elements/gstelements.c: Don't include headers that were
27815         just removed.
27816
27817 2005-05-15  David Schleef  <ds@schleef.org>
27818
27819         * gst/elements/Makefile.am: Remove some elements that don't
27820         need to be in the core (or even exist at all).
27821         * gst/elements/gstaggregator.c:
27822         * gst/elements/gstaggregator.h:
27823         * gst/elements/gstmd5sink.c:
27824         * gst/elements/gstmd5sink.h:
27825         * gst/elements/gstmultifilesrc.c:
27826         * gst/elements/gstmultifilesrc.h:
27827         * gst/elements/gstpipefilter.c:
27828         * gst/elements/gstpipefilter.h:
27829         * gst/elements/gstshaper.c:
27830         * gst/elements/gstshaper.h:
27831         * gst/elements/gststatistics.c:
27832         * gst/elements/gststatistics.h:
27833         * po/POTFILES.in: Remove above files.
27834
27835 2005-05-14  Andy Wingo  <wingo@pobox.com>
27836
27837         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
27838         so as to get the refs right.
27839         (sink_iterator_filter): New function, wraps bin_element_is_sink,
27840         unreffing objects that don't pass the filter.
27841
27842         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
27843         gst_element_set_bus.
27844         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
27845         normal cases, this will destroy the bus.
27846
27847         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
27848         object.
27849
27850         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
27851         has no sinks.
27852
27853 2005-05-13  Andy Wingo  <wingo@pobox.com>
27854
27855         * gst/gstutils.c (gst_element_link_pads): Instead of calling
27856         gst_pad_link, call pad_link_maybe_ghosting,
27857         (pad_link_maybe_ghosting): Links pads, making sure that the
27858         elements being linked are in the same bin.
27859         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
27860         Helpers for pad_link_maybe_ghosting.
27861
27862 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
27863
27864         * configure.ac:
27865           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
27866
27867 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
27868
27869         * docs/design/part-element-source.txt:
27870           Mention GstPushSrc
27871
27872 2005-05-12  Wim Taymans  <wim@fluendo.com>
27873
27874         * gst/base/gstbasesink.c: (gst_basesink_init),
27875         (gst_basesink_activate):
27876         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
27877         (gst_basesrc_is_seekable):
27878         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
27879         (bin_element_is_sink), (gst_bin_change_state):
27880         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
27881         * gst/gstelement.h:
27882         Identify sinks by their flag to avoid overly complicated
27883         checks (fow now).
27884         Do state changes even for elements not reachable from the
27885         sinks.
27886         BaseSink is a sink now :)
27887         Some more debugging info in the basesrc.
27888
27889
27890 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27891
27892         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
27893           Implement _query on a bin, similar to _send_event.
27894
27895 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
27896
27897         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
27898           Discont event offset format should be GST_FORMAT_BYTES,
27899           not GST_FORMAT_TIME.
27900
27901 2005-05-12  Wim Taymans  <wim@fluendo.com>
27902
27903         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
27904         Same fix as Ronald's but without the signal. 
27905
27906 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27907
27908         * gst/gstutils.c: (gst_element_query_position):
27909           No, an element is not a pad.
27910
27911 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27912
27913         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
27914         (gst_bin_get_state):
27915           If a child is removed from a bin while we remove the child from
27916           the bin and while we're retrieving its state, signal this to the
27917           get_state function so we abort the wait (instead of waiting for
27918           a timeout) and can immediately re-iterate over all other elements.
27919
27920 2005-05-12  Wim Taymans  <wim@fluendo.com>
27921
27922         * gst/base/Makefile.am:
27923         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
27924         (gst_basesrc_start):
27925         * gst/base/gstbasesrc.h:
27926         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
27927         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
27928         (gst_pushsrc_init), (gst_pushsrc_create):
27929         * gst/base/gstpushsrc.h:
27930         Added is_seekable to BaseSrc
27931         Added simple PushSrc.
27932
27933 2005-05-11  Wim Taymans  <wim@fluendo.com>
27934
27935         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
27936         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27937         (gst_element_link_pads), (gst_element_query_position),
27938         (gst_element_query_convert), (intersect_caps_func),
27939         (gst_pad_query_position), (gst_pad_query_convert):
27940         Fix refcounting in utils function.
27941         No point in trying to activate a pad when it's added, it could
27942         be added from the state change function and then we deadlock, the
27943         element has to decide what to do.
27944
27945 2005-05-10  Andy Wingo  <wingo@pobox.com>
27946
27947         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
27948         *all* the arguments.
27949
27950         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
27951         stream lock if it's a FLUSH_DONE; normal flushes don't get the
27952         lock (according to the docs -- if this is wrong change the docs).
27953
27954         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
27955         flush messages in the NULL state.
27956
27957         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
27958         message immediately and return.
27959         (gst_bus_set_flushing): New function. If a bus is flushing, it
27960         flushes out any queued messages and immediately unrefs new
27961         messages. This is so when an element goes to NULL, all of the
27962         unhandled messages coming from it can be freed, and their
27963         references to the element dropped. In other words: message source
27964         ref considered harmful :P
27965
27966         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
27967         we're finished with it.
27968
27969         * gst/gstmessage.c (gst_message_new_state_changed): 
27970
27971 2005-05-10  Wim Taymans  <wim@fluendo.com>
27972
27973         * gst/gstvalue.c: (gst_value_compare_flags),
27974         (gst_value_serialize_flags), (gst_value_deserialize_flags),
27975         (_gst_value_initialize):
27976         Added flags serialize/deserialize/compare code.
27977
27978 2005-05-09  Andy Wingo  <wingo@pobox.com>
27979
27980         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
27981         Intersect the peer's caps with our caps.
27982
27983 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27984
27985         * gst/base/gsttypefindhelper.c: (helper_find_peek):
27986         * gst/elements/gsttypefindelement.c: (find_peek):
27987           Handle negative offsets better. Fixes decodebin.
27988
27989 2005-05-09  Wim Taymans  <wim@fluendo.com>
27990
27991         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
27992         (gst_base_transform_event):
27993         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
27994         Implement accept_caps.
27995         Fix silly lock/unlock mismatch in base class.
27996
27997 2005-05-09  Wim Taymans  <wim@fluendo.com>
27998
27999         * docs/design/draft-push-pull.txt:
28000         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
28001         * gst/elements/gstfilesink.c: (gst_filesink_init),
28002         (gst_filesink_query):
28003         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28004         (gst_type_find_handle_src_query), (find_element_get_length):
28005         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
28006         * gst/gstelement.h:
28007         * gst/gstmessage.c:
28008         * gst/gstmessage.h:
28009         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
28010         (gst_real_pad_get_caps_unlocked),
28011         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
28012         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28013         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
28014         (gst_real_pad_dispose), (gst_real_pad_finalize),
28015         (gst_pad_load_and_link), (gst_pad_save_thyself),
28016         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
28017         (gst_pad_check_pull_range), (gst_pad_pull_range),
28018         (gst_pad_template_get_type), (gst_pad_template_class_init),
28019         (gst_pad_template_init), (gst_pad_template_dispose),
28020         (name_is_valid), (gst_static_pad_template_get),
28021         (gst_pad_template_new), (gst_static_pad_template_get_caps),
28022         (gst_pad_template_get_caps), (gst_pad_set_element_private),
28023         (gst_pad_get_element_private), (gst_pad_start_task),
28024         (gst_pad_pause_task), (gst_pad_stop_task),
28025         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
28026         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
28027         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
28028         (gst_ghost_pad_new):
28029         * gst/gstpad.h:
28030         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
28031         (gst_query_new_position), (gst_query_set_position),
28032         (gst_query_parse_position), (gst_query_new_convert),
28033         (gst_query_set_convert), (gst_query_parse_convert):
28034         * gst/gstquery.h:
28035         * gst/gstqueryutils.c:
28036         * gst/gstqueryutils.h:
28037         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28038         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28039         (gst_queue_handle_src_query):
28040         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28041         (gst_element_query_position), (gst_element_query_convert),
28042         (intersect_caps_func), (gst_pad_query_position),
28043         (gst_pad_query_convert):
28044         * gst/gstutils.h:
28045         * tools/gst-inspect.c: (print_pad_info):
28046         * tools/gst-xmlinspect.c: (print_element_info):
28047         Remove old query functions. Ported old code.
28048         Added position/convert helper functions to gstutils.
28049         Reordered gstpad.c code, grouping relevant things.
28050         Remove gst_message_new(), always need to speficy a specific
28051         message.
28052
28053
28054 2005-05-09  Andy Wingo  <wingo@pobox.com>
28055
28056         * gst/gstiterator.h: Add some includes.
28057
28058         * gst/gstqueryutils.h: Include more headers.
28059
28060         * gst/gstpad.h:
28061         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
28062         some uses of gst_pad_query.
28063
28064         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
28065         NULL out parameters.
28066         (gst_query_new_position): New proc, allocates a new position
28067         query.
28068
28069         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
28070         gstqueryutils.c to the build.
28071
28072         * gst/gststructure.c (gst_structure_set_valist): Implement with
28073         the generic G_VALUE_COLLECT.
28074         
28075 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
28076
28077         * gst/Makefile.am: (gst_headers):
28078         Added gstqueryutils.h to the list of headers to install, that was
28079         a 'nachty' move wingo :)
28080
28081 2005-05-06  Andy Wingo  <wingo@pobox.com>
28082
28083         * gst/gstquery.h
28084         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
28085         GstData, init a memchunk.
28086         (standard_definitions): Add a few query types, deprecate a few.
28087         (gst_query_get_type): New proc.
28088         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
28089         implementation.
28090         (gst_query_new_application, gst_query_get_structure): New public
28091         procs.
28092
28093         * docs/design/draft-query.txt: Removed LINKS from the query types,
28094         because all the rest can be dispatched to other pads -- seemed
28095         ugly to have a query that couldn't be dispatched. internal_links
28096         is fine as a pad method.
28097
28098         * gst/gstpad.h: Add query2 as a pad method, add the new functions
28099         in gstpad.c, but maintain binary compatibility for the moment.
28100         Will fix before 0.9 is out.
28101
28102         * gst/gstqueryutils.c: 
28103         * gst/gstqueryutils.h: New files, implement 3 methods for each
28104         query type: parse_query, parse_response, and set. Probably need an
28105         allocator as well.
28106
28107         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
28108
28109         * gst/elements/gstfilesink.c (gst_filesink_query2):
28110         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
28111         query_types, and formats methods.
28112
28113         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
28114         (gst_pad_set_query2_function): New functions.
28115         (gst_real_pad_init): Set query2_default as the default query2
28116         function. Basically just dispatches to internally linked pads.
28117
28118         Needs review!
28119         
28120         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
28121         without using the atomic operations. Only one thread can possibly
28122         be accessing the data at this point. Changed so as to avoid
28123         gst_atomic operations.
28124
28125 2005-05-06  Wim Taymans  <wim@fluendo.com>
28126
28127         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
28128         Also set caps if we use the fallback buffer alloc.
28129
28130 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
28131
28132         * docs/gst/Makefile.am:
28133         * docs/gst/gstreamer-docs.sgml:
28134         * docs/gst/gstreamer-sections.txt:
28135         * docs/gst/tmpl/gstatomic.sgml:
28136         * docs/gst/tmpl/gstmemchunk.sgml:
28137         * testsuite/elements/struct_i386.h:
28138         * win32/GStreamer.vcproj:
28139         * win32/Makefile:
28140           Purge GstAtomic stuff from docs and win32 makefiles as well
28141
28142 2005-05-06  Wim Taymans  <wim@fluendo.com>
28143
28144         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
28145         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
28146         * gst/gstpad.c: (gst_pad_peer_get_caps):
28147         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28148         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28149         (gst_queue_src_activate), (gst_queue_change_state):
28150         * gst/gstqueue.h:
28151         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28152         (intersect_caps_func):
28153         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
28154         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
28155         Some fixes for the peer_get_caps() change.
28156
28157 2005-05-06  Wim Taymans  <wim@fluendo.com>
28158
28159         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28160         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
28161         (gst_basesink_activate):
28162         Actually do something with error codes returned from the push
28163         functions.
28164
28165 2005-05-06  Wim Taymans  <wim@fluendo.com>
28166
28167         * docs/design/part-element-sink.txt:
28168         * docs/design/part-element-source.txt:
28169         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28170         (gst_basesink_event), (gst_basesink_activate):
28171         * gst/base/gstbasesink.h:
28172         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
28173         (gst_basesrc_activate):
28174         * gst/base/gstbasesrc.h:
28175         * gst/gstelement.c: (gst_element_pads_activate):
28176         Some more documentation.
28177         Fixed scheduling decision in _pads_activate().
28178
28179 2005-05-05  Andy Wingo  <wingo@pobox.com>
28180
28181         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
28182         the test suite.
28183
28184 2005-05-05  Wim Taymans  <wim@fluendo.com>
28185
28186         * gst/base/Makefile.am:
28187         * gst/base/gstbasesink.h:
28188         * gst/base/gstbasesrc.c: (gst_basesrc_init),
28189         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
28190         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
28191         (gst_collectpads_class_init), (gst_collectpads_init),
28192         (gst_collectpads_finalize), (gst_collectpads_new),
28193         (gst_collectpads_set_function), (gst_collectpads_add_pad),
28194         (find_pad), (gst_collectpads_remove_pad),
28195         (gst_collectpads_is_active), (gst_collectpads_collect),
28196         (gst_collectpads_collect_range), (gst_collectpads_start),
28197         (gst_collectpads_stop), (gst_collectpads_peek),
28198         (gst_collectpads_pop), (gst_collectpads_available),
28199         (gst_collectpads_read), (gst_collectpads_flush),
28200         (gst_collectpads_chain):
28201         * gst/base/gstcollectpads.h:
28202         * gst/elements/Makefile.am:
28203         * gst/elements/gstelements.c:
28204         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28205         (gst_fakesink_get_times), (gst_fakesink_event),
28206         (gst_fakesink_preroll), (gst_fakesink_render):
28207         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28208         (gst_filesink_init), (gst_filesink_set_location),
28209         (gst_filesink_open_file), (gst_filesink_close_file),
28210         (gst_filesink_pad_query), (gst_filesink_event),
28211         (gst_filesink_render), (gst_filesink_change_state):
28212         * gst/elements/gstfilesink.h:
28213         Added object to help in making collect pad based elements.
28214         Ported filesink.
28215         Make event function in sink baseclass return gboolean.
28216
28217 2005-05-05  Wim Taymans  <wim@fluendo.com>
28218
28219         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
28220         (gst_bin_get_by_name):
28221         * gst/gstbuffer.h:
28222         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
28223         (gst_clock_finalize):
28224         * gst/gstdata.c: (gst_data_replace):
28225         * gst/gstdata.h:
28226         * gst/gstelement.c: (gst_element_request_pad),
28227         (gst_element_pads_activate):
28228         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
28229         (gst_object_unref):
28230         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28231         (gst_pad_set_checkgetrange_function),
28232         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
28233         (gst_pad_check_pull_range), (gst_pad_pull_range),
28234         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28235         (gst_pad_pause_task), (gst_pad_stop_task):
28236         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28237         (gst_element_request_pad), (gst_pad_proxy_getcaps):
28238         Fix name lookup in GstBin.
28239         Added _data_replace() function and _buffer_replace()
28240         Use finalize method to clean up clock.
28241         Fix refcounting on request pads.
28242         Fix pad schedule mode error.
28243         Some more object refcounting debug info,
28244
28245
28246 2005-05-04  Andy Wingo <wingo@pobox.com>
28247
28248         * check/Makefile.am:
28249         * docs/gst/tmpl/gstatomic.sgml:
28250         * docs/gst/tmpl/gstplugin.sgml:
28251         * gst/base/gstbasesink.c: (gst_basesink_activate):
28252         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
28253         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
28254         (gst_basesrc_query), (gst_basesrc_set_property),
28255         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
28256         (gst_basesrc_activate):
28257         * gst/base/gstbasesrc.h:
28258         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
28259         (gst_base_transform_src_activate):
28260         * gst/elements/gstelements.c:
28261         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28262         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28263         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28264         * gst/elements/gsttypefindelement.c: (find_element_get_length),
28265         (gst_type_find_element_checkgetrange),
28266         (gst_type_find_element_activate):
28267         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
28268         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
28269         (gst_caps_load_thyself):
28270         * gst/gstelement.c: (gst_element_pads_activate),
28271         (gst_element_save_thyself), (gst_element_restore_thyself):
28272         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
28273         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
28274         * gst/gstpad.h:
28275         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
28276         (gst_xml_parse_file), (gst_xml_parse_memory),
28277         (gst_xml_get_element), (gst_xml_make_element):
28278         * gst/indexers/gstfileindex.c: (gst_file_index_load),
28279         (_file_index_id_save_xml), (gst_file_index_commit):
28280         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
28281         (read_enum), (load_pad_template), (load_feature), (load_plugin),
28282         (load_paths):
28283         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
28284         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
28285         * tools/gst-complete.c: (main):
28286         * tools/gst-compprep.c: (main):
28287         * tools/gst-inspect.c: (print_element_properties_info):
28288         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
28289         * tools/gst-xmlinspect.c: (print_element_properties):
28290         GCC 4 fixen.
28291         
28292 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
28293
28294         * gst/gstplugin.c: (gst_plugin_check_module),
28295         (gst_plugin_check_file), (gst_plugin_load_file):
28296             apply patch from #172526 to make register work on MacOSX
28297
28298 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28299
28300         * docs/gst/tmpl/gstconfig.sgml:
28301         * gst/gstconfig.h.in:
28302           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
28303         * testsuite/debug/printf_extension.c: (main):
28304           Do not use GST_PTR_FORMAT on pointers to types with
28305           sizeof < sizeof(gpointer).  Fixes test on 64-bit
28306         * testsuite/elements/property.h:
28307           use correct printf format
28308
28309 2005-05-02  Wim Taymans  <wim@fluendo.com>
28310
28311         * docs/design/draft-push-pull.txt:
28312         * docs/design/draft-query.txt:
28313         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
28314         (gst_basesrc_start):
28315         Added draft for new query API.
28316         Added draft for better selecting scheduling methods.
28317         Make basesrc ignore length if the subclass does not support
28318         it.
28319
28320 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28321
28322         * gst/Makefile.am:
28323           possible fixes for automake-1.5 - _LIBADD is reserved
28324
28325 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28326
28327         * docs/faq/Makefile.am:
28328         * docs/manual/Makefile.am:
28329         * docs/manuals.mak:
28330         * docs/pwg/Makefile.am:
28331         * gst/Makefile.am:
28332           possible fixes for automake-1.5
28333
28334 2005-04-28  Wim Taymans  <wim@fluendo.com>
28335
28336         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28337         (gst_basesink_pad_getcaps), (gst_basesink_init),
28338         (gst_basesink_do_sync):
28339         * gst/gstclock.c: (gst_clock_entry_new):
28340         * gst/gstevent.c: (gst_event_discont_get_value):
28341         * gst/gstpipeline.c: (pipeline_bus_handler),
28342         (gst_pipeline_change_state):
28343         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
28344         Better debugging of clocking info.
28345         Allow NULL values when getting discont values.
28346
28347 2005-04-27  Wim Taymans  <wim@fluendo.com>
28348
28349         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28350         * check/gst/gstpad.c: (gst_pad_suite):
28351         Increase timeout for checks.
28352
28353 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28354
28355         * check/Makefile.am:
28356           fix the broken rule for cleanup.  Apparently this rule is
28357           only needed on FC2, so maybe this warrants further autotool
28358           inspection.
28359
28360 2005-04-26  Wim Taymans  <wim@fluendo.com>
28361
28362         * gst/gsttrashstack.h:
28363         Ooohh. a nasty one! After having a failed pop() from the stack,
28364         it's possible that the stack is empty. In that case, don't
28365         follow the NULL pointer.
28366
28367 2005-04-25  Wim Taymans  <wim@fluendo.com>
28368
28369         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28370         (gst_pad_set_checkgetrange_function),
28371         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
28372         (gst_pad_check_pull_range), (gst_pad_pull_range),
28373         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28374         (gst_pad_pause_task), (gst_pad_stop_task):
28375         * gst/gstplugin.c: (gst_plugin_load):
28376         * gst/gstplugin.h:
28377         Remove gst_library_load as it does more harm than good with
28378         the new g_module flags.
28379         Revert bogus caps template check in pad linking, pad caps
28380         are important when linking not the template, which is more
28381         general than the current caps.
28382
28383 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28384
28385         * gst/autoplug/.cvsignore:
28386         * gst/autoplug/Makefile.am:
28387         * gst/autoplug/gstsearchfuncs.c:
28388         * gst/autoplug/gstsearchfuncs.h:
28389         * gst/autoplug/gstspider.c:
28390         * gst/autoplug/gstspider.h:
28391         * gst/autoplug/gstspideridentity.c:
28392         * gst/autoplug/gstspideridentity.h:
28393         * gst/autoplug/spidertest.c:
28394           Die, spider, die.
28395
28396 2005-04-25  Wim Taymans  <wim@fluendo.com>
28397
28398         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28399         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28400         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
28401         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
28402         * gst/gstpad.h:
28403         Added stubs for unimplemented functions. 
28404
28405 2005-04-24  David Schleef  <ds@schleef.org>
28406
28407         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
28408         please fix.
28409
28410 2005-04-24  David Schleef  <ds@schleef.org>
28411
28412         Convert everything from GstAtomicInt to g_atomic_int_*, and
28413         remove gstatomic.
28414         * gst/Makefile.am:
28415         * gst/gstatomic.c:
28416         * gst/gstatomic.h:
28417         * gst/gstatomic_impl.h:
28418         * gst/gstbuffer.c:
28419         * gst/gstcaps.c:
28420         * gst/gstcaps.h:
28421         * gst/gstclock.c:
28422         * gst/gstclock.h:
28423         * gst/gstdata.c:
28424         * gst/gstdata.h:
28425         * gst/gstdata_private.h:
28426         * gst/gstevent.c:
28427         * gst/gstinfo.c:
28428         * gst/gstinfo.h:
28429         * gst/gstmessage.c:
28430         * gst/gstobject.c:
28431         * gst/gstobject.h:
28432         * gst/gststructure.c:
28433         * gst/gststructure.h:
28434         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
28435         * gst/gstutils.h:
28436
28437 2005-04-24  David Schleef  <ds@schleef.org>
28438
28439         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
28440         make the regressions tests work.  Remove some code that is no
28441         longer true.
28442         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
28443         Disable warning for pads without templates.
28444
28445 2005-04-24  David Schleef  <ds@schleef.org>
28446
28447         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
28448         functions that handle filtered links.
28449         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
28450         removed functions.
28451         * gst/gstutils.c: Fix/remove utility functions that handle
28452         filtered caps.
28453         * gst/gstutils.h:
28454         * gst/gstvalue.c: Add serialization/deserialization of caps
28455         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
28456         requires fixing so that the filter caps notation creates
28457         a capsfilter element and sets the filter_caps property.  I
28458         think everyone probably wants to keep the shorthand notation.
28459         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
28460         * docs/gst/tmpl/gstpad.sgml:
28461
28462         * gst/elements/gstelements.c: Register capsfilter element.
28463         * gst/Makefile.am: fix spacing
28464         * docs/random/ds/0.9-suggested-changes: random
28465
28466 2005-04-23  David Schleef  <ds@schleef.org>
28467
28468         * gst/elements/Makefile.am:
28469         * gst/elements/gstcapsfilter.c: New element that acts like an
28470         identity, but filters caps.  Will eventually replace filtered
28471         caps in pad linking.
28472         * gst/gstutils.c: (gst_element_create_all_pads): New function
28473         to create all the ALWAYS pads that are registered with an
28474         element class.  This functionality should eventually be
28475         merged in with GstElement initialization.
28476         * gst/gstutils.h:
28477         * testsuite/trigger/README: part of trigger test code that should
28478         have been checked in a long time ago.
28479
28480 2005-04-23  David Schleef  <ds@schleef.org>
28481
28482         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
28483         needed with new versions of libtool (nobody will confirm this),
28484         and hard to carry around.
28485         * gst/autoplug/Makefile.am:
28486         * gst/base/Makefile.am:
28487         * gst/elements/Makefile.am:
28488         * gst/indexers/Makefile.am:
28489         * gst/schedulers/Makefile.am:
28490         * libs/gst/bytestream/Makefile.am:
28491         * libs/gst/control/Makefile.am:
28492         * libs/gst/dataprotocol/Makefile.am:
28493         * libs/gst/getbits/Makefile.am:
28494
28495 2005-04-21  Wim Taymans  <wim@fluendo.com>
28496
28497         * docs/design/draft-push-pull.txt:
28498         * docs/design/part-MT-refcounting.txt:
28499         * docs/design/part-TODO.txt:
28500         * docs/design/part-caps.txt:
28501         * docs/design/part-events.txt:
28502         * docs/design/part-gstbus.txt:
28503         * docs/design/part-gstpipeline.txt:
28504         * docs/design/part-messages.txt:
28505         * docs/design/part-push-pull.txt:
28506         * docs/design/part-query.txt:
28507         Some more docs.
28508
28509 2005-04-21  Wim Taymans  <wim@fluendo.com>
28510
28511         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
28512         (gst_message_new), (gst_message_new_error),
28513         (gst_message_new_warning), (gst_message_new_tag),
28514         (gst_message_new_state_changed), (gst_message_new_application),
28515         (gst_message_get_structure):
28516         * gst/gstmessage.h:
28517         * gst/gststructure.c: (gst_structure_set_parent_refcount),
28518         (gst_structure_copy_conditional):
28519         Use parent refcount in GstMessage to ensure GstStructure
28520         consistency.
28521         Cleaned up headers a bit.
28522         
28523
28524 2005-04-20  Wim Taymans  <wim@fluendo.com>
28525
28526         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28527         (gst_basesink_pad_getcaps), (gst_basesink_init),
28528         (gst_basesink_chain_unlocked):
28529         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
28530         (gst_type_find_helper):
28531         * gst/elements/gsttypefindelement.c:
28532         (gst_type_find_element_have_type), (gst_type_find_element_init),
28533         (stop_typefinding), (gst_type_find_element_handle_event),
28534         (find_suggest), (gst_type_find_element_chain),
28535         (gst_type_find_element_checkgetrange),
28536         (gst_type_find_element_getrange), (do_typefind),
28537         (gst_type_find_element_activate):
28538         * gst/gstbuffer.c: (_gst_buffer_sub_free),
28539         (gst_buffer_default_free), (gst_buffer_default_copy),
28540         (gst_buffer_set_caps):
28541         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
28542         (gst_caps_replace):
28543         * gst/gstmessage.c: (gst_message_new),
28544         (gst_message_new_state_changed):
28545         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28546         (gst_pad_set_checkgetrange_function),
28547         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
28548         (gst_pad_set_caps), (gst_pad_check_pull_range),
28549         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
28550         * gst/gstpad.h:
28551         * gst/gsttypefind.c: (gst_type_find_register):
28552         Make gst_caps_replace() work like other _replace() functions.
28553         Use _caps_replace() where possible.
28554         Make sure _message_new() initialises its field.
28555         Add gst_static_pad_template_get_caps()
28556
28557
28558 2005-04-18  Andy Wingo  <wingo@pobox.com>
28559
28560         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
28561         on the peer, not the pad. I think that was a typo. Pass an extra
28562         arg to see if random access is possible. Activate the pads as
28563         PULL_RANGE if possible.
28564
28565         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
28566
28567         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
28568         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
28569         to PROP_....
28570
28571 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28572
28573         * docs/faq/using.xml:
28574           Add note on gstreamer-properties (#154996).
28575
28576 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28577
28578         * docs/random/bbb/optional-properties:
28579           Some analysis on optional properties.
28580
28581 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28582
28583         * docs/gst/tmpl/gstelementfactory.sgml:
28584         * gst/gstelement.h:
28585         * gst/gstelementfactory.c: (gst_element_factory_init),
28586         (gst_element_factory_cleanup), (gst_element_register),
28587         (__gst_element_factory_add_static_pad_template),
28588         (gst_element_factory_get_static_pad_templates),
28589         (gst_element_factory_can_src_caps),
28590         (gst_element_factory_can_sink_caps):
28591         * gst/registries/Makefile.am:
28592         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
28593         (gst_xml_registry_class_init), (gst_xml_registry_init),
28594         (gst_xml_registry_new), (gst_xml_registry_set_property),
28595         (gst_xml_registry_get_property), (get_time), (make_dir),
28596         (gst_xml_registry_get_perms_func),
28597         (plugin_times_older_than_recurse), (plugin_times_older_than),
28598         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
28599         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
28600         (add_to_char_array), (read_string), (read_uint), (read_enum),
28601         (load_pad_template), (load_feature), (load_plugin), (load_paths),
28602         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
28603         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
28604         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
28605         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
28606         (gst_xml_registry_rebuild):
28607         * gst/registries/gstlibxmlregistry.h:
28608         * tools/gst-compprep.c: (main):
28609         * tools/gst-inspect.c: (print_pad_templates_info):
28610         * tools/gst-xmlinspect.c: (print_element_info):
28611           Use libxml2 for registry parsing, use staticpadtemplates in
28612           elementfactories. Makes gst_init() +/- 10x faster.
28613
28614 2005-04-12  Wim Taymans  <wim@fluendo.com>
28615
28616         * gst/base/Makefile.am:
28617         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28618         (gst_basesink_pad_getcaps), (gst_basesink_init),
28619         (gst_basesink_event), (gst_basesink_change_state):
28620         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28621         (gst_basesrc_init), (gst_basesrc_query),
28622         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28623         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28624         (gst_basesrc_check_get_range), (gst_basesrc_loop),
28625         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28626         (gst_basesrc_stop), (gst_basesrc_activate),
28627         (gst_basesrc_change_state):
28628         * gst/base/gsttypefindhelper.c: (helper_find_peek),
28629         (helper_find_suggest), (gst_type_find_helper):
28630         * gst/base/gsttypefindhelper.h:
28631         * gst/elements/Makefile.am:
28632         * gst/elements/gstelements.c:
28633         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28634         (gst_fakesink_get_times), (gst_fakesink_event),
28635         (gst_fakesink_preroll), (gst_fakesink_render):
28636         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28637         (gst_fakesrc_init), (gst_fakesrc_event_handler),
28638         (gst_fakesrc_get_property), (gst_fakesrc_create),
28639         (gst_fakesrc_start), (gst_fakesrc_stop):
28640         * gst/elements/gstfakesrc.h:
28641         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
28642         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28643         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28644         (gst_filesrc_create_read), (gst_filesrc_create),
28645         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
28646         (gst_filesrc_start):
28647         * gst/elements/gsttypefindelement.c:
28648         (gst_type_find_element_have_type), (gst_type_find_element_init),
28649         (start_typefinding), (stop_typefinding), (push_buffer_store),
28650         (gst_type_find_element_handle_event),
28651         (gst_type_find_element_chain),
28652         (gst_type_find_element_checkgetrange),
28653         (gst_type_find_element_getrange), (do_typefind),
28654         (gst_type_find_element_activate),
28655         (gst_type_find_element_change_state):
28656         * gst/elements/gsttypefindelement.h:
28657         * gst/gstpipeline.c: (pipeline_bus_handler):
28658         Added typefind helper.
28659         Small preroll fix in the base sink.
28660         Disable typefind code in basesrc.
28661         Crude port of typefindelement.
28662         Fakesrc cleanups.
28663
28664
28665 2005-04-11  Wim Taymans  <wim@fluendo.com>
28666
28667         * check/gst/gstbus.c: (gstbus_suite):
28668         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
28669         * check/gstcheck.h:
28670           Fix up the timeout so that the test does not fail.
28671
28672 2005-04-06  Wim Taymans  <wim@fluendo.com>
28673
28674         * gst/base/README:
28675         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28676         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
28677         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28678         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28679         (gst_basesrc_check_get_range), (gst_basesrc_loop),
28680         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28681         (gst_basesrc_stop), (gst_basesrc_activate),
28682         (gst_basesrc_change_state), (basesrc_find_peek),
28683         (basesrc_find_suggest), (gst_basesrc_type_find):
28684         * gst/base/gstbasesrc.h:
28685         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
28686         (gst_filesrc_class_init), (gst_filesrc_init),
28687         (gst_filesrc_finalize), (gst_filesrc_set_location),
28688         (gst_filesrc_set_property), (gst_filesrc_get_property),
28689         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28690         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28691         (gst_filesrc_create_read), (gst_filesrc_create),
28692         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
28693         * gst/elements/gstfilesrc.h:
28694         * gst/gstelement.c: (gst_element_get_state_func),
28695         (gst_element_lost_state), (gst_element_pads_activate):
28696         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28697         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28698         (gst_pad_pull_range):
28699         * gst/gstpad.h:
28700         More work on the generic source base class, implement seeking,
28701         query.
28702         Make filesrc extend the base source class.
28703         Added gst_pad_set_checkgetrange_function to GstPad.
28704
28705 2005-04-06  Andy Wingo  <wingo@pobox.com>
28706
28707         * pkgconfig/gstreamer-base.pc.in:
28708         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
28709
28710         * pkgconfig/Makefile.am:
28711         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
28712
28713 2005-04-04  Wim Taymans  <wim@fluendo.com>
28714
28715         * gst/base/Makefile.am:
28716         * gst/base/README:
28717         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28718         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28719         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28720         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
28721         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28722         (gst_basesrc_base_init), (gst_basesrc_class_init),
28723         (gst_basesrc_init), (gst_basesrc_get_formats),
28724         (gst_basesrc_get_query_types), (gst_basesrc_query),
28725         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
28726         (gst_basesrc_set_property), (gst_basesrc_get_property),
28727         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
28728         (gst_basesrc_loop), (gst_basesrc_activate),
28729         (gst_basesrc_change_state):
28730         * gst/base/gstbasesrc.h:
28731         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
28732         (gst_fakesrc_class_init), (gst_fakesrc_init),
28733         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
28734         (gst_fakesrc_get_property), (gst_fakesrc_create):
28735         * gst/elements/gstfakesrc.h:
28736         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
28737         (gst_filesrc_open_file), (gst_filesrc_loop),
28738         (gst_filesrc_activate), (filesrc_find_peek),
28739         (gst_filesrc_type_find):
28740         Made base source class, make fakesrc extend it.
28741         Add comments to basesink class.
28742         Some filesrc cleanup.
28743
28744 2005-03-31  David Schleef  <ds@schleef.org>
28745
28746         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
28747         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
28748         expected to link against libgstreamer.
28749         * gst/base/Makefile.am: link against libgstreamer
28750         * gst/elements/Makefile.am: same
28751
28752 2005-03-31  Andy Wingo  <wingo@pobox.com>
28753
28754         * tests/instantiate/Makefile.am:
28755         * tests/instantiate/caps.c: Add test to test speed of caps copy
28756         and free.
28757
28758         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
28759         GMemChunk to be fair.
28760
28761         * gst/gsttrashstack.h: Remove warning about using the fallback
28762         trash stack implementation, it's still faster than malloc.
28763
28764 2005-03-30  Andy Wingo  <wingo@pobox.com>
28765
28766         * tests/complexity.c: Add a copyright.
28767
28768 2005-03-31  Wim Taymans  <wim@fluendo.com>
28769
28770         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
28771         (gst_base_transform_class_init), (gst_base_transform_init),
28772         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
28773         (gst_base_transform_get_property),
28774         (gst_base_transform_sink_activate),
28775         (gst_base_transform_src_activate),
28776         (gst_base_transform_change_state):
28777         * gst/base/gstbasetransform.h:
28778         * gst/elements/gstidentity.c: (gst_identity_class_init),
28779         (gst_identity_event), (gst_identity_check_perfect),
28780         (gst_identity_transform), (gst_identity_start),
28781         (gst_identity_stop):
28782         Added start/stop methods to transform base class so subclasses 
28783         don't need to deal with state changes even.
28784
28785 2005-03-31  Wim Taymans  <wim@fluendo.com>
28786
28787         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
28788         (gst_event_new_discontinuous), (gst_event_discont_get_value):
28789         * gst/gstevent.h:
28790         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28791         (gst_pad_pull_range):
28792         Added rate to the discont event to prepare for variable speed
28793         and reverse playback.
28794
28795 2005-03-29  David Schleef  <ds@schleef.org>
28796
28797         * configure.ac:
28798         * testsuite/trigger/Makefile.am:
28799         * testsuite/trigger/trigger.c: A little example program to show
28800         how trigger-based elements can work.
28801
28802 2005-03-29  Wim Taymans  <wim@fluendo.com>
28803
28804         * gst/base/Makefile.am:
28805         * gst/base/README:
28806         * gst/base/gstbasesink.c: (gst_basesink_get_type),
28807         (gst_basesink_base_init), (gst_basesink_class_init),
28808         (gst_basesink_pad_getcaps), (gst_basesink_init),
28809         (gst_basesink_activate), (gst_basesink_change_state):
28810         * gst/base/gstbasesink.h:
28811         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
28812         (gst_base_transform_base_init), (gst_base_transform_finalize),
28813         (gst_base_transform_class_init), (gst_base_transform_init),
28814         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
28815         (gst_base_transform_event), (gst_base_transform_getrange),
28816         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
28817         (gst_base_transform_set_property),
28818         (gst_base_transform_get_property),
28819         (gst_base_transform_sink_activate),
28820         (gst_base_transform_src_activate),
28821         (gst_base_transform_change_state):
28822         * gst/base/gstbasetransform.h:
28823         * gst/elements/gstidentity.c: (gst_identity_finalize),
28824         (gst_identity_class_init), (gst_identity_init),
28825         (gst_identity_event), (gst_identity_check_perfect),
28826         (gst_identity_transform), (gst_identity_set_property),
28827         (gst_identity_get_property), (gst_identity_change_state):
28828         * gst/elements/gstidentity.h:
28829         * gst/gstelement.c: (gst_element_get_state_func),
28830         (gst_element_lost_state), (gst_element_pads_activate):
28831         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28832         (gst_pad_check_pull_range), (gst_pad_pull_range):
28833         * gst/gstpad.h:
28834         Simplify pad activation.
28835         Added function to check if pull_range can be performed.
28836         Error out when pulling inactive or flushing pads.
28837         Removed const from refcounted types as it does not make sense.
28838         Simplify pad templates in basesink
28839         Added base class for simple 1-to-1 transforms.
28840         Make identity subclass the base transform.
28841
28842 2005-03-29  Andy Wingo  <wingo@pobox.com>
28843
28844         * docs/libs/gstreamer-libs-overrides.txt: 
28845         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
28846         really don't understand what's going on, but like whatever. I want
28847         green buildbot!
28848
28849         * docs/gst/Makefile.am:
28850         * docs/libs/Makefile.am: Dist the overrides files.
28851
28852         * check/Makefile.am (clean-local): Remove .libs directories.
28853
28854         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
28855         elements to EXTRA_DIST, so po/ files are happy.
28856
28857         * po/POTFILES.in: Er, remove it here.
28858
28859         * po/POTFILES: Remove gstspider.c.
28860
28861         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
28862
28863         * docs/libs/gstreamer-libs-docs.sgml: 
28864         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
28865         bytestream.
28866
28867         * tests/complexity.c (main): Set the length of the preroll queue
28868         on the sinks to prevent a lockup.
28869
28870         * libs/gst/dataprotocol/Makefile.am: 
28871         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
28872         the same as the one in check/gst-libs/gdp.c.
28873
28874         * po/, docs/gst/: Commit automatic changes to docs and po files.
28875
28876         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
28877         the versioned libgstbase.
28878
28879         * check/Makefile.am: Depend on an unversioned gst-register, seems
28880         to make autoconf happier.
28881
28882         * gst/base/Makefile.am: Make libgstbase a versioned lib.
28883
28884 2005-03-28  Wim Taymans  <wim@fluendo.com>
28885
28886         * configure.ac:
28887         * docs/design/part-gstelement.txt:
28888         * docs/design/part-negotiation.txt:
28889         * docs/design/part-preroll.txt:
28890         * docs/design/part-scheduling.txt:
28891         * docs/design/part-states.txt:
28892         * gst/Makefile.am:
28893         * gst/base/Makefile.am:
28894         * gst/base/README:
28895         * gst/base/gstbasesink.c: (gst_basesink_get_template),
28896         (gst_basesink_base_init), (gst_basesink_class_init),
28897         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28898         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28899         (gst_basesink_set_pad_functions),
28900         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
28901         (gst_basesink_set_property), (gst_basesink_get_property),
28902         (gst_base_sink_get_template), (gst_base_sink_get_caps),
28903         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
28904         (gst_basesink_preroll_queue_push),
28905         (gst_basesink_preroll_queue_empty),
28906         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
28907         (gst_basesink_event), (gst_basesink_get_times),
28908         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
28909         (gst_basesink_chain_unlocked), (gst_basesink_chain),
28910         (gst_basesink_loop), (gst_basesink_activate),
28911         (gst_basesink_change_state):
28912         * gst/base/gstbasesink.h:
28913         * gst/elements/Makefile.am:
28914         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
28915         (gst_fakesink_class_init), (gst_fakesink_init),
28916         (gst_fakesink_set_property), (gst_fakesink_get_property),
28917         (gst_fakesink_get_times), (gst_fakesink_event),
28918         (gst_fakesink_preroll), (gst_fakesink_render),
28919         (gst_fakesink_change_state):
28920         * gst/elements/gstfakesink.h:
28921         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
28922         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
28923         * gst/gstelement.c: (gst_element_add_pad),
28924         (gst_element_get_state_func), (gst_element_abort_state),
28925         (gst_element_commit_state), (gst_element_lost_state),
28926         (gst_element_set_state), (gst_element_pads_activate):
28927         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
28928         * gst/gstpipeline.c: (gst_pipeline_send_event),
28929         (gst_pipeline_change_state):
28930         Added state change code.
28931         Added/updated docs.
28932         Added sink base class, make fakesink extend the base class.
28933         Small cleanups in GstPipeline.
28934
28935 2005-03-26  David Schleef  <ds@schleef.org>
28936
28937         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
28938         is broken and should be implemented in a different library.
28939         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
28940         * gst/gst.h: remove gstcpu.h
28941         * gst/gstcpu.c: remove
28942         * gst/gstcpu.h: remove
28943         * gst/Makefile.am.future: Remove this file.  It's ancient.
28944
28945 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28946
28947         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
28948         (gst_bin_send_event):
28949           Add default event/set_manager handlers. The set_manager handler
28950           takes care that the manager is distributed over kids that were
28951           already in the bin before the manager was set. The event handler
28952           is a utility virtual function that sends the event over all sinks,
28953           so that gst_element_send_event (bin, event); has the expected
28954           behaviour.
28955         * gst/gstpad.c: (gst_pad_event_default):
28956           Re-install default event handling for discontinuities, so that
28957           seeking works without requiring hacks in applications or extra
28958           code in sinks.
28959         * gst/gstpipeline.c: (gst_pipeline_class_init),
28960         (gst_pipeline_send_event):
28961           Half hack, half utility: set a pipeline to PAUSED for seek events,
28962           since that is the only way we can guarantee a/v sync. Means that
28963           you can do gst_element_seek (pipeline, method, pos); on a pipeline
28964           and it "just works".
28965
28966 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28967
28968         * gst/gstpipeline.c: (gst_pipeline_use_clock):
28969           Lock/unlock mismatch.
28970
28971 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
28972
28973         * docs/faq/gst-uninstalled:
28974           add gst-plugins-base
28975         * docs/gst/Makefile.am:
28976           don't error out until docs are fixed
28977         * docs/gst/gstreamer.types:
28978           remove thread
28979
28980 2005-03-22  Wim Taymans  <wim@fluendo.com>
28981
28982         * check/Makefile.am:
28983         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
28984         * gst/gststructure.c: (gst_structure_set_valist),
28985         (gst_structure_copy_conditional):
28986         Activated more tests.
28987         Added message test.
28988         Added G_TYPE_POINTER to GstStructure.
28989         
28990
28991 2005-03-22  Wim Taymans  <wim@fluendo.com>
28992
28993         * docs/design/part-TODO.txt:
28994         * docs/design/part-events.txt:
28995         * docs/design/part-gstbin.txt:
28996         * docs/design/part-gstbus.txt:
28997         * docs/design/part-gstpipeline.txt:
28998         * docs/design/part-messages.txt:
28999         * gst/gstbus.c:
29000         * gst/gstmessage.c:
29001         Docs updates
29002
29003 2005-03-21  Wim Taymans  <wim@fluendo.com>
29004
29005         * gst/gstbus.c: (gst_bus_post):
29006         Fix copy-and-paste error.
29007
29008 2005-03-21  Wim Taymans  <wim@fluendo.com>
29009
29010         * check/Makefile.am:
29011         * gst/Makefile.am:
29012         * gst/elements/Makefile.am:
29013         * gst/elements/gstelements.c:
29014         * gst/elements/gstfakesink.c: (gst_fakesink_init),
29015         (gst_fakesink_event), (gst_fakesink_chain):
29016         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29017         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
29018         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
29019         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
29020         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
29021         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
29022         (gst_fakesrc_loop), (gst_fakesrc_activate),
29023         (gst_fakesrc_change_state):
29024         * gst/elements/gstfakesrc.h:
29025         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
29026         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
29027         (gst_filesrc_open_file), (gst_filesrc_loop),
29028         (gst_filesrc_activate), (gst_filesrc_change_state),
29029         (filesrc_find_peek), (filesrc_find_suggest),
29030         (gst_filesrc_type_find):
29031         * gst/elements/gstidentity.c: (gst_identity_finalize),
29032         (gst_identity_class_init), (gst_identity_init),
29033         (gst_identity_proxy_getcaps), (identity_queue_push),
29034         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
29035         (gst_identity_getrange), (gst_identity_chain),
29036         (gst_identity_sink_loop), (gst_identity_src_loop),
29037         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
29038         (gst_identity_set_property), (gst_identity_get_property),
29039         (gst_identity_change_state):
29040         * gst/elements/gstidentity.h:
29041         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
29042         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
29043         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
29044         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
29045         (gst_tee_sink_activate):
29046         * gst/elements/gsttee.h:
29047         * gst/gst.c: (gst_register_core_elements), (init_post):
29048         * gst/gst.h:
29049         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
29050         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
29051         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
29052         (gst_bin_change_state):
29053         * gst/gstbin.h:
29054         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
29055         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
29056         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
29057         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
29058         (gst_bus_set_sync_handler), (gst_bus_create_watch),
29059         (bus_watch_callback), (bus_watch_destroy),
29060         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
29061         (poll_timeout), (gst_bus_poll):
29062         * gst/gstbus.h:
29063         * gst/gstcaps.h:
29064         * gst/gstdata.h:
29065         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29066         (gst_element_post_message), (gst_element_message_full),
29067         (gst_element_get_state_func), (gst_element_get_state),
29068         (gst_element_abort_state), (gst_element_commit_state),
29069         (gst_element_lost_state), (gst_element_set_state),
29070         (gst_element_pads_activate), (gst_element_change_state),
29071         (gst_element_dispose), (gst_element_set_manager_func),
29072         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
29073         (gst_element_set_manager), (gst_element_get_manager),
29074         (gst_element_set_bus), (gst_element_get_bus),
29075         (gst_element_set_scheduler), (gst_element_get_scheduler):
29076         * gst/gstelement.h:
29077         * gst/gstevent.c: (gst_event_new_segment_seek),
29078         (gst_event_new_flush):
29079         * gst/gstevent.h:
29080         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
29081         (_gst_message_free), (gst_message_get_type), (gst_message_new),
29082         (gst_message_new_eos), (gst_message_new_error),
29083         (gst_message_new_warning), (gst_message_new_tag),
29084         (gst_message_new_state_changed), (gst_message_new_application),
29085         (gst_message_get_structure), (gst_message_parse_tag),
29086         (gst_message_parse_state_changed), (gst_message_parse_error),
29087         (gst_message_parse_warning):
29088         * gst/gstmessage.h:
29089         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
29090         (gst_real_pad_set_property), (gst_pad_set_active),
29091         (gst_pad_is_active), (gst_pad_set_blocked_async),
29092         (gst_pad_set_blocked), (gst_pad_is_blocked),
29093         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
29094         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
29095         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
29096         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
29097         (gst_pad_link_filtered), (gst_pad_relink_filtered),
29098         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
29099         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
29100         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
29101         (gst_pad_set_caps), (gst_pad_configure_sink),
29102         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
29103         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
29104         (gst_real_pad_dispose), (gst_real_pad_finalize),
29105         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
29106         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29107         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
29108         * gst/gstpad.h:
29109         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
29110         (pipeline_bus_handler), (gst_pipeline_change_state),
29111         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
29112         * gst/gstpipeline.h:
29113         * gst/gstprobe.h:
29114         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
29115         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
29116         (gst_queue_link_src), (gst_queue_bufferalloc),
29117         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
29118         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
29119         (gst_queue_loop), (gst_queue_handle_src_event),
29120         (gst_queue_handle_src_query), (gst_queue_src_activate),
29121         (gst_queue_change_state):
29122         * gst/gstqueue.h:
29123         * gst/gstscheduler.c: (gst_scheduler_init),
29124         (gst_scheduler_dispose), (gst_scheduler_create_task),
29125         (gst_scheduler_factory_create):
29126         * gst/gstscheduler.h:
29127         * gst/gststructure.c: (gst_structure_get_type),
29128         (gst_structure_copy_conditional):
29129         * gst/gststructure.h:
29130         * gst/gsttaginterface.h:
29131         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
29132         (gst_task_init), (gst_task_dispose), (gst_task_create),
29133         (gst_task_get_state), (gst_task_start), (gst_task_stop),
29134         (gst_task_pause):
29135         * gst/gsttask.h:
29136         * gst/gstthread.c:
29137         * gst/gstthread.h:
29138         * gst/gsttypes.h:
29139         * gst/schedulers/Makefile.am:
29140         * gst/schedulers/cothreads_compat.h:
29141         * gst/schedulers/entryscheduler.c:
29142         * gst/schedulers/faircothreads.c:
29143         * gst/schedulers/faircothreads.h:
29144         * gst/schedulers/fairscheduler.c:
29145         * gst/schedulers/gstbasicscheduler.c:
29146         * gst/schedulers/gstoptimalscheduler.c:
29147         * gst/schedulers/gthread-cothreads.h:
29148         * gst/schedulers/threadscheduler.c:
29149         (gst_thread_scheduler_task_get_type),
29150         (gst_thread_scheduler_task_class_init),
29151         (gst_thread_scheduler_task_init),
29152         (gst_thread_scheduler_task_start),
29153         (gst_thread_scheduler_task_stop),
29154         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
29155         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29156         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
29157         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
29158         (plugin_init):
29159         * libs/gst/Makefile.am:
29160         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
29161         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
29162         (gst_file_pad_parent_set):
29163         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
29164         (gst_dp_event_from_packet):
29165         * tests/complexity.c: (main):
29166         * tests/mass_elements.c: (main):
29167         * testsuite/states/locked.c: (message_received), (main):
29168         * testsuite/states/parent.c: (main):
29169         * tools/gst-inspect.c: (print_element_flag_info),
29170         (print_implementation_info), (print_pad_info):
29171         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
29172         (main):
29173         * tools/gst-md5sum.c: (event_loop), (main):
29174         * tools/gst-typefind.c: (main):
29175         * tools/gst-xmlinspect.c: (print_element_info):
29176         Next big merge.
29177         Added GstBus for mainloop integration.
29178         Added GstMessage for sending notifications on the bus.
29179         Added GstTask as an abstraction for pipeline entry points.
29180         Removed GstThread.
29181         Removed Schedulers.
29182         Simplified GstQueue for multithreaded core.
29183         Made _link threadsafe, removed old capsnego.
29184         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
29185         Added pad blocking functions.
29186         Reworked scheduling functions in GstPad to prepare for
29187         scheduling updates soon.
29188         Moved events out of data stream.
29189         Simplified GstEvent types.
29190         Added return values to push/pull.
29191         Removed clocking from GstElement.
29192         Added prototypes for state change function for next merge.
29193         Removed iterate from bins and state change management.
29194         Fixed some elements, disabled others for now.
29195         Fixed -inspect and -launch.
29196         Added check for GstBus.
29197
29198 2005-03-10  Wim Taymans  <wim@fluendo.com>
29199
29200         * docs/design/part-MT-refcounting.txt:
29201         * docs/design/part-clocks.txt:
29202         * docs/design/part-gstelement.txt:
29203         * docs/design/part-gstobject.txt:
29204         * docs/design/part-standards.txt:
29205         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29206         (gst_bin_remove_func), (gst_bin_remove):
29207         * gst/gstbin.h:
29208         * gst/gstbuffer.c:
29209         * gst/gstcaps.h:
29210         * testsuite/clock/clock1.c: (main):
29211         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
29212         (main):
29213         * testsuite/dlopen/loadgst.c: (do_test):
29214         * testsuite/refcounting/bin.c: (add_remove_test1),
29215         (add_remove_test2), (main):
29216         * testsuite/refcounting/element.c: (main):
29217         * testsuite/refcounting/element_pad.c: (main):
29218         * testsuite/refcounting/pad.c: (main):
29219         * tools/gst-launch.c: (sigint_handler_sighandler):
29220         * tools/gst-typefind.c: (main):
29221         Doc updates.
29222         Added doc about clock.
29223         removed gst_bin_iterate_recurse_up(), marked methods
29224         for removal.
29225         Fix more testsuites.
29226
29227 2005-03-09  Wim Taymans  <wim@fluendo.com>
29228
29229         * gst/gstpad.c: (gst_pad_get_direction),
29230         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
29231         (gst_pad_collect_valist):
29232         * testsuite/bins/interface.c: (main):
29233         * testsuite/caps/audioscale.c: (test_caps):
29234         * testsuite/caps/caps.c: (test1), (test2), (test3):
29235         * testsuite/caps/deserialize.c: (main):
29236         * testsuite/caps/enumcaps.c: (main):
29237         * testsuite/caps/filtercaps.c: (main):
29238         * testsuite/caps/intersect2.c: (main):
29239         * testsuite/caps/random.c: (main):
29240         * testsuite/caps/renegotiate.c: (my_fixate), (main):
29241         * testsuite/caps/sets.c: (check_caps):
29242         * testsuite/caps/simplify.c: (check_caps), (main):
29243         * testsuite/caps/subtract.c: (check_caps):
29244         Fix _pad_get_direction wrt ghostpads.
29245         Fix caps testsuite.
29246
29247 2005-03-09  Wim Taymans  <wim@fluendo.com>
29248
29249         * check/Makefile.am:
29250         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
29251         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
29252         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
29253         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
29254         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
29255         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
29256         (gst_bin_remove), (gst_bin_iterate_recurse_up),
29257         (bin_element_is_sink), (gst_bin_iterate_sinks),
29258         (gst_bin_iterate_all_by_interface):
29259         * gst/gstbin.h:
29260         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
29261         (gst_element_change_state), (gst_element_dispose),
29262         (gst_element_finalize), (gst_element_set_loop_function):
29263         * gst/gstelement.h:
29264         * gst/gstiterator.c: (find_custom_fold_func):
29265         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29266         (gst_pad_collectv), (gst_pad_collect_valist),
29267         (gst_pad_template_new):
29268         * gst/gstpipeline.c: (gst_pipeline_class_init),
29269         (gst_pipeline_dispose), (gst_pipeline_set_property),
29270         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
29271         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
29272         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
29273         * gst/gstutils.h:
29274         * gst/schedulers/entryscheduler.c:
29275         * gst/schedulers/gstbasicscheduler.c:
29276         (gst_basic_scheduler_cothreaded_chain),
29277         (gst_basic_scheduler_chain_add_element):
29278         * testsuite/bins/interface.c: (main):
29279         Added GstBin test.
29280         Added GstSystemClock test.
29281         Implemented clock distribution code in GstBin.
29282         Implemented iterate sinks method for future use.
29283         Rearranged gstelement.h
29284         Fix GstIterator comparison bug.
29285         Moved some code to GstPipeline, mostly clocking related.
29286
29287 2005-03-09  Wim Taymans  <wim@fluendo.com>
29288
29289         * configure.ac:
29290         * gst/gst_private.h:
29291         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29292         (gst_bin_remove_func), (gst_bin_remove),
29293         (gst_bin_get_by_name_recurse_up):
29294         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
29295         (gst_clock_id_compare_func), (gst_clock_id_wait),
29296         (gst_clock_id_wait_async), (gst_clock_init),
29297         (gst_clock_adjust_unlocked), (gst_clock_get_time):
29298         * gst/gstelement.h:
29299         * gst/gstinfo.c: (_gst_debug_init):
29300         * gst/gstobject.h:
29301         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29302         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
29303         * gst/gstpad.h:
29304         Bump version number, we're now 0.9.0
29305         Add future debugging category.
29306         Fix NULL _unref() in _get_by_name_recurse_up
29307         Rearrange gstpad.h.
29308         Update some docs.
29309
29310 2005-03-08  Wim Taymans  <wim@fluendo.com>
29311
29312         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
29313         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
29314         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29315         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
29316         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
29317         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
29318         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
29319         * gst/elements/gstidentity.c: (gst_identity_class_init):
29320         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
29321         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
29322         * gst/elements/gstshaper.c: (gst_shaper_class_init):
29323         * gst/elements/gststatistics.c: (gst_statistics_class_init):
29324         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
29325         (gst_tee_link):
29326         * gst/gstelement.c: (gst_element_class_init),
29327         (gst_element_base_class_init), (gst_element_init),
29328         (gst_element_get_random_pad), (gst_element_wait_state_change),
29329         (gst_element_change_state), (gst_element_dispose),
29330         (gst_element_finalize), (gst_element_set_loop_function):
29331         * gst/gstelement.h:
29332         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
29333         * gst/gstthread.c: (gst_thread_class_init),
29334         (gst_thread_release_children_locks), (gst_thread_change_state):
29335         * gst/schedulers/gstbasicscheduler.c:
29336         (gst_basic_scheduler_loopfunc_wrapper),
29337         (gst_basic_scheduler_chain_wrapper),
29338         (gst_basic_scheduler_src_wrapper),
29339         (gst_basic_scheduler_remove_element):
29340         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
29341         Remove threadsafe properties. Fix elements because GObject
29342         complains when installing a property before declaring a
29343         set/get_property handler.
29344         Rearrange gstelement.h file, use STATE macros for state locks.
29345         Free mutexes in the finalize method instead of dispose.
29346
29347 2005-03-08  Wim Taymans  <wim@fluendo.com>
29348
29349         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29350         * gst/gstthread.c: (gst_thread_release_children_locks):
29351         Added parentage check.
29352         Fix build og GstThread again.
29353
29354 2005-03-08  Wim Taymans  <wim@fluendo.com>
29355
29356         * docs/design/part-MT-refcounting.txt:
29357         * docs/design/part-conventions.txt:
29358         * docs/design/part-gstobject.txt:
29359         * docs/design/part-relations.txt:
29360         * docs/design/part-standards.txt:
29361         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29362         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
29363         (gst_bin_get_by_name), (gst_bin_get_by_interface),
29364         (gst_bin_iterate_all_by_interface):
29365         * gst/gstbuffer.h:
29366         * gst/gstclock.h:
29367         * gst/gstelement.c: (gst_element_class_init),
29368         (gst_element_change_state), (gst_element_set_loop_function):
29369         * gst/gstelement.h:
29370         * gst/gstiterator.c:
29371         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
29372         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
29373         (gst_object_dispatch_properties_changed), (gst_object_set_name),
29374         (gst_object_set_parent), (gst_object_unparent),
29375         (gst_object_check_uniqueness):
29376         * gst/gstobject.h:
29377         Docs updates, clean up some headers.
29378
29379 2005-03-07  Wim Taymans  <wim@fluendo.com>
29380
29381         * check/.cvsignore:
29382         * check/Makefile.am:
29383         * check/gst-libs/.cvsignore:
29384         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
29385         * check/gst/.cvsignore:
29386         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
29387         (START_TEST), (gstbus_suite), (main):
29388         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
29389         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
29390         (gst_data_suite), (main):
29391         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
29392         (add_fold_func), (gstiterator_suite), (main):
29393         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
29394         (thread_name_object), (thread_name_object_default),
29395         (gst_object_name_compare), (gst_object_suite), (main):
29396         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
29397         (gst_pad_suite), (main):
29398         * check/gstcheck.c: (gst_check_log_message_func),
29399         (gst_check_log_critical_func), (gst_check_init):
29400         * check/gstcheck.h:
29401         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
29402         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
29403         Added checks.
29404
29405 2005-03-07  Wim Taymans  <wim@fluendo.com>
29406
29407         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
29408         (gst_list_iterator_next), (gst_list_iterator_resync),
29409         (gst_list_iterator_free), (gst_iterator_new_list),
29410         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
29411         (gst_iterator_free), (gst_iterator_push), (filter_next),
29412         (filter_resync), (filter_uninit), (filter_free),
29413         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
29414         (gst_iterator_foreach), (find_custom_fold_func),
29415         (gst_iterator_find_custom):
29416         * gst/gstiterator.h:
29417         Added missing files.
29418
29419 2005-03-07  Wim Taymans  <wim@fluendo.com>
29420
29421         * Makefile.am:
29422         * configure.ac:
29423         * docs/design/part-MT-refcounting.txt:
29424         * docs/design/part-conventions.txt:
29425         * docs/design/part-gstobject.txt:
29426         * docs/design/part-relations.txt:
29427         * examples/mixer/mixer.c: (main):
29428         * examples/thread/thread.c: (eos), (main):
29429         * gst/Makefile.am:
29430         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
29431         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
29432         (gst_spider_plug_from_srcpad):
29433         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
29434         (gst_spider_identity_change_state),
29435         (gst_spider_identity_sink_loop_type_finding):
29436         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
29437         * gst/elements/gstidentity.c: (gst_identity_init):
29438         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
29439         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
29440         * gst/elements/gsttypefindelement.c: (free_entry):
29441         * gst/gst.c:
29442         * gst/gst.h:
29443         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
29444         (gst_bin_set_clock_func), (gst_bin_auto_clock),
29445         (gst_bin_set_index), (gst_bin_set_element_sched),
29446         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
29447         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
29448         (gst_bin_iterate_elements), (iterate_child_recurse),
29449         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
29450         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
29451         (compare_interface), (gst_bin_get_by_interface),
29452         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
29453         * gst/gstbin.h:
29454         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
29455         (gst_buffer_default_free), (gst_buffer_default_copy),
29456         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
29457         (gst_buffer_create_sub):
29458         * gst/gstbuffer.h:
29459         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
29460         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
29461         (gst_caps_unref), (gst_static_caps_get),
29462         (gst_caps_remove_and_get_structure), (gst_caps_append),
29463         (gst_caps_append_structure), (gst_caps_remove_structure),
29464         (gst_caps_copy_nth), (gst_caps_set_simple),
29465         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
29466         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
29467         (gst_caps_structure_intersect_field), (gst_caps_intersect),
29468         (gst_caps_structure_subtract_field), (gst_caps_subtract),
29469         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
29470         (gst_caps_structure_figure_out_union),
29471         (gst_caps_switch_structures), (gst_caps_do_simplify),
29472         (gst_caps_replace), (gst_caps_from_string),
29473         (gst_caps_copy_conditional):
29474         * gst/gstcaps.h:
29475         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
29476         (_gst_clock_id_free), (gst_clock_id_unref),
29477         (gst_clock_id_compare_func), (gst_clock_id_wait),
29478         (gst_clock_id_wait_async), (gst_clock_class_init),
29479         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
29480         (gst_clock_get_time), (gst_clock_set_time_adjust),
29481         (gst_clock_set_property), (gst_clock_get_property):
29482         * gst/gstclock.h:
29483         * gst/gstcompat.h:
29484         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
29485         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
29486         * gst/gstdata.h:
29487         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29488         (gst_element_requires_clock), (gst_element_provides_clock),
29489         (gst_element_set_clock), (gst_element_clock_wait),
29490         (gst_element_wait), (gst_element_set_time_delay),
29491         (gst_element_is_indexable), (gst_element_add_pad),
29492         (gst_element_add_ghost_pad), (gst_element_remove_pad),
29493         (pad_compare_name), (gst_element_get_static_pad),
29494         (gst_element_request_pad), (gst_element_get_request_pad),
29495         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
29496         (gst_element_class_get_pad_template_list),
29497         (gst_element_class_get_pad_template), (gst_element_error_func),
29498         (gst_element_get_random_pad), (gst_element_get_event_masks),
29499         (gst_element_send_event), (gst_element_seek),
29500         (gst_element_get_query_types), (gst_element_query),
29501         (gst_element_get_formats), (gst_element_convert),
29502         (gst_element_is_locked_state), (gst_element_set_locked_state),
29503         (gst_element_sync_state_with_parent), (gst_element_change_state),
29504         (gst_element_finalize), (gst_element_yield),
29505         (gst_element_interrupt), (gst_element_set_scheduler),
29506         (gst_element_get_scheduler), (gst_element_set_loop_function):
29507         * gst/gstelement.h:
29508         * gst/gstevent.h:
29509         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
29510         (gst_format_get_by_nick), (gst_format_get_details),
29511         (gst_format_iterate_definitions):
29512         * gst/gstformat.h:
29513         * gst/gstindex.c: (gst_index_gtype_resolver):
29514         * gst/gstinfo.c:
29515         * gst/gstinfo.h:
29516         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
29517         (gst_mem_chunk_free):
29518         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
29519         (gst_object_ref), (gst_object_unref), (gst_object_sink),
29520         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
29521         (gst_object_dispatch_properties_changed),
29522         (gst_object_set_name_default), (gst_object_set_name),
29523         (gst_object_get_name), (gst_object_set_name_prefix),
29524         (gst_object_get_name_prefix), (gst_object_set_parent),
29525         (gst_object_get_parent), (gst_object_unparent),
29526         (gst_object_check_uniqueness), (gst_object_save_thyself),
29527         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
29528         (gst_object_set_property), (gst_object_get_property),
29529         (gst_object_get_path_string):
29530         * gst/gstobject.h:
29531         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29532         (gst_real_pad_init), (gst_real_pad_get_property),
29533         (gst_pad_custom_new), (gst_pad_get_direction),
29534         (gst_pad_set_active), (gst_pad_is_active),
29535         (gst_pad_set_event_function), (gst_pad_is_linked),
29536         (gst_pad_link_free), (gst_pad_link_intersect),
29537         (gst_pad_link_fixate), (gst_pad_set_caps),
29538         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
29539         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
29540         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
29541         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
29542         (gst_pad_get_caps), (gst_pad_peer_get_caps),
29543         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
29544         (gst_pad_realize), (gst_pad_get_allowed_caps),
29545         (gst_real_pad_dispose), (gst_real_pad_finalize),
29546         (gst_pad_collectv), (gst_pad_collect_valist),
29547         (gst_pad_template_dispose), (gst_pad_template_new),
29548         (gst_pad_get_internal_links):
29549         * gst/gstpad.h:
29550         * gst/gstpipeline.c: (gst_pipeline_dispose),
29551         (gst_pipeline_change_state):
29552         * gst/gstpipeline.h:
29553         * gst/gstplugin.c:
29554         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
29555         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
29556         * gst/gstpluginfeature.h:
29557         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
29558         * gst/gstquery.c: (_gst_query_type_initialize),
29559         (gst_query_type_register), (gst_query_type_get_by_nick),
29560         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
29561         * gst/gstquery.h:
29562         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
29563         * gst/gstscheduler.c: (gst_scheduler_add_element),
29564         (gst_scheduler_factory_create):
29565         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29566         (gst_structure_free), (gst_structure_set_name),
29567         (gst_structure_id_set_value), (gst_structure_set_value),
29568         (gst_structure_set_valist), (gst_structure_remove_field),
29569         (gst_structure_remove_fields),
29570         (gst_structure_remove_fields_valist),
29571         (gst_structure_remove_all_fields), (gst_structure_foreach),
29572         (gst_structure_map_in_place),
29573         (gst_caps_structure_fixate_field_nearest_int),
29574         (gst_caps_structure_fixate_field_nearest_double):
29575         * gst/gststructure.h:
29576         * gst/gstsystemclock.c: (gst_system_clock_class_init),
29577         (gst_system_clock_init), (gst_system_clock_dispose),
29578         (gst_system_clock_async_thread),
29579         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
29580         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
29581         * gst/gstsystemclock.h:
29582         * gst/gsttag.c: (gst_tag_list_add_value_internal),
29583         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
29584         * gst/gsttaginterface.c:
29585         * gst/gstthread.c: (gst_thread_dispose),
29586         (gst_thread_release_children_locks), (gst_thread_change_state),
29587         (gst_thread_main_loop):
29588         * gst/gsttrashstack.h:
29589         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
29590         * gst/gsttypes.h:
29591         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29592         (gst_element_request_pad), (gst_element_get_pad_from_template),
29593         (gst_element_request_compatible_pad),
29594         (gst_element_get_compatible_pad_filtered),
29595         (gst_element_get_compatible_pad), (gst_element_state_get_name),
29596         (gst_element_link_pads_filtered), (gst_element_link_filtered),
29597         (gst_element_link_many), (gst_element_link),
29598         (gst_element_link_pads), (gst_element_unlink_pads),
29599         (gst_element_unlink_many), (gst_element_unlink),
29600         (gst_pad_can_link_filtered), (gst_pad_can_link),
29601         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
29602         (gst_object_default_error), (gst_bin_add_many),
29603         (gst_bin_remove_many), (gst_element_populate_std_props),
29604         (gst_element_class_install_std_props), (gst_buffer_merge),
29605         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
29606         (link_fold_func), (gst_pad_proxy_setcaps):
29607         * gst/gstutils.h:
29608         * gst/gstvalue.c: (gst_value_deserialize_string):
29609         * gst/parse/grammar.y:
29610         * gst/schedulers/gstbasicscheduler.c:
29611         (gst_basic_scheduler_cothreaded_chain),
29612         (gst_basic_scheduler_chain_recursive_add),
29613         (gst_basic_scheduler_pad_link):
29614         * gst/schedulers/gstoptimalscheduler.c:
29615         (get_group_schedule_function),
29616         (gst_opt_scheduler_state_transition),
29617         (gst_opt_scheduler_add_element), (element_get_reachables_func):
29618         * libs/gst/bytestream/bytestream.c:
29619         * libs/gst/dataprotocol/dataprotocol.c:
29620         (gst_dp_header_from_buffer):
29621         * po/nb.po:
29622         * po/ru.po:
29623         * tests/threadstate/threadstate2.c: (eos):
29624         * tools/gst-compprep.c: (main):
29625         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
29626         (print_pad_info), (print_children_info):
29627         * tools/gst-launch.c: (idle_func), (main):
29628         * tools/gst-md5sum.c: (idle_func), (main):
29629         * tools/gst-xmlinspect.c: (print_element_info):
29630         First THREADED backport attempt, focusing on adding locks and
29631         making sure the API is threadsafe. Needs more work. More docs
29632         follow this week.
29633
29634 2005-02-24  Andy Wingo  <wingo@pobox.com>
29635
29636         * tests/bench-complexity.scm:
29637         * tests/complexity.gnuplot: New files, good for running complexity
29638         benchmarks.
29639
29640         * tests/Makefile.am:
29641         * tests/complexity.c: New test, sets up N elements, at each level
29642         teeing into M streams per element. Eeeenteresting.
29643
29644         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
29645         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
29646         running bench-mass_elements.scm.
29647
29648         * tests/bench-mass_elements.scm: New script, runs mass_elements
29649         for various numbers of identities, outputting the results to a
29650         file. Requires guile 1.6. Just for testing.
29651
29652 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29653
29654         * gst/schedulers/fairscheduler.c:
29655           compile with debug disabled
29656
29657 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29658
29659         * configure.ac:
29660           hunting season on 0.9 is now OPEN