607e815da8cc684625fe31fba505546afc72a4bc
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-04-11  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstelementfactory.c: (gst_element_register),
4         (gst_element_factory_create), (gst_element_factory_make):
5         Some cleanups.
6         Fixed a FIXME.
7         Updated docs (Fixes #131079)
8
9         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10         Small cleanups.
11
12         * tests/check/gst/gstelement.c: (GST_START_TEST),
13         (gst_element_suite):
14         Added testcase for elementfactory class field.
15
16 2006-04-10  Wim Taymans  <wim@fluendo.com>
17
18         * gst/gstsegment.c:
19         Added some more docs.
20
21         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
22         (gst_base_sink_reset_qos):
23         Calculate more accurate rate values.
24
25 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
26
27         * gst/gst_private.h:
28           add a new #ifdef to use __declspec(dllimport) only for
29           other modules and not for gstreamer core
30         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
31           use gst_guint64_to_gdouble for conversion
32         * win32/common/libgstreamer.def:
33           add new exported functions
34         * win32/vs6/gst_inspect.dsp:
35         * win32/vs6/gst_launch.dsp:
36         * win32/vs6/libgstbase.dsp:
37         * win32/vs6/libgstcontroller.dsp:
38         * win32/vs6/libgstcoreelements.dsp:
39         * win32/vs6/libgstdataprotocol.dsp:
40         * win32/vs6/libgstnet.dsp:
41           update project files
42
43 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
44
45         * gst/gstbuffer.c: (gst_subbuffer_class_init):
46         * gst/gstclock.c: (gst_clock_class_init):
47         * gst/gstelement.c: (gst_element_class_init):
48         * gst/gstindex.c: (gst_index_class_init):
49         * gst/gstindexfactory.c: (gst_index_factory_class_init):
50         * gst/gstobject.c: (gst_object_class_init),
51         (gst_signal_object_class_init):
52         * gst/gstpad.c: (gst_pad_class_init):
53         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
54         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
55         * gst/gstregistry.c: (gst_registry_class_init):
56         * gst/gstsystemclock.c: (gst_system_clock_class_init):
57         * gst/gsttask.c: (gst_task_class_init):
58         * gst/gstxml.c: (gst_xml_class_init):
59         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
60         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
61         (gst_base_src_loop):
62         * libs/gst/controller/gstcontroller.c:/
63         (_gst_controller_class_init):
64         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
65         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
66         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
67         * tests/old/examples/plugins/example.c: (gst_example_class_init):
68         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
69         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
70
71 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
72
73         * gst/gstpad.c: (gst_pad_link):
74           Must set peer pads before calling the link function, otherwise
75           a task started from a link function might get a flow-not-linked
76           result when trying to push because the other thread where the
77           linking happens hasn't had a chance to set the peers yet. This
78           might happen for example when a queue gets linked to a downstream
79           element, as queue starts a streaming task when its source pad
80           gets linked. Happens in real life when playing back flac/musepack
81           files in playbin (#332390).
82           
83 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
84
85         * gst/gstindex.h:
86         * gst/gstxml.h:
87         * libs/gst/base/gstadapter.h:
88         * libs/gst/base/gstbasesink.h:
89         * libs/gst/base/gstbasesrc.h:
90         * libs/gst/base/gstbasetransform.h:
91         * libs/gst/base/gstcollectpads.h:
92         * libs/gst/base/gstpushsrc.h:
93         Fix broken GObject macros
94
95 2006-04-07  Wim Taymans  <wim@fluendo.com>
96
97         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
98         Initialize start and stop times, thanks valgrind.
99
100 2006-04-07  Wim Taymans  <wim@fluendo.com>
101
102         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
103         Be a bit nicer to badly behaving upstream elements that expect
104         us to deal with non TIME segments and timestamps (such as fakesrc
105         in the testsuite).
106
107 2006-04-07  Wim Taymans  <wim@fluendo.com>
108
109         * gst/gstbus.c:
110         Small documentation clarification about the signal watch.
111
112         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
113         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
114         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
115         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
116         (gst_base_sink_get_position_last),
117         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
118         Convert and store timestamps in stream time and running time, the
119         raw timestamps are not usefull, also document this better.
120         Use different window sizes for good and bad QoS observations so
121         we react to badness a little quicker.
122         Keep track of the amount of rendered and dropped buffers.
123         Send QoS timestamps in running time.
124
125         * libs/gst/base/gstbasetransform.c:
126         (gst_base_transform_sink_eventfunc),
127         (gst_base_transform_handle_buffer):
128         Compare QoS timestamps against running time.
129
130 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
131
132         * gst/gstpad.c:
133           Typo fixes in docs.
134
135 2006-04-06  Michael Smith  <msmith@fluendo.com>
136
137         * gst/gstpad.c: (gst_pad_set_property):
138           Use g_value_get_object() instead of g_value_dup_gst_object(),
139           to avoid double-reffing the pad template (which we then sink,
140           so this worked previously if (and only if) the pad template
141           was floating.
142
143         * gst/gstpadtemplate.c: (gst_pad_template_init),
144         (gst_pad_template_pad_created):
145           Never return floating references to pad templates, create
146           them as initially-sunken.
147
148           Document an extra function (and make this stop sinking our
149           pad template, since that is now guaranteed to do nothing,
150           since we created it sunken).
151
152         * gst/gstghostpad.c:
153           Fix docs typo.
154
155 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
156
157         * gst/gstinfo.c: (__gst_in_valgrind):
158           Add some newlines.
159
160         * plugins/elements/gsttypefindelement.c:
161         (gst_type_find_element_chain):
162           Don't leak buffer caps.
163
164 2006-04-06  Michael Smith  <msmith@fluendo.com>
165
166         * gst/parse/grammar.y:
167           Fix a leak in parse-launch for any source-or-sink named element 
168           references used.
169
170         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
171           Unref the pipeline if it exists after we've failed parsing.
172
173 2006-04-05  Michael Smith  <msmith@fluendo.com>
174
175         * gst/gstpipeline.c: (gst_pipeline_init):
176           When we create a pipeline bus, initially create it in flushing mode.
177           Fixes leaks in at least one test, and makes a new pipeline work the
178           same as one that has gone to READY and then back to NULL.
179
180         * gst/gstelement.c:
181           Typo fix in docs.
182
183 2006-04-05  Michael Smith  <msmith@fluendo.com>
184
185         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
186           Unref a pad we reffed.
187         * tests/check/gst/gstutils.c: (GST_START_TEST):
188           Unref bins
189
190 2006-04-05  Michael Smith  <msmith@fluendo.com>
191
192         * gst/gstquery.c: (gst_query_set_formats),
193         (gst_query_set_formatsv):
194           Fix leaking GValues in queries, as shown by valgrind/testsuite.
195
196 2006-04-05  Michael Smith  <msmith@fluendo.com>
197
198         * tests/check/generic/sinks.c: (GST_START_TEST):
199           Fix a variety of memleaks in sinks check, which are only sometimes 
200           shown by running the tests under valgrind (weird?).
201
202 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
203
204         * docs/version.entities.in:
205           Fix the substituted entity name after thomas' changes on the
206           weekend.
207
208 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
209
210         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
211         VALGRIND_PRINTF
212         
213 2006-04-05  Andy Wingo  <wingo@pobox.com>
214
215         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
216
217         * libs/gst/base/gstbasetransform.c
218         (gst_base_transform_sink_eventfunc): When resetting our segment on
219         FLUSH_STOP, also update the flag saying we haven't seen a
220         newsegment.
221
222 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
223
224         Patch by: Paolo Borelli  <pborelli at katamail dot com>
225
226         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
227         (gst_plugin_check_license):
228           minor clean-ups: G_DEFINE_TYPE already takes care of the
229           parent_class stuff, no need to do it twice. Mark array of
230           license strings as constant. (#337103)
231           
232 2006-04-04  Michael Smith  <msmith@fluendo.com>
233
234         * tools/gst-inspect.c: (print_element_list):
235           Free the right plugin list; fixes a memory leak.
236
237 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
238
239         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
240
241         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
242           Don't error out on empty buffers (#336945).
243           
244 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
245
246         * docs/libs/gstreamer-libs-sections.txt:
247         * gst/gsttaglist.c:
248         * libs/gst/base/gstbasesink.c:
249         * libs/gst/base/gstbasesink.h:
250         * libs/gst/base/gstbasesrc.c:
251         * libs/gst/base/gstbasesrc.h:
252           Documentation updates. Make BaseSink and BaseSrc docs contain the
253           class structure so that people can actually see the prototypes for
254           virtual functions they're supposed to be overriding.
255
256 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
257
258         * plugins/elements/gsttypefindelement.c:
259         (gst_type_find_element_chain):
260           More debug info; when skipping typefinding, send cached
261           events in all cases.
262
263 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
264
265         * configure.ac:
266           use new AS_VERSION and AS_NANO macros
267         * gst/gst-i18n-lib.h:
268         * gst/gst.c:
269         * gst/gsterror.c:
270         * gst/gstversion.h.in:
271         * win32/common/config.h:
272         * win32/common/config.h.in:
273           update accordingly
274
275 2006-03-31  Michael Smith  <msmith@fluendo.com>
276
277         * plugins/elements/gsttypefindelement.c:
278         (gst_type_find_element_chain):
279           Do not typefind content if the buffers already have caps.
280           Neccesary for icydemux (#333657), and the right thing to do anyway.
281
282 2006-03-30  Wim Taymans  <wim@fluendo.com>
283
284         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
285         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
286         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
287         (gst_base_sink_record_qos_observation),
288         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
289         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
290         (gst_base_sink_change_state):
291         More QoS measurements as described in the design doc.
292         Get rid of ringbuffer with observations, running average is
293         more simple and equally good.
294         Calculates valid proportion now.
295         Added beginning of flood measurement.
296
297 2006-03-29  Wim Taymans  <wim@fluendo.com>
298
299         * docs/design/part-qos.txt:
300         * gst/gstclock.c:
301         Small documentation updates and additions.
302
303 2006-03-29  Wim Taymans  <wim@fluendo.com>
304
305         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
306         (gst_base_src_send_event), (gst_base_src_loop),
307         (gst_base_src_change_state):
308         Perform the EOS logic when we reach the segment stop position.
309         Fix compilation on gcc4.1
310
311 2006-03-29  Wim Taymans  <wim@fluendo.com>
312
313         Patch by Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
314
315         * plugins/elements/gstqueue.c: (gst_queue_init),
316         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
317         (gst_queue_set_property):
318         * plugins/elements/gstqueue.h:
319         In queue, when EOS is received, if minimum threshold > max_size -
320         current_level, there is chance that queue blocks forever in conditional item
321         del wait. This is because the queue is not emptied completely due to minimum
322         threshold.
323         Here is another approach. Instead of setting cur_levels to max in EOS, just
324         zero all minimum threshold levels. This should make sure that queue gives out
325         all data. When going to READY (stop) state, just reset the original minimum
326         threshold levels.
327         Fixes #336336.
328
329 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
330
331         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
332         (gst_type_find_element_handle_event),
333         (gst_type_find_element_send_cached_events),
334         (gst_type_find_element_change_state):
335         * plugins/elements/gsttypefindelement.h:
336           When typefinding is done in push mode, we should cache
337           events we receive during typefinding instead of just
338           dropping them (e.g. newsegment, custom events from
339           dvdreadsrc etc.) and then send them out once we've
340           determined the type of the stream (and decodebin
341           has had a chance to plug in a decoder/demuxer).
342           
343 2006-03-27  Wim Taymans  <wim@fluendo.com>
344
345         * docs/design/part-qos.txt:
346         First QoS ideas.
347
348 2006-03-27  Wim Taymans  <wim@fluendo.com>
349
350         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
351
352         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
353         (gst_base_src_send_event), (gst_base_src_change_state):
354         Handle element seek correctly when we are streaming.
355         Fixes #326998.
356
357 2006-03-24  Michael Smith  <msmith@fluendo.com>
358
359         * docs/faq/gst-uninstalled:
360           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
361           allow you to correctly run intalled applications built against old 
362           core, using plugins that require updated core (e.g. running
363           installed totem against a full uninstalled gstreamer stack)
364
365 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
366
367         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
368         more debug details
369
370 2006-03-24  Wim Taymans  <wim@fluendo.com>
371
372         * docs/gst/gstreamer-sections.txt:
373         Rearrange the order of the methods so that related methods
374         are grouped together in sections.
375
376 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
377
378         * gst/gstelement.c:
379           Little clarification in the docs
380
381 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
382
383         * docs/README:
384         formatting fix
385         * plugins/elements/gstidentity.c:
386         * plugins/elements/gstqueue.c:
387         * plugins/elements/gsttee.c:
388         * plugins/elements/gsttypefindelement.c:
389         GST_ELEMENT_DETAILS formatting
390
391 2006-03-24  Wim Taymans  <wim@fluendo.com>
392
393         * libs/gst/base/gstbasesink.h:
394         Only add fields, not insert or we break ABI.
395
396 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
397
398         * win32/common/libgstbase.def:
399         * win32/common/libgstreamer.def:
400           Update, add recently added functions.
401
402 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
403
404         * docs/gst/gstreamer-sections.txt:
405         * gst/gstutils.c: (gst_pad_query_peer_position),
406         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
407         * gst/gstutils.h:
408           API: add some new utility functions:
409            - gst_pad_query_peer_position
410            - gst_pad_query_peer_duration
411            - gst_pad_query_peer_convert
412           
413 2006-03-23  Wim Taymans  <wim@fluendo.com>
414
415         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
416         (gst_base_sink_init), (gst_base_sink_finalize),
417         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
418         (gst_base_sink_set_property), (gst_base_sink_get_property),
419         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
420         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
421         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
422         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
423         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
424         (gst_base_sink_preroll_object), (gst_base_sink_event),
425         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
426         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
427         (gst_base_sink_query), (gst_base_sink_change_state):
428         Decouple max-lateness and the fact that QoS messages are generated
429         with a new property (qos).
430         added API: GstBaseSink::async_play()
431         Add vmethod so subclasses can be notified of ASYNC playing
432         state changes.
433         Collect timestamp start and stop to report better current
434         position in EOS/PLAYING/PAUSED/READY/NULL.
435         Refactor QoS/frame dropping and other measurements.
436         API: GstBaseSrc::qos
437         Fixes #326311
438
439         * libs/gst/base/gstbasesink.h:
440         Added Private struct.
441         API: gst_base_sink_set_qos_enabled
442         API: gst_base_sink_is_qos_enabled
443
444 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
445
446         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
447           If compiling against GLib-2.8 or newer, try to read the
448           registry file using GMappedFile first before falling back
449           to fopen() + fread() (#332151).
450
451 2006-03-22  Wim Taymans  <wim@fluendo.com>
452
453         * gst/gstinfo.c: (gst_debug_set_active),
454         (gst_debug_category_set_threshold):
455         Disable debugging unless explicitly activated.
456         Fixes #335480.
457
458 2006-03-22  Wim Taymans  <wim@fluendo.com>
459
460         * gst/gstelement.c: (gst_element_set_locked_state),
461         (gst_element_dispose):
462         Cleanup the error case.
463
464         * gst/gstobject.c: (gst_object_dispose):
465         print a critical when some object was disposed with
466         a parent, also revive the object since it might
467         crash the parent.
468
469 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
470
471         * tools/gst-launch.1.in:
472           Fix another typo.
473
474 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
475
476         * configure.ac:
477         * tests/check/Makefile.am:
478           disable some tests when we don't have a registry
479         * tests/check/gst/gstutils.c: (gst_utils_suite):
480           don't build the part that needs parsing
481
482 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
483
484         * gst/Makefile.am
485         * tests/examples/Makefile.am:
486           fix --disable-parse build
487
488 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
489
490         * tools/gst-feedback.1.in:
491           Fix typo: s/feeback/feedback/ (#133494).
492
493 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
494
495         * tools/Makefile.am:
496         * tools/gst-launch.1.in:
497           Add FILES section and correct entry about GST_REGISTRY_PATH
498           environment variable (#133495; #133494).
499
500 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
501
502         * tools/Makefile.am:
503         * tools/gst-md5sum.1.in:
504         * tools/gst-md5sum.c:
505           Remove gst-md5sum and man page (the md5sink element
506           required was removed ages ago)
507
508 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
509
510         * gst/gststructure.c: (gst_structure_id_set_value):
511           Make sure that string fields in structures/taglists
512           contain valid UTF-8 - we don't want to pass rubbish to
513           applications because of a buggy plugin (cp. #334167).
514
515 2006-03-21  Edward Hervey  <edward@fluendo.com>
516
517         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
518         (gst_bin_handle_message_func):
519         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
520         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
521         (gst_element_set_bus_func):
522         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
523         * gst/gstminiobject.c: (gst_value_set_mini_object),
524         (gst_value_take_mini_object):
525         * gst/gstpad.c: (gst_pad_set_pad_template):
526         * gst/gstpipeline.c: (gst_pipeline_dispose),
527         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
528         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
529         (gst_collect_pads_chain):
530         * libs/gst/net/gstnettimeprovider.c:
531         (gst_net_time_provider_set_property):
532         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
533         It's in fact all issues with gst_*object_replace().
534
535 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
536
537         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
538         
539         * pkgconfig/gstreamer-check-uninstalled.pc.in:
540         * pkgconfig/gstreamer-check.pc.in:
541           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
542
543 2006-03-21  Edward Hervey  <edward@fluendo.com>
544
545         * gst/gstbuffer.h:
546         * gst/gstevent.h:
547         * gst/gstmessage.h:
548         gst_[buffer|event|message]_ref() macros are replaced by a static
549         inline functions because gcc-4.1 will about if the return value
550         isn't used.
551         * tests/check/gst/gstevent.c: (event_probe):
552         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
553
554 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
555
556         * gst/gstutils.h:
557         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
558         the type' case. (Closes: #335195 for now). In the future, when we
559         depend on GLib 2.10, we could also intern the type name using
560         g_intern_static_string()
561
562 2006-03-20  Wim Taymans  <wim@fluendo.com>
563
564         * gst/gstbin.c: (gst_bin_handle_message_func),
565         (bin_query_max_init), (bin_query_position_fold),
566         (bin_query_position_done), (gst_bin_query):
567         Position query should also take max of all streams.
568
569 2006-03-20  Wim Taymans  <wim@fluendo.com>
570
571         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
572         (gst_fake_src_finalize):
573         Fix leaks in fakesrc.
574
575         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
576         Fix leaks in the testcase.
577
578 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
579
580         * gst/gst_private.h:
581           add win32 specific import decoration(__declspec(dllimport)) 
582           for all extern GstDebugCategory * variables
583         * win32/common/libgstbase.def:
584         * win32/common/libgstcontroller.def:
585         * win32/common/libgstreamer.def:
586           Add some exports, remove empty lines
587         * win32/common/libgstdataprotocol.def:
588         * win32/common/libgstdataprotocol.dsp:
589         * win32/common/libgstnet.def:
590         * win32/common/libgstnet.dsp:
591           new project files and exportation files added
592         
593 2006-03-19  Wim Taymans  <wim@fluendo.com>
594
595         * tests/check/libs/basesrc.c: (eos_event_counter):
596         Use proper return value for probe.
597
598 2006-03-17  Wim Taymans  <wim@fluendo.com>
599
600         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
601         (gst_pad_push):
602         Don't leak buffers, caps and pads on negotiation errors.
603
604 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
605
606         * docs/faq/cvs.xml:
607         * docs/faq/dependencies.xml:
608         * docs/faq/developing.xml:
609         * docs/faq/faq.xml:
610         * docs/faq/general.xml:
611         * docs/faq/getting.xml:
612         * docs/faq/legal.xml:
613         * docs/faq/troubleshooting.xml:
614         * docs/faq/using.xml:
615         Faq review and update.
616
617 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
618
619         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
620         (gst_pad_push):
621         Don't pound the cpu to pieces by checking get_caps when accept_caps
622         is called with the same caps as the pad already has.
623         Use GST_DEBUG_OBJECT when outputting caps change information.
624
625 2006-03-15  Wim Taymans  <wim@fluendo.com>
626
627         * gst/gstclock.c: (gst_clock_class_init):
628         Fix docs.
629
630 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
631
632         * gst/gstbuffer.h:
633         Documentation fix.
634
635         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
636         (gst_pad_accept_caps), (gst_pad_configure_sink),
637         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
638         Make the default acceptcaps behaviour be to check the requested 
639         caps against the gst_pad_get_caps output. 
640
641         Ensure that gst_pad_accept_caps is used to check caps when a pad
642         doesn't have a setcaps function, so that pads automatically refuse 
643         caps that they don't allow in their pad template. (Fixes #332986)
644
645         When a buffer with attached caps is pushed, ensure that the source 
646         pad receives those caps even if the element didn't call
647         gst_pad_set_caps first.
648
649 2006-03-15  Wim Taymans  <wim@fluendo.com>
650
651         * libs/gst/base/gstadapter.c:
652         Add some docs.
653
654 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
655
656         * win32/common/libgstbase.def:
657         * win32/common/libgstcontroller.def:
658         * win32/common/libgstreamer.def:
659           Add a whole bunch of missing functions (#334434).
660
661 2006-03-14  Wim Taymans  <wim@fluendo.com>
662
663         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
664         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
665         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
666         Better debug info when we receive a segment event.
667         Reorganize a bit so we can pass the get_times() results around.
668         Use the segment format when calculating the running time.
669         Don't do QoS is sync is disabled or we have no clock or the
670         element does not want us to sync to the clock.
671         Don't drop buffers if QoS is disabled for now.
672
673 2006-03-14  Wim Taymans  <wim@fluendo.com>
674
675         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
676         Marked the stats property as unimplemented so people don't get
677         wild ideas.
678         Add debug message when regression goes wrong.
679         Added some more docs.
680
681 2006-03-14  Wim Taymans  <wim@fluendo.com>
682
683         * gst/gstsegment.c: (gst_segment_to_stream_time):
684         Return correct return type in case of errors.
685
686 2006-03-14  Wim Taymans  <wim@fluendo.com>
687
688         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
689           Don't segfault on invalid formats.
690
691 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
692
693         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
694           Can't use gst_segment_to_running_time() when the segment
695           is not in GST_TIME_FORMAT (like with filesink, for example).
696           Stops flac encoding pipelines from spewing critical warnings
697           at EOS (#331248).
698           
699 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
700
701         * gst/gstpipeline.c: (gst_pipeline_class_init):
702           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
703
704         * plugins/elements/gsttypefindelement.c:
705         (gst_type_find_element_handle_event):
706           Don't try to typefind empty streams.
707
708 2006-03-14  Wim Taymans  <wim@fluendo.com>
709
710         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
711         (gst_base_sink_do_qos):
712         Separate QoS calculation.
713         Only drop buffers when lateness is bigger than the 
714         duration of the buffer.
715
716 2006-03-13  Wim Taymans  <wim@fluendo.com>
717
718         * gst/gstpipeline.c: (gst_pipeline_set_property),
719         (gst_pipeline_get_property), (do_pipeline_seek),
720         (gst_pipeline_change_state), (gst_pipeline_set_delay),
721         (gst_pipeline_get_delay):
722         Don't deadlock when reading properties.
723
724 2006-03-13  Wim Taymans  <wim@fluendo.com>
725
726         * libs/gst/base/gstbasetransform.c:
727         (gst_base_transform_class_init), (gst_base_transform_init),
728         (gst_base_transform_sink_event),
729         (gst_base_transform_sink_eventfunc),
730         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
731         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
732         (gst_base_transform_set_property),
733         (gst_base_transform_get_property),
734         (gst_base_transform_change_state), (gst_base_transform_update_qos),
735         (gst_base_transform_set_qos_enabled),
736         (gst_base_transform_is_qos_enabled):
737         * libs/gst/base/gstbasetransform.h:
738         Make basetransform virtual method for src events too.
739         Handle QOS in basetransform.
740         API: gst_base_transform_update_qos
741         API: gst_base_transform_set_qos_enabled
742         API: gst_base_transform_is_qos_enabled
743
744 2006-03-13  Wim Taymans  <wim@fluendo.com>
745
746         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
747         (gst_base_sink_do_sync):
748         Small cleanups.
749         Use QOS debug category.
750
751 2006-03-13  Wim Taymans  <wim@fluendo.com>
752
753         * plugins/elements/gstqueue.c:
754         Very small doc update.
755
756 2006-03-13  Wim Taymans  <wim@fluendo.com>
757
758         * gst/gst_private.h:
759         * gst/gstinfo.c: (_gst_debug_init):
760         Added QOS debug category
761
762 2006-03-13  Wim Taymans  <wim@fluendo.com>
763
764         * docs/gst/gstreamer-sections.txt:
765         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
766         * gst/gstbin.h:
767         * gst/gstbus.c: (gst_bus_class_init):
768         * gst/gstbus.h:
769         * gst/gstclock.c:
770         * gst/gstelement.c: (gst_element_set_locked_state):
771         * gst/gstsegment.c:
772         Documentation updates.
773
774         * gst/gstpipeline.c: (gst_pipeline_get_type),
775         (gst_pipeline_class_init), (gst_pipeline_init),
776         (gst_pipeline_dispose), (gst_pipeline_set_property),
777         (gst_pipeline_get_property), (do_pipeline_seek),
778         (gst_pipeline_send_event), (gst_pipeline_change_state),
779         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
780         (gst_pipeline_get_delay):
781         * gst/gstpipeline.h:
782         Added methods for setting the delay.
783         API: gst_pipeline_set_delay
784         API: gst_pipeline_get_delay
785         Add pipeline debug category
786         Various cleanups.
787         Updated docs.
788         Don't reset stream time when seek failed.
789
790 2006-03-13  Wim Taymans  <wim@fluendo.com>
791
792         * docs/design/draft-klass.txt:
793         * docs/design/part-clocks.txt:
794         * docs/design/part-events.txt:
795         * docs/design/part-gstbin.txt:
796         * docs/design/part-gstpipeline.txt:
797         * docs/design/part-messages.txt:
798         * docs/design/part-negotiation.txt:
799         * docs/design/part-overview.txt:
800         * docs/design/part-preroll.txt:
801         * docs/design/part-seeking.txt:
802         * docs/design/part-states.txt:
803         * docs/design/part-streams.txt:
804         Documentation updates.
805
806 2006-03-12  Julien MOUTTE  <julien@moutte.net>
807
808         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
809         us to leak strings...
810
811 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
812
813         * libs/gst/net/gstnettimeprovider.c:
814           fix docs
815         * win32/common/config.h:
816           update
817
818 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
819
820         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
821
822         * configure.ac:
823           Don't check for libgnomeui (leftover from old examples
824           that aren't built or disted any longer) (#334303).
825           
826 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
827
828         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
829         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
830           Emit RESOURCE_NO_SPACE_LEFT error here as well when
831           there's no space left on the device.
832
833 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
834
835         * gst/gstclock.h:
836           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
837           to cast the input to GstClockTime before comparing with
838           another GstClockTime value.
839
840 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
841
842         * configure.ac:
843           back to trunk
844
845 === release 0.10.4 ===
846
847 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
848
849         * configure.ac:
850           releasing 0.10.4, "Light"
851
852 2006-03-10  Michael Smith  <msmith@fluendo.com>
853
854         * libs/gst/dataprotocol/dataprotocol.c:
855           Fix docs for dataprocotol to not get the return types completely
856           wrong for a few functions.
857
858 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
859
860         * docs/gst/gstreamer-sections.txt:
861         * gst/gstpipeline.c: (gst_pipeline_class_init),
862         (gst_pipeline_init), (gst_pipeline_set_property),
863         (gst_pipeline_get_property), (gst_pipeline_change_state),
864         (gst_pipeline_set_auto_flush_bus),
865         (gst_pipeline_get_auto_flush_bus):
866         * gst/gstpipeline.h:
867           Add new API: gst_pipeline_set_auto_flush_bus() and
868           gst_pipeline_get_auto_flush_bus() to disable automatic
869           flushing of the pipeline's GstBus when going from READY
870           to NULL state (#332045).
871
872 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
873
874         * docs/gst/gstreamer-sections.txt:
875         * gst/gsturi.c: (gst_uri_has_protocol):
876         * gst/gsturi.h:
877            Add new API: gst_uri_has_protocol() (#333779).
878
879 2006-03-09  Wim Taymans  <wim@fluendo.com>
880
881         * gst/gstclock.c: (gst_clock_entry_new),
882         (gst_clock_id_compare_func), (gst_clock_id_wait),
883         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
884         (gst_clock_init), (gst_clock_get_internal_time),
885         (gst_clock_set_master), (do_linear_regression),
886         (gst_clock_add_observation), (gst_clock_set_property):
887         * gst/gstclock.h:
888         Review docs.
889         Small cleanups.
890         Fix a possible segfault when the window-size is made smaller.
891         Calculate jitter before performing the clock wait. Ideally
892         the clock implementation should calculate jitter but we need
893         API breakage for that.
894
895         * gst/gstsystemclock.c: (gst_system_clock_init):
896         Docs review.
897         
898         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
899         Remove leftover else
900
901         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
902         (gst_systemclock_suite):
903         Added check to test GST_CLOCK_DIFF.
904
905 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
906
907         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
908         (gst_type_find_helper_get_range):
909           If we are provided with the size, we should implement
910           GstTypeFind::get_length, so that typefind functions who
911           want to can actually peek at the middle of a file.
912
913 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
914
915         * docs/manual/advanced-dataaccess.xml:
916           Add some very very basic error checking.
917
918         * docs/pwg/appendix-checklist.xml:
919           Some updates to the list of things to check when writing an element.
920
921 2006-03-08  Wim Taymans  <wim@fluendo.com>
922
923         * docs/design/part-element-transform.txt:
924         Added some docs about the design of tranform elements.
925
926         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
927         (gst_base_src_loop), (gst_base_src_change_state):
928         Mark buffers with the DISCONT flag.
929
930 2006-03-08  Michael Smith  <msmith@fluendo.com>
931
932         * gst/gstregistry.h:
933         * gst/gstregistryxml.c: (gst_registry_save),
934         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
935         (gst_registry_xml_save_pad_template),
936         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
937         (gst_registry_xml_write_cache):
938           Rewrite registry-saving to avoid race conditions and check for
939           failed writes.
940
941 2006-03-08  Wim Taymans  <wim@fluendo.com>
942
943         * libs/gst/base/gstbasetransform.c:
944         (gst_base_transform_transform_caps),
945         (gst_base_transform_transform_size),
946         (gst_base_transform_prepare_output_buffer),
947         (gst_base_transform_get_unit_size),
948         (gst_base_transform_buffer_alloc),
949         (gst_base_transform_handle_buffer),
950         (gst_base_transform_change_state):
951         Cleanups, separate normal flow from errors, add sensible
952         DEBUG lines.
953         Don't try to renegotiate when allocating an output buffer.
954         Also copy DISCONT buffer flag when copying a buffer.
955         Reset the transform after we finish streaming, not during.
956
957 2006-03-08  Wim Taymans  <wim@fluendo.com>
958
959         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
960         Use last buffer timestamp in qos message.
961
962 2006-03-07  Wim Taymans  <wim@fluendo.com>
963
964         Patch by: Christophe Fergeau
965
966         * docs/pwg/advanced-tagging.xml:
967         * docs/pwg/building-pads.xml:
968           fixes #333416
969
970 2006-03-07  Wim Taymans  <wim@fluendo.com>
971
972         * docs/libs/gstreamer-libs-sections.txt:
973         Added basesink new methods.
974
975         * gst/gstevent.c:
976         * gst/gstevent.h:
977         Docs updates. Flesh out the QoS docs.
978
979         * libs/gst/base/gstadapter.c:
980         Small doc clarification about ownership and flushing.
981
982         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
983         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
984         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
985         (gst_base_sink_get_property), (gst_base_sink_do_sync):
986         * libs/gst/base/gstbasesink.h:
987         API additions: 
988         Added new methods to allow subclass to control max-lateness 
989         and sync.
990         Generate very basic QoS events based on last sync observation.
991         Updated docs, fix typo, added some QoS blurb.
992
993         * libs/gst/base/gstbasesrc.c:
994         Remove obsolete _get_state() calls from docs.
995
996 2006-03-07  Wim Taymans  <wim@fluendo.com>
997
998         * docs/libs/gstreamer-libs-sections.txt:
999         * libs/gst/base/gstbasetransform.h:
1000         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
1001         Fix docs for GstBaseSrc.
1002
1003 2006-03-07  Wim Taymans  <wim@fluendo.com>
1004
1005         * docs/gst/gstreamer-sections.txt:
1006         * gst/gstbuffer.h:
1007         * gst/gstvalue.c:
1008         * libs/gst/base/gstbasetransform.h:
1009         Small documentation fixes.
1010
1011 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1012
1013         * gst/gstvalue.c:
1014           Document thread-unsafety of gst_value_register_foo_func()
1015           when used at the same time as gst_value_foo() (#322628).
1016
1017 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1018
1019         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
1020         (gst_push_src_check_get_range):
1021           Push sources don't support pull mode by default.
1022
1023 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1024
1025         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1026         (gst_base_src_init), (gst_base_src_pad_check_get_range),
1027         (gst_base_src_default_check_get_range):
1028         * libs/gst/base/gstbasesrc.h:
1029           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
1030           provide default implementation, and rename
1031           gst_base_src_check_get_range() to
1032           gst_base_src_pad_check_get_range() for clarity.
1033
1034 2006-03-06  Wim Taymans  <wim@fluendo.com>
1035
1036         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1037         Make property overridable.
1038
1039 2006-03-06  Wim Taymans  <wim@fluendo.com>
1040
1041         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1042         (gst_base_sink_init), (gst_base_sink_set_property),
1043         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1044         * libs/gst/base/gstbasesink.h:
1045         API addition: Make max-lateness a property.
1046
1047 2006-03-06  Wim Taymans  <wim@fluendo.com>
1048
1049         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
1050         (gst_base_sink_do_sync), (gst_base_sink_render_object):
1051         Don't ever draw a frame that is >10ms late.
1052
1053 2006-03-06  Michael Smith  <msmith@fluendo.com>
1054
1055         * gst/gstmessage.c: (_gst_message_copy):
1056           When copying a message, set the parent_refcount of the enclosed
1057           structure to point at the copy, not the original message.
1058
1059 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1060
1061         Patch by: Christophe Fergeau
1062
1063         * gst/gstutils.h:
1064           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
1065           usable in c++ code (#333417)
1066
1067 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1068
1069         * gst/gstclock.h:
1070           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
1071
1072 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
1073
1074         * libs/gst/base/gstbasetransform.c:
1075         (gst_base_transform_transform_caps):
1076           Make sure caps are writable before passing them to
1077           gst_caps_append().
1078
1079 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1080
1081         * gst/gsterror.h:
1082           Fix some minor docs errors.
1083
1084 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1085
1086           Patch by: Ross Burton <ross at burtonini dot com>
1087
1088         * gst/gsterror.c: (_gst_resource_errors_init):
1089         * gst/gsterror.h:
1090           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
1091
1092 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1093
1094         * gst/gst.c:
1095         Add a check and output a g_warning when GStreamer is built
1096         against GLib 2.6 but running against 2.8 or higher, and vice 
1097         versa. (Closes: #323542)
1098
1099 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1100
1101         * gst/parse/parse.l:
1102           Commit patch for parse_launch syntax from #331255. Removes 
1103           support for quoted strings and mimetypes when writing filtered 
1104           caps. See the bug report for more details - I'm pretty sure this
1105           obscure feature is not in use by _anyone_ anywhere.
1106
1107           With this simple change, the size of the gstreamer.so here 
1108           drops from 2193KB to 1565KB.
1109
1110 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1111
1112         * plugins/elements/gsttypefindelement.h:
1113         * plugins/elements/gsttypefindelement.c:
1114         (gst_type_find_element_src_event), (start_typefinding),
1115         (stop_typefinding), (gst_type_find_element_handle_event),
1116         (gst_type_find_element_chain),
1117         (gst_type_find_element_chain_do_typefinding):
1118           Use gst_type_find_helper_for_buffer() for chain-based
1119           typefinding.
1120
1121 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1122
1123         * plugins/elements/gsttypefindelement.c:
1124         (gst_type_find_element_class_init),
1125         (gst_type_find_element_set_property),
1126         (gst_type_find_element_get_property):
1127           Deprecate "maximum" property (not only was it only taken into
1128           account for typefinding in push-mode anyway, it also was never
1129           actually possible to set it in the first place because the
1130           property was registered with the numeric property ID for the
1131           "minimum" property). Register "maximum" property correctly,
1132           for the sake of future copy'n'pasters. Remove some cruft
1133           from property get/set functions.
1134
1135 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1136
1137         * plugins/elements/gsttypefindelement.c:
1138         (gst_type_find_element_activate):
1139           Use gst_type_find_helper_get_range() here, so we
1140           can honour the "minimum" property and also emit
1141           the signal with the correct probability of the found caps.
1142
1143 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
1144
1145         * docs/libs/gstreamer-libs-sections.txt:
1146         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1147         (helper_find_suggest), (gst_type_find_helper_get_range),
1148         (gst_type_find_helper):
1149         * libs/gst/base/gsttypefindhelper.h:
1150           New API: gst_type_find_helper_get_range() (#333042).
1151
1152 2006-03-02  Michael Smith  <msmith@fluendo.com>
1153
1154         * gst/gstregistryxml.c: (load_feature):
1155           Asserting on a failure to read part of the registry is Not Cool.
1156           Just log a warning and return NULL (which is already handled)
1157
1158 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
1159
1160         * win32/common/libgstbase.def:
1161           added export of gst_type_find_helper_for_buffer
1162         * win32/common/libgstbase.def:
1163           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1164           gst_ghost_pad_get_target
1165
1166 2006-02-28  Wim Taymans  <wim@fluendo.com>
1167
1168         * docs/design/draft-klass.txt:
1169         We use Filter now.
1170         Added Connector to mark elements that are only used to
1171         allow pipeline connections.
1172         Moved Debug to extra feature since most of them are 
1173         functionally something else.
1174
1175 2006-02-28  Wim Taymans  <wim@fluendo.com>
1176
1177         * docs/design/draft-klass.txt:
1178         Some updates and clarifications.
1179
1180 2006-02-28  Wim Taymans  <wim@fluendo.com>
1181
1182         * docs/design/draft-klass.txt:
1183         Proposal for klass field values.
1184
1185         * docs/design/part-streams.txt:
1186         Start of a doc describing stream anatomy.
1187
1188 2006-02-28  Wim Taymans  <wim@fluendo.com>
1189
1190         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1191         Help the compiler a bit with type registration.
1192         Use existing forward cod path instead of duplicating it when 
1193         handling a message.
1194         
1195         * gst/gstbus.c: (gst_bus_get_type):
1196         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1197         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1198         * gst/gstclock.c: (gst_clock_get_type):
1199         * gst/gstelement.c: (gst_element_get_type),
1200         * gst/gstelementfactory.c: (gst_element_factory_get_type):
1201         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1202         * gst/gstminiobject.c: (gst_mini_object_get_type):
1203         * gst/gstpad.c: (gst_pad_get_type):
1204         * gst/gstsegment.c: (gst_segment_get_type):
1205         * gst/gststructure.c: (gst_structure_get_type):
1206         * gst/gstsystemclock.c: (gst_system_clock_get_type):
1207         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1208         * gst/gstvalue.c:
1209         Help compiler with type registration.
1210
1211         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1212         Small doc update.
1213
1214 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         * plugins/elements/gsttypefindelement.c:
1217         (gst_type_find_element_handle_event):
1218           When we get an EOS event and have not found a type yet
1219           (most likely because we had not yet accumulated
1220           TYPE_FIND_MIN_SIZE of data yet), try to determine the
1221           type given the data we have so far. Fixes typefinding
1222           for very short streams again, most notably quicktime
1223           redirections as used on Apple's trailer site (#331701).
1224
1225 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1226
1227         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1228         (gst_type_find_helper):
1229           Try typefinding factories with the highest rank first.
1230
1231 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1232
1233         * docs/libs/gstreamer-libs-docs.sgml:
1234         * docs/libs/gstreamer-libs-sections.txt:
1235         * libs/gst/base/gsttypefindhelper.c:
1236           Add section for typefind helper and add documentation
1237           for the old and the new function.
1238
1239 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1240
1241         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1242         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1243         (gst_type_find_helper_for_buffer):
1244         * libs/gst/base/gsttypefindhelper.h:
1245           New API: gst_type_find_helper_for_buffer() (#332723).
1246           
1247 2006-02-27  Michael Smith  <msmith@fluendo.com>
1248
1249         Patch by: Loïc Minier
1250
1251         * configure.ac:
1252         * docs/Makefile.am:
1253         * docs/slides/Makefile.am:
1254           prevent CVS directories getting disted.
1255
1256 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1257
1258         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
1259           Use the REFCOUNTING category for caps refcounting.
1260           
1261 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1262
1263         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1264           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
1265
1266 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1267
1268         * plugins/elements/gsttypefindelement.c:
1269         (gst_type_find_element_activate):
1270           Use gst_pad_check_pull_range() before _activate_pull()
1271           to avoid unnecessary open/close (see #331690).
1272
1273 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1274
1275         * gst/gstutils.c:
1276           Docs enhancement: make it crystal clear what the
1277           gst_pad_add_*_probe() callbacks should look like.
1278
1279 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1280
1281         * libs/gst/base/gstbasesrc.c:
1282           Document how applications can stop recording from
1283           live sources (see #330996).
1284
1285 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1286
1287         * tests/check/Makefile.am:
1288         * tests/check/libs/basesrc.c: (eos_event_counter),
1289         (basesrc_eos_events_pull), (basesrc_eos_events_push),
1290         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
1291         (gst_basesrc_suite), (main):
1292           ... and add some tests for the base source EOS stuff.
1293
1294 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1295
1296         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
1297           Test case originally showed the problem fixed below,
1298           but was then amended. Add checks back at the place
1299           where they used to be.
1300
1301 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1302
1303         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1304         (gst_base_src_init), (gst_base_src_loop),
1305         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1306         (gst_base_src_change_state):
1307         * libs/gst/base/gstbasesrc.h:
1308           Don't unconditionally send EOS when going from PAUSED to
1309           READY state, esp. make sure we don't send two EOS events
1310           in some cases (e.g. one when reaching EOS and one when
1311           going from PAUSED to READY). Also, we don't want to send
1312           EOS events when operating in pull mode. However, we do
1313           want to send an EOS event when shutting down a live
1314           source explicitly, for example (fixes #330996).
1315           
1316 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1317
1318         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1319           Update src->read_position after a seek when not using mmap.
1320           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
1321
1322 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
1323
1324         * gst/Makefile.am:
1325         * gst/gstparse.h:
1326         * gst/gstutils.c:
1327         * gst/gstutils.h:
1328         Make things work with --disable-parse as they do with 
1329         --disable-load-save - the symbols involved disappear, but the
1330         header is still installed and GST_DISABLE_PARSE is included via
1331         gstconfig.h
1332
1333 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1334
1335         * libs/gst/base/gstbasetransform.c:
1336         (gst_base_transform_change_state): Fix a stupid bug. I was 
1337         sure I compiled that.
1338
1339 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1340
1341         * gst/gstpad.c: (gst_pad_set_blocked_async):
1342         * gst/gstutils.c: (gst_pad_add_data_probe),
1343         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1344         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1345         (gst_pad_remove_buffer_probe): Make those function act on the
1346         ghostpad target when it's a ghostpad. (Closes #331727)
1347
1348 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1349
1350         * libs/gst/base/gstbasetransform.c:
1351         (gst_base_transform_change_state): Make basetransform reusable.
1352         (Closes #331898)
1353
1354 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
1355
1356         * docs/random/release:
1357         Move the current documentation of how to do a release to the top
1358         of the file.
1359
1360         * gst/gstbin.c: (gst_bin_class_init),
1361         (gst_bin_handle_message_func):
1362         Allow multiple state-recalculation threads. (Closes #328873)
1363
1364 2006-02-19  Julien MOUTTE  <julien@moutte.net>
1365
1366         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
1367         * gst/gstpad.c: (gst_pad_set_event_function),
1368         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1369         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
1370         2 strings. You can't use the STR_NULL macro on that.
1371
1372 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
1373
1374         * gst/gstpad.c: (gst_pad_set_event_function),
1375         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1376         (gst_pad_set_getcaps_function)
1377         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
1378           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
1379           So now, we can use --gst-debug-level=5 on Windows
1380         * win32/common/libgstcontroller.def:
1381           Added export of gst_controller_init
1382         * win32/vs6/libgstcontroller.dsp:
1383           Fixed Release post build configuration
1384
1385 2006-02-17  Wim Taymans  <wim@fluendo.com>
1386
1387         * tests/check/gst/gstquery.c: (GST_START_TEST):
1388         Added another check.
1389
1390 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
1391
1392         * plugins/elements/gsttypefindelement.c: (find_peek):
1393           We can do peeks at non-zero offsets, as long as they
1394           fall within the buffer we have.
1395
1396 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
1397
1398         * tests/check/Makefile.am:
1399         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
1400         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
1401         (parse_suite), (main):
1402           Add testsuite for parse launch syntax
1403
1404 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
1405
1406         * plugins/elements/gsttypefindelement.c:
1407         (gst_type_find_element_chain):
1408           When typefinding is unsuccessful in the chain function, don't
1409           error out immediately. Only error out with NO_CAPS_FOUND if
1410           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
1411           otherwise simply wait for more data so we can try typefinding
1412           again with more data later. Also, don't attempt to typefind
1413           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
1414           this should improve typefinding from network sources where the
1415           size of the first buffer can be somewhat random.
1416
1417 2006-02-14  Wim Taymans  <wim@fluendo.com>
1418
1419         * docs/gst/gstreamer-sections.txt:
1420         * gst/gstpadtemplate.c:
1421         * gst/gstpadtemplate.h:
1422         Fix padtemplate docs, fixes #328805.
1423
1424 2006-02-14  Wim Taymans  <wim@fluendo.com>
1425
1426         * tools/gst-launch.c: (main):
1427         NO_PREROLL is not an ERROR so don't send confusing messages
1428         to the user.
1429
1430 2006-02-14  Wim Taymans  <wim@fluendo.com>
1431
1432         Patch by: Torsten Schoenfeld
1433
1434         * gst/gstregistry.c: (gst_registry_get_default),
1435         (_gst_registry_cleanup):
1436         Protect default registry with lock and ref/sink it.
1437         Fixes #324818
1438
1439 2006-02-14  Wim Taymans  <wim@fluendo.com>
1440
1441         * gst/gstbuffer.c:
1442         * gst/gstquery.c: (gst_query_list_add_format),
1443         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1444         (gst_query_parse_formats_nth):
1445         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1446         Docs fixes.
1447
1448 2006-02-14  Wim Taymans  <wim@fluendo.com>
1449
1450         * docs/gst/gstreamer-sections.txt:
1451         Reworked query docs.
1452
1453         * gst/gstquery.c: (gst_query_new_formats),
1454         (gst_query_list_add_format), (gst_query_set_formats),
1455         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1456         (gst_query_parse_formats_nth):
1457         * gst/gstquery.h:
1458         Flesh out formats query, added some new methods.
1459         Fix part of #324398.
1460
1461         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
1462         Added query creation tests.
1463
1464 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
1465
1466         * gst/gstpad.c: (fixate_value):
1467         Add a default fixation for fraction lists.
1468
1469 2006-02-13  Wim Taymans  <wim@fluendo.com>
1470
1471         * gst/gsttask.c: (gst_task_init), (gst_task_func),
1472         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
1473         (gst_task_join):
1474         * gst/gsttask.h:
1475         Detect and warn for obvious deadlocks. fixes #320340
1476         Fix error case where lock was not released.
1477
1478         * tests/check/Makefile.am:
1479         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
1480         (task_func), (gst_element_suite), (main):
1481         Add task check.
1482
1483 2006-02-13  Wim Taymans  <wim@fluendo.com>
1484
1485         * docs/gst/gstreamer-sections.txt:
1486         * gst/gstbus.c:
1487         Add new functions to docs.
1488
1489 2006-02-13  Wim Taymans  <wim@fluendo.com>
1490
1491         * docs/design/part-TODO.txt:
1492         Updated TODO list, basesrc supports seeking to non-bytes
1493         formats.
1494
1495         * docs/design/part-element-sink.txt:
1496         Update docs.
1497
1498         * gst/gstbin.c: (bin_replace_message),
1499         (gst_bin_handle_message_func):
1500         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
1501         * gst/gstevent.c: (gst_event_finalize):
1502         * gst/gstpad.c: (gst_pad_event_default_dispatch),
1503         (gst_pad_send_event):
1504         Use shiny new _TYPE_NAME macros.
1505
1506         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1507         Move debug statement up.
1508
1509         * gst/gstelement.c: (gst_element_set_locked_state):
1510         Add some debugging.
1511
1512 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
1513
1514         * docs/gst/gstreamer-sections.txt:
1515         * gst/gstmessage.h:
1516         * gst/gstquery.h:
1517           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
1518           macros (#330906). Also, document the already existing
1519           GST_QUERY_TYPE macro.
1520
1521 2006-02-13  Wim Taymans  <wim@fluendo.com>
1522
1523         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
1524         (event_probe), (GST_START_TEST):
1525         Only events up to the pipeline EOS are counted, there are
1526         some more when going to NULL currently which we don't care
1527         about for now.
1528
1529 2006-02-13  Wim Taymans  <wim@fluendo.com>
1530
1531         * gst/gstpad.c: (gst_pad_send_event):
1532         Correctly check flushing and emit probes. fixes #330125
1533
1534 2006-02-10  Andy Wingo  <wingo@pobox.com>
1535
1536         * gst/gstbus.c (gst_bus_class_init): Declare our private data
1537         structure.
1538         (gst_bus_init): Cache the location of the private data in the
1539         instance structure.
1540         (gst_bus_enable_sync_message_emission) 
1541         (gst_bus_disable_sync_message_emission): Implement new public
1542         functions.
1543         (gst_bus_post): Emit the sync-message signal if the user asked for
1544         it. Fixes #330684.
1545
1546         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
1547         location of the bus-private structure.
1548         (gst_bus_enable_sync_message_emission)
1549         (gst_bus_disable_sync_message_emission): API addition
1550
1551 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
1552
1553         Patch by: Vincent Torri
1554
1555         * docs/pwg/building-boiler.xml:
1556         PWG patch from #326800
1557
1558 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1559
1560         * configure.ac:
1561         * docs/Makefile.am:
1562         * docs/design/Makefile.am:
1563           Dist design docs.
1564
1565 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1566
1567         * configure.ac:
1568           back to CVS
1569
1570 === release 0.10.3 ===
1571
1572 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
1573
1574         * configure.ac:
1575           releasing 0.10.3, "Like a virgin"
1576
1577 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1578
1579         * configure.ac:
1580           2nd prerelease of 0.10.3
1581           Bump libtool versioning.
1582
1583 2006-02-07  Andy Wingo  <wingo@pobox.com>
1584
1585         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
1586         update last_stop if we're in TIME format and the timestamp is
1587         valid.
1588
1589         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
1590         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
1591         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1592         If we get a new newsegment with a different format, adapt
1593         accordingly.
1594
1595         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1596         of 0. Not a problem, really.
1597
1598         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1599         warn if sync=true.
1600
1601 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
1602
1603         * configure.ac:
1604           Prelease of 0.10.3
1605
1606 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
1607
1608         * win32/vs7:
1609           project files updated to the default vs7 configuration
1610         * win32/common/libgstbase.def:
1611         * win32/common/libgstreamer.def:
1612           added new symbols,
1613           removed empty lines,
1614           sorted all exported symbols alphabetically
1615         * win32/common/dirent.c:
1616         * win32/common/dirent.h:
1617         * win32/common/gchar.h:
1618           use windows line end.
1619           
1620 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1621
1622         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1623           Send EOS event when stopping.
1624
1625 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1626
1627         * docs/README:
1628           Tell folks what to do if the plugin-foobar.xml file
1629           hasn't been generated for a newly-added plugin.
1630
1631 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1632
1633         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1634         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1635         (gst_collect_pads_start), (gst_collect_pads_stop),
1636         (gst_collect_pads_event): Collectpads now holds a reference
1637         to the GstPad that was added. Indeed we don't want to look
1638         at pads that might just go away with no warning...
1639
1640 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1641
1642         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1643         (gst_collect_pads_start), (gst_collect_pads_stop),
1644         (gst_collect_pads_event), (gst_collect_pads_chain):
1645         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
1646         Mark Nauwelaerts's patch on bug #328491.
1647
1648 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1649
1650         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
1651         (gst_utils_suite):
1652           Add some simple tests for gst_parse_bin_from_description() and
1653           gst_bin_find_unconnected_pad() (#329069).
1654
1655 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1656
1657         * tools/gst-launch.c: (event_loop), (main):
1658           Catch errors during preroll (#320084).
1659
1660 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
1661
1662         * plugins/elements/gsttypefindelement.c:
1663         (gst_type_find_element_activate):
1664           Post TYPE_NOT_FOUND error message when typefinding
1665           is unsuccessful in the activate function as well.
1666
1667 2006-02-02  Wim Taymans  <wim@fluendo.com>
1668
1669         * docs/design/part-element-sink.txt:
1670         Updated doc.
1671
1672 2006-02-02  Wim Taymans  <wim@fluendo.com>
1673
1674         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1675         (gst_base_sink_render_object),
1676         (gst_base_sink_queue_object_unlocked):
1677         Only keep track of prerollable items when we are 
1678         prerolling.
1679         Before rendering after preroll, always check if we
1680         have queued items.
1681         Added some more debugging.
1682
1683 2006-02-02  Wim Taymans  <wim@fluendo.com>
1684
1685         * gst/gstelement.c: (gst_element_continue_state),
1686         (gst_element_set_state_func), (gst_element_change_state):
1687         Fixed #326576, been running this for quite some time with
1688         no regressions at all.
1689
1690 2006-02-02  Wim Taymans  <wim@fluendo.com>
1691
1692         * common/gst.supp:
1693         Added more suppressions
1694
1695 2006-02-02  Wim Taymans  <wim@fluendo.com>
1696
1697         * docs/design/part-element-sink.txt:
1698         Updated document.
1699
1700         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1701         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
1702         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
1703         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1704         (gst_base_sink_do_sync), (gst_base_sink_render_object),
1705         (gst_base_sink_preroll_object),
1706         (gst_base_sink_queue_object_unlocked),
1707         (gst_base_sink_queue_object), (gst_base_sink_event),
1708         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
1709         (gst_base_sink_loop), (gst_base_sink_activate_pull),
1710         (gst_base_sink_get_position), (gst_base_sink_change_state):
1711         * libs/gst/base/gstbasesink.h:
1712         Totally refactored matching the design doc.
1713         Use two segments, one to clip incomming buffers and another to
1714         perform sync.
1715         Handle queueing correctly, bypass the queue when playing.
1716         Make EOS cancelable.
1717         Handle errors correctly when operating in pull based mode.
1718
1719         * tests/check/elements/fakesink.c: (GST_START_TEST),
1720         (fakesink_suite):
1721         Added new check for sinks.
1722
1723 2006-02-02  Wim Taymans  <wim@fluendo.com>
1724
1725         * gst/gstsegment.c: (gst_segment_clip):
1726         No reason to refuse to clip when start == -1
1727
1728 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
1729
1730         * docs/README:
1731         * docs/manual/intro-basics.xml:
1732         * docs/manual/intro-preface.xml:
1733         * docs/manual/manual.xml:
1734         * docs/pwg/advanced-dparams.xml:
1735         * docs/pwg/intro-basics.xml:
1736         * docs/pwg/intro-preface.xml:
1737         * docs/pwg/pwg.xml:
1738           describe dparams (controller) for plugins
1739           unify docs a little more
1740
1741 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
1742
1743         * docs/gst/gstreamer-sections.txt:
1744         * gst/gstutils.c: (element_find_unconnected_pad),
1745         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
1746         * gst/gstutils.h:
1747           Add new API: gst_parse_bin_from_description() and
1748           gst_bin_find_unconnected_pad() (#329069).
1749
1750 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
1751
1752         * docs/manual/README:
1753           uncover a nasty detail of the docs build
1754
1755 2006-01-31  Wim Taymans  <wim@fluendo.com>
1756
1757         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
1758         Don't cache duration messages if we're not going to use or
1759         free them.
1760
1761 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
1762
1763         * docs/manual/advanced-dparams.xml:
1764         * docs/pwg/advanced-dparams.xml:
1765           more dparam docs
1766         * gst/gstindex.c:
1767           fix docs
1768         * libs/gst/controller/lib.c: (gst_controller_init):
1769           init just once
1770
1771 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
1772
1773         * gst/gstelement.c: (gst_element_message_full):
1774           also show file/line/func if no additional debug was given
1775
1776 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
1777         
1778         * win32/vs7/grammar.vcproj:
1779           activate copy of autogenerated files for Release mode
1780
1781 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1782         
1783         * win32/common/libgstreamer.def:
1784           export gst_value_compare
1785
1786 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
1787
1788         * plugins/elements/Makefile.am:
1789         * plugins/elements/gstelements.c:
1790         * plugins/elements/gstfdsink.c: (_do_init),
1791         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
1792         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
1793         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
1794         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
1795         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
1796         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
1797         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
1798         * plugins/elements/gstfdsink.h:
1799         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
1800
1801 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
1802
1803         * docs/manual/advanced-dparams.xml:
1804           describe controller
1805         * docs/manual/advanced-position.xml:
1806         * docs/manual/basics-init.xml:
1807         * docs/manual/manual.xml:
1808         * docs/manual/titlepage.xml:
1809         * docs/pwg/pwg.xml:
1810         * docs/pwg/titlepage.xml:
1811           cleanup xml (more to come)
1812         * libs/gst/controller/gstcontroller.c:
1813           fix typo
1814
1815 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1816         
1817         * win32/vs6/grammar.dsp:
1818           add autogen of gstmarshal.c,h for Release mode
1819                 
1820 2006-01-30  Wim Taymans  <wim@fluendo.com>
1821
1822         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1823         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
1824         (gst_base_sink_handle_object), (gst_base_sink_event),
1825         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
1826         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1827         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
1828         (gst_base_sink_deactivate), (gst_base_sink_activate),
1829         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1830         (gst_base_sink_query), (gst_base_sink_change_state):
1831         Basesink cleanups, remove some old code.
1832         Handle the case where a subclass can preroll in the render
1833         method (mostly audiosinks).
1834         Handle more events.
1835         Remove some locks around variables that are now protected
1836         with the PREROLL_LOCK (clock_id, flushing, ..).
1837         Optimize position query some more, do correct locking.
1838         Remove old code to push queue in state change, this is not
1839         needed anymore since preroll blocks on all prerollable items 
1840         now.
1841         Almost implemented as described in design doc.
1842
1843 2006-01-30  Wim Taymans  <wim@fluendo.com>
1844
1845         * tests/check/gst/gstbin.c: (GST_START_TEST):
1846         Wait for refcount to settle down before checking.
1847
1848 2006-01-30  Wim Taymans  <wim@fluendo.com>
1849
1850         * docs/design/part-element-sink.txt:
1851         Pseudo code overview of desired sink behaviour regarding
1852         preroll.
1853
1854 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1855         * win32/vs6/grammar.dsp:
1856           fix some bugs in Release mode for autogenerated files
1857                 
1858 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1859         * win32/common/libgstbase.def:
1860         * win32/common/libgstreamer.def:
1861           export some new symbols: gst_base_src_set_format,
1862           gst_iterator_next, gst_structure_set_valist
1863
1864 2006-01-29  Julien MOUTTE  <julien@moutte.net>
1865
1866         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1867         Set pad functions unconditionally. Fixes #329105.
1868
1869 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1870         * win32/vs8:
1871           add vs8 project files created by Sergey Scobich
1872
1873 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
1874
1875         * gst/gstutils.c: (gst_element_unlink_pads):
1876         Don't leak pad references.
1877
1878         * tests/check/elements/fakesink.c: (GST_START_TEST):
1879         * tests/check/generic/sinks.c: (GST_START_TEST):
1880         * tests/check/generic/states.c: (GST_START_TEST):
1881         * tests/check/gst/gstbin.c: (GST_START_TEST):
1882         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1883         * tests/check/gst/gstelement.c: (GST_START_TEST):
1884         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1885         * tests/check/gst/gstiterator.c: (GST_START_TEST):
1886         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1887         Fix a bunch of leaks. Make generic/sinks.c
1888         use a bit less cpu by slowing the buffer rate
1889         between fakesrc and fakesink.
1890         
1891 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
1892         * gst/gstcaps.c:
1893         * gst/gstelement.c: (gst_element_send_event):
1894         * gst/gstevent.c:
1895         * gst/gstinfo.c:
1896         * gst/gstiterator.c:
1897         * gst/gstiterator.h:
1898         * gst/gstpad.c: (gst_pad_send_event):
1899         * gst/gststructure.c:
1900         * gst/gsturi.c:
1901         * gst/gstutils.c:
1902         * gst/gstvalue.c:
1903         * libs/gst/base/gstadapter.c:
1904           doc fixes, to link to function, just write gst_cool_function(), don't
1905           prefix with '#'
1906
1907 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1908
1909         * plugins/elements/gsttee.c: (gst_tee_do_push),
1910         (gst_tee_handle_buffer):
1911         Always prefer an actual return value from a src
1912         pad in place of NOT_LINKED. This means we return
1913         WRONG_STATE when all src pads are WRONG_STATE
1914         instead of NOT_LINKED.
1915
1916         Lock when replacing the last message to prevent
1917         racing with the get_property method.
1918
1919         Add debug output
1920
1921 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1922
1923         * tests/check/Makefile.am:
1924         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
1925         (main):
1926         Add a very simple check that should have caught the memleak I fixed
1927         last night (if not for the slice allocator hiding it)
1928
1929 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1930
1931         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1932         (gst_bin_remove_func), (gst_bin_handle_message_func),
1933         (bin_query_duration_fold), (bin_query_generic_fold):
1934         Clean up references to the clock provider when disposed or when
1935         handling a clock-lost message from it.
1936
1937         Unref sinks when performing a query via gst_iterator_fold, as the
1938         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
1939
1940         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
1941         (gst_clock_set_master):
1942         Drop our reference to the master clock, if any, when we are disposed.
1943
1944         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
1945         Chain up in dispose. 
1946
1947 2006-01-26  Wim Taymans  <wim@fluendo.com>
1948
1949         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1950         Add some debugging.
1951
1952 2006-01-26  Julien MOUTTE  <julien@moutte.net>
1953
1954         * plugins/elements/gsttee.c: (gst_tee_do_push),
1955         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
1956         handles pad being NOT_LINKED or in WRONG_STATE.
1957
1958 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1959
1960         * win32/MANIFEST:
1961           more updating
1962
1963 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1964
1965         * win32/MANIFEST:
1966           remove obsolete entry
1967
1968 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1969
1970         * docs/gst/gstreamer-sections.txt:
1971         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
1972         (gst_bin_iterate_sources), (gst_bin_send_event):
1973         * gst/gstbin.h:
1974         * gst/gstelement.c: (gst_element_send_event):
1975         * gst/gstevent.c:
1976         * gst/gstpad.c: (gst_pad_send_event):
1977           added code for downstream events, reviewed docs in gstevent.c
1978
1979 2006-01-25  Julien MOUTTE  <julien@moutte.net>
1980
1981         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1982         We only query position using the clock in the playing state.
1983         Query peer in the other cases.
1984         * win32/common/config.h: Updates.
1985
1986 2006-01-24  Wim Taymans  <wim@fluendo.com>
1987
1988         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1989         A clock entry that is scheduled for the exact time of the
1990         clock is still in time.
1991
1992         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1993         (gst_base_sink_do_sync):
1994         Add some more debug info.
1995
1996 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1997
1998         * win32/vs7:
1999           Add new vs7 project files and solution.
2000
2001 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2002
2003         * win32/vs7:
2004           all files removed as they were out-dated.
2005
2006 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2007
2008         * docs/random/release:
2009           update notes
2010         * gst/gstbin.c: (gst_bin_init):
2011         * gst/gstbus.c: (gst_bus_new):
2012         * gst/gstbus.h:
2013         * gst/gstpipeline.c: (gst_pipeline_init):
2014           use gst_bus_new(), improve logging, fix docs
2015         * win32/common/config.h:
2016           update for cvs build
2017
2018 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2019
2020         * autogen.sh:
2021           up required version of automake to 1.7
2022
2023 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
2024
2025         * win32/common/libgstreamer.def:
2026           export gst_buffer_is_metadata_writable
2027
2028 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2029
2030         * docs/gst/gstreamer-sections.txt:
2031         * gst/gstevent.h:
2032           Add gst_event_replace() (#327001)
2033
2034 2006-01-20  Wim Taymans  <wim@fluendo.com>
2035
2036         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2037         Make it actually compile too..
2038
2039 2006-01-20  Wim Taymans  <wim@fluendo.com>
2040
2041         * gst/gstcaps.c:
2042         Clarify behaviour of _is_equal() when passing NULL parameters.
2043
2044         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2045         (gst_pad_set_caps):
2046         Cleanups. Don't unref NULL caps.
2047         When setting the same caps, protect caps of the pad with
2048         proper lock.
2049         Use full functionality of _is_equal() when comparing caps.
2050
2051 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2052
2053         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2054         Don't loop infinitely if there are no buffers to present. Partially
2055         fixes #327197, but collectpads is just broken for reusing elements
2056         to do multiple encodes atm.
2057
2058 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2059
2060         * tools/gst-inspect.c: (print_element_features):
2061         * tools/gst-xmlinspect.c: (main):
2062         URL_HANDLER is not a plugin feature we can search for in
2063         the registry.
2064
2065 2006-01-19  Edward Hervey  <edward@fluendo.com>
2066
2067         * gst/gstelement.c: (gst_element_pads_activate): 
2068         When activating, do src pads first, then sink pads.
2069         When de-activating, do sink pads first, then src pads.
2070
2071 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2072
2073         * docs/gst/gstreamer-sections.txt:
2074         Add gst_index_add_associationv to the docs
2075
2076 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2077
2078         * gst/gstevent.c:
2079           Fix docs typo
2080
2081         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
2082         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
2083           Do some refactoring. Doesn't actually change functionality,
2084           but makes landing the DRAIN event easier later.
2085
2086 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
2087
2088         * docs/pwg/advanced-scheduling.xml:
2089           Update from 0.9.x to 0.10 API and make example a bit
2090           clearer.
2091
2092 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2093
2094         * docs/gst/gstreamer-sections.txt:
2095         Add gst_buffer_(is|make)_metadata_writable methods.
2096
2097 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2098
2099         * docs/design/part-sparsestreams.txt:
2100         Update sparse streams doc, hopefully for greater clarity
2101
2102 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
2103
2104         * docs/design/part-events.txt:
2105         Remove mention of FILLER events.
2106         Add DRAIN event.
2107
2108         * docs/design/part-sparsestreams.txt:
2109         Write some things about using NEWSEGMENT to keep sparse streams
2110         flowing.
2111
2112 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2113
2114         * gst/gstbin.c: (gst_bin_dispose):
2115           Guard gst_object_unref call against a NULL object (dispose
2116           can theoretically be called multiple times).
2117           
2118 2006-01-18  Wim Taymans  <wim@fluendo.com>
2119
2120         * gst/gstbin.c: (gst_bin_element_set_state):
2121         * gst/gstclock.c: (gst_clock_id_wait):
2122         Added some more debug info.
2123
2124         * libs/gst/base/gstadapter.c:
2125         Added more docs.
2126
2127         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2128         (gst_base_sink_do_sync), (gst_base_sink_chain):
2129         Added some comments.
2130
2131 2006-01-18  Wim Taymans  <wim@fluendo.com>
2132
2133         * tests/check/Makefile.am:
2134         * tests/check/elements/fakesink.c: (chain_async_buffer),
2135         (chain_async), (chain_async_return), (GST_START_TEST),
2136         (fakesink_suite), (main):
2137         Added fakesink test that checks prerolling and clipping
2138         behaviour.
2139
2140         * tests/check/gst/gstutils.c: (GST_START_TEST):
2141         Make check run faster so that buildbots don't timeout.
2142
2143 2006-01-18  Wim Taymans  <wim@fluendo.com>
2144
2145         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2146         (gst_base_sink_do_sync):
2147         Some cleanups.
2148         When the sink finishes blocking on the preroll buffer, it can
2149         immediatly render it instead of rendering when the next buffer
2150         arrives.
2151
2152 2006-01-18  Wim Taymans  <wim@fluendo.com>
2153
2154         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2155         (gst_base_sink_get_property), (gst_base_sink_do_sync),
2156         (gst_base_sink_chain):
2157         Small cleanups.
2158         GST_ELEMENT_CLOCK and sync are protected with LOCK.
2159         Don't store _last_stop if the buffer is dropped.
2160
2161 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2162
2163         * plugins/elements/gsttypefindelement.c:
2164         (gst_type_find_element_class_init):
2165           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2166           object method handler that sets the caps on the pad and we want
2167           that to happen before we emit the signal (fixes e.g. feeding a
2168           plain text file to decodebin).
2169
2170 2006-01-18  Christian Schaller  <Christian@fluendo.com>
2171
2172         * gst/gstplugin.c: Add MPL and Proprietary as license options
2173
2174 2006-01-18  Andy Wingo  <wingo@pobox.com>
2175
2176         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2177         symbol was exported before, it appears this was just an oversight.
2178         Fixes #168703.
2179         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2180
2181         * gst/gstindex.c (gst_index_add_associationv): Changed int in
2182         prototype to gint. OK since this prototype was not in the header.
2183
2184 2006-01-17  Andy Wingo  <wingo@pobox.com>
2185
2186         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2187         registry while we remove plugins.
2188
2189         * tools/gst-inspect.c (print_element_info): Don't unref the
2190         factory arg, that should be the responsibility of whatever code
2191         received the ref. Fixes a double-free when called from
2192         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2193         (main): Unref the factory if we have one.
2194         (print_element_list): No change -- relies on the
2195         plugin_feature_list_free to free the list of features.
2196
2197 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
2198
2199         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2200         (gst_buffer_make_metadata_writable):
2201         * gst/gstbuffer.h:
2202         * libs/gst/base/gstbasetransform.c:
2203         (gst_base_transform_prepare_output_buf):
2204         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2205         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2206           Replace gst_buffer_(make|is)_metadata_writable patch now
2207           that the release is out.
2208
2209 2006-01-17  Andy Wingo  <wingo@pobox.com>
2210
2211         * gst/gstregistry.c: Reflow design comment. Update so as to speak
2212         in the present tense without reference to versions.
2213
2214         * gst/gstregistry.c (gst_registry_add_plugin)
2215         (gst_registry_remove_plugin, gst_registry_remove_feature)
2216         (gst_registry_find_feature, gst_registry_get_feature_list)
2217         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2218         (gst_registry_lookup, gst_registry_scan_path)
2219         (_gst_registry_remove_cache_plugins)
2220         (gst_registry_get_feature_list_by_plugin): Add argument
2221         validation.
2222
2223 === release 0.10.2 ===
2224
2225 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
2226
2227         * configure.ac:
2228           releasing 0.10.2, "If man is five"
2229
2230 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2231
2232         * gst/gstbuffer.c:
2233         * gst/gstbuffer.h:
2234         * libs/gst/base/gstbasetransform.c:
2235         (gst_base_transform_prepare_output_buf):
2236         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2237         * tests/check/gst/gstbuffer.c: (gst_test_suite):
2238           Back out patch until after the release.
2239
2240 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2241
2242         * gst/gstminiobject.c:
2243           Spelling fix in docs.
2244         * ChangeLog - remove conflict indicator
2245
2246 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2247
2248         Reviewed By: Andy Wingo
2249
2250         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2251         (gst_buffer_make_metadata_writable):
2252         * gst/gstbuffer.h:
2253           Add gst_buffer_(is|make)_metadata_writable as analogues of
2254           gst_buffer_(is|make)_writable.
2255
2256         * libs/gst/base/gstbasetransform.c:
2257         (gst_base_transform_prepare_output_buf):
2258         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2259           Use name gst_buffer_(is|make)_metadata_writable functions.
2260
2261         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2262           Test gst_buffer_(is|make)_metadata_writable
2263         
2264           (Closes: #324162)
2265
2266 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2267
2268         * docs/manual/Makefile.am:
2269           don't do parallel make
2270         * configure.ac:
2271           AC_SUBST HOST_CPU
2272         * win32/common/config.h.in:
2273           add generations for HOST_CPU and GST_MAJORMINOR
2274         * win32/common/config.h:
2275           commit generated result
2276
2277 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
2278
2279         * docs/manual/appendix-integration.xml:
2280           Update GNOME integration section to use gst_init_get_option_group()
2281           instead of the old popt stuff (#322911). Also, GNOME applications
2282           should  now use gconf*sink and gconf*src instead of the old gconf
2283           helper lib we had.
2284
2285 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
2286
2287
2288         * docs/gst/gstreamer-docs.sgml:
2289         * docs/gst/gstreamer-sections.txt:
2290         * docs/libs/gstreamer-libs-sections.txt:
2291           add new API entries to the docs
2292         * libs/gst/controller/Makefile.am:
2293         * libs/gst/controller/gstcontroller.c:
2294         * libs/gst/controller/gstcontroller.h:
2295         * libs/gst/controller/gstcontrollerprivate.h:
2296         * libs/gst/controller/gsthelper.c:
2297         * libs/gst/controller/gstinterpolation.c:
2298           move private structs to private header
2299         * po/README:
2300           gstreamer-0.7 -> gstreamer-0.10
2301         * tests/check/libs/struct_i386.h:
2302           remove private structs
2303
2304 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2305
2306         * plugins/indexers/Makefile.am:
2307           Fixes as part of #317048
2308
2309 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2310
2311         * plugins/indexers/Makefile.am:
2312           fix #316086 - compilation when mmap is missing
2313
2314 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
2315
2316         * libs/gst/base/gstbasesink.c:
2317           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
2318           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
2319         * win32/common/config.h:
2320           added some defines GST_MAJORMINOR and HOST_CPU
2321         * win32/common/libgstbase.def:
2322         * win32/common/libgstreamer.def:
2323           added some exported functions.
2324
2325 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2326
2327         * libs/gst/controller/gstcontroller.c:
2328         (gst_controlled_property_set_interpolation_mode),
2329         (gst_controlled_property_new):
2330         * libs/gst/controller/gstcontroller.h:
2331         * libs/gst/controller/gstinterpolation.c:
2332         (interpolate_none_get_string_value_array):
2333           make G_TYPE_STRING controlable
2334
2335 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2336
2337         * tools/README:
2338         * tools/gst-feedback.1.in:
2339         * tools/gst-inspect.1.in:
2340         * tools/gst-launch.1.in:
2341         * tools/gst-md5sum.1.in:
2342         * tools/gst-typefind.1.in:
2343         * tools/gst-xmlinspect.1.in:
2344         * tools/gst-xmllaunch.1.in:
2345           cleanup man-pages, remove reference to gst-register, document env-vars
2346
2347 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
2348
2349         * gst/gstbuffer.c: (gst_buffer_span):
2350           gst_buffer_span should copy the timestamp of the first buffer
2351           if they were both originally overlapping subbuffers of the 
2352           same parent, using the same logic as the 'slow copy' case.
2353
2354 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
2355
2356         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
2357           Need to awaken ALL the pads when we pop a buffer, otherwise
2358           collectpads only works when there is 2 input streams.
2359
2360 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
2361
2362         * docs/random/ensonic/media-device-daemon.txt:
2363           more ideas (dbus)
2364         * gst/gstbuffer.c:
2365           fix doc example, add clarification
2366         * tools/gst-launch.1.in:
2367           add initial info about GST_PLUGIN_PATH, needs more work
2368
2369 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2370
2371         * docs/manual/basics-bins.xml:
2372         * docs/manual/basics-elements.xml:
2373         * docs/manual/intro-basics.xml:
2374           Some more minor docs additions and updates.
2375
2376 2006-01-11  Wim Taymans  <wim@fluendo.com>
2377
2378         * docs/manual/basics-bins.xml:
2379         * docs/manual/basics-elements.xml:
2380         Some small fixes as pointed out by Ser-ver on IRC.
2381
2382 2006-01-10  Edward Hervey  <edward@fluendo.com>
2383
2384         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2385         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
2386         the single-segment mode.
2387
2388 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
2389
2390         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2391
2392         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
2393         (gst_base_src_perform_seek), (gst_base_src_send_event),
2394         (gst_base_src_set_property), (gst_base_src_get_property),
2395         (gst_base_src_loop), (gst_base_src_start),
2396         (gst_base_src_activate_push):
2397         * libs/gst/base/gstbasesrc.h:
2398           Name (private) union; makes Sun's Forte compiler happy (#324900).
2399
2400 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2401
2402         * README:
2403           gst-register is gone.
2404
2405 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2406
2407         * gst/gstvalue.c: (_gst_value_initialize):
2408           make the G_TYPE_DATE instantiation work if debug is disabled
2409
2410 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
2411
2412         * gst/gstmessage.c: (gst_message_parse_tag),
2413         (gst_message_parse_error), (gst_message_parse_warning):
2414           Don't crash when return location for error/warning debug
2415           string is NULL; add fact that return locations can be
2416           NULL to docs where appropriate.
2417
2418 2006-01-05  Wim Taymans  <wim@fluendo.com>
2419
2420         * gst/gstplugin.c: (gst_plugin_load_file):
2421         Replace strdup by g_strdup.
2422
2423 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2424
2425         * docs/pwg/advanced-types.xml:
2426           fix doc borkage
2427
2428 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2429
2430         submitted by: Abel Cheung
2431
2432         * po/LINGUAS:
2433         * po/zh_TW.po:
2434           Added Chinese (traditional) translation
2435
2436 2006-01-04  Wim Taymans  <wim@fluendo.com>
2437
2438         * docs/manual/basics-pads.xml:
2439         * docs/plugins/Makefile.am:
2440         * docs/plugins/gstreamer-plugins-docs.sgml:
2441         * docs/plugins/gstreamer-plugins-sections.txt:
2442         * docs/pwg/advanced-clock.xml:
2443         * docs/pwg/advanced-scheduling.xml:
2444         * docs/pwg/advanced-types.xml:
2445         * plugins/elements/gstfdsink.c:
2446         * plugins/elements/gstfdsrc.c:
2447         * plugins/elements/gstfdsrc.h:
2448         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2449         * plugins/elements/gstidentity.h:
2450         * plugins/elements/gstqueue.h:
2451         * plugins/elements/gsttee.c:
2452         * plugins/elements/gsttee.h:
2453         * plugins/elements/gsttypefindelement.c:
2454         (gst_type_find_element_class_init):
2455         * plugins/elements/gsttypefindelement.h:
2456         Small updates to various docs.
2457         Added core plugins to docs.
2458
2459 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2460
2461         * common/gst.supp:
2462           add a suppression for liboil's uninitialized variable
2463
2464 2006-01-02  James Livingston  <jrl at ids dot org dot au>
2465
2466         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2467
2468         * gst/gstutils.h:
2469           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
2470           macro, so that gcc doesn't complain if the -Wmissing-prototypes
2471           compiler switch is being used (#325429).
2472
2473 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
2474
2475         * gst/gstbin.c: (gst_bin_query):
2476           Disable duration query caching in bins until it gets
2477           fixed (see #324807).
2478
2479 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2480
2481         * tools/gst-inspect.c: (print_element_properties_info):
2482           Handle properties of POINTER and BOXED type.
2483
2484 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2485
2486         * gst/gst.c: (init_post):
2487           Init tags stuff and some other things before loading
2488           any static plugins (there may be other static plugins
2489           than just the GStreamer ones, and they may want to
2490           register their own tags or formats or whatever, and
2491           preferably without segfaulting).
2492
2493         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2494           Print at least a warning in the debug logs if we drop a
2495           query just because we don't know how to adjust the value
2496           in the particular format.
2497
2498 2005-12-24  David Schleef  <ds@schleef.org>
2499
2500         * tools/gstreamer-completion:
2501           Replacement for gst-complete written in sh and sed.  Only
2502           completes names of features, but that's 90% of what I want
2503           it for.  Properties are not available in registry.xml.  (Maybe
2504           they should be...)
2505
2506 === release 0.10.1 ===
2507
2508 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
2509
2510         * configure.ac:
2511           releasing 0.10.1, "Nollaig chridheil"
2512
2513 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
2514
2515         * docs/faq/cvs.xml:
2516           Add missing quote, should be make ERROR_CFLAGS="".
2517
2518 2005-12-20  Wim Taymans  <wim@fluendo.com>
2519
2520         * docs/design/part-trickmodes.txt:
2521         More documentation on trickmodes.
2522
2523 2005-12-20  Edward Hervey  <edward@fluendo.com>
2524
2525         * gst/gstcaps.c: (gst_static_caps_get_type):
2526         * gst/gstcaps.h:
2527           API addition: GST_TYPE_STATIC_CAPS
2528         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
2529         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
2530         * gst/gstpadtemplate.h:
2531           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
2532         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
2533         bindings.
2534
2535 2005-12-18  Wim Taymans  <wim@fluendo.com>
2536
2537         * libs/gst/base/gstadapter.c:
2538         * libs/gst/base/gstadapter.h:
2539         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2540         (gst_base_sink_get_position):
2541         * libs/gst/base/gstbasesink.h:
2542         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2543         (gst_base_src_default_query), (gst_base_src_default_do_seek),
2544         (gst_base_src_do_seek), (gst_base_src_perform_seek),
2545         (gst_base_src_send_event), (gst_base_src_update_length),
2546         (gst_base_src_get_range), (gst_base_src_loop),
2547         (gst_base_src_start):
2548         * libs/gst/base/gstbasesrc.h:
2549         * libs/gst/base/gstbasetransform.h:
2550         * libs/gst/base/gstcollectpads.h:
2551         * libs/gst/base/gstpushsrc.c:
2552         * libs/gst/base/gstpushsrc.h:
2553         * libs/gst/dataprotocol/dataprotocol.c:
2554         * libs/gst/dataprotocol/dataprotocol.h:
2555         * libs/gst/net/gstnetclientclock.h:
2556         * libs/gst/net/gstnettimeprovider.h:
2557         Documentation updates.
2558
2559 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2560
2561         * docs/manual/basics-helloworld.xml:
2562           Remove superfluous closing bracket in helloworld example.
2563
2564 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2565
2566         * tools/gst-launch.1.in:
2567           Update gst-launch man page; add a section with useful
2568           environment variables. Fixes #323882.
2569
2570 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
2571
2572         * gst/gst.c:
2573         * gst/gst_private.h:
2574           change some char* into char[]
2575
2576 2005-12-16  Wim Taymans  <wim@fluendo.com>
2577
2578         * gst/gstregistryxml.c: (load_feature):
2579         Cleanups.
2580         Don't use g_object_unref on GstObjects so that we avoid
2581         leaks on unsafe glibs.
2582
2583 2005-12-16  Wim Taymans  <wim@fluendo.com>
2584
2585         * gst/gstbin.c: (gst_bin_recalc_state):
2586         Small doc updates.
2587
2588 2005-12-16  Wim Taymans  <wim@fluendo.com>
2589
2590         * common/check.mak:
2591         Added make forever target for check.
2592
2593 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2594
2595         * gst/gst.c: (init_post):
2596           make the registry cache file HOST_CPU-dependent
2597
2598 2005-12-16  Andy Wingo  <wingo@pobox.com>
2599
2600         * plugins/elements/gstbufferstore.c
2601         (gst_buffer_store_cleared_func): Pay attention to g_list_append
2602         return value.
2603
2604         * tests/check/gst/gstobject.c
2605         (test_fake_object_name_threaded_unique): Pay attention to
2606         g_list_sort return value.
2607
2608 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2609
2610         * tools/gst-feedback-m.m:
2611           Update for 0.9/0.10 (fixes #323870).
2612
2613 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
2614
2615         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2616           Fix lcopy for mini objects, the mini object needs to be ref'ed.
2617           
2618         * tests/check/gst/gstminiobject.c: (my_foo_init),
2619         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2620         (test_value_collection), (gst_mini_object_suite):
2621           Add test to ensure refcounts end up as expected when passing
2622           GstMiniObjects through g_object_get() and g_object_set().
2623
2624 2005-12-14  Julien MOUTTE  <julien@moutte.net>
2625
2626         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2627         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2628         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2629         of collectpads. This version removes a lot of races without
2630         touching API/ABI. Yay !
2631
2632 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
2633
2634         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2635           Don't allow activation of a srcpad in pull_range if it has no
2636           getrange function.
2637           Change some debug statements to be a little clearer
2638
2639         * plugins/elements/gsttypefindelement.c:
2640         (gst_type_find_handle_src_query):
2641           Check that we have a peer before executing queries thereupon.
2642
2643         * tests/examples/metadata/read-metadata.c: (message_loop):
2644           Use gst_bus_pop instead of gst_bus_poll when we just want it to
2645           immediately return us any available message with 0 timeout.
2646
2647 2005-12-12  Michael Smith  <msmith@fluendo.com>
2648
2649         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2650           Don't unref factories after calling them.
2651         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
2652         * plugins/elements/gsttypefindelement.c:
2653         (gst_type_find_element_chain):
2654           Free lists of factories after using them. Fixing typefinding memory
2655           leaks.
2656
2657 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2658
2659         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2660         (gst_plugin_feature_load):
2661           more meaningful debug output
2662         * configure.ac:
2663         * tests/Makefile.am:
2664         * tests/old/examples/Makefile.am:
2665           make make distcheck happy again
2666
2667 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2668
2669         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2670           Catch the special case where we are operating chain-based,
2671           but the downstream peer pad has no chain function. Emit a
2672           custom error message in this case instead of letting the
2673           core generate one implying that this is some sort of core
2674           bug. It's not, it just means that whatever got plugged
2675           into the pipeline downstream when we announced the type
2676           can only operate pull-based, while our source can only
2677           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
2678           Error string has not been marked for translation yet, as
2679           it probably needs some more work first.
2680
2681         (gst_type_find_element_get_best_possibility):
2682           Add helper function to find the best of all available
2683           found possibilities that qualify given the min. threshold.
2684
2685         (gst_type_find_element_handle_event):
2686           Fix the case where we get an EOS while still in TYPEFIND
2687           mode (we want to chose the best of all possible types,
2688           not just the first type that happens to be in our unsorted
2689           list of possible types).
2690
2691         (gst_type_find_element_chain):
2692           Make sure we return GST_FLOW_ERROR when we errored out
2693           in stop_typefinding(); also, don't just find the best of
2694           all found type entries and then use the last examined
2695           type entry, but actually use the best entry.
2696
2697 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2698
2699         * tests/examples/typefind/typefind.c: (type_found):
2700         * tests/examples/xml/runxml.c: (xml_loaded):
2701           More gcc4 fixes and a mem leak fix.
2702
2703 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2704
2705         * tests/examples/xml/createxml.c: (object_saved):
2706           gcc 4 fixes
2707
2708 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2709
2710         * tests/Makefile.am:
2711           enable the examples even more
2712
2713 2005-12-12  Andy Wingo  <wingo@pobox.com>
2714
2715         * libs/gst/net/gstnettimeprovider.c
2716         (gst_net_time_provider_class_init, gst_net_time_provider_init)
2717         (gst_net_time_provider_set_property)
2718         (gst_net_time_provider_get_property):
2719         API addition: Export "active" as a GObject property.
2720         (gst_net_time_provider_thread): Only respond to time queries if
2721         the time provider is active.
2722
2723         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
2724         NetTimeProvider, preserving binary compat.
2725
2726 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2727
2728         * tests/examples/controller/audio-example.c: (main):
2729         * tests/examples/launch/Makefile.am:
2730           convert comments again
2731
2732 2005-12-12  Wim Taymans  <wim@fluendo.com>
2733
2734         * libs/gst/base/gstpushsrc.c:
2735         Fix typo.
2736
2737 2005-12-12  Wim Taymans  <wim@fluendo.com>
2738
2739         * docs/libs/gstreamer-libs-sections.txt:
2740         Added new symbol to docs.
2741
2742         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2743         (gst_base_src_init), (gst_base_src_set_format),
2744         (gst_base_src_default_query), (gst_base_src_query),
2745         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
2746         (gst_base_src_perform_seek), (gst_base_src_send_event),
2747         (gst_base_src_default_event), (gst_base_src_event_handler),
2748         (gst_base_src_set_property), (gst_base_src_get_property),
2749         (gst_base_src_wait), (gst_base_src_do_sync),
2750         (gst_base_src_update_length), (gst_base_src_get_range),
2751         (gst_base_src_check_get_range), (gst_base_src_loop),
2752         (gst_base_src_default_negotiate), (gst_base_src_start),
2753         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2754         (gst_base_src_change_state):
2755         * libs/gst/base/gstbasesrc.h:
2756         Implement seeking to other formats than _BYTES.
2757         Implement more seeking methods correctly.
2758         Doc updates.
2759         Added query vmethod.
2760         Added do_seek vmethod to make life easier for subclasses
2761         when seeking.
2762         API addition: gst_base_src_set_format()
2763
2764 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2765
2766         * tests/examples/Makefile.am:
2767           added that too
2768
2769 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2770
2771         * configure.ac:
2772         * docs/random/ensonic/media-device-daemon.txt:
2773         * tests/examples/controller/.cvsignore:
2774         * tests/examples/controller/Makefile.am:
2775         * tests/examples/controller/audio-example.c: (main):
2776         * tests/examples/helloworld/.cvsignore:
2777         * tests/examples/helloworld/Makefile.am:
2778         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
2779         * tests/examples/launch/.cvsignore:
2780         * tests/examples/launch/Makefile.am:
2781         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
2782         * tests/examples/metadata/.cvsignore:
2783         * tests/examples/metadata/Makefile.am:
2784         * tests/examples/metadata/read-metadata.c: (message_loop),
2785         (make_pipeline), (print_tag), (main):
2786         * tests/examples/queue/.cvsignore:
2787         * tests/examples/queue/Makefile.am:
2788         * tests/examples/queue/queue.c: (event_loop), (main):
2789         * tests/examples/typefind/.cvsignore:
2790         * tests/examples/typefind/Makefile.am:
2791         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
2792         (main):
2793         * tests/examples/xml/.cvsignore:
2794         * tests/examples/xml/Makefile.am:
2795         * tests/examples/xml/createxml.c: (object_saved), (main):
2796         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
2797         * tests/old/examples/Makefile.am:
2798         * tests/old/examples/TODO:
2799         * tests/old/examples/controller/.cvsignore:
2800         * tests/old/examples/controller/Makefile.am:
2801         * tests/old/examples/controller/audio-example.c:
2802         * tests/old/examples/helloworld/.cvsignore:
2803         * tests/old/examples/helloworld/Makefile.am:
2804         * tests/old/examples/helloworld/helloworld.c:
2805         * tests/old/examples/launch/.cvsignore:
2806         * tests/old/examples/launch/Makefile.am:
2807         * tests/old/examples/launch/mp3parselaunch.c:
2808         * tests/old/examples/launch/mp3play:
2809         * tests/old/examples/manual/Makefile.am:
2810         * tests/old/examples/metadata/Makefile.am:
2811         * tests/old/examples/metadata/read-metadata.c:
2812         * tests/old/examples/queue/.cvsignore:
2813         * tests/old/examples/queue/Makefile.am:
2814         * tests/old/examples/queue/queue.c:
2815         * tests/old/examples/typefind/.cvsignore:
2816         * tests/old/examples/typefind/Makefile.am:
2817         * tests/old/examples/typefind/typefind.c:
2818         * tests/old/examples/xml/.cvsignore:
2819         * tests/old/examples/xml/Makefile.am:
2820         * tests/old/examples/xml/createxml.c:
2821         * tests/old/examples/xml/runxml.c:
2822           applied some simple fixing to some examples
2823           re-enabled the working examples
2824
2825 2005-12-12  Wim Taymans  <wim@fluendo.com>
2826
2827         * gst/gstsegment.c: (gst_segment_init),
2828         (gst_segment_set_last_stop), (gst_segment_set_seek),
2829         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2830         (gst_segment_to_running_time):
2831         Added more documentation.
2832         Make sure the last_pos value is updated properly.
2833         Make sure to_stream_time and to_running_time don't
2834         operate on wrong values.
2835
2836         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2837         Update check.
2838
2839 2005-12-12  Michael Smith  <msmith@fluendo.com>
2840
2841         * plugins/elements/gsttypefindelement.c: (free_entry),
2842         (gst_type_find_element_chain):
2843           Now that we're not leaking factories, make sure we keep references
2844           to them while we need them.
2845
2846 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2847
2848         * tests/check/gst/struct_i386.h:
2849           ifdef out the XML structs
2850
2851 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2852
2853         * gst/gstvalue.c: (gst_value_transform_double_fraction):
2854           floor is not needed, F is always positive; this obviates the
2855           need for adding -lm when building without libxml
2856
2857 2005-12-12  Wim Taymans  <wim@fluendo.com>
2858
2859         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2860         Take current playback rate into account when reporting
2861         the position.
2862
2863 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2864
2865         * docs/manual/mime-world.fig:
2866           Let's try this again, this time with a file that is
2867           actually in XFig format.
2868
2869 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2870
2871         * docs/manual/mime-world.fig:
2872           Add audioconvert element to diagram so that it
2873           matches the text and the code (fixes #319526).
2874
2875 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2876
2877         * docs/pwg/building-chainfn.xml:
2878         * docs/pwg/building-pads.xml:
2879         * docs/pwg/building-state.xml:
2880         * docs/pwg/other-source.xml:
2881           Update state change stuff for 0.10 (fixes #322969).
2882
2883 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2884
2885         * docs/manual/advanced-dataaccess.xml:
2886         * docs/manual/appendix-checklist.xml:
2887         * docs/manual/appendix-programs.xml:
2888         * docs/manual/basics-pads.xml:
2889         * docs/manual/highlevel-components.xml:
2890         * docs/manual/manual.xml:
2891           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
2892           add converters in front of pipelines; remove curly
2893           brackets for threads stuff, they no longer exist; use
2894           GST_TYPE_FRACTION for framerates; update some pieces of
2895           code to 0.10, but there's plenty more to do.
2896
2897         * docs/manual/appendix-porting.xml:
2898           Expand on asynchroneous state changes; s/0.9/0.10/;
2899           mention disappearance of gst_init_get_popt_table()
2900           (fixes #322916).
2901
2902 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2903
2904         * docs/faq/using.xml:
2905           Spider no longer exists, and neither does gst-launch-ext.
2906           Update examples to use decodebin and playbin and put
2907           converters in front of sinks (fixes #323726).
2908
2909 2005-12-09  Michael Smith  <msmith@fluendo.com>
2910
2911         * plugins/elements/gsttypefindelement.c: (find_peek),
2912         (gst_type_find_element_chain):
2913           Fix leaking element factories in typefinding.
2914           Fix problem where we forgot about a probable type on non-seekable
2915           files, and thus later mis-typefound it.
2916
2917 2005-12-09  Michael Smith  <msmith@fluendo.com>
2918
2919         * common/m4/gst-makecontext.m4:
2920         * common/m4/gst-mcsc.m4:
2921         * configure.ac:
2922         * win32/common/config.h:
2923         * win32/common/config.h.in:
2924           Remove makecontext stuff; not used in 0.10 and causes problems on
2925           HPUX according to bug #322441
2926
2927 2005-12-07  Wim Taymans  <wim@fluendo.com>
2928
2929         * tests/check/Makefile.am:
2930         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
2931         (main):
2932         * tests/check/libs/struct_i386.h:
2933         Added ABI check for libs
2934
2935 2005-12-07  Wim Taymans  <wim@fluendo.com>
2936
2937         * tests/check/Makefile.am:
2938         And add the struct_i386.h to dist.
2939
2940 2005-12-07  Wim Taymans  <wim@fluendo.com>
2941
2942         * tests/check/Makefile.am:
2943         * tests/check/gst/.cvsignore:
2944         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
2945         (main):
2946         * tests/check/gst/struct_i386.h:
2947         Added check for ABI compatibility.
2948
2949 2005-12-07  Wim Taymans  <wim@fluendo.com>
2950
2951         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2952         (gst_fake_src_get_times), (gst_fake_src_create):
2953         Fix broken sync option, fixes #323259
2954
2955 2005-12-07  Wim Taymans  <wim@fluendo.com>
2956
2957         * gst/gstbuffer.c:
2958         Small docs update.
2959
2960         * gst/gstcaps.c: (gst_caps_is_equal):
2961         Don't assert on NULL <--> X. Fixes #323260
2962
2963         * gst/gstminiobject.c: (gst_mini_object_replace):
2964         If we're doing atomic operations, we might just as well use
2965         the proper way to get an atomic pointer.
2966
2967         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2968         Clean up debugging.
2969
2970 2005-12-07  Michael Smith  <msmith@fluendo.com>
2971
2972         * gst/parse/grammar.y:
2973           Remove handling of { } for threads.
2974
2975 2005-12-06  David Schleef  <ds@schleef.org>
2976
2977         * libs/gst/base/gstbasetransform.c: speling fix.
2978
2979 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2980
2981         * docs/libs/tmpl/gstdataprotocol.sgml:
2982         * docs/random/omega/testing/gstobject.c:
2983         * gst/gst.c:
2984         * gst/gstclock.c:
2985         * gst/gstelement.c:
2986         * gst/gstelementfactory.c:
2987         * gst/gsterror.c:
2988         * gst/gstevent.c:
2989         * gst/gstghostpad.c:
2990         * gst/gstinfo.c:
2991         * gst/gstpadtemplate.c:
2992         * gst/gstregistryxml.c:
2993         * gst/gsttaglist.c:
2994         * gst/gsttagsetter.c:
2995         * gst/gsttypefind.c:
2996         * gst/gstvalue.c:
2997         * libs/gst/base/gstbasesrc.c:
2998         * libs/gst/net/gstnetclientclock.c:
2999         * libs/gst/net/gstnettimeprovider.c:
3000         * plugins/elements/gstfakesrc.c:
3001         * plugins/elements/gstfdsrc.c:
3002         * plugins/elements/gstfilesrc.c:
3003         * plugins/elements/gstidentity.c:
3004         * plugins/elements/gstqueue.c:
3005         * plugins/elements/gsttypefindelement.c:
3006         * plugins/indexers/gstfileindex.c:
3007         * plugins/indexers/gstmemindex.c:
3008         * tests/check/gst/gsttag.c:
3009         * tests/old/examples/cutter/cutter.c:
3010         * tests/old/examples/mixer/mixer.c:
3011         * tests/old/examples/xml/runxml.c: (main):
3012         * tests/old/testsuite/caps/normalisation.c:
3013         * tests/old/testsuite/debug/global.c:
3014         * tests/old/testsuite/parse/parse1.c:
3015         * tools/gst-xmlinspect.c:
3016         * win32/common/dirent.c:
3017           expand tabs
3018
3019 === release 0.10.0 ===
3020
3021 2005-12-05   <thomas (at) apestaart (dot) org>
3022
3023         * configure.ac:
3024           releasing 0.10.0, "Maroilles"
3025
3026 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3027
3028         submitted by: Funda Wang <fundawang@linux.net.cn>
3029
3030         * po/LINGUAS:
3031         * po/zh_CN.po:
3032           added Chinese (Traditional) translation
3033
3034 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3035
3036         * docs/gst/gstreamer-sections.txt:
3037         * docs/libs/tmpl/gstdataprotocol.sgml:
3038         * docs/random/thomasvs/TODO:
3039         * gst/gstutils.c:
3040         * gst/gstutils.h:
3041           fix docs
3042
3043 2005-12-05  Andy Wingo  <wingo@pobox.com>
3044
3045         patch by: Wim Taymans <wim@fluendo.com>
3046
3047         * libs/gst/base/gstbasetransform.c
3048         (gst_base_transform_prepare_output_buf)
3049         (gst_base_transform_buffer_alloc):
3050         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
3051         alloc_buffer_and_set_caps.
3052
3053         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
3054         set_caps on the source pad.
3055         (gst_pad_alloc_buffer_and_set_caps): New function, does what
3056         alloc_buffer used to do. Fixes #322874.
3057
3058         * docs/gst/gstreamer-sections.txt: 
3059         * docs/design/part-negotiation.txt: 
3060         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
3061         changes.
3062
3063 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3064
3065         patch by: Sebastien Moutte
3066
3067         * win32/MANIFEST:
3068         * win32/common/config.h.in:
3069         * win32/vs6/libgstcontroller.dsp:
3070           win32 build fixes
3071
3072 2005-12-05  Wim Taymans  <wim@fluendo.com>
3073
3074         * gst/gstcaps.c: (gst_caps_is_equal):
3075         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3076         (gst_fake_src_create):
3077         Back out previous code changes, leave doc updates, file bugs 
3078         instead. 
3079
3080 2005-12-05  Wim Taymans  <wim@fluendo.com>
3081
3082         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3083         (gst_fake_src_get_times), (gst_fake_src_create):
3084         * plugins/elements/gstfakesrc.h:
3085         Fix broken sync code.
3086
3087 2005-12-05  Wim Taymans  <wim@fluendo.com>
3088
3089         * gst/gstcaps.c: (gst_caps_is_equal):
3090         Comparing NULL against !NULL yields different caps, not a
3091         failure.
3092
3093 2005-12-05  Wim Taymans  <wim@fluendo.com>
3094
3095         * gst/gstpipeline.c:
3096         Fix small typo in docs.
3097
3098 2005-12-05  Andy Wingo  <wingo@pobox.com>
3099
3100         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
3101
3102         * gst/gst.c (init_post): remove hard-coded 0.9 location for
3103         registries/plugins with a MAJORMINOR one.
3104         (plugin_desc): Rename library from gstcoreleements to
3105         staticelements. Fixes #323222.
3106
3107 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
3108
3109         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3110           Change debug category to 'collectpads' from 'collect_pads'
3111           (fixes #323250).
3112
3113 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3114
3115         patch by: Sebastien Moutte
3116
3117         * libs/gst/controller/gstinterpolation.c:
3118           use convert function for uint64/double
3119         * win32/vs6/libgstcontroller.dsp:
3120           link to GLib
3121
3122 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3123
3124         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3125         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3126         * gst/gstutils.h:
3127         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3128           add tests that seem to show that the guint64/gdouble conversions
3129           are correct.
3130
3131 2005-12-02  Wim Taymans  <wim@fluendo.com>
3132
3133         * gst/gstregistry.c: (gst_registry_add_path):
3134         * gst/gstregistry.h:
3135         * gst/gstregistryxml.c:
3136         Fix docs again.
3137
3138 2005-12-02  Wim Taymans  <wim@fluendo.com>
3139
3140         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3141         (gst_util_uint64_scale_int):
3142         Small cleanup.
3143
3144         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3145         Add debug log line.
3146
3147         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3148         Add FIXME.
3149
3150 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3151
3152         * win32/MANIFEST:
3153         * win32/common/config.h:
3154         * win32/vs6/gstreamer.dsw:
3155         * win32/vs6/libgstcoreelements.dsp:
3156         * win32/vs6/libgstelements.dsp:
3157           renamed core elements plugin
3158
3159 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3160
3161         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3162         (get_candidates):
3163           do piece-wise major/minor comparison so 0.9 < 0.10
3164           also allow .exe extensions for tools
3165
3166 2005-12-02  Michael Smith  <msmith@fluendo.com>
3167
3168         * gst/gst.c:
3169           Escape a % to make gtkdoc happier; bug 322958.
3170
3171 === release 0.9.7 ===
3172
3173 2005-12-01   <thomas (at) apestaart (dot) org>
3174
3175         * configure.ac:
3176           releasing 0.9.7, "My Dog Has No Nose"
3177
3178 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3179
3180         * common/gst-xmlinspect.py:
3181         * configure.ac:
3182         * docs/libs/tmpl/gstdataprotocol.sgml:
3183         * docs/random/release:
3184         * po/af.po:
3185         * po/az.po:
3186         * po/bg.po:
3187         * po/ca.po:
3188         * po/cs.po:
3189         * po/de.po:
3190         * po/en_GB.po:
3191         * po/fr.po:
3192         * po/it.po:
3193         * po/nb.po:
3194         * po/nl.po:
3195         * po/ru.po:
3196         * po/sq.po:
3197         * po/sr.po:
3198         * po/sv.po:
3199         * po/tr.po:
3200         * po/uk.po:
3201         * po/vi.po:
3202         * win32/common/config.h:
3203         * win32/common/config.h.in:
3204         * win32/vs6/gst_inspect.dsp:
3205         * win32/vs6/gst_launch.dsp:
3206         * win32/vs6/libgstbase.dsp:
3207         * win32/vs6/libgstelements.dsp:
3208         * win32/vs6/libgstreamer.dsp:
3209         * win32/vs7/GStreamer.vcproj:
3210         * win32/vs7/gst-inspect.vcproj:
3211         * win32/vs7/gst-launch.vcproj:
3212         * win32/vs7/libgstbase.vcproj:
3213           bump GST_MAJORMINOR to 0.10
3214           reset libtool version
3215
3216 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3217
3218         * po/LINGUAS:
3219         * po/bg.po:
3220           Added Bulgarian translation by (Alexander Shopov)
3221
3222 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3223
3224         * tests/check/gst/gstplugin.c:
3225           fix test
3226
3227 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3228
3229         * common/gst-xmlinspect.py:
3230         * common/gtk-doc-plugins.mak:
3231         * configure.ac:
3232         * docs/Makefile.am:
3233         * docs/gst/Makefile.am:
3234         * docs/gst/gstreamer-docs.sgml:
3235         * docs/gst/gstreamer-sections.txt:
3236         * docs/gst/gstreamer.types:
3237         * docs/gst/gstreamer.types.in:
3238         * docs/plugins/Makefile.am:
3239         * docs/plugins/gstreamer-plugins-docs.sgml:
3240         * docs/plugins/gstreamer-plugins-sections.txt:
3241         * docs/plugins/gstreamer-plugins.types:
3242         * docs/plugins/inspect.stamp:
3243         * docs/plugins/inspect/plugin-coreelements.xml:
3244         * docs/plugins/inspect/plugin-coreindexers.xml:
3245         * docs/plugins/scanobj-build.stamp:
3246         * gstreamer.spec.in:
3247         * plugins/elements/Makefile.am:
3248         * plugins/elements/gstelements.c:
3249         * plugins/elements/gstfakesink.c:
3250         * plugins/elements/gstfakesrc.c:
3251         * plugins/elements/gstfilesink.c:
3252         * plugins/elements/gstfilesrc.c:
3253         * plugins/elements/gstqueue.c:
3254         * plugins/indexers/Makefile.am:
3255         * plugins/indexers/gstindexers.c:
3256           document core plugins in a separate document just like all the
3257           others
3258           rename these plugins to something starting with core
3259
3260 2005-12-01  Andy Wingo  <wingo@pobox.com>
3261
3262         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
3263         padding here before, but it missed the commit.
3264
3265 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3266
3267         * libs/gst/controller/gstinterpolation.c:
3268           whitespace prices have crashed, we should feel free to use some now
3269           use gst_guint64_to_gdouble
3270
3271 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3272
3273         * libs/gst/controller/gstcontroller.c:
3274         * libs/gst/controller/gsthelper.c:
3275         * libs/gst/controller/gstinterpolation.c:
3276         * libs/gst/controller/lib.c:
3277           wrap config.h include
3278
3279 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3280
3281         * docs/gst/gstreamer-sections.txt:
3282           update docs
3283
3284 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3285
3286         * plugins/elements/gstelements.c:
3287         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
3288         (gst_fd_sink__class_init), (gst_fd_sink__init),
3289         (gst_fd_sink__chain), (gst_fd_sink__set_property),
3290         (gst_fd_sink__get_property):
3291         * plugins/elements/gstfdsink.h:
3292         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
3293         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
3294         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
3295         (gst_fd_src_unlock), (gst_fd_src_set_property),
3296         (gst_fd_src_get_property), (gst_fd_src_create),
3297         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
3298         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
3299         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
3300         (gst_fd_src_uri_handler_init):
3301         * plugins/elements/gstfdsrc.h:
3302         * plugins/elements/gstqueue.c: (gst_queue_get_type):
3303           more anal cleanup
3304
3305 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3306
3307         * docs/gst/Makefile.am:
3308         * docs/gst/gstreamer.types.in:
3309         * gst/Makefile.am:
3310           fix the docs build
3311
3312 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3313
3314         * configure.ac:
3315         * gst/Makefile.am:
3316         * gst/gst.c:
3317         * gst/gstplugin.h:
3318         * gst/gstregistry.h:
3319         * tests/benchmarks/complexity.c:
3320         * tests/benchmarks/mass-elements.c:
3321         * tests/check/Makefile.am:
3322         * tools/Makefile.am:
3323         * tools/gst-inspect.c:
3324         * tools/gst-xmlinspect.c:
3325           various fixes to make
3326           --disable-nls --disable-registry --disable-loadsave
3327           --disable-parse --disable-gst-debug
3328           work and get the core .so down to 360444 bytes after stripping
3329
3330 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3331
3332         * Makefile.am:
3333         * configure.ac:
3334           descend into tests
3335         * docs/random/thomasvs/TODO:
3336         * tests/Makefile.am:
3337         * tests/README:
3338           add a README
3339
3340 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3341
3342         * win32/GStreamer.vcproj:
3343         * win32/MANIFEST:
3344         * win32/Makefile:
3345         * win32/Makefile.inspect:
3346         * win32/Makefile.launch:
3347         * win32/Makefile.register:
3348         * win32/README.txt:
3349         * win32/gst-inspect.vcproj:
3350         * win32/gst-launch.vcproj:
3351         * win32/gst-register.vcproj:
3352         * win32/gstelements.vcproj:
3353         * win32/gstgetbits.def:
3354         * win32/gstgetbits.vcproj:
3355         * win32/gstreamer-dbg.def:
3356         * win32/gstreamer.def:
3357         * win32/libgstbase.def:
3358         * win32/libgstbase.vcproj:
3359         * win32/link_oldruntime.c:
3360         * win32/mman.c:
3361         * win32/mman.h:
3362         * win32/mman.inl:
3363         * win32/msvc71.sln:
3364           move even more stuff, win32/ is nice and clean now
3365
3366 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3367
3368         * libs/gst/control/.cvsignore:
3369         * win32/MANIFEST:
3370         * win32/config.h:
3371         * win32/dirent.c:
3372         * win32/dirent.h:
3373         * win32/gstbytestream.def:
3374         * win32/gstbytestream.vcproj:
3375         * win32/gstconfig.h:
3376         * win32/gstenumtypes.c:
3377         * win32/gstenumtypes.h:
3378         * win32/gstoptimalscheduler.vcproj:
3379         * win32/gstversion.h:
3380         * win32/gtchar.h:
3381         * win32/testsuite/bins.vcproj:
3382         * win32/testsuite/bytestream.vcproj:
3383         * win32/testsuite/caps.vcproj:
3384         * win32/testsuite/cleanup.vcproj:
3385         * win32/testsuite/clock.vcproj:
3386         * win32/testsuite/debug.vcproj:
3387         * win32/testsuite/dlopen.vcproj:
3388         * win32/testsuite/dynparams.vcproj:
3389         * win32/testsuite/elements.vcproj:
3390         * win32/testsuite/ghostpads.vcproj:
3391         * win32/testsuite/indexers.vcproj:
3392         * win32/testsuite/negotiation.vcproj:
3393         * win32/testsuite/parse.vcproj:
3394         * win32/testsuite/plugin.vcproj:
3395         * win32/testsuite/refcounting.vcproj:
3396         * win32/testsuite/schedulers.vcproj:
3397         * win32/testsuite/states.vcproj:
3398         * win32/testsuite/tags.vcproj:
3399         * win32/testsuite/threads.vcproj:
3400           remove old win32 stuff that isn't maintained and should be
3401           reorganized
3402
3403 2005-11-30  Andy Wingo  <wingo@pobox.com>
3404
3405         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
3406         loading the gst.interfaces python module bork.
3407
3408         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
3409         available since GLib 2.2. Fixes #318031.
3410
3411 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3412
3413         * Makefile.am:
3414         * check/.cvsignore:
3415         * check/Makefile.am:
3416         * check/elements/.cvsignore:
3417         * check/elements/fakesrc.c:
3418         * check/elements/fdsrc.c:
3419         * check/elements/identity.c:
3420         * check/generic/.cvsignore:
3421         * check/generic/states.c:
3422         * check/gst-libs/.cvsignore:
3423         * check/gst-libs/controller.c:
3424         * check/gst-libs/gdp.c:
3425         * check/gst/.cvsignore:
3426         * check/gst/capslist.h:
3427         * check/gst/gst.c:
3428         * check/gst/gstbin.c:
3429         * check/gst/gstbuffer.c:
3430         * check/gst/gstbus.c:
3431         * check/gst/gstcaps.c:
3432         * check/gst/gstelement.c:
3433         * check/gst/gstevent.c:
3434         * check/gst/gstghostpad.c:
3435         * check/gst/gstiterator.c:
3436         * check/gst/gstmessage.c:
3437         * check/gst/gstminiobject.c:
3438         * check/gst/gstobject.c:
3439         * check/gst/gstpad.c:
3440         * check/gst/gstpipeline.c:
3441         * check/gst/gstplugin.c:
3442         * check/gst/gstsegment.c:
3443         * check/gst/gststructure.c:
3444         * check/gst/gstsystemclock.c:
3445         * check/gst/gsttag.c:
3446         * check/gst/gstutils.c:
3447         * check/gst/gstvalue.c:
3448         * check/net/.cvsignore:
3449         * check/net/gstnetclientclock.c:
3450         * check/net/gstnettimeprovider.c:
3451         * check/pipelines/.cvsignore:
3452         * check/pipelines/cleanup.c:
3453         * check/pipelines/simple_launch_lines.c:
3454         * check/pipelines/stress.c:
3455         * check/states/.cvsignore:
3456         * check/states/sinks.c:
3457         * configure.ac:
3458         * examples/Makefile.am:
3459         * examples/appreader/.cvsignore:
3460         * examples/appreader/Makefile.am:
3461         * examples/appreader/appreader.c:
3462         * examples/controller/.cvsignore:
3463         * examples/controller/Makefile.am:
3464         * examples/controller/audio-example.c:
3465         * examples/cutter/.cvsignore:
3466         * examples/cutter/Makefile.am:
3467         * examples/cutter/cutter.c:
3468         * examples/cutter/cutter.h:
3469         * examples/events/Makefile.am:
3470         * examples/events/seek.c:
3471         * examples/helloworld/.cvsignore:
3472         * examples/helloworld/Makefile.am:
3473         * examples/helloworld/helloworld.c:
3474         * examples/helloworld2/.cvsignore:
3475         * examples/helloworld2/Makefile.am:
3476         * examples/helloworld2/helloworld2.c:
3477         * examples/launch/.cvsignore:
3478         * examples/launch/Makefile.am:
3479         * examples/launch/mp3parselaunch.c:
3480         * examples/launch/mp3play:
3481         * examples/manual/.cvsignore:
3482         * examples/manual/Makefile.am:
3483         * examples/manual/extract.pl:
3484         * examples/metadata/Makefile.am:
3485         * examples/metadata/read-metadata.c:
3486         * examples/mixer/.cvsignore:
3487         * examples/mixer/Makefile.am:
3488         * examples/mixer/mixer.c:
3489         * examples/mixer/mixer.h:
3490         * examples/pingpong/.cvsignore:
3491         * examples/pingpong/Makefile.am:
3492         * examples/pingpong/pingpong.c:
3493         * examples/plugins/.cvsignore:
3494         * examples/plugins/Makefile.am:
3495         * examples/plugins/example.c:
3496         * examples/plugins/example.h:
3497         * examples/pwg/.cvsignore:
3498         * examples/pwg/Makefile.am:
3499         * examples/pwg/extract.pl:
3500         * examples/queue/.cvsignore:
3501         * examples/queue/Makefile.am:
3502         * examples/queue/queue.c:
3503         * examples/queue2/.cvsignore:
3504         * examples/queue2/Makefile.am:
3505         * examples/queue2/queue2.c:
3506         * examples/queue3/.cvsignore:
3507         * examples/queue3/Makefile.am:
3508         * examples/queue3/queue3.c:
3509         * examples/queue4/.cvsignore:
3510         * examples/queue4/Makefile.am:
3511         * examples/queue4/queue4.c:
3512         * examples/retag/.cvsignore:
3513         * examples/retag/Makefile.am:
3514         * examples/retag/retag.c:
3515         * examples/retag/transcode.c:
3516         * examples/thread/.cvsignore:
3517         * examples/thread/Makefile.am:
3518         * examples/thread/thread.c:
3519         * examples/typefind/.cvsignore:
3520         * examples/typefind/Makefile.am:
3521         * examples/typefind/typefind.c:
3522         * examples/xml/.cvsignore:
3523         * examples/xml/Makefile.am:
3524         * examples/xml/createxml.c:
3525         * examples/xml/runxml.c:
3526         * tests/Makefile.am:
3527         * tests/check/Makefile.am:
3528         * testsuite/.cvsignore:
3529         * testsuite/Makefile.am:
3530         * testsuite/Rules:
3531         * testsuite/caps/.cvsignore:
3532         * testsuite/caps/Makefile.am:
3533         * testsuite/caps/app_fixate.c:
3534         * testsuite/caps/audioscale.c:
3535         * testsuite/caps/caps.c:
3536         * testsuite/caps/caps.h:
3537         * testsuite/caps/caps_strings:
3538         * testsuite/caps/compatibility.c:
3539         * testsuite/caps/deserialize.c:
3540         * testsuite/caps/enumcaps.c:
3541         * testsuite/caps/eratosthenes.c:
3542         * testsuite/caps/filtercaps.c:
3543         * testsuite/caps/fixed.c:
3544         * testsuite/caps/fraction-convert.c:
3545         * testsuite/caps/fraction-multiply-and-zero.c:
3546         * testsuite/caps/intersect2.c:
3547         * testsuite/caps/intersection.c:
3548         * testsuite/caps/normalisation.c:
3549         * testsuite/caps/random.c:
3550         * testsuite/caps/renegotiate.c:
3551         * testsuite/caps/sets.c:
3552         * testsuite/caps/simplify.c:
3553         * testsuite/caps/string-conversions.c:
3554         * testsuite/caps/structure.c:
3555         * testsuite/caps/subtract.c:
3556         * testsuite/caps/union.c:
3557         * testsuite/debug/.cvsignore:
3558         * testsuite/debug/Makefile.am:
3559         * testsuite/debug/category.c:
3560         * testsuite/debug/commandline.c:
3561         * testsuite/debug/global.c:
3562         * testsuite/debug/output.c:
3563         * testsuite/debug/printf_extension.c:
3564         * testsuite/dlopen/.cvsignore:
3565         * testsuite/dlopen/Makefile.am:
3566         * testsuite/dlopen/dlopen_gst.c:
3567         * testsuite/dlopen/loadgst.c:
3568         * testsuite/elements/.cvsignore:
3569         * testsuite/elements/Makefile.am:
3570         * testsuite/elements/gst-inspect-check.in:
3571         * testsuite/elements/struct_i386.h:
3572         * testsuite/elements/struct_size.c:
3573         * testsuite/indexers/.cvsignore:
3574         * testsuite/indexers/Makefile.am:
3575         * testsuite/indexers/cache1.c:
3576         * testsuite/indexers/indexdump.c:
3577         * testsuite/parse/.cvsignore:
3578         * testsuite/parse/Makefile.am:
3579         * testsuite/parse/parse1.c:
3580         * testsuite/parse/parse2.c:
3581         * testsuite/plugin/.cvsignore:
3582         * testsuite/plugin/Makefile.am:
3583         * testsuite/plugin/README:
3584         * testsuite/plugin/dynamic.c:
3585         * testsuite/plugin/linked.c:
3586         * testsuite/plugin/loading.c:
3587         * testsuite/plugin/registry.c:
3588         * testsuite/plugin/static.c:
3589         * testsuite/plugin/static2.c:
3590         * testsuite/plugin/testplugin.c:
3591         * testsuite/plugin/testplugin2.c:
3592         * testsuite/plugin/testplugin2_s.c:
3593         * testsuite/plugin/testplugin_s.c:
3594         * testsuite/refcounting/.cvsignore:
3595         * testsuite/refcounting/Makefile.am:
3596         * testsuite/refcounting/bin.c:
3597         * testsuite/refcounting/element.c:
3598         * testsuite/refcounting/element_pad.c:
3599         * testsuite/refcounting/mainloop.c:
3600         * testsuite/refcounting/mem.c:
3601         * testsuite/refcounting/mem.h:
3602         * testsuite/refcounting/object.c:
3603         * testsuite/refcounting/pad.c:
3604         * testsuite/refcounting/sched.c:
3605         * testsuite/refcounting/thread.c:
3606         * testsuite/states/.cvsignore:
3607         * testsuite/states/Makefile.am:
3608         * testsuite/states/bin.c:
3609         * testsuite/states/locked.c:
3610         * testsuite/states/parent.c:
3611         * testsuite/threads/.cvsignore:
3612         * testsuite/threads/159566.c:
3613         * testsuite/threads/159852.c:
3614         * testsuite/threads/Makefile.am:
3615         * testsuite/threads/queue.c:
3616         * testsuite/threads/signals.c:
3617         * testsuite/threads/staticrec.c:
3618         * testsuite/threads/thread.c:
3619         * testsuite/threads/threadb.c:
3620         * testsuite/threads/threadc.c:
3621         * testsuite/threads/threadd.c:
3622         * testsuite/threads/threade.c:
3623         * testsuite/threads/threadf.c:
3624         * testsuite/threads/threadg.c:
3625         * testsuite/threads/threadh.c:
3626         * testsuite/threads/threadi.c:
3627           move all of these under tests
3628
3629 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3630
3631         * configure.ac:
3632         * tests/Makefile.am:
3633           fix distcheck
3634
3635 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3636
3637         * docs/gst/gstreamer-sections.txt:
3638         * tests/sched/.cvsignore:
3639         * tests/sched/Makefile.am:
3640         * tests/sched/cases/(fs-fs).xml:
3641         * tests/sched/cases/(fs-i-fs).xml:
3642         * tests/sched/cases/(fs-i-i-fs).xml:
3643         * tests/sched/cases/(fs-i-q[i-fs]).xml:
3644         * tests/sched/dynamic-pipeline.c:
3645         * tests/sched/interrupt1.c:
3646         * tests/sched/interrupt2.c:
3647         * tests/sched/interrupt3.c:
3648         * tests/sched/runtestcases:
3649         * tests/sched/runxml.c:
3650         * tests/sched/sched-stress.c:
3651         * tests/sched/sort.c:
3652         * tests/sched/testcases:
3653         * tests/sched/testcases1.tc:
3654         * tests/seeking/.cvsignore:
3655         * tests/seeking/Makefile.am:
3656         * tests/seeking/seeking1.c:
3657         * tests/threadstate/.cvsignore:
3658         * tests/threadstate/Makefile.am:
3659         * tests/threadstate/test1.c:
3660         * tests/threadstate/test2.c:
3661         * tests/threadstate/threadstate1.c:
3662         * tests/threadstate/threadstate2.c:
3663         * tests/threadstate/threadstate3.c:
3664         * tests/threadstate/threadstate4.c:
3665         * tests/threadstate/threadstate5.c:
3666           remove obsolete tests
3667         * configure.ac:
3668         * tests/bench-complexity.scm:
3669         * tests/bench-mass_elements.scm:
3670         * tests/complexity.c:
3671         * tests/complexity.gnuplot:
3672         * tests/instantiate/.cvsignore:
3673         * tests/instantiate/Makefile.am:
3674         * tests/instantiate/caps.c:
3675         * tests/mass_elements.c:
3676         * tests/network-clock-utils.scm:
3677         * tests/network-clock.scm:
3678         * tests/plot-data:
3679         First pass at cleaning up tests/ dir before moving the rest
3680         Combined with CVS surgery
3681
3682 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3683
3684         * po/POTFILES.in:
3685           queue has moved, update
3686
3687 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3688
3689         * docs/gst/gstreamer-sections.txt:
3690           remove double entries from the docs
3691         * gst/gst_private.h:
3692         * gst/gstinfo.c: (_gst_debug_init):
3693           remove the THREAD debug category
3694         * gst/Makefile.am:
3695         * gst/gstqueue.c:
3696         * gst/gstqueue.h:
3697         * docs/gst/gstreamer.types:
3698         * plugins/elements/gstqueue.c: (gst_queue_get_type),
3699         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
3700           completely move queue and fix up debugging categories
3701
3702 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3703
3704         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3705           make initialization portable, using LL is not
3706
3707 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3708
3709         * win32/common/gstconfig.h:
3710           add large padding
3711
3712 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3713
3714         * win32/common/libgstreamer.def:
3715           rename symbols; sort base section
3716
3717 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3718
3719         * gst/gstclock.c: (do_linear_regression):
3720           remove crack non-portable handrolled DEBUG macro
3721
3722 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * docs/random/release:
3725           update notes
3726         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3727         (gst_object_flags_get_type), (register_gst_bin_flags),
3728         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3729         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3730         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3731         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
3732         (gst_caps_flags_get_type), (register_gst_clock_return),
3733         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3734         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3735         (gst_clock_flags_get_type), (register_gst_state),
3736         (gst_state_get_type), (register_gst_state_change_return),
3737         (gst_state_change_return_get_type), (register_gst_state_change),
3738         (gst_state_change_get_type), (register_gst_element_flags),
3739         (gst_element_flags_get_type), (register_gst_core_error),
3740         (gst_core_error_get_type), (register_gst_library_error),
3741         (gst_library_error_get_type), (register_gst_resource_error),
3742         (gst_resource_error_get_type), (register_gst_stream_error),
3743         (gst_stream_error_get_type), (register_gst_event_type_flags),
3744         (gst_event_type_flags_get_type), (register_gst_event_type),
3745         (gst_event_type_get_type), (register_gst_seek_type),
3746         (gst_seek_type_get_type), (register_gst_seek_flags),
3747         (gst_seek_flags_get_type), (register_gst_format),
3748         (gst_format_get_type), (register_gst_index_certainty),
3749         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3750         (gst_index_entry_type_get_type),
3751         (register_gst_index_lookup_method),
3752         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3753         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3754         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3755         (gst_index_flags_get_type), (register_gst_debug_level),
3756         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3757         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3758         (gst_iterator_result_get_type), (register_gst_iterator_item),
3759         (gst_iterator_item_get_type), (register_gst_message_type),
3760         (gst_message_type_get_type), (register_gst_mini_object_flags),
3761         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3762         (gst_pad_link_return_get_type), (register_gst_flow_return),
3763         (gst_flow_return_get_type), (register_gst_activate_mode),
3764         (gst_activate_mode_get_type), (register_gst_pad_direction),
3765         (gst_pad_direction_get_type), (register_gst_pad_flags),
3766         (gst_pad_flags_get_type), (register_gst_pad_presence),
3767         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3768         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3769         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3770         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3771         (gst_plugin_flags_get_type), (register_gst_rank),
3772         (gst_rank_get_type), (register_gst_query_type),
3773         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3774         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3775         (gst_tag_flag_get_type), (register_gst_task_state),
3776         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3777         (gst_alloc_trace_flags_get_type),
3778         (register_gst_type_find_probability),
3779         (gst_type_find_probability_get_type), (register_gst_uri_type),
3780         (gst_uri_type_get_type), (register_gst_parse_error),
3781         (gst_parse_error_get_type):
3782         * win32/common/gstenumtypes.h:
3783         * win32/common/gstversion.h:
3784           update visual studio generated files
3785
3786 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3787
3788         * win32/vs6/libgstbase.dsp:
3789         * win32/vs6/libgstelements.dsp:
3790           update project files for new locations
3791
3792 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3793
3794         * Makefile.am:
3795           remove some files
3796         * README:
3797           reinstate and update
3798         * DEVEL:
3799         * REQUIREMENTS:
3800           removed
3801         * LICENSE:
3802         * docs/random/LICENSE:
3803           moved to random
3804
3805 2005-11-30  Edward Hervey  <edward@fluendo.com>
3806
3807         * gst/gsttypefind.c: (gst_type_find_register):
3808         * gst/gsttypefind.h:
3809         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
3810         (gst_type_find_factory_dispose):
3811         * gst/gsttypefindfactory.h:
3812         Fix memory leak in GstTypeFindFactory.
3813
3814 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3815
3816         * gst/gst.c:
3817         * plugins/elements/Makefile.am:
3818         * plugins/elements/gstelements.c:
3819         * plugins/elements/gstqueue.c:
3820           move queue from core to the elements plugin
3821
3822 2005-11-29  Andy Wingo  <wingo@pobox.com>
3823
3824         * libs/gst/base/gstbasetransform.h: 
3825         * libs/gst/base/gstbasesrc.h: 
3826         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
3827
3828         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
3829         of pointers by which to pad very extensible base classes (like the
3830         ones in libs/gst/base).
3831
3832 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3833
3834         * docs/gst/gstreamer-docs.sgml:
3835         * docs/gst/gstreamer-sections.txt:
3836         * docs/libs/gstreamer-libs-docs.sgml:
3837         * docs/libs/gstreamer-libs-sections.txt:
3838           moving documentation from core to lib
3839
3840 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3841
3842         * check/Makefile.am:
3843         * configure.ac:
3844         * docs/gst/Makefile.am:
3845         * gst/Makefile.am:
3846         * gst/base/.cvsignore:
3847         * gst/base/Makefile.am:
3848         * gst/base/README:
3849         * gst/base/gstadapter.c:
3850         * gst/base/gstadapter.h:
3851         * gst/base/gstbasesink.c:
3852         * gst/base/gstbasesink.h:
3853         * gst/base/gstbasesrc.c:
3854         * gst/base/gstbasesrc.h:
3855         * gst/base/gstbasetransform.c:
3856         * gst/base/gstbasetransform.h:
3857         * gst/base/gstcollectpads.c:
3858         * gst/base/gstcollectpads.h:
3859         * gst/base/gstpushsrc.c:
3860         * gst/base/gstpushsrc.h:
3861         * gst/base/gsttypefindhelper.c:
3862         * gst/base/gsttypefindhelper.h:
3863         * gst/check/Makefile.am:
3864         * gst/check/gstcheck.c:
3865         * gst/check/gstcheck.h:
3866         * gst/net/Makefile.am:
3867         * gst/net/gstnet.h:
3868         * gst/net/gstnetclientclock.c:
3869         * gst/net/gstnetclientclock.h:
3870         * gst/net/gstnettimepacket.c:
3871         * gst/net/gstnettimepacket.h:
3872         * gst/net/gstnettimeprovider.c:
3873         * gst/net/gstnettimeprovider.h:
3874         * libs/gst/Makefile.am:
3875         * libs/gst/base/Makefile.am:
3876         * libs/gst/base/gstbasetransform.c:
3877         * libs/gst/check/Makefile.am:
3878         * plugins/elements/Makefile.am:
3879         * po/POTFILES.in:
3880           CVS surgery + support to move base, check, and net out of gst
3881           and into libs/gst
3882
3883 2005-11-29  Andy Wingo  <wingo@pobox.com>
3884
3885         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
3886
3887         * gst/gststructure.h (struct _GstStructure): Only one pointer of
3888         padding.
3889
3890         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
3891
3892         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
3893
3894         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
3895
3896         * gst/gstobject.h: (struct _GstObject): Only one pointer of
3897         padding; reduces object size by about 30%. We don't expect
3898         anything else to go into gstobject.
3899
3900         * gst/gstminiobject.h (struct _GstMiniObject)
3901         (struct _GstMiniObjectClass): Only one pointer of padding; the
3902         payload is only a pointer and two ints anyway. For the class there
3903         are only two methods as well.
3904         
3905         * gst/gstelement.h (struct _GstElementClass): Removed
3906         the state_changed signal callback, it is not used.
3907
3908 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3909
3910         * docs/gst/gstreamer.types:
3911           fix includes, though they are a little dinky
3912
3913 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3914
3915         * check/Makefile.am:
3916           look in the right place for elements, a lot more chance of
3917           success
3918         * gst/Makefile.am:
3919           remove indexers and elements subdirs
3920         * plugins/Makefile.am:
3921           make indexers conditional
3922
3923 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3924
3925         * Makefile.am:
3926         * configure.ac:
3927         * plugins/elements/Makefile.am:
3928         * plugins/elements/gstcapsfilter.c:
3929         * plugins/elements/gstfilesink.c:
3930         * plugins/elements/gstfilesrc.c:
3931         * plugins/elements/gstidentity.c:
3932         * plugins/indexers/Makefile.am:
3933           do CVS surgery and related build fixery to move elements
3934           and indexers in a new gstreamer/plugins directory, out of the
3935           gst/ directory
3936
3937 2005-11-29  Andy Wingo  <wingo@pobox.com>
3938
3939         * check/Makefile.am:
3940         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3941         * pkgconfig/gstreamer-net.pc.in:
3942         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
3943         #322257.
3944
3945 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3946
3947         * tools/Makefile.am:
3948         * tools/gst-complete.1.in:
3949         * tools/gst-complete.c:
3950         * tools/gst-compprep.1.in:
3951         * tools/gst-compprep.c:
3952           removing -compprep and -complete
3953
3954 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3955
3956         * gst/gstevent.c: (gst_event_new_new_segment),
3957         (gst_event_parse_new_segment):
3958         * gst/gstevent.h:
3959           fix #320529 - clean up new_segment API and structure.
3960           Let's hope everyone was using the methods, and not the structure.
3961
3962 2005-11-29  Edward Hervey  <edward@fluendo.com>
3963
3964         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3965         (gst_base_sink_event), (gst_base_sink_do_sync),
3966         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
3967         Properly handle non GST_FORMAT_TIME segment
3968         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3969         Properly handle non GST_FORMAT_TIME segment
3970         * gst/gstsegment.c:
3971         This function is valid if the accumulator is 0 and the format
3972         is different from the requested format.
3973         
3974 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3975
3976         * docs/gst/gstreamer-sections.txt:
3977         Add gst_query_new_seeking and gst_query_parse_seeking to the
3978         docs.
3979
3980 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3981
3982         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3983           Treat a pad alloc with new caps the same as if we were not
3984           negotiated, in order to allow a changing upstream output
3985           to produce a new format of data.
3986
3987 2005-11-29  Edward Hervey  <edward@fluendo.com>
3988
3989         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3990         (gst_base_transform_event), (gst_base_transform_eventfunc):
3991         The event virtual method is now properly implemented, with a default
3992         handler
3993         Sub classes should call the parent_class event method. They should
3994         return FALSE if they had a problem handling the given event, or don't
3995         want GstBaseTransform to send that even downstream
3996         * gst/elements/gstidentity.c: (gst_identity_class_init),
3997         (gst_identity_init), (gst_identity_event),
3998         (gst_identity_transform_ip), (gst_identity_set_property),
3999         (gst_identity_get_property):
4000         * gst/elements/gstidentity.h:
4001         Added the single-segment boolean property.
4002         If set to TRUE, it will output a single segment of data, starting from
4003         0, will eat up all incoming newsegment, and modify the timestamp of the
4004         buffers accordingly
4005
4006 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
4007
4008         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4009           Don't ref NULL target pad (#322751). Improve docs.
4010
4011 2005-11-29  Michael Smith  <msmith@fluendo.com>
4012
4013         * gst/gstregistryxml.c: (load_plugin):
4014           Don't crash if we failed to load a feature from a plugin. 
4015
4016 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4017
4018         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4019         (GST_START_TEST):
4020           use more check API and less GLib API
4021
4022 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4023
4024         * Makefile.am:
4025           don't run checks if we don't have check
4026         * common/check.mak:
4027           remove the registry when running make torture
4028         * docs/gst/gstreamer-sections.txt:
4029           remove second multiply
4030         * gst/gstqueue.c: (gst_queue_loop):
4031           fix a compile warning when disabling debug
4032
4033 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4034
4035         * gst/gstinfo.h:
4036         Hey! Let's print the pad name if the pointer != NULL instead
4037         of when it == NULL :-)
4038
4039 2005-11-28  Wim Taymans  <wim@fluendo.com>
4040
4041         * check/gst/gstutils.c: (GST_START_TEST):
4042         Updated check, add some scaling accuracy checking code.
4043
4044         * gst/gstutils.c: (gst_util_div128_64),
4045         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
4046         (gst_util_uint64_scale_int):
4047         Fix 6 times faster division code. Optimize for common 
4048         1/1 and less common X/1 cases.
4049
4050 2005-11-28  Wim Taymans  <wim@fluendo.com>
4051
4052         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4053         More checks.
4054
4055         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
4056         (do_linear_regression), (gst_clock_add_observation):
4057         Cleanups.
4058         Release lock when the clock cannot be slaved.
4059         Catch the case where the regression returned an invalid denominator.
4060
4061         * gst/gstutils.c: (gst_util_div128_64_iterate),
4062         (gst_util_div128_64), (gst_util_uint64_scale_int64),
4063         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4064         Add protentially more performant non-iterative 128/64 divide function
4065         that unfortunatly does not work yet.
4066         Shortcut the trivial 0/X = 0 case.
4067         Remove the warnings on overflow.
4068
4069 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4070
4071         * gst/gstplugin.c: (gst_plugin_register_func):
4072           everything causing a plugin not to load should be at least a WARNING
4073
4074 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
4075
4076         * docs/random/ensonic/dparams.txt:
4077           some TODOs for the next dev cycle
4078         * libs/gst/controller/gstcontroller.c:
4079         (gst_controlled_property_set_interpolation_mode),
4080         (gst_controlled_property_new):
4081         * libs/gst/controller/gstcontroller.h:
4082           use base type to assign acccessor functions
4083
4084 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4085
4086         * check/Makefile.am:
4087         Oops, that should have been top_srcdir
4088
4089 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4090
4091         * check/Makefile.am:
4092         * check/elements/fdsrc.c: (GST_START_TEST):
4093         Use a cmdline define to specify the location of a file to use for
4094         testing, to avoid breaking distcheck.
4095
4096 2005-11-28  Andy Wingo  <wingo@pobox.com>
4097
4098         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4099
4100 2005-11-28  Edward Hervey  <edward@fluendo.com>
4101
4102         * tools/gst-launch.c: (main):
4103         Clarify the output strings, makes it easier to translate.
4104         Fixes #322626
4105
4106 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4107
4108         * gst/Makefile.am:
4109           don't try and build net if we don't even have <sys/socket.h>
4110
4111 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
4112
4113         * check/Makefile.am:
4114         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4115         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4116           Add tests for fdsrc seekability
4117
4118         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4119         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4120         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4121         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4122         * gst/elements/gstfdsrc.h:
4123           fdsrc should not be a 'live' source.
4124           Implement seeking on seekable fd's.
4125
4126         * gst/gstquery.c: (gst_query_new_seeking),
4127         (gst_query_parse_seeking):
4128         * gst/gstquery.h:
4129           Implement SEEKING query functions: 
4130             *_new_seeking and *_parse_seeking
4131
4132 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
4133
4134         * gst/gstelement.c: (gst_element_dispose):
4135           don't loop forever
4136
4137         * gst/gstiterator.c:
4138         * gst/gststructure.c:
4139           doc fixes
4140
4141         * libs/gst/controller/gstcontroller.c:
4142         (gst_controlled_property_set_interpolation_mode):
4143         * libs/gst/controller/gstcontroller.h:
4144         * libs/gst/controller/gstinterpolation.c:
4145         (interpolate_none_get_enum_value_array):
4146           support controlling enums
4147
4148 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4149
4150         * gst/gstvalue.c:
4151           Improve documentation for gst_value_union().
4152
4153         * gst/gstvalue.h:
4154           Change return value for union, intersect and subtract functions
4155           from gint to gboolean.
4156
4157 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4158
4159         * gst/gstvalue.c: (gst_value_serialize_any_list),
4160         (gst_value_transform_any_list_string),
4161         (gst_value_deserialize_list), (gst_value_deserialize_array),
4162         (gst_value_set_int_range), (gst_value_deserialize_int_range),
4163         (gst_value_set_double_range), (gst_value_deserialize_double_range),
4164         (gst_value_set_fraction_range_full),
4165         (gst_value_deserialize_fraction_range),
4166         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4167         (gst_value_deserialize_boolean),
4168         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4169         (gst_value_serialize_float), (gst_value_deserialize_float),
4170         (gst_string_wrap), (gst_value_deserialize_string),
4171         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4172         (gst_value_union_int_range_int_range),
4173         (gst_value_intersect_int_range_int_range),
4174         (gst_value_intersect_double_range_double_range),
4175         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4176         (gst_value_subtract_int_range_int_range),
4177         (gst_value_subtract_double_double_range),
4178         (gst_value_subtract_double_range_double_range),
4179         (gst_value_deserialize_fraction):
4180         * gst/gstvalue.h:
4181           Use gint, gdouble and gchar in our API instead of int, double and
4182           char (and make usage in gstvalue.c more consistent).
4183
4184 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4185
4186         * check/Makefile.am:
4187         * libs/gst/controller/Makefile.am:
4188         * libs/gst/dataprotocol/Makefile.am:
4189           fix up Makefile.am and remove GST_ENABLE_NEW
4190
4191 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4192
4193         * configure.ac:
4194         * gst/Makefile.am:
4195         * gst/base/Makefile.am:
4196         * gst/check/Makefile.am:
4197         * gst/elements/Makefile.am:
4198         * gst/net/Makefile.am:
4199           update LDFLAGS use some more
4200
4201 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4202
4203         * common/m4/gst-doc.m4:
4204           Fixes #312589
4205
4206 2005-11-26  Edward Hervey  <edward@fluendo.com>
4207
4208         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4209         This shouldn't issue a g_warning since it returns NULL if it
4210         couldn't find the plugin, and all functions using this behave
4211         properly on a NULL return. Switching to a GST_WARNING.
4212
4213 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
4214
4215         * gst/gstbin.c: (gst_bin_handle_message_func):
4216         Don't leak clock messages.
4217
4218 2005-11-25  Wim Taymans  <wim@fluendo.com>
4219
4220         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4221         (gst_util_uint64_scale_int):
4222         Optimisations, remove unneeded vars.
4223
4224 2005-11-25  Wim Taymans  <wim@fluendo.com>
4225
4226         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4227         Added more checks for the high precision uint64 cases.
4228
4229         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4230         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4231         Implement high precision (guint64 * guint64) / guint64.
4232
4233 2005-11-24  Wim Taymans  <wim@fluendo.com>
4234
4235         * gst/base/gstbasesrc.c: (gst_base_src_query):
4236         Fix wrong percentage query.
4237
4238         * gst/gstutils.c: (gst_util_uint64_scale),
4239         (gst_util_uint64_scale_int):
4240         Add some more common cases that can be handled 
4241         efficiently to _scale.
4242
4243 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4244
4245         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4246         (gst_mini_object_suite):
4247           don't use check calls from threads; check probably isn't
4248           threadsafe and using a lock to make it threadsafe would
4249           defeat the purpose of this check
4250         * gst/check/gstcheck.c:
4251         * gst/check/gstcheck.h:
4252           use GST_DEBUG some more
4253
4254 2005-11-24  Wim Taymans  <wim@fluendo.com>
4255
4256         * gst/gstutils.c: (gst_util_uint64_scale),
4257         (gst_util_uint64_scale_int):
4258         Chain trivial case to _scale_int.
4259
4260 2005-11-24  Wim Taymans  <wim@fluendo.com>
4261
4262         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4263         Added test for scaling.
4264
4265         * gst/gstclock.h:
4266         Small doc fix.
4267
4268         * gst/gstutils.c: (gst_util_uint64_scale_int):
4269         Implemented high precision scaling code.
4270
4271 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
4272
4273         * gst/gstinfo.h:
4274           do not crash on pad==NULL
4275
4276 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4277
4278         Patch by: Stefan Kost
4279
4280         * common/gtk-doc.mak:
4281         * docs/gst/Makefile.am:
4282         * docs/libs/Makefile.am:
4283           Fix distcheck issues for the libraries docs build
4284           Closes #319599.
4285
4286 2005-11-24  Michael Smith <msmith@fluendo.com>
4287
4288         * docs/manual/basics-helloworld.xml:
4289           Fix bug #315027: memory leak in example code in docs.
4290
4291 2005-11-24  Michael Smith <msmith@fluendo.com>
4292
4293         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4294           Unlock the PREROLL_LOCK in a failure case.
4295
4296 2005-11-24  Wim Taymans  <wim@fluendo.com>
4297
4298         * docs/gst/gstreamer-sections.txt:
4299         * gst/base/gstadapter.h:
4300         * gst/base/gstbasesink.h:
4301         * gst/base/gstbasesrc.h:
4302         * gst/base/gstbasetransform.h:
4303         * gst/base/gstpushsrc.h:
4304         * gst/elements/gstfakesink.h:
4305         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
4306         * gst/elements/gstfakesrc.h:
4307         * gst/elements/gstfilesink.h:
4308         * gst/elements/gstfilesrc.h:
4309         * gst/gst.c:
4310         * gst/gstbin.c:
4311         * gst/gstbuffer.c: (_gst_buffer_copy):
4312         * gst/gstbus.h:
4313         * gst/gstcaps.c:
4314         * gst/gstchildproxy.c:
4315         * gst/gstclock.c:
4316         * gst/gstelement.c:
4317         * gst/gstelementfactory.c:
4318         * gst/gstelementfactory.h:
4319         * gst/gstevent.c:
4320         * gst/gstghostpad.h:
4321         * gst/gstindex.h:
4322         * gst/gstinterface.h:
4323         * gst/gstminiobject.c:
4324         * gst/gstminiobject.h:
4325         * gst/gstpad.c:
4326         * gst/gstpad.h:
4327         * gst/gstpadtemplate.h:
4328         * gst/gstpipeline.h:
4329         * gst/gstpluginfeature.h:
4330         * gst/gstquery.h:
4331         * gst/gstqueue.h:
4332         * gst/gsttaglist.c:
4333         * gst/gsttaglist.h:
4334         * gst/gsttagsetter.c:
4335         * gst/gsttagsetter.h:
4336         * gst/gsttrace.c:
4337         * gst/gsttrace.h:
4338         * gst/gsttypefind.h:
4339         * gst/gsturi.h:
4340         * gst/gstvalue.c:
4341         * gst/net/gstnetclientclock.c:
4342         * gst/net/gstnetclientclock.h:
4343         * gst/net/gstnettimepacket.c:
4344         * gst/net/gstnettimeprovider.c:
4345         * gst/net/gstnettimeprovider.h:
4346         Doc fixes.
4347
4348 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4349
4350         * configure.ac: back to HEAD
4351
4352 === release 0.9.6 ===
4353
4354 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
4355
4356         * configure.ac:
4357           releasing 0.9.6, "Always On Time"
4358
4359 2005-11-23  Wim Taymans  <wim@fluendo.com>
4360
4361         * docs/gst/gstreamer-sections.txt:
4362         * gst/glib-compat.c:
4363         * gst/gsttagsetter.c:
4364         * gst/gstvalue.c:
4365         * gst/net/gstnetclientclock.c:
4366         * gst/net/gstnettimepacket.h:
4367         Doc updates.
4368
4369 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4370
4371         * docs/faq/using.xml:
4372         * docs/libs/tmpl/gstcontrol.sgml:
4373         * docs/manual/advanced-dparams.xml:
4374         * docs/manual/appendix-checklist.xml:
4375         * docs/manual/basics-elements.xml:
4376         * docs/pwg/other-source.xml:
4377         * docs/random/moving-plugins:
4378         * gst/gstpad.c:
4379         * tools/gst-launch.1.in:
4380           remove mentions of sinesrc
4381
4382 2005-11-23  Michael Smith <msmith@fluendo.com>
4383
4384         * docs/gst/gstreamer-sections.txt:
4385           Update for new API and API changes.
4386         * gst/gstobject.h:
4387           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
4388         * gst/gstvalue.c:
4389           Documentation typo fix.
4390         * gst/net/gstnettimepacket.c:
4391           Documentation fixes for arguments.
4392
4393 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
4394
4395         * gst/gststructure.c: (gst_structure_get_fraction),
4396         (gst_structure_parse_value),
4397         (gst_structure_fixate_field_nearest_fraction):
4398         * gst/gststructure.h:
4399         * gst/gstutils.c: (gst_util_uint64_scale_int):
4400         * gst/gstutils.h:
4401         * scripts/update-funcnames:
4402         API Changes. 
4403         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
4404         Make gst_structure_fixate_field_nearest_fraction take a numerator
4405         and denominator argument instead of a GValue
4406         add gst_structure_get_fraction helper function.
4407
4408 2005-11-23  Wim Taymans  <wim@fluendo.com>
4409
4410         * docs/design/part-TODO.txt:
4411         Update TODO.
4412
4413         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4414         * gst/net/gstnetclientclock.h:
4415         Use parent fields for timeout and window_size.
4416
4417 2005-11-23  Andy Wingo  <wingo@pobox.com>
4418
4419         * check/net/gstnetclientclock.c (test_functioning): Adjust to
4420         rate_num/rate_denom change.
4421
4422         * gst/net/gstnetclientclock.c
4423         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
4424         OBJECT_LOCK. Don't call add_observation with the lock.
4425
4426         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
4427         fraction.
4428         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
4429         rate fraction.
4430         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
4431         deal with rate as a fraction whose numerator and denominator are
4432         GstClockTime values.
4433         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
4434         master; the other fields are protected by the SLAVE_LOCK.
4435         (do_linear_regression): Note that this must be called with the
4436         SLAVE_LOCK.
4437         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
4438         OBJECT_LOCK. Call set_calibration instead of touching the
4439         variables directly.
4440         (gst_clock_set_property, gst_clock_get_property): Protect
4441         master/slave parameters with the SLAVE_LOCK.
4442
4443         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
4444         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
4445         note that all of the instance variables that add_observation and
4446         the set_master functions use are protected by that lock and not
4447         the OBJECT_LOCK.
4448         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
4449
4450         * gst/gstclock.c (gst_clock_add_observation): No longer requires
4451         the caller to take the object lock.
4452
4453 2005-11-23  Wim Taymans  <wim@fluendo.com>
4454
4455         * gst/gsterror.c: (_gst_core_errors_init):
4456         * gst/gsterror.h:
4457         Add error for clock stuff.
4458
4459         * gst/gstpipeline.c: (gst_pipeline_change_state),
4460         (gst_pipeline_set_clock):
4461         Post clock error when clock cannot be used in a pipeline.
4462
4463 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
4464
4465         * docs/gst/gstreamer-sections.txt:
4466           make two symbols from gstinfo private for the docs
4467         * gst/base/gstcollectpads.h:
4468         * gst/gstutils.c:
4469           fix doc typos, update docs
4470
4471 2005-11-22  Wim Taymans  <wim@fluendo.com>
4472
4473         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4474         (gst_base_sink_wait), (gst_base_sink_do_sync),
4475         (gst_base_sink_handle_event):
4476         * gst/base/gstbasesink.h:
4477         No need to store the clock, the parent element class already
4478         has it.
4479
4480         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
4481         Updates for clock_set returning a gboolean
4482
4483         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
4484         (gst_clock_id_wait_async), (gst_clock_class_init),
4485         (gst_clock_init), (gst_clock_finalize),
4486         (gst_clock_get_internal_time), (gst_clock_get_time),
4487         (gst_clock_slave_callback), (gst_clock_set_master),
4488         (gst_clock_get_master), (do_linear_regression),
4489         (gst_clock_add_observation), (gst_clock_set_property),
4490         (gst_clock_get_property):
4491         * gst/gstclock.h:
4492         Implement master/slave. When setting a clock as a slave, a
4493         periodic timeout is scheduled to sample master and slave times.
4494         Then the slave clock is recalibrated to match offset and rate
4495         of the master clock.
4496         Update logging a bit.
4497         Add flag so that a clock can state that is cannot be slaved to
4498         another clock.
4499
4500         * gst/gstelement.c: (gst_element_set_clock):
4501         * gst/gstelement.h:
4502         The set clock returns a gboolean for when an element cannot
4503         deal with the selected clock in the pipeline. 
4504
4505         * gst/gstpipeline.c: (gst_pipeline_change_state),
4506         (gst_pipeline_set_clock):
4507         * gst/gstpipeline.h:
4508         Handle the case where the selected clock cannot be set on
4509         the pipeline.
4510
4511         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
4512         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4513         (gst_net_client_clock_set_property),
4514         (gst_net_client_clock_get_property),
4515         (gst_net_client_clock_observe_times):
4516         * gst/net/gstnetclientclock.h:
4517         Use regression code in GstClock parent, remove duplicated
4518         functionality.
4519
4520 2005-11-22  Michael Smith <msmith@fluendo.com>
4521
4522         * gst/gstutils.c: (gst_util_clock_time_scale):
4523         * gst/gstutils.h:
4524         * docs/gst/gstreamer-sections.txt:
4525           Rename method to have extra underscore.
4526
4527 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4528
4529         * gst/elements/Makefile.am:
4530         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
4531         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4532         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4533         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
4534         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
4535         * gst/elements/gstfakesrc.h:
4536         * gst/gstqueue.c: (queue_leaky_get_type):
4537           correctly fix GEnumValues so that nick is the short lowercase
4538           dashed tag
4539         * tools/gst-inspect.c: (print_element_properties_info):
4540           also show the nick, since it's useful to use from parse_launch
4541           syntax
4542           Fixes #322139
4543
4544 2005-11-22  Michael Smith <msmith@fluendo.com>
4545
4546         * gst/gstutils.c: (gst_util_clocktime_scale):
4547         * gst/gstutils.h:
4548         * docs/gst/gstreamer-sections.txt:
4549           Add util method for scaling a clocktime by a fraction. Useful 
4550           implementation is left as an exercise for the reader.
4551
4552 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4553
4554         * gst/gstvalue.c: (gst_value_collect_fraction_range):
4555         If needed, allocate storage in the destination value during
4556         collection.
4557
4558 2005-11-22  Edward Hervey  <edward@fluendo.com>
4559
4560         * docs/gst/gstreamer-sections.txt:
4561         * gst/Makefile.am:
4562         * gst/gst.h:
4563         * gst/gsturitype.c:
4564         * gst/gsturitype.h:
4565         * gst/gstutils.c: (gst_util_set_object_arg):
4566         * tools/gst-compprep.c: (main):
4567         * tools/gst-inspect.c: (print_element_properties_info):
4568         Removed GstURI, closes bug #321061
4569
4570 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4571
4572         * check/gst/gststructure.c: (GST_START_TEST):
4573         * gst/gststructure.c: (gst_structure_parse_value):
4574           Oops, broke automatic string type parsing.
4575           Add a test to catch it in future.
4576
4577 2005-11-22  Andy Wingo  <wingo@pobox.com>
4578
4579         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
4580         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
4581         Actually rename the function implementations. Grr.
4582
4583 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4584
4585         * check/gst/capslist.h:
4586           Comment test cases
4587         * check/gst/gststructure.c: (GST_START_TEST),
4588         (gst_structure_suite):
4589           Test automatic value type detection in gst_structure_from_string.
4590         * gst/gststructure.c: (gst_structure_parse_value):
4591           Add fraction as a type we try and guess automatically in
4592           caps/structure strings.
4593
4594 2005-11-22  Andy Wingo  <wingo@pobox.com>
4595
4596         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4597
4598         * gst/gsttagsetter.h:
4599         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4600         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4601         (gst_tag_setter_add_tag_valist)
4602         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4603         _add_values, _add_valist, and _add_valist_values. Since this is an
4604         interface the function suffixes should be more explicit so
4605         language binding don't end up with element.add_valist ->
4606         gst_tag_setter_add_valist, for example. Fixes #322069.
4607
4608 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4609
4610         * check/gst/gstcaps.c: (GST_START_TEST):
4611           Extend caps string tests to check that a caps to string
4612           conversion is reversible and produces the same caps.
4613
4614         * gst/gststructure.c: (gst_structure_value_get_generic_type):
4615           Output "fraction" as the generic type fraction range, so caps
4616           serialisation and deserialisation works.
4617         * check/gst/capslist.h:
4618         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4619           Support 'MIN' and 'MAX' for deserialising fractions.
4620
4621 2005-11-22  Andy Wingo  <wingo@pobox.com>
4622
4623         * gst/gstevent.h (gst_event_new_new_segment)
4624         (gst_event_parse_new_segment, gst_event_new_buffer_size)
4625         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4626         Renamed from *_newsegment, *_buffersize, *_notarget.
4627
4628         * scripts/update-funcnames: New script, performs the changes
4629         listed above.
4630
4631 2005-11-22  Wim Taymans  <wim@fluendo.com>
4632
4633         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4634         Make sure the GstFlowReturn is returned.
4635
4636         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
4637         (gst_bus_add_signal_watch):
4638         * gst/gstbus.h:
4639         add gst_bus_add_signal_watch_full.
4640
4641         * gst/gstplugin.c: (gst_plugin_load_file):
4642         Small style cleanup.
4643
4644 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4645
4646         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
4647           Block the fakesrc srcpad when we send an event, to avoid
4648           contention on the stream_lock causing random test failures.
4649
4650 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4651
4652         * check/gst/gstvalue.c: (GST_START_TEST):
4653         * gst/gstvalue.c: (gst_value_fraction_subtract):
4654           Fix subtraction.
4655
4656 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
4657
4658         * gst/gst.h:
4659           include "gstchildproxy.h"
4660         * gst/gstchildproxy.h:
4661         * libs/gst/controller/gstcontroller.h:
4662           use G_GNUC_NULL_TERMINATED
4663
4664 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4665
4666         * check/gst/capslist.h:
4667         * check/gst/gstcaps.c: (GST_START_TEST):
4668         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4669         * gst/gststructure.c: (gst_structure_parse_range),
4670         (gst_structure_fixate_field_nearest_fraction):
4671         * gst/gststructure.h:
4672         * gst/gstvalue.c: (gst_value_init_fraction_range),
4673         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
4674         (gst_value_collect_fraction_range),
4675         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
4676         (gst_value_set_fraction_range_full),
4677         (gst_value_get_fraction_range_min),
4678         (gst_value_get_fraction_range_max),
4679         (gst_value_serialize_fraction_range),
4680         (gst_value_transform_fraction_range_string),
4681         (gst_value_compare_fraction_range),
4682         (gst_value_deserialize_fraction_range),
4683         (gst_value_intersect_fraction_fraction_range),
4684         (gst_value_intersect_fraction_range_fraction_range),
4685         (gst_value_subtract_fraction_fraction_range),
4686         (gst_value_subtract_fraction_range_fraction),
4687         (gst_value_subtract_fraction_range_fraction_range),
4688         (gst_value_collect_fraction), (gst_value_fraction_multiply),
4689         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
4690         (gst_value_transform_string_fraction), (_gst_value_initialize):
4691         * gst/gstvalue.h:
4692           Implement fraction ranges and extend GstFraction to support
4693           arithmetic subtraction, as well as deserialization from integer
4694           strings such as "100"
4695           Add a testsuite as for int and double range set operations
4696
4697 2005-11-21  Andy Wingo  <wingo@pobox.com>
4698
4699         * gst/gsttaglist.h: 
4700         * gst/gstcaps.h: 
4701         * gst/gststructure.h: Add glib-compat.h.
4702
4703 2005-11-21  Wim Taymans  <wim@fluendo.com>
4704
4705         * gst/gstbin.c: (gst_bin_change_state_func):
4706         Fix for #321595
4707
4708 2005-11-21  Wim Taymans  <wim@fluendo.com>
4709
4710         * gst/gstsegment.h:
4711         And add a nice define too.
4712
4713 2005-11-21  Wim Taymans  <wim@fluendo.com>
4714
4715         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
4716         (gst_segment_new), (gst_segment_free), (gst_segment_init),
4717         (gst_segment_set_duration), (gst_segment_set_last_stop),
4718         (gst_segment_set_seek), (gst_segment_set_newsegment),
4719         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4720         (gst_segment_clip):
4721         * gst/gstsegment.h:
4722         Make binding friendly.
4723
4724 2005-11-21  Andy Wingo  <wingo@pobox.com>
4725
4726         * gst/gsttagsetter.h: 
4727         * gst/gsttaglist.h: 
4728         * gst/gststructure.h: 
4729         * gst/gstcaps.h: 
4730         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
4731         #319940.
4732
4733         * gst/gsterror.c (_gst_core_errors_init):
4734         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
4735         category.
4736
4737         * gst/Makefile.am (gst_headers): Add glib-compat.h.
4738         (noinst_HEADERS): noinst the -private.
4739
4740 2005-11-21  Michael Smith <msmith@fluendo.com>
4741
4742         * gst/gstplugin.h:
4743         * gst/gstregistry.h:
4744           Remove unimplemented declarations for which we can see no sensible
4745           use.
4746
4747 2005-11-21  Andy Wingo  <wingo@pobox.com>
4748
4749         * gst/gst.h: Include glib-compat.h.
4750
4751         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
4752
4753         * gst/glib-compat.c: Include the public and the private header.
4754
4755         * gst/glib-compat-private.h: Copied here from glib-compat.h.
4756
4757         * gst/gstvalue.c: 
4758         * gst/gstpad.c: 
4759         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
4760
4761         * check/gst/gstevent.c (create_custom_events): Check that
4762         FLUSH_STOP is serialized.
4763
4764         * check/elements/identity.c (event_func): 
4765         * check/elements/fakesrc.c (event_func): No stream lock, the core
4766         takes it.
4767
4768         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
4769         stream lock taking, yay.
4770
4771         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
4772         ensure that core takes the stream lock.
4773
4774         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
4775         lock name change.
4776
4777         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
4778         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
4779         it already. For the flush start we do take it though so we get the
4780         right preroll state change messages.
4781
4782         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
4783         the stream lock here, the core does it for us.
4784
4785         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
4786         GST_STREAM_GET_LOCK.
4787         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
4788         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
4789         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
4790         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
4791         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
4792         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
4793
4794         * gst/gstpad.c: Update for stream lock name change.
4795
4796         * gst/base/gstbasesink.c: Update for preroll lock name change.
4797
4798 2005-11-21  Wim Taymans  <wim@fluendo.com>
4799
4800         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
4801         (gst_clock_get_master):
4802         * gst/gstclock.h:
4803         * gst/gstsystemclock.c: (gst_system_clock_init):
4804         Convert Clock flags to object flags.
4805         Added methods to manage master/slave clocks.
4806
4807 2005-11-21  Wim Taymans  <wim@fluendo.com>
4808
4809         * check/gst/gstsegment.c: (GST_START_TEST):
4810         * docs/design/part-TODO.txt:
4811         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4812         (gst_base_sink_event), (gst_base_sink_do_sync),
4813         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4814         (gst_base_sink_query), (gst_base_sink_change_state):
4815         * gst/base/gstbasesink.h:
4816         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4817         (gst_base_src_default_newsegment),
4818         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4819         (gst_base_src_get_range), (gst_base_src_loop),
4820         (gst_base_src_change_state):
4821         * gst/base/gstbasesrc.h:
4822         * gst/base/gstbasetransform.c:
4823         (gst_base_transform_prepare_output_buf),
4824         (gst_base_transform_event), (gst_base_transform_change_state):
4825         * gst/base/gstbasetransform.h:
4826         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4827         (gst_collect_pads_event):
4828         * gst/base/gstcollectpads.h:
4829         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
4830         (gst_fake_src_create):
4831         * gst/elements/gstfakesrc.h:
4832         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4833         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4834         (gst_segment_set_last_stop), (gst_segment_set_seek),
4835         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4836         (gst_segment_to_running_time), (gst_segment_clip):
4837         * gst/gstsegment.h:
4838         More segment updates, replace code in plugins with segment
4839         helper functions.
4840
4841 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4842
4843         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
4844         Don't ignore sscanf results
4845
4846 2005-11-21  Andy Wingo  <wingo@pobox.com>
4847
4848         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
4849
4850         * *.h:
4851         * *.c: Ran scripts/update-macros. Oh yes.
4852
4853         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
4854         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
4855         GST_GET_LOCK, etc.
4856
4857         * scripts/update-macros: New script. Run it on your files to
4858         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
4859         well.
4860
4861 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4862
4863         * docs/gst/Makefile.am:
4864         * docs/gst/gstreamer-docs.sgml:
4865         * docs/gst/gstreamer-sections.txt:
4866         * docs/gst/gstreamer.types:
4867         * gst/gstinfo.h:
4868           more docs fixes, add new api to the docs
4869
4870 2005-11-21  Andy Wingo  <wingo@pobox.com>
4871
4872         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
4873         state_broadcast call.
4874
4875         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
4876
4877 2005-11-21  Julien MOUTTE  <julien@moutte.net>
4878
4879         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
4880         function calls for arrays.
4881
4882 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4883
4884         * docs/random/ensonic/media-device-daemon.txt:
4885           wild idea, can this be done?
4886         * docs/gst/gstreamer-sections.txt:
4887         * gst/gsterror.h:
4888         * gst/gstfilter.c:
4889         * gst/gstfilter.h:
4890         * gst/gstplugin.h:
4891         * gst/gstpluginfeature.c:
4892         * gst/gsttrace.c:
4893         * gst/gstvalue.c:
4894         * gst/gstvalue.h:
4895           doc fixes and additions
4896
4897 2005-11-21  Andy Wingo  <wingo@pobox.com>
4898
4899         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
4900         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
4901         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
4902         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
4903         private to the basesrc implementation.
4904
4905         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
4906         behalf of event function if necessary. It should no longer be
4907         necessary to take the stream lock in pad's event functions. Fixes
4908         #320299.
4909
4910 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4911         * docs/gst/gstreamer-sections.txt:
4912         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
4913         (gst_structure_fixate_field_nearest_double),
4914         (gst_structure_fixate_field_boolean):
4915         * gst/gststructure.h:
4916         * win32/common/libgstreamer.def:
4917         * win32/gstreamer.def:
4918
4919         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
4920         (#322027)
4921
4922 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4923
4924         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
4925         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
4926         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
4927         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
4928         (gst_fdsrc_uri_handler_init):
4929         * gst/elements/gstfdsrc.h:
4930           Port fd:// URI handler from 0.8 to fdsrc
4931
4932 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4933
4934         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
4935         (gst_value_serialize_fourcc):
4936         * gst/gstvalue.h:
4937           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
4938           consistent with our other format defines (#320324).
4939
4940 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4941
4942         * gst/gstvalue.c: (gst_value_is_fixed):
4943           Revert previous commit. Value lists are by definition
4944           not fixed, as they are a list of possible values.
4945
4946 2005-11-21  Andy Wingo  <wingo@pobox.com>
4947
4948         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
4949         during the stable series if we need it. Fixes #319178.
4950
4951         * gst/gstevent.c (gst_event_new_filler): Removed.
4952
4953         * check/gst/gstevent.c: Update comment about filler events.
4954
4955 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4956
4957         * gst/gstvalue.c: (gst_value_is_fixed):
4958           Should handle both value arrays and value lists.
4959
4960 2005-11-21  Andy Wingo  <wingo@pobox.com>
4961
4962         patch by: Alessandro Dessina <alessandro nnva org>
4963
4964         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
4965         functions to access arrays. Fixes #321962.
4966
4967 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4968
4969         * docs/gst/gstreamer.types:
4970           gst_collectpads_get_type => gst_collect_pads_get_type.
4971           
4972         * gst/base/gstbasetransform.c:
4973           Remove unused SIGNAL_HANDOFF enum.
4974
4975 2005-11-21  Andy Wingo  <wingo@pobox.com>
4976
4977         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
4978         the event type (upstream, downstream, serialized). Renamed
4979         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
4980         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
4981         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
4982
4983         * gst/gstevent.c: Update for new CUSTOM event names.
4984
4985         * check/gst/gstevent.c: Update check for new CUSTOM event names.
4986
4987         * gst/gstevent.h:
4988         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
4989         bug #319392.
4990
4991 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4992
4993         * docs/gst/gstreamer-sections.txt:
4994         * win32/common/libgstbase.def:
4995         * win32/libgstbase.def:
4996         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4997         (gst_collect_pads_class_init), (gst_collect_pads_init),
4998         (gst_collect_pads_finalize), (gst_collect_pads_new),
4999         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
5000         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
5001         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
5002         (gst_collect_pads_start), (gst_collect_pads_stop),
5003         (gst_collect_pads_peek), (gst_collect_pads_pop),
5004         (gst_collect_pads_available), (gst_collect_pads_read),
5005         (gst_collect_pads_flush), (gst_collect_pads_event),
5006         (gst_collect_pads_chain):
5007         * gst/base/gstcollectpads.h:
5008           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
5009           unimplemented functions as unimplemented. Add padding to
5010           GstCollectData. (#320766, #320423)
5011
5012 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5013
5014         * gst/gstmessage.c:
5015           Improve docs for DURATION message (usage of duration parameter)
5016           (#320113)
5017
5018 2005-11-20  Wim Taymans  <wim@fluendo.com>
5019
5020         * check/Makefile.am:
5021         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
5022         (main):
5023         * gst/Makefile.am:
5024         * gst/gst.h:
5025         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5026         (gst_segment_set_seek), (gst_segment_set_newsegment),
5027         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5028         (gst_segment_clip):
5029         * gst/gstsegment.h:
5030         Added segment helper structure and methods. Not fully implemented
5031         yet.
5032         Added segment check.
5033
5034 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
5035
5036         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5037           Add a deserialisation test for fractions
5038         * examples/metadata/read-metadata.c: (message_loop),
5039         (make_pipeline), (main):
5040           Fix up metadata reading sample.
5041         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5042           Debug format fix
5043         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5044           Don't try and fixate empty caps
5045         * gst/gst_private.h:
5046           Wrap in G_BEGIN_DECLS/G_END_DECLS
5047         * gst/gstvalue.c: (gst_value_collect_fraction),
5048         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
5049         (gst_value_transform_string_fraction),
5050         (gst_value_compare_fraction):
5051           Add some extra guards to ensure that we don't end up 
5052           with an invalid denominator of 0 in a gstfraction and
5053           that fractions always get reduced.
5054
5055 2005-11-20  Wim Taymans  <wim@fluendo.com>
5056
5057         * docs/gst/gstreamer-sections.txt:
5058         * gst/gstbuffer.h:
5059         * gst/gstelement.c:
5060         * gst/gstformat.c:
5061         * gst/gstformat.h:
5062         * gst/gstindex.h:
5063         * gst/gstquery.c:
5064         * gst/gstquery.h:
5065         * gst/gstvalue.c:
5066         Doc fixes.
5067
5068 2005-11-20  Wim Taymans  <wim@fluendo.com>
5069
5070         * docs/design/part-TODO.txt:
5071         * gst/gstcaps.h:
5072         Make a proper enum of the flag.
5073
5074 2005-11-19  Wim Taymans  <wim@fluendo.com>
5075
5076         * docs/design/part-TODO.txt:
5077         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
5078         (gst_format_to_quark), (gst_format_register):
5079         * gst/gstformat.h:
5080         * gst/gstquery.c: (_gst_query_initialize),
5081         (gst_query_type_get_name), (gst_query_type_to_quark),
5082         (gst_query_type_register):
5083         * gst/gstquery.h:
5084         Add type to quark and type to string conversions.
5085
5086 2005-11-19  Andy Wingo  <wingo@pobox.com>
5087
5088         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
5089         #320097.
5090
5091 2005-11-19  Wim Taymans  <wim@fluendo.com>
5092
5093         * docs/design/part-TODO.txt:
5094         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5095         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5096         (gst_bin_handle_message_func):
5097         * gst/gstbin.h:
5098         Make message handling overridable.
5099
5100 2005-11-19  Andy Wingo  <wingo@pobox.com>
5101
5102         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5103
5104         * gst/gstclock.h:
5105         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5106         be a GstClockTime.
5107         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5108         is a GstClockTime. Fixes #321710.
5109
5110         * gst/gstclock.h (GstClock): Remove offset property. Add
5111         internal_calibration and external_calibration. Fix padding. Pad
5112         also by GstClockTime so we don't run into problems.
5113
5114         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5115         (gst_clock_get_rate_offset): Remove.
5116         (gst_clock_set_time_adjust): Remove. Fixes #321712.
5117
5118         * gst/gstutils.h:
5119         * gst/gstutils.c (g_static_rec_cond_wait)
5120         (g_static_rec_cond_timed_wait): Removed, no longer needed.
5121
5122         * gst/gstbin.c: Remove terrible continue_state prototype.
5123
5124         * gst/gstelement.h (gst_element_continue_state): Make public.
5125
5126         * gst/gstelement.h:
5127         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5128         by continue_state. Fixes #319389.
5129
5130         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5131         Really fixes #168438. However I don't see anywhere where the
5132         filter function is called... stupid GStreamer...
5133         
5134         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5135         don't have a dispose function, so it won't get called when the
5136         object is unreffed, but oh well!
5137
5138         * gst/gstindex.c (gst_index_set_filter_full): New API function,
5139         allows a destroy function to be set so user_data can be freed.
5140         Fixes #168438.
5141         (gst_index_set_filter): Call gst_index_set_filter_full.
5142
5143         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5144
5145         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5146         string should produce an error, given the lack of a way to
5147         represent NULL strings. Fixes #165650.
5148         
5149         * gst/gstvalue.h: 
5150         * gst/gstvalue.c (gst_value_array_append_value) 
5151         (gst_value_array_prepend_value, gst_value_array_get_size) 
5152         (gst_value_array_get_value): New API, copied from
5153         gst_value_list_*, only operates on arrays.
5154         (gst_value_list_append_value, gst_value_list_prepend_value) 
5155         (gst_value_list_concat, gst_value_list_get_size) 
5156         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5157
5158         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5159         init_list, because it works on both.
5160         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5161         (gst_value_copy_list_or_array): Renamed from copy_list.
5162         (gst_value_free_list_or_array): Renamed from free_list.
5163         (gst_value_collect_list_or_array): Renamed from collect_list.
5164         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5165         (gst_value_list_or_array_peek_pointer): Renamed from
5166         list_peek_pointer.
5167         (_gst_value_array_value_table, _gst_value_list_value_table):
5168         Update value table functions.
5169         (gst_value_compare_list_or_array): Renamed from compare_list.
5170
5171         * gsttaglist.h: Whoops, foreach function returns void. Also fix
5172         some constness.
5173
5174         * gst/gsttaglist.c:
5175         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5176         GstTagList*. Fixes #143472.
5177
5178         * gst/gststructure.h: Clarify what the foreach/map functions can
5179         or can't do to their arguments.
5180
5181 2005-11-18  Wim Taymans  <wim@fluendo.com>
5182
5183         * gst/gstclock.c: (gst_clock_set_calibration),
5184         (gst_clock_get_calibration):
5185         Doc and API fixes.
5186         Calibration can be set with internal time equal to current
5187         internal time too.
5188
5189 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5190
5191         * gst/gsterror.c:
5192         * gst/gsterror.h:
5193           document
5194
5195 2005-11-18  Andy Wingo  <wingo@pobox.com>
5196
5197         * configure.ac: 
5198         * pkgconfig/gstreamer-net.pc.in:
5199         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5200         * pkgconfig/Makefile.am: Add net pkgconfig files.
5201
5202 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
5203
5204         * gst/gstcaps.c:
5205         * gst/gstghostpad.c:
5206         * gst/gsttrace.c:
5207         * gst/gstvalue.c:
5208         * gst/gstvalue.h:
5209           docs fixes
5210
5211 2005-11-18  Andy Wingo  <wingo@pobox.com>
5212
5213         * gst/net/gstnetclientclock.c: Turn off debugging.
5214
5215         * check/net/gstnetclientclock.c (test_functioning): Assert that the
5216         times connverge somewhat. Can't make a real test.
5217
5218         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5219         integer arithmetic. Return the minimum of the domain, which can be
5220         set as "internal" for gst_clock_set_calibration.
5221         (gst_net_client_clock_observe_times): Call _set_calibration.
5222         (gst_net_client_clock_new): Call _set_calibration instead of
5223         rate_offset.
5224
5225         * check/net/gstnetclientclock.c (test_functioning): Use the right
5226         adjustment api.
5227
5228         * gst/gstclock.h:
5229         * gst/gstclock.c (gst_clock_get_calibration) 
5230         (gst_clock_set_calibration): New functions, obsolete the ones I
5231         added yesterday. Doh. Precision issues mean we have to extrapolate
5232         from a point in the more recent past than 1970.
5233         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5234         obsolete.
5235         (gst_clock_adjust_unlocked): Use the right calibration data.
5236
5237 2005-11-18  Edward Hervey  <edward@fluendo.com>
5238
5239         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
5240         Also reset the ->current_* values in READY->PAUSED
5241
5242 2005-11-18  Andy Wingo  <wingo@pobox.com>
5243
5244         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5245         Whoops, check the right fd. Also add some debugging.
5246         (gst_net_client_clock_observe_times): Adjust for int64 offset.
5247         (do_linear_regression): Add a crapload of debugging. Subtract off
5248         the minimum values from the input series to discard unneeded bits.
5249         Use only int arithmetic. There is still double arithmetic when
5250         calculating the intercept that needs fixing. Return boolean to
5251         indicate success; FALSE would mean the domain or range is too
5252         great. Still needs fixes.
5253
5254 2005-11-18  Wim Taymans  <wim@fluendo.com>
5255
5256         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5257         For the current position in stream time, we need to subtract
5258         accumulated time.
5259         
5260         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5261         Release lock before calling the callback function of async
5262         entries.
5263
5264 2005-11-18  Andy Wingo  <wingo@pobox.com>
5265
5266         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
5267         Port goes all the way to MAXUINT16.
5268
5269         * gst/net/gstnettimeprovider.c: Make the port range the same as
5270         for the kernel: 0 assigns, otherwise ports are less than
5271         MAXUINT16.
5272
5273         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
5274         port change.
5275
5276         * check/net/gstnetclientclock.c (test_functioning): Add the start
5277         of another test. 
5278
5279 2005-11-18  Wim Taymans  <wim@fluendo.com>
5280
5281         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5282         (gst_bin_remove_func), (bin_bus_handler):
5283         * gst/gstbin.h:
5284         Removing a clock provider from a bin, triggers a clock lost message
5285         so that a new clock will be selected.
5286         Adding a clock to a bin triggers a clock provider message.
5287         Make sure we reselect a clock when we received a clock lost message.
5288         Keep a reference to the element that provided the clock.
5289
5290 2005-11-18  Andy Wingo  <wingo@pobox.com>
5291
5292         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
5293         the clock initially so it produces values around the base time.
5294         (gst_net_client_clock_class_init): Typo fix.
5295         (gst_net_client_clock_thread): Add note on when the socket gets
5296         closed.
5297
5298 2005-11-17  Wim Taymans  <wim@fluendo.com>
5299
5300         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
5301         Free remote and local time arrays.
5302
5303 2005-11-17  Wim Taymans  <wim@fluendo.com>
5304
5305         * gst/net/gstnetclientclock.c: (do_linear_regression),
5306         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
5307         Fix compilation, uninitialized vars and a forgotten continue.
5308
5309 2005-11-17  Andy Wingo  <wingo@pobox.com>
5310
5311         * check/Makefile.am (check_PROGRAMS): 
5312         * check/net/gstnetclientclock.c: Add a most minimal test for the
5313         net client clock. More to come later.
5314
5315         * gst/net/gstnet.h: 
5316         * gst/net/Makefile.am: Add netclientclock.
5317
5318         * gst/net/gstnetclientclock.h:
5319         * gst/net/gstnetclientclock.c: New files, implement an untested
5320         GstClock that takes its time from a network time provider.
5321         Implements the algorithm in network-clock.scm.
5322
5323         * tests/network-clock.scm (*window-size*): Rename from
5324         *queue-length*.
5325         * tests/network-clock.scm (network-time): 
5326         * tests/network-clock-utils.scm (q-push): Update callers.
5327
5328 2005-11-17  Wim Taymans  <wim@fluendo.com>
5329
5330         * gst/gstbin.c: (gst_bin_provide_clock_func),
5331         (gst_bin_sort_iterator_new):
5332         And unref the child too..
5333
5334 2005-11-17  Wim Taymans  <wim@fluendo.com>
5335
5336         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5337         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
5338         Refactor the sort iterator so it can be used while holding the
5339         LOCK too.
5340         Make clock selection select a clock closest to the source.
5341
5342 2005-11-17  Michael Smith <msmith@fluendo.com>
5343
5344         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
5345         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
5346         * gst/gstclock.h:
5347           Anonymous structs are a gcc (and some other compilers) extension, so
5348           don't use them. Since this is only for ABI-compatibility, and our
5349           API/ABI freeze is over in a few days, this whole thing will only
5350           last a few days, so don't bother trying to think up a meaningful
5351           name for the struct.
5352
5353 2005-11-17  Andy Wingo  <wingo@pobox.com>
5354
5355         * gst/gstclock.h (GstClock): Add rate and offset properties,
5356         preserving ABI stability. Add rate/offset accessors. Will file bug
5357         for the freeze break.
5358
5359         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
5360         and offset, trying to keep precision and avoiding
5361         underflow/overflow.
5362         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
5363         functions. Make gst_clock_set_time_adjust obsolete.
5364         (gst_clock_set_time_adjust): Note that this function is obsolete.
5365         Will file bug soon.
5366
5367         * gst/base/gstbasetransform.h: Make the ABI-stability hack
5368         greppable by using GST_PADDING-1+1.
5369
5370 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
5371
5372         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5373
5374         * gst/gstmessage.c: (gst_message_parse_clock_lost):
5375           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
5376
5377         * gst/gstpadtemplate.h:
5378         * gst/gstpluginfeature.h:
5379           Don't use c++ style comments in headers (#321638).
5380
5381 2005-11-16  Andy Wingo  <wingo@pobox.com>
5382
5383         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
5384         buffer.
5385
5386         * check/net/gstnettimeprovider.c: Check to see that the time
5387         provider actually provides times. Works, yo!
5388
5389 2005-11-16  Wim Taymans  <wim@fluendo.com>
5390
5391         * check/Makefile.am:
5392         Enable more tests.
5393
5394         * check/elements/fakesrc.c: (GST_START_TEST):
5395         Set element to NULL before disposing it.
5396
5397 2005-11-16  Andy Wingo  <wingo@pobox.com>
5398
5399         * gst/net/Makefile.am:
5400         * gst/net/gstnet.h:
5401         * gst/net/gstnettimeprovider.c: 
5402         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
5403         provider, include it from gstnet.h, and add it to the build.
5404
5405         * gst/net/gstnettimepacket.h: 
5406         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
5407         sending and receiving.
5408
5409 2005-11-16  Wim Taymans  <wim@fluendo.com>
5410
5411         * check/Makefile.am:
5412         Enable valgrind check.
5413
5414         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
5415         (gst_fake_src_alloc_buffer):
5416         Fix memleak.
5417
5418 2005-11-16  Wim Taymans  <wim@fluendo.com>
5419
5420         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
5421         Call parent finalize too.
5422
5423 2005-11-16  Wim Taymans  <wim@fluendo.com>
5424
5425         * check/Makefile.am:
5426         Enable valgrind check that should work fine now.
5427
5428         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5429         * gst/gstqueue.c: (gst_queue_init):
5430         Fix memleaks in pad allocation.
5431
5432 2005-11-16  Andy Wingo  <wingo@pobox.com>
5433
5434         * gst/net/Makefile.am:
5435         * gst/net/gstnet.h: New part of core to hold network elements and
5436         objects. Put in core because it exposes API that applications want
5437         to use. The library is named libgstnet-tempname right now because
5438         of the existing libgstnet in gst-plugins-base. Solution is
5439         probably to rename the one in plugins-base; will file a bug for
5440         the freeze break.
5441
5442         * gst/net/gstnettimeprovider.c: 
5443         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
5444         get_time call over the network.
5445
5446         * configure.ac: 
5447         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
5448
5449         * check/Makefile.am:
5450         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
5451         get additions shortly.
5452
5453 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5454
5455         * gst/gstpad.c: (gst_pad_new_from_static_template):
5456         * gst/gstpad.h:
5457           add gst_pad_new_from_static_template functions
5458         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
5459         (gst_check_setup_sink_pad):
5460         * gst/elements/gsttee.c: (gst_tee_init):
5461           and use them
5462
5463 2005-11-16  Wim Taymans  <wim@fluendo.com>
5464
5465         * gst/gstpad.c: (gst_pad_pause_task):
5466         Removed warning, it's not really an error either.
5467
5468 2005-11-16  Wim Taymans  <wim@fluendo.com>
5469
5470         * gst/base/gstbasetransform.c:
5471         (gst_base_transform_prepare_output_buf),
5472         (gst_base_transform_event):
5473         Check if the caps are NULL, this can happen if the element
5474         is shutting down and the pad caps are set to NULL.
5475
5476 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5477
5478         * gst/elements/gsttee.c: (gst_tee_init):
5479           fix pad template leak in tee
5480
5481 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * gst/glib-compat.c: (g_value_dup_gst_object):
5484         * gst/glib-compat.h:
5485         * gst/gstpad.c: (gst_pad_set_property):
5486           use gst_object_ref when setting the pad template; this will
5487           trigger the pad template leaks on GLib 2.6 and the slaves
5488
5489 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5490
5491         * gst/glib-compat.c: (gst_flags_get_first_value):
5492         * gst/glib-compat.h:
5493         * gst/gstregistryxml.c:
5494           remove functions copied from GLib 2.6
5495
5496 2005-11-16  Michael Smith <msmith@fluendo.com>
5497
5498         * gst/Makefile.am:
5499           Don't link against VALGRIND_LIBS. That was always the wrong thing to
5500           do, but only breaks with newer valgrind versions. We're not a
5501           valgrind tool, we have no link-time dependencies on libcoregrind.
5502
5503 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5504
5505         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5506           some debug changes
5507         * gst/gstmessage.h:
5508           typo fixes
5509
5510 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5511
5512         * gst/base/gstbasesrc.c: (gst_base_src_init):
5513         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5514         * gst/gstqueue.c: (gst_queue_init):
5515         * gst/gstregistryxml.c: (load_feature):
5516           Revert all these unrefs, they don't even pass make check !
5517
5518 2005-11-15  Johan Dahlin  <johan@gnome.org>
5519
5520         * gst/base/gstbasesrc.c: (gst_base_src_init):
5521         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5522         * gst/gstqueue.c: (gst_queue_init): 
5523         Free pad templates, fixes a couple of leaks.
5524
5525 2005-11-15  Daniel Fischer  <dan at f3c dot com>
5526
5527         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5528
5529         * gst/gstpad.c: (gst_pad_get_property):
5530           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
5531           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
5532           (#321452)
5533
5534 2005-11-15  Wim Taymans  <wim@fluendo.com>
5535
5536         * gst/gstevent.c:
5537         Small doc update.
5538
5539 2005-11-15  Andy Wingo  <wingo@pobox.com>
5540
5541         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
5542
5543         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
5544         using GST_CLOCK_TIME_NONE to disable base time management.
5545         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
5546         time if it was NONE before.
5547         (gst_pipeline_change_state): Only munge the base time if
5548         stream_time != GST_CLOCK_TIME_NONE.
5549
5550         * check/gst/gstpipeline.c (test_base_time): Punt around the
5551         problem of the probe not being called, because that's not the
5552         issue I'm looking at. Add a check that setting stream_time to NONE
5553         disables base time management.
5554         
5555 2005-11-15  Wim Taymans  <wim@fluendo.com>
5556
5557         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5558         segment_stop == -1 at startup.
5559
5560         * gst/base/gstbasetransform.c: (gst_base_transform_event),
5561         (gst_base_transform_change_state):
5562         Init segment values at start.
5563
5564 2005-11-15  Wim Taymans  <wim@fluendo.com>
5565
5566         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5567         0 segment values are 0 in any format.
5568
5569         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5570         * gst/base/gstbasetransform.h:
5571         Parse newsegment correctly in basetransform
5572
5573         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5574         Sync to clock using updated segment values.
5575
5576 2005-11-15  Andy Wingo  <wingo@pobox.com>
5577
5578         * check/gst/gstpipeline.c (test_base_time): Add check that the
5579         base time and stream time are reset correctly.
5580
5581 2005-11-15  Wim Taymans  <wim@fluendo.com>
5582
5583         * docs/design/part-TODO.txt:
5584         Some more TODO items.
5585
5586 2005-11-15  Andy Wingo  <wingo@pobox.com>
5587
5588         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
5589         error if the user selected "no clock" as the clocking method.
5590
5591         * check/gst/gstpipeline.c (test_base_time): New test for buffer
5592         timestamps with live capture.
5593
5594         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5595         is 0 but we are a live source, timestamp the buffers using the
5596         element's clock.
5597
5598 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
5599
5600         * docs/gst/gstreamer-sections.txt:
5601         * gst/gsterror.c:
5602         * gst/gstghostpad.c:
5603         * gst/gstobject.h:
5604         * gst/gstxml.c:
5605           more section docs
5606
5607 2005-11-14  Wim Taymans  <wim@fluendo.com>
5608
5609         * common/gst.supp:
5610           add suppressions from Wim's Debian machine
5611
5612 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5613
5614         * common/gst.supp:
5615           add suppressions from Andy's AMD64 Ubuntu machine
5616
5617 2005-11-14  Andy Wingo  <wingo@pobox.com>
5618
5619         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5620         STATE_LOCK not necessary. Fixes #311489.
5621
5622         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5623         #305291.
5624
5625         * gst/gstindex.c (gst_index_add_object): Note in the docs that
5626         this function is not implemented.
5627
5628 2005-11-14  Julien MOUTTE  <julien@moutte.net>
5629
5630         * gst/base/gstbasetransform.c:
5631         (gst_base_transform_prepare_output_buf):
5632         Ref the source pad caps while we need them.
5633         Fixes (#321386)
5634
5635 2005-11-11  Wim Taymans  <wim@fluendo.com>
5636
5637         * docs/gst/gstreamer-sections.txt:
5638         Added some docs for GstCollectData.
5639
5640         * gst/base/gstadapter.c:
5641         Some small code example fix.
5642
5643         * gst/base/gstcollectpads.c:
5644         * gst/base/gstcollectpads.h:
5645         Document some more.
5646
5647 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5648
5649         * configure.ac: back to HEAD
5650
5651 === release 0.9.5 ===
5652
5653 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
5654
5655         * configure.ac:
5656           releasing 0.9.5, "Bike Lunch Day"
5657
5658 2005-11-11  Wim Taymans  <wim@fluendo.com>
5659
5660         * gst/gstbuffer.c: (_gst_buffer_copy):
5661         Copy more flags.
5662
5663         * gst/gstcaps.c: (gst_caps_is_equal):
5664         Fix some docs.
5665         Make _is_equal fast in the trivial cases.
5666
5667         * gst/gstminiobject.c:
5668         * gst/gstminiobject.h:
5669         More docs. Spifify .h file.
5670
5671         * gst/gstutils.c:
5672         Small doc update.
5673
5674 2005-11-11  Wim Taymans  <wim@fluendo.com>
5675
5676         * gst/base/gstbasetransform.c:
5677         (gst_base_transform_prepare_output_buf),
5678         (gst_base_transform_handle_buffer):
5679         Small cleanups.
5680         If we're processing a buffer and need to allocate an output
5681         buffer, we cannot accept a format change. If we did get a 
5682         format change, we have to alloc a buffer ourselves of the 
5683         right size.
5684
5685 2005-11-11  Wim Taymans  <wim@fluendo.com>
5686
5687         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
5688         While checking the flag for reentrancy in the gstcaps function
5689         is nice to detect recursive invocations, it also makes it 
5690         impossible to call getcaps from multiple threads, which must be
5691         possible. So, checking for recursive calls has to go.
5692
5693 2005-11-11  Michael Smith <msmith@fluendo.com>
5694
5695         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5696           Don't sync on buffers that fall partially outside our current
5697           segment. Prevents an assertion failure/abort playing some files.
5698
5699 2005-11-10  Andy Wingo  <wingo@pobox.com>
5700
5701         * check/gst/gstbin.c (test_message_state_changed_children): Style
5702         fix..
5703
5704         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
5705         gst_bus_poll with the signal watch. Ensures that poll and a signal
5706         watch see the same messages.
5707
5708         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
5709         a poll and a watch at the same time get the same messages.
5710
5711 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5712
5713         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
5714         * gst/gstcaps.c: (gst_caps_intersect):
5715           Don't call gst_caps_do_simplify - it doesn't respect order of caps
5716           and it's not needed.
5717
5718 2005-11-10  Wim Taymans  <wim@fluendo.com>
5719
5720         * docs/design/part-TODO.txt:
5721         Updated todo.
5722
5723 2005-11-10  Wim Taymans  <wim@fluendo.com>
5724
5725         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5726         * gst/base/gstbasesrc.c: (gst_base_src_wait),
5727         (gst_base_src_do_sync), (gst_base_src_get_range):
5728         Implement clock sync in base class.
5729
5730 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         patch by: Tim-Philipp Müller <tim at centricular dot net>
5733
5734         * gst/gststructure.c: (gst_structure_parse_field),
5735         (gst_structure_from_string):
5736           Forward-port a 0.8 patch to handle escaped spaces in structure string,
5737           so that gst_parse_launch() can deal with spaces in filtered link
5738           caps (fixes #164479)
5739         * check/gst/capslist.h:
5740         * check/gst/gststructure.c: (GST_START_TEST):
5741           add unit tests for this change
5742
5743 2005-11-10  Wim Taymans  <wim@fluendo.com>
5744
5745         * docs/gst/gstreamer-sections.txt:
5746         * gst/gstelement.c:
5747         * gst/gstelement.h:
5748         Fix docs, move some STATE macros to private.
5749
5750 2005-11-10  Wim Taymans  <wim@fluendo.com>
5751
5752         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5753         Added check for bug #317341
5754
5755         * gst/gstbuffer.c:
5756         * gst/gstbuffer.h:
5757         Some more spiffifying.
5758
5759         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
5760         Call peer linkfunction if we are a source pad. Totally fixes
5761         #317341
5762
5763         * gst/gstpad.c:
5764         Update docs, source pads should call the peer linkfunction
5765         so they can atomically perform the pad link.
5766
5767 2005-11-09  Wim Taymans  <wim@fluendo.com>
5768
5769         * gst/gstbuffer.c:
5770         * gst/gstbuffer.h:
5771         Uber-spiffy-spiffify some more.
5772
5773 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
5774
5775         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
5776         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5777         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5778         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
5779         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
5780         * gst/gstpad.c: (gst_pad_init):
5781           Use GST_DEBUG_FUNCPTR() more extensively.
5782
5783 2005-11-09  Wim Taymans  <wim@fluendo.com>
5784
5785         * gst/gstobject.c: (gst_object_class_init):
5786         * gst/gstobject.h:
5787         Documentation fixes.
5788
5789 2005-11-09  Edward Hervey  <edward@fluendo.com>
5790
5791         * gst/gsttypefindfactory.c:
5792         Fix docs.
5793         
5794 2005-11-09  Edward Hervey  <edward@fluendo.com>
5795
5796         * gst/base/gsttypefindhelper.c:
5797         * gst/gsttypefind.c:
5798         * gst/gsttypefind.h:
5799         Fix docs.
5800
5801 2005-11-09  Wim Taymans  <wim@fluendo.com>
5802
5803         * gst/gstiterator.c:
5804         Fix revision data.
5805
5806         * gst/gsttask.c:
5807         * gst/gsttask.h:
5808         Fix docs.
5809
5810 2005-11-09  Wim Taymans  <wim@fluendo.com>
5811
5812         * gst/gstevent.h:
5813         * gst/gsturi.h:
5814         Fix docs.
5815
5816 2005-11-09  Wim Taymans  <wim@fluendo.com>
5817
5818         * docs/gst/gstreamer-sections.txt:
5819         Moved the message async delivery private lock and cond
5820         to the private section.
5821
5822         * gst/gstmessage.c:
5823         * gst/gstmessage.h:
5824         Fixed docs.
5825
5826 2005-11-09  Edward Hervey  <edward@fluendo.com>
5827
5828         * docs/gst/gstreamer-sections.txt:
5829         * gst/gsturi.c:
5830         * gst/gsturi.h:
5831         Document GstURIHandler
5832
5833 2005-11-09  Wim Taymans  <wim@fluendo.com>
5834
5835         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
5836         (gst_iterator_find_custom):
5837         * gst/gstiterator.h:
5838         Fix iterator docs.
5839
5840 2005-11-09  Wim Taymans  <wim@fluendo.com>
5841
5842         * gst/gstbin.h:
5843         Document another field.
5844
5845         * gst/gststructure.c:
5846         * gst/gststructure.h:
5847         Document.
5848
5849 2005-11-09  Wim Taymans  <wim@fluendo.com>
5850
5851         * gst/gstbin.h:
5852         Documented structs.
5853
5854 2005-11-09  Wim Taymans  <wim@fluendo.com>
5855
5856         * docs/gst/gstreamer-sections.txt:
5857         Added some new macros.
5858
5859         * gst/gstclock.c:
5860         * gst/gstclock.h:
5861         * gst/gstobject.h:
5862         Docs updates.
5863
5864 2005-11-09  Wim Taymans  <wim@fluendo.com>
5865
5866         * docs/design/part-TODO.txt:
5867         Some more items for the TODO
5868
5869         * gst/gstcaps.c:
5870         * gst/gstcaps.h:
5871         Document GstCaps.
5872
5873 2005-11-09  Andy Wingo  <wingo@pobox.com>
5874
5875         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
5876         to work on something else now tho...
5877
5878         * gst/base/gstadapter.c: More adapter docs.
5879
5880         * gst/elements/gstfilesink.c (gst_file_sink_start) 
5881         (gst_file_sink_stop): New functions, replace the state change
5882         handler.
5883         (gst_file_sink_class_init): Hook up the start and stop functions.
5884         (gst_file_sink_base_init): Don't set the state change handler any
5885         more. It was a bit ugly too, being set from here...
5886         (gst_file_sink_get_property, gst_file_sink_set_property):
5887         Cleanups...
5888         (gst_file_sink_set_location): More robust check that doesn't call
5889         GST_STATE. Ugggggg.
5890
5891 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5892
5893         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5894           Hold STREAM_LOCK while pushing newsegment or tag events as well.
5895
5896 2005-11-08  Wim Taymans  <wim@fluendo.com>
5897
5898         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5899         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5900         (gst_base_sink_chain), (gst_base_sink_change_state):
5901         * gst/base/gstbasesink.h:
5902         * gst/base/gstbasesrc.h:
5903         * gst/gstelement.h:
5904         * gst/gstevent.h:
5905         Avoid excessive typechecking in macros.
5906
5907         * gst/gstminiobject.c: (gst_mini_object_get_type),
5908         (gst_mini_object_init), (gst_mini_object_new),
5909         (gst_mini_object_free):
5910         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5911         (gst_object_finalize):
5912         Remove cruft code, optimize alloc_trace.
5913
5914 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * docs/faq/gst-uninstalled:
5917           fix up PS1 for systems that try to reset it
5918
5919 2005-11-07  Wim Taymans  <wim@fluendo.com>
5920
5921         * gst/base/gstbasesrc.c: (gst_base_src_init),
5922         (gst_base_src_get_range):
5923         Set the segment_end to -1 initially. Fixed typefind.
5924
5925 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5926
5927         * gst/base/gstadapter.c:
5928           Debug category should be 'adapter', not 'GstAdapter'.
5929           
5930         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
5931         (gst_collectpads_class_init), (gst_collectpads_init),
5932         (gst_collectpads_peek), (gst_collectpads_pop),
5933         (gst_collectpads_event), (gst_collectpads_chain):
5934           Add debug category and some debugging output. Use boilerplate
5935           macros. Remove some extraneous words from docs.
5936
5937 2005-11-05  Andy Wingo  <wingo@pobox.com>
5938
5939         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
5940         macro.
5941
5942 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5943
5944         * docs/gst/gstreamer-sections.txt:
5945         * gst/gstcaps.h:
5946         * gst/gstinfo.c:
5947         * gst/gstminiobject.h:
5948         * gst/gstobject.h:
5949         * gst/gstutils.h:
5950           more docs added
5951
5952 2005-11-04  Wim Taymans  <wim@fluendo.com>
5953
5954         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5955         Small update to stop at the configured segment_end
5956         position.
5957
5958 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5959
5960         * gst/gstregistry.c:
5961         * gst/gstregistry.h:
5962           added missing docs
5963
5964 2005-11-04  Edward Hervey  <edward@fluendo.com>
5965
5966         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5967         Check if we are doing a segment seek and have arrived at the
5968         end of that segment.
5969
5970 2005-11-04  Wim Taymans  <wim@fluendo.com>
5971
5972         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
5973         Don't leak a mutex unlock in case of an error.
5974
5975         * gst/gstbus.h:
5976         Doc fixes.
5977
5978 2005-11-04  Wim Taymans  <wim@fluendo.com>
5979
5980         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
5981         (gst_bus_post):
5982         Get the context to wake up only once.
5983
5984 2005-11-03  Wim Taymans  <wim@fluendo.com>
5985
5986         * check/states/sinks.c: (GST_START_TEST):
5987         Uncomment fixed check.
5988
5989         * docs/design/part-TODO.txt:
5990         Updated TODO.
5991
5992         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5993         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5994         (gst_base_sink_get_position):
5995         If we are going to PLAYING, post the right pending state
5996         when we post the intermediate paused message.
5997
5998         * gst/gstelement.c: (gst_element_continue_state),
5999         (gst_element_set_state_func), (gst_element_change_state):
6000         Don't post state changes that were between the same state
6001         and were not ASYNC.
6002
6003 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6004
6005         * docs/gst/gstreamer-sections.txt:
6006         * gst/gstcaps.h:
6007         * gst/gstinfo.c:
6008         * gst/gstminiobject.h:
6009         * gst/gstobject.h:
6010         * gst/gstutils.h:
6011           more docs and doc style fixes
6012
6013 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6014
6015         * docs/gst/gstreamer-sections.txt:
6016         * gst/gstelement.c:
6017         * gst/gstminiobject.c:
6018         doc fixes
6019
6020 2005-11-03  Andy Wingo  <wingo@pobox.com>
6021
6022         * check/states/sinks.c (test_livesrc_sink): Add checks that the
6023         state-changed messages actually have the right order and the right
6024         values.
6025
6026 2005-11-03  Wim Taymans  <wim@fluendo.com>
6027
6028         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6029         Added some more checks. Specifically the case where NO_PREROLL
6030         elements are in the pipeline.
6031
6032         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6033         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6034         (gst_base_sink_get_position):
6035         Post READY->PAUSED state change messages too.
6036         Fix bug where VOID was posted as pending state...
6037
6038         * gst/gstbin.c: (gst_bin_recalc_state):
6039         use _element_continue_state() to continue the state change.
6040
6041         * gst/gstelement.c: (gst_element_continue_state),
6042         (gst_element_commit_state), (gst_element_set_state_func),
6043         (gst_element_change_state), (gst_element_change_state_func):
6044         Lots of state change cleanups, assign the STATE_RETURN in
6045         a new continue_state() function that also propagates the
6046         last return value from a state change to the app.
6047         Update some debug statements with proper category.
6048
6049 2005-11-03  Wim Taymans  <wim@fluendo.com>
6050
6051         * docs/design/part-events.txt:
6052         * docs/design/part-gstpipeline.txt:
6053         * docs/design/part-messages.txt:
6054         * docs/design/part-overview.txt:
6055         * docs/design/part-seeking.txt:
6056         * docs/design/part-states.txt:
6057         * docs/design/part-trickmodes.txt:
6058         * docs/manual/advanced-position.xml:
6059         Small docs updates.
6060
6061         * gst/gstobject.h:
6062         People think !! is ugly, this looks better.
6063
6064         * gst/gstpad.c: (gst_pad_set_blocked_async):
6065         Remove !! since it's fixed elsewhere now.
6066
6067 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6068
6069         * gst/gstminiobject.h:
6070         * gst/gstobject.h:
6071           Add !! to _FLAG_IS_SET macros to make the result boolean.
6072
6073 2005-11-03  Edward Hervey  <edward@fluendo.com>
6074
6075         * gst/gstpad.c: (gst_pad_set_blocked_async):
6076         comparing a flag and a gboolean rarely returns coherent results...
6077         Added two characters (!!) to make that work correctly.
6078         
6079 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6080
6081         * gst/gstbus.c: (gst_bus_class_init):
6082           Fix some typos.
6083           
6084         * gst/gstqueue.c: (gst_queue_loop):
6085           Don't assume a miniobject that isn't a buffer is an
6086           event (it could be that there is a refcounting
6087           problem somewhere and the pointer is stale and
6088           refers to an already destroyed miniobject).
6089
6090 2005-11-03  Julien MOUTTE  <julien@moutte.net>
6091
6092         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
6093
6094 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6095
6096         * docs/manual/advanced-position.xml:
6097           Update seek example and explanations to current 0.9 API.
6098
6099         * gst/elements/gsttypefindelement.c:
6100         (gst_type_find_element_activate):
6101           Remove FIXME comment now that the found caps
6102           are unreffed.
6103
6104 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6105
6106         * gst/gstregistryxml.c: (load_feature):
6107           Add another GST_STR_NULL instance
6108
6109 2005-11-02  Edward Hervey  <edward@fluendo.com>
6110
6111         * gst/gstpad.c: (handle_pad_block):
6112         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6113         
6114 2005-11-02  Wim Taymans  <wim@fluendo.com>
6115
6116         * gst/gstbin.c:
6117         Fix typo in docs.
6118
6119         * gst/gstelement.c: (gst_element_commit_state):
6120         Remove unused value.
6121
6122         * gst/gstiterator.c:
6123         Mention that the returned element is reffed in the docs.
6124
6125 2005-11-02  Wim Taymans  <wim@fluendo.com>
6126
6127         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6128         (gst_pad_push), (gst_pad_push_event):
6129         Unlock blocked pads when they are flushed.
6130
6131 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6132
6133         * docs/README:
6134         * docs/gst/gstreamer-sections.txt:
6135         * gst/gstbin.c:
6136           doc updates
6137         * gst/gstregistry.c: (gst_registry_scan_path_level):
6138           fix for a nasty little missed situation where an installed plug-in
6139           which was in the cache did not get overridden by an uninstalled one
6140           which was earlier in the plugin path because the newly created plugin
6141           for the uninstalled one (not in the registry) didn't get its
6142           ->registered set to TRUE
6143
6144 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6145
6146         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6147         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6148         (gst_collectpads_is_active), (gst_collectpads_collect),
6149         (gst_collectpads_collect_range), (gst_collectpads_start),
6150         (gst_collectpads_stop), (gst_collectpads_peek),
6151         (gst_collectpads_pop), (gst_collectpads_available),
6152         (gst_collectpads_read), (gst_collectpads_flush):
6153           Guard public API with assertions.
6154         
6155         * gst/gstpad.c:
6156           Fix docs for gst_pad_set_link_function().
6157
6158 2005-11-02  Johan Dahlin  <johan@gnome.org>
6159
6160         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
6161         Unref found_caps after we used it.
6162
6163 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6164
6165         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6166           Don't try to ref NULL.
6167
6168 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6169
6170         * win32/common/config.h.in:
6171           provide a GST_FUNCTION that just gives a string for now
6172
6173 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6174
6175         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6176         (gst_object_flags_get_type), (register_gst_bin_flags),
6177         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6178         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6179         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6180         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6181         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6182         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6183         (gst_clock_flags_get_type), (register_gst_state),
6184         (gst_state_get_type), (register_gst_state_change_return),
6185         (gst_state_change_return_get_type), (register_gst_state_change),
6186         (gst_state_change_get_type), (register_gst_element_flags),
6187         (gst_element_flags_get_type), (register_gst_core_error),
6188         (gst_core_error_get_type), (register_gst_library_error),
6189         (gst_library_error_get_type), (register_gst_resource_error),
6190         (gst_resource_error_get_type), (register_gst_stream_error),
6191         (gst_stream_error_get_type), (register_gst_event_type),
6192         (gst_event_type_get_type), (register_gst_seek_type),
6193         (gst_seek_type_get_type), (register_gst_seek_flags),
6194         (gst_seek_flags_get_type), (register_gst_format),
6195         (gst_format_get_type), (register_gst_index_certainty),
6196         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6197         (gst_index_entry_type_get_type),
6198         (register_gst_index_lookup_method),
6199         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6200         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6201         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6202         (gst_index_flags_get_type), (register_gst_debug_level),
6203         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6204         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6205         (gst_iterator_result_get_type), (register_gst_iterator_item),
6206         (gst_iterator_item_get_type), (register_gst_message_type),
6207         (gst_message_type_get_type), (register_gst_mini_object_flags),
6208         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6209         (gst_pad_link_return_get_type), (register_gst_flow_return),
6210         (gst_flow_return_get_type), (register_gst_activate_mode),
6211         (gst_activate_mode_get_type), (register_gst_pad_direction),
6212         (gst_pad_direction_get_type), (register_gst_pad_flags),
6213         (gst_pad_flags_get_type), (register_gst_pad_presence),
6214         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6215         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6216         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6217         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6218         (gst_plugin_flags_get_type), (register_gst_rank),
6219         (gst_rank_get_type), (register_gst_query_type),
6220         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6221         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6222         (gst_tag_flag_get_type), (register_gst_task_state),
6223         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6224         (gst_alloc_trace_flags_get_type),
6225         (register_gst_type_find_probability),
6226         (gst_type_find_probability_get_type), (register_gst_uri_type),
6227         (gst_uri_type_get_type), (register_gst_parse_error),
6228         (gst_parse_error_get_type):
6229         * win32/common/gstversion.h:
6230           update win32 copies
6231
6232 2005-11-01  Luca Ognibene  <luogni@tin.it>
6233
6234         * gst/gst.c:
6235           fix docs. popt is dead, long live GOption.
6236
6237 2005-10-31  Wim Taymans  <wim@fluendo.com>
6238
6239         * gst/gstbuffer.h:
6240         Small doc fix.
6241
6242 2005-10-31  Andy Wingo  <wingo@pobox.com>
6243
6244         * Boo!
6245
6246         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
6247
6248         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
6249         need to serialize property notifications on GLib 2.8. GLib 2.6 has
6250         the possibility of deadlocks here if code calling notify() or
6251         set() has a lock that can be taken in another notify handler (ABBA
6252         with class lock and e.g. python GIL state lock).
6253
6254 2005-10-28  Julien MOUTTE  <julien@moutte.net>
6255
6256         * gst/gstbus.c: Doc updates.
6257
6258 2005-10-28  Wim Taymans  <wim@fluendo.com>
6259
6260         * docs/design/part-TODO.txt:
6261         * gst/gstiterator.c:
6262         * gst/gstsystemclock.c:
6263         * gst/gstsystemclock.h:
6264         Doc updates.
6265
6266 2005-10-28  Edward Hervey  <edward@fluendo.com>
6267
6268         * docs/gst/gstreamer-docs.sgml:
6269         * docs/gst/gstreamer-sections.txt:
6270         the GstURIType documentation page is private, it only defines GstURIType
6271         which should be defined in the GstURIHandler page
6272         
6273 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6274
6275         * gst/gstbin.c: (gst_bin_class_init):
6276         * gst/gstbin.h:
6277         * gst/gstutils.c:
6278         Documentation updates.
6279
6280 2005-10-28  Wim Taymans  <wim@fluendo.com>
6281
6282         * docs/gst/gstreamer-sections.txt:
6283         * gst/gstclock.c:
6284         * gst/gstclock.h:
6285         Documented the clocks.
6286
6287 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
6288
6289         * docs/gst/gstreamer-sections.txt:
6290           move some macros to private sections
6291         * gst/gstminiobject.c:
6292         * gst/gstminiobject.h:
6293           add descriptions provided by ds and some more
6294         * gst/gstpad.h:
6295           mark macro as to be removed
6296
6297 2005-10-28  Wim Taymans  <wim@fluendo.com>
6298
6299         * docs/design/part-TODO.txt:
6300         Add an item to TODO.
6301
6302         * gst/gstiterator.c: (gst_iterator_fold),
6303         (gst_iterator_find_custom):
6304         * gst/gstiterator.h:
6305         Add iterator docs.
6306
6307 2005-10-28  Wim Taymans  <wim@fluendo.com>
6308
6309         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6310         (gst_base_transform_init):
6311         Don't leak class.
6312
6313         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
6314         An EOS event marks the queue as completely filled.
6315
6316 2005-10-27  Wim Taymans  <wim@fluendo.com>
6317
6318         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6319         (gst_base_sink_do_sync), (gst_base_sink_get_position):
6320         Some more debugging.
6321
6322         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
6323         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
6324         (gst_base_transform_event), (gst_base_transform_getrange),
6325         (gst_base_transform_chain):
6326         * gst/base/gstbasetransform.h:
6327         Fix debugging,
6328         Protect transform and concurrent buffer alloc with a new lock.
6329         Try not to break ABI/API.
6330
6331 2005-10-27  Wim Taymans  <wim@fluendo.com>
6332
6333         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6334         (gst_base_src_init), (gst_base_src_query),
6335         (gst_base_src_default_newsegment),
6336         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6337         (gst_base_src_send_event), (gst_base_src_event_handler),
6338         (gst_base_src_pad_get_range), (gst_base_src_loop),
6339         (gst_base_src_unlock), (gst_base_src_default_negotiate),
6340         (gst_base_src_start), (gst_base_src_deactivate),
6341         (gst_base_src_activate_push), (gst_base_src_change_state):
6342         Move some stuff around and cleanup things.
6343
6344 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
6345
6346         * gst/base/gstbasesrc.c: (gst_base_src_query):
6347           Add missing break statements.
6348
6349 2005-10-27  Wim Taymans  <wim@fluendo.com>
6350
6351         * check/gst/gstbin.c: (GST_START_TEST):
6352         An extra refcount is taken in basesrc.
6353
6354         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6355         (gst_base_src_get_range), (gst_base_src_pad_get_range),
6356         (gst_base_src_loop):
6357         Small cleanups, check for flushing after being unlocked from the 
6358         LIVE_LOCK. take refcounts correctly (not yet everywhere).
6359         Don't send out EOS when going to READY.
6360
6361 2005-10-27  Wim Taymans  <wim@fluendo.com>
6362
6363         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6364         (gst_base_sink_get_position):
6365         Some more debug.
6366
6367         * gst/gstbin.c: (message_check), (bin_replace_message),
6368         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6369         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6370         (bin_query_duration_init), (bin_query_duration_fold),
6371         (bin_query_duration_done), (bin_query_generic_fold),
6372         (gst_bin_query):
6373         * tools/gst-launch.c: (main):
6374         Remove old option.
6375
6376 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
6377
6378         * examples/controller/audio-example.c: (main):
6379         * examples/queue/queue.c: (event_loop):
6380         * gst/base/gstbasetransform.h:
6381         * gst/gstelement.c: (gst_element_send_event):
6382         * gst/gstevent.h:
6383         * gst/gstpad.c: (gst_pad_send_event):
6384           fixing examples
6385           fixing docs typos
6386           changing log priority in error situations
6387
6388 2005-10-25  Wim Taymans  <wim@fluendo.com>
6389
6390         * gst/gstbin.c: (message_check), (bin_replace_message),
6391         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6392         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6393         (bin_query_duration_init), (bin_query_duration_fold),
6394         (bin_query_duration_done), (bin_query_generic_fold),
6395         (gst_bin_query):
6396         Some doc and debug updates.
6397         Cache previously requested query DURATION for speed. invalidate
6398         cached duration if element posts a DURATION message.
6399
6400 2005-10-25  Wim Taymans  <wim@fluendo.com>
6401
6402         * docs/design/part-TODO.txt:
6403         Update TODO.
6404
6405         * gst/gstbin.c: (message_check), (bin_replace_message),
6406         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6407         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6408         (bin_query_duration_init), (bin_query_duration_fold),
6409         (bin_query_duration_done), (bin_query_generic_fold),
6410         (gst_bin_query):
6411         Handle SEGMENT_START/DONE messages correctly.
6412         More evolved query algorithm that handles duration queries
6413         correctly.
6414
6415         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
6416         (gst_element_get_state_func), (gst_element_abort_state),
6417         (gst_element_commit_state), (gst_element_lost_state):
6418         Some more debugging.
6419
6420         * gst/gstmessage.h:
6421         Added doc.
6422
6423 2005-10-25  Wim Taymans  <wim@fluendo.com>
6424
6425         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6426         Don't use invalid stream_time.
6427
6428         * gst/gstevent.c: (gst_event_new_newsegment):
6429         stream_time in newsegment cannot be undefined.
6430
6431 2005-10-24  Wim Taymans  <wim@fluendo.com>
6432
6433         * gst/gstbus.c:
6434         Doc fix.
6435
6436         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6437         (gst_queue_loop):
6438         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
6439
6440 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
6441
6442         * docs/libs/tmpl/gstdparam.sgml:
6443         * docs/libs/tmpl/gstdplinint.sgml:
6444         * docs/libs/tmpl/gstdpman.sgml:
6445         * docs/libs/tmpl/gstdpsmooth.sgml:
6446         * docs/libs/tmpl/gstunitconvert.sgml:
6447           these are obsolete
6448
6449 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6450
6451         * configure.ac:
6452           back to HEAD
6453
6454 === release 0.9.4 ===
6455
6456 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6457
6458         * configure.ac:
6459           releasing 0.9.4, "Tyrannosaurus Rex"
6460
6461 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
6462
6463         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6464         (gst_file_sink_get_current_offset):
6465           Use fseeko() and ftello() if available. When falling back on
6466           lseek() to get the current offset, fflush() first to make sure
6467           everything is up-to-date and we get the right offset.
6468
6469 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6470
6471         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6472         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6473         * gst/gsterror.c: (_gst_stream_errors_init):
6474         * gst/gsterror.h:
6475         * gst/gstqueue.c: (gst_queue_loop):
6476         * po/POTFILES.in:
6477           remove prematurely added error category and clean up the instances
6478
6479 2005-10-21  Wim Taymans  <wim@fluendo.com>
6480
6481         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6482         (gst_base_sink_get_position), (gst_base_sink_query),
6483         (gst_base_sink_change_state):
6484         Simply set the right flag when going to playing, that's all
6485         we need to do instead of calling a function inside the object
6486         lock (that could take the lock as well and deadlock)
6487
6488 2005-10-21  Wim Taymans  <wim@fluendo.com>
6489
6490         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
6491         (gst_base_src_loop):
6492         Don't warn, the peer element knows what to do best when
6493         the seek failed, it might try something else.
6494
6495 2005-10-21  Wim Taymans  <wim@fluendo.com>
6496
6497         * gst/base/gstbasesrc.c: (gst_base_src_init),
6498         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6499         Fix seeking.
6500
6501 2005-10-21  Wim Taymans  <wim@fluendo.com>
6502
6503         * docs/design/part-segments.txt:
6504         More docs.
6505
6506         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6507         Correctly set caps, even on the subbufer.
6508
6509 2005-10-21  Wim Taymans  <wim@fluendo.com>
6510
6511         * docs/gst/gstreamer-docs.sgml:
6512         * docs/gst/gstreamer-sections.txt:
6513         * gst/gstelement.h:
6514         * gst/gstevent.c:
6515         * gst/gstevent.h:
6516         * gst/gstmessage.h:
6517         * gst/gstpad.h:
6518         * gst/gstparse.h:
6519         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
6520         * gst/gsttask.h:
6521         * gst/gstutils.c:
6522         * gst/gstutils.h:
6523         And 2% more doc coverage.
6524
6525 2005-10-21  Andy Wingo  <wingo@pobox.com>
6526
6527         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
6528         position reporting.
6529
6530 2005-10-20  Wim Taymans  <wim@fluendo.com>
6531
6532         * gst/gsterror.c: (gst_error_get_message):
6533         * gst/gstparse.h:
6534         * gst/gstquery.h:
6535         * gst/gststructure.c:
6536         * gst/gsttrace.c:
6537         * gst/gstutils.c:
6538         More docs.
6539
6540 2005-10-20  Wim Taymans  <wim@fluendo.com>
6541
6542         * gst/gstbuffer.h:
6543         * gst/gstpad.c:
6544         * gst/gstparse.c:
6545         Another 1% more coverage.
6546
6547 2005-10-20  Wim Taymans  <wim@fluendo.com>
6548
6549         * docs/gst/gstreamer-sections.txt:
6550         * gst/gstelement.c: (gst_element_get_state_func),
6551         (gst_element_abort_state), (gst_element_commit_state),
6552         (gst_element_lost_state):
6553         * gst/gstevent.h:
6554         * gst/gstquery.c: (gst_query_set_position),
6555         (gst_query_parse_position), (gst_query_set_duration),
6556         (gst_query_parse_duration), (gst_query_new_convert):
6557         * gst/gstutils.c:
6558         Yay! 1% more docs coverage.
6559
6560 2005-10-20  Wim Taymans  <wim@fluendo.com>
6561
6562         * gst/gstpad.h:
6563         * gst/gstquery.c: (gst_query_set_position),
6564         (gst_query_parse_position), (gst_query_set_duration),
6565         (gst_query_parse_duration), (gst_query_new_convert):
6566         * gst/gstquery.h:
6567         * gst/gstutils.c: (gst_element_query_convert):
6568         * gst/gstutils.h:
6569         Docs and consistency fixes.
6570
6571 2005-10-20  Wim Taymans  <wim@fluendo.com>
6572
6573         * gst/gsttask.c:
6574         * gst/gsttask.h:
6575         More docs.
6576
6577 2005-10-20  Wim Taymans  <wim@fluendo.com>
6578
6579         * gst/gstbin.c: (message_check), (bin_replace_message),
6580         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6581         (update_degree), (gst_bin_sort_iterator_next),
6582         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
6583         Reworked the message handling a bit, cache the messages instead of
6584         only the senders. alows us to do more in the future.
6585
6586 2005-10-20  Wim Taymans  <wim@fluendo.com>
6587
6588         * docs/design/part-TODO.txt:
6589         Update TODO
6590
6591         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6592         (gst_base_sink_query):
6593         Don't use clock time to report position when in EOS.
6594
6595 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
6596
6597         * tools/gst-inspect.c: (print_interfaces),
6598         (print_element_properties_info), (print_element_info):
6599           Fix interface output with gst-inspect -a; don't print
6600           newlines after double/float properties.
6601
6602 2005-10-20  Wim Taymans  <wim@fluendo.com>
6603
6604         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6605         (gst_base_sink_query):
6606         Speed up current position calculation.
6607
6608         * gst/base/gstbasesrc.c: (gst_base_src_query),
6609         (gst_base_src_default_newsegment):
6610         Correctly set stream position in newsegment.
6611
6612         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6613         (update_degree), (gst_bin_sort_iterator_next),
6614         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6615         * gst/gstmessage.c: (gst_message_new_custom):
6616         Clean up debugging info
6617
6618         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6619         (gst_queue_loop), (gst_queue_handle_src_query):
6620         Pause task faster.
6621
6622 2005-10-19  Wim Taymans  <wim@fluendo.com>
6623
6624         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6625         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6626         Fix query handling again.
6627
6628 2005-10-19  Wim Taymans  <wim@fluendo.com>
6629
6630         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6631         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6632         * gst/base/gstbasesrc.c: (gst_base_src_query):
6633         * gst/elements/gstfilesink.c: (gst_file_sink_query):
6634         * gst/elements/gsttypefindelement.c:
6635         (gst_type_find_handle_src_query), (find_element_get_length),
6636         (gst_type_find_element_activate):
6637         API change fix.
6638
6639         * gst/gstquery.c: (gst_query_new_position),
6640         (gst_query_set_position), (gst_query_parse_position),
6641         (gst_query_new_duration), (gst_query_set_duration),
6642         (gst_query_parse_duration), (gst_query_set_segment),
6643         (gst_query_parse_segment):
6644         * gst/gstquery.h:
6645         Bundling query position/duration is not a good idea since duration
6646         does not change much and we don't want to recalculate it for every
6647         position query, so they are separated again..
6648         Base value in segment query is not needed.
6649
6650         * gst/gstqueue.c: (gst_queue_handle_src_query):
6651         * gst/gstutils.c: (gst_element_query_position),
6652         (gst_element_query_duration), (gst_pad_query_position),
6653         (gst_pad_query_duration):
6654         * gst/gstutils.h:
6655         Updates for query API change.
6656         Added some docs here and there.
6657
6658 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6659
6660         * check/gst/gstbin.c: (GST_START_TEST):
6661         * check/gst/gstghostpad.c: (GST_START_TEST):
6662         * check/pipelines/cleanup.c: (GST_START_TEST):
6663           wait on thread to die so we can check refcount correctly
6664
6665 2005-10-18  Wim Taymans  <wim@fluendo.com>
6666
6667         * check/pipelines/stress.c: (GST_START_TEST):
6668         Make check a little more time consuming.
6669
6670 2005-10-18  Wim Taymans  <wim@fluendo.com>
6671
6672         * check/Makefile.am:
6673         * check/pipelines/stress.c: (GST_START_TEST),
6674         (simple_launch_lines_suite), (main):
6675         Small state change torture test.
6676
6677         * docs/design/part-states.txt:
6678         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6679         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
6680         (gst_base_sink_change_state):
6681         Never take state lock from streaming thread, clean up ugly
6682         hacks. Unfortunatly core does not yet support nice ways to
6683         async commit state.
6684         
6685         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
6686         (bin_bus_handler):
6687         Start state recalc if a STATE_DIRTY message is posted, but only
6688         on the toplevel bin.
6689
6690         * gst/gstelement.c: (gst_element_sync_state_with_parent),
6691         (gst_element_get_state_func), (gst_element_abort_state),
6692         (gst_element_commit_state), (gst_element_lost_state),
6693         (gst_element_set_state_func), (gst_element_change_state):
6694         * gst/gstelement.h:
6695         State variables are now protected with the LOCK, the state
6696         lock is only used to serialize _set_state().
6697
6698 2005-10-18  Wim Taymans  <wim@fluendo.com>
6699
6700         * check/gst/gstbin.c: (GST_START_TEST):
6701         * check/gst/gstmessage.c: (GST_START_TEST):
6702         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6703         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
6704         (bin_bus_handler):
6705         * gst/gstelement.c: (gst_element_abort_state),
6706         (gst_element_commit_state), (gst_element_lost_state):
6707         * gst/gstmessage.c: (gst_message_new_state_changed),
6708         (gst_message_new_state_dirty), (gst_message_new_segment_start),
6709         (gst_message_new_segment_done), (gst_message_new_duration),
6710         (gst_message_parse_state_changed),
6711         (gst_message_parse_segment_start),
6712         (gst_message_parse_segment_done), (gst_message_parse_duration):
6713         * gst/gstmessage.h:
6714         * tools/gst-launch.c: (event_loop):
6715         Seriously, this is better than a previous commit as we only need
6716         to notify the fact that an element changed state in a streaming
6717         thread, marking the state of the parents dirty, hence the 
6718         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
6719         message.
6720
6721 2005-10-18  Wim Taymans  <wim@fluendo.com>
6722
6723         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6724         (gst_bin_recalc_func):
6725         * gst/gstelement.c: (gst_element_set_clock),
6726         (gst_element_abort_state), (gst_element_lost_state):
6727         Cleanups, prepare for state change fixes.
6728
6729 2005-10-18  Wim Taymans  <wim@fluendo.com>
6730
6731         * gst/gstbin.h:
6732         * gst/gstelement.c: (gst_element_class_init),
6733         (gst_element_set_state), (gst_element_set_state_func):
6734         * gst/gstelement.h:
6735         Pending ABI changes.
6736         GThreadPool in GstBinClass to monitor async state changes.
6737         state_cookie in GstElement to detect concurrent gst/set state.
6738         set_state is now virtual too in case a very complicated element
6739         has to be constructed.
6740
6741 2005-10-18  Wim Taymans  <wim@fluendo.com>
6742
6743         * check/gst/gstbin.c: (GST_START_TEST):
6744         * check/gst/gstmessage.c: (GST_START_TEST):
6745         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6746         * gst/gstbin.c: (bin_bus_handler):
6747         * gst/gstelement.c: (gst_element_commit_state),
6748         (gst_element_lost_state):
6749         * gst/gstmessage.c: (gst_message_new_state_changed),
6750         (gst_message_new_segment_start), (gst_message_new_segment_done),
6751         (gst_message_new_duration), (gst_message_parse_state_changed),
6752         (gst_message_parse_segment_start),
6753         (gst_message_parse_segment_done), (gst_message_parse_duration):
6754         * gst/gstmessage.h:
6755         * tools/gst-launch.c: (event_loop):
6756         Make messages future proof.
6757         state-change gets a flag if it was a message comming from the
6758         streaming thread.
6759         segment-start/stop can also be specified in other formats.
6760         A message to notify an app that a pipeline changed playback 
6761         duration.
6762         Also fix a GstMessage leak in -launch
6763
6764 2005-10-18  Andy Wingo  <wingo@pobox.com>
6765
6766         * gst/gstelement.c (gst_element_dispose): More helpful message.
6767
6768 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6769
6770         reviewed by: <delete if not using a buddy>
6771
6772         * common/gtk-doc.mak:
6773
6774 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6775
6776         * gst/gstregistry.c: (gst_registry_scan_path_level):
6777           unref a plug-in we get that was already initialized
6778
6779 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
6780
6781         * docs/gst/gstreamer-sections.txt:
6782         * docs/libs/gstreamer-libs-sections.txt:
6783         * gst/gstelement.h:
6784           add new api entries
6785           hide internal macro
6786
6787 2005-10-17  Andy Wingo  <wingo@pobox.com>
6788
6789         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
6790         cleanup.
6791
6792         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
6793
6794         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
6795
6796         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
6797         (gst_element_get_state_func): Better debug message.
6798         (gst_element_commit_state): s/INFO/DEBUG/.
6799         (gst_element_lost_state, gst_element_change_state): 
6800
6801         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
6802         (gst_message_new_custom): s/INFO/LOG/.
6803
6804 2005-10-17  Michael Smith <msmith@fluendo.com>
6805
6806         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6807           Check if end time is valid using end time, not start time.
6808
6809 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
6810
6811         * check/gst-libs/controller.c: (GST_START_TEST),
6812         (gst_controller_suite):
6813         * libs/gst/controller/gstcontroller.c:
6814         (gst_controlled_property_set_interpolation_mode):
6815         * libs/gst/controller/gstcontroller.h:
6816         * libs/gst/controller/gstinterpolation.c:
6817         * testsuite/controller/.cvsignore:
6818         * testsuite/controller/Makefile.am:
6819         * testsuite/controller/interpolator.c:
6820           merge controller testsuites
6821           fix broken tests
6822           remove mem-chunk from docs
6823
6824 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6825
6826         * gst/gstmemchunk.c:
6827         * gst/gstmemchunk.h:
6828         * gst/gsttrashstack.c:
6829         * gst/gsttrashstack.h:
6830           out.  get out.  you're fired.  to the Attic !
6831
6832 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         * gst/gstcaps.c: (gst_caps_intersect):
6835           fix signedness issues in a (hopefully) correct way
6836         * gst/gstelement.c: (gst_element_pads_activate):
6837           some debugging
6838         * gst/gstobject.c: (gst_object_set_parent):
6839           some debugging
6840
6841 2005-10-17  Julien MOUTTE  <julien@moutte.net>
6842
6843         * gst/gstvalue.h: Fix prototypes.
6844
6845 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6846
6847         * docs/gst/gstreamer-sections.txt:
6848         * gst/gst.c: (gst_version_string):
6849         * gst/gst.h:
6850         * gst/gstversion.h.in:
6851         * win32/common/libgstreamer.def:
6852           add gst_version_string ()
6853
6854 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6855
6856         * configure.ac:
6857           clean up further
6858         * gst/gst.c: (init_post):
6859         * win32/common/config.h.in:
6860           it's PLUGINDIR now
6861         * gst/gstcaps.c: (gst_caps_intersect):
6862           use gint64, the range could be bigger than a guint
6863
6864 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6865
6866         * gst/gstclock.h:
6867           document potential problem in 2038
6868
6869 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6870
6871         * gst/gstcaps.c: (gst_caps_intersect):
6872           Fix guint j diving under 0
6873
6874 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6875
6876         * configure.ac:
6877         * win32/common/config.h:
6878         * win32/common/config.h.in:
6879           check for process.h, declares getpid() on Windows
6880         * gst/gstinfo.c:
6881           include process.h if we have it
6882         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
6883         * gst/gstmemchunk.h:
6884           fix signedness issues
6885         * win32/common/libgstreamer.def:
6886           fix get_type's
6887
6888 2005-10-16  Julien MOUTTE  <julien@moutte.net>
6889
6890         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
6891         fix. Because of unsigned ints, caps intersection was going nuts and
6892         trying to access structures with G_MAXUINT index. That fixes
6893         videotestsrc ! ffmpegcolorspace ! fakesink
6894         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
6895         consistency.
6896
6897 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6898
6899         * configure.ac:
6900           use the gettext macro
6901         * gst/elements/gstelements.c:
6902         * gst/gst.c:
6903         * gst/indexers/gstindexers.c:
6904           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
6905         * win32/common/config.h:
6906           updated config.h
6907         * win32/common/config.h.in:
6908           add the template to generate config.h
6909         * win32/common/gstenumtypes.c:
6910         * win32/common/gstversion.h:
6911           updated copies
6912
6913 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6914
6915         * gst/gst.c: (gst_version):
6916         * gst/gstversion.h.in:
6917           add the nano
6918
6919 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6920
6921         * gst/gstevent.h:
6922           Oops, add missing closing bracket.
6923
6924 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6925
6926         * configure.ac:
6927           use common m4's for argument checking
6928
6929 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6930
6931         * docs/gst/gstreamer-sections.txt:
6932         * gst/gstevent.h:
6933           Add GST_EVENT_TYPE_NAME() macro.
6934
6935 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6936
6937         * gst/gstinfo.c:
6938         * gst/gstpluginfeature.c:
6939         * gst/gsttask.c:
6940           privatize more symbols
6941
6942 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         * configure.ac:
6945           add srcdir, builddir includes to GST_ALL_CFLAGS, since
6946           everything that uses GStreamer API should have the includes
6947
6948 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6949
6950         * docs/gst/gstreamer-sections.txt:
6951         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6952         * gst/gstvalue.h:
6953           give each value a _get_type, removes the DATA exports
6954
6955 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6956
6957         * gst/gst.c:
6958         * gst/gst.h:
6959           remove _gst_registry_auto_load, not used anymore
6960         * gst/gstbin.c: (gst_bin_get_type):
6961         * gst/gstbin.h:
6962         * gst/gstelement.c: (gst_element_get_type):
6963         * gst/gstelement.h:
6964         * gst/gstobject.c: (gst_object_get_type):
6965         * gst/gstobject.h:
6966         * gst/gstpad.c: (gst_pad_get_type):
6967         * gst/gstpad.h:
6968           make _get_type functions similar, fixes data export from library
6969
6970 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6971
6972         * configure.ac:
6973           correctly make conditionals
6974         * gst/elements/Makefile.am:
6975         * gst/elements/gstelements.c:
6976           fix typo causing fdsrc not to build
6977
6978 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6979
6980         * testsuite/Makefile.am:
6981         * testsuite/bytestream/.cvsignore:
6982         * testsuite/bytestream/Makefile.am:
6983         * testsuite/bytestream/filepadsink.c:
6984         * testsuite/bytestream/gstbstest.c:
6985         * testsuite/bytestream/test1.c:
6986         * testsuite/bytestream/testfile1:
6987         * testsuite/caps/normalisation.c:
6988         * testsuite/caps/random.c: (main):
6989         * testsuite/cleanup/.cvsignore:
6990         * testsuite/cleanup/Makefile.am:
6991         * testsuite/cleanup/cleanup1.c:
6992         * testsuite/cleanup/cleanup2.c:
6993         * testsuite/cleanup/cleanup3.c:
6994         * testsuite/cleanup/cleanup4.c:
6995         * testsuite/cleanup/cleanup5.c:
6996         * testsuite/controller/interpolator.c:
6997         * testsuite/debug/printf_extension.c: (main):
6998         * testsuite/elements/tee.c:
6999         * testsuite/negotiation/.cvsignore:
7000         * testsuite/negotiation/Makefile.am:
7001         * testsuite/negotiation/pad_link.c:
7002         * testsuite/pad/Makefile.am:
7003         * testsuite/pad/chainnopull.c:
7004         * testsuite/pad/getnopush.c:
7005         * testsuite/pad/link.c:
7006         * testsuite/refcounting/sched.c: (create_pipeline):
7007         * testsuite/registry/Makefile.am:
7008         * testsuite/registry/gst-print-formats.c:
7009         * testsuite/schedulers/.cvsignore:
7010         * testsuite/schedulers/142183-2.c:
7011         * testsuite/schedulers/142183.c:
7012         * testsuite/schedulers/143777-2.c:
7013         * testsuite/schedulers/143777.c:
7014         * testsuite/schedulers/147713.c:
7015         * testsuite/schedulers/147819.c:
7016         * testsuite/schedulers/147894-2.c:
7017         * testsuite/schedulers/147894.c:
7018         * testsuite/schedulers/Makefile.am:
7019         * testsuite/schedulers/group_link.c:
7020         * testsuite/schedulers/queue_link.c:
7021         * testsuite/schedulers/relink.c:
7022         * testsuite/schedulers/unlink.c:
7023         * testsuite/schedulers/unref.c:
7024         * testsuite/schedulers/useless_iteration.c:
7025         * testsuite/states/bin.c:
7026           clean out/remove some stuff from the testsuite directories
7027
7028 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * configure.ac:
7031           check for some headers
7032         * gst/elements/Makefile.am:
7033         * gst/elements/gstelements.c:
7034           don't compile fdsrc without sys/socket.h
7035         * gst/indexers/Makefile.am:
7036         * gst/indexers/gstindexers.c: (plugin_init):
7037           don't compile fileindex without mmap
7038
7039 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7040
7041         * configure.ac:
7042           reorganize
7043           clean up
7044           document more
7045           remove cruft
7046         * check/Makefile.am:
7047         * docs/gst/Makefile.am:
7048         * examples/helloworld/Makefile.am:
7049         * gst/Makefile.am:
7050         * gst/base/Makefile.am:
7051         * gst/check/Makefile.am:
7052         * gst/elements/Makefile.am:
7053         * gst/indexers/Makefile.am:
7054         * gst/parse/Makefile.am:
7055         * libs/gst/controller/Makefile.am:
7056         * libs/gst/dataprotocol/Makefile.am:
7057         * examples/helloworld/helloworld.c: (event_loop):
7058           compile fixes, though it's not being compiled currently
7059
7060 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7061
7062         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
7063           Add some simple tests for the new taglist date API.
7064
7065 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7066
7067         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
7068         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
7069           Beautify 'last-message' output: print 'none' for buffer timestamps
7070           and durations if none is set; improve alignment with next messages.
7071
7072 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7073
7074         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
7075         * gst/gstpluginfeature.h:
7076         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
7077         * gst/gstregistry.h:
7078         * docs/gst/gstreamer-sections.txt:
7079           Add new API to check plugin feature version requirements.
7080
7081         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
7082           Some basic tests for the above.         
7083
7084 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7085
7086         * gst/gststructure.c: (gst_structure_to_string):
7087           guard against NULL printf - happens when for example
7088           a message structure with GstClock gets serialized
7089
7090 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7091
7092         * gst/base/gstcollectpads.c: (gst_collectpads_event):
7093           Fix presumable copy'n'pasto.
7094
7095 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7096
7097         * gst/elements/gstfakesrc.h:
7098         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7099         * gst/elements/gsttypefindelement.c:
7100           fix some signedness
7101         * gst/elements/gstfilesink.c: (gst_file_sink_render):
7102           I wonder if this could actually write +2GB files before
7103
7104 2005-10-13  Andy Wingo  <wingo@pobox.com>
7105
7106         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7107         Fix Timmeke Waymans bug.
7108         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7109         string of the proper length to gst_caps_from_string. There's a
7110         potential for, before this fix, that this could cause someone
7111         connecting over the network to cause a segfault if the payload is
7112         not NUL-terminated.
7113
7114 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7115
7116         * docs/design/draft-push-pull.txt:
7117         * docs/design/part-overview.txt:
7118         * docs/random/TODO-pre-0.9:
7119         * docs/random/old/ChangeLog.gstreamer:
7120         * gst/base/gstpushsrc.c:
7121         * gst/gstclock.c:
7122           fixed typos
7123
7124 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7125
7126         * gst/glib-compat.c: (gst_flags_get_first_value):
7127         * gst/glib-compat.h:
7128         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7129         (gst_value_compare_double), (gst_value_serialize_flags):
7130           GLib 2.6 g_flags_get_first_value has a bug that triggers an
7131           infinite loop
7132
7133 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7134
7135         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7136         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7137           fix up debugging
7138         * tools/gst-launch.c: (event_loop):
7139           print out clock nicely
7140
7141 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7142
7143         * docs/gst/gstreamer-sections.txt:
7144         * gst/gsttaglist.h:
7145         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7146         (gst_tag_list_get_date_index):
7147           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7148           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7149
7150 2005-10-13  Julien MOUTTE  <julien@moutte.net>
7151
7152         * gst/base/gstcollectpads.c: (gst_collectpads_event),
7153         (gst_collectpads_chain):
7154         * gst/base/gstcollectpads.h: Handle newsegment and store informations
7155         in CollectData.
7156
7157 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7158
7159         * docs/gst/gstreamer-sections.txt:
7160         * gst/gst.c:
7161         * gst/gsterror.h:
7162         * tools/gst-inspect.c: (main):
7163         * tools/gst-launch.c: (main):
7164         * tools/gst-run.c: (main):
7165         * tools/gst-xmlinspect.c: (main):
7166           fix GOption context leaks
7167           doc fixes
7168
7169 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7170
7171         * gst/gstbus.c:
7172           use HAVE_UNISTD_H
7173         * win32/common/config.h:
7174           update config
7175         * win32/vs6/grammar.dsp:
7176         * win32/vs6/libgstelements.dsp:
7177         * win32/vs6/libgstreamer.dsp:
7178           update vs6 files
7179
7180 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7181
7182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7183         * gst/base/gstbasesrc.c: (gst_base_src_query):
7184           fix more guint64<->gdouble conversions
7185
7186 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7187
7188         * Makefile.am:
7189           add win32-update target
7190         * win32/common/gstconfig.h:
7191         * win32/common/gstenumtypes.c:
7192         * win32/common/gstenumtypes.h:
7193         * win32/common/gstversion.h:
7194           add files that visual studio can't generate
7195
7196 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7197
7198         * Makefile.am:
7199           add a win32-update target
7200         * configure.ac:
7201
7202 2005-10-12  Wim Taymans  <wim@fluendo.com>
7203
7204         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7205         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7206         * gst/gstelement.c: (gst_element_commit_state),
7207         (gst_element_set_state):
7208         Protect flags with proper lock.
7209         unref provided cached clock in dispose.
7210
7211 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7212
7213         * gst/gst.c:
7214         * gst/gstminiobject.h:
7215         * gst/gstpad.h:
7216         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7217           removed unused flags from miniobject
7218           doc fixes
7219
7220 2005-10-12  Wim Taymans  <wim@fluendo.com>
7221
7222         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7223         (gst_file_sink_event), (gst_file_sink_render):
7224         Flush before seeking.
7225
7226 2005-10-12  Andy Wingo  <wingo@pobox.com>
7227
7228         * gst/gst.c (gst_init_check): Ignore unknown options, as has
7229         always been the case.
7230
7231 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7232
7233         * check/gst/gstbin.c: (GST_START_TEST):
7234         * docs/gst/gstreamer-sections.txt:
7235         * gst/base/gstbasesink.c: (gst_base_sink_init):
7236         * gst/base/gstbasesrc.c: (gst_base_src_init),
7237         (gst_base_src_get_range), (gst_base_src_check_get_range),
7238         (gst_base_src_start), (gst_base_src_stop):
7239         * gst/base/gstbasesrc.h:
7240         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7241         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7242         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7243         (bin_bus_handler):
7244         * gst/gstbin.h:
7245         * gst/gstbuffer.h:
7246         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
7247         * gst/gstbus.h:
7248         * gst/gstelement.c: (gst_element_is_locked_state),
7249         (gst_element_set_locked_state), (gst_element_commit_state),
7250         (gst_element_set_state):
7251         * gst/gstelement.h:
7252         * gst/gstindex.c: (gst_index_init):
7253         * gst/gstindex.h:
7254         * gst/gstminiobject.h:
7255         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
7256         (gst_object_set_parent):
7257         * gst/gstobject.h:
7258         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
7259         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
7260         * gst/gstpad.h:
7261         * gst/gstpadtemplate.h:
7262         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
7263         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7264         * gst/gstpipeline.h:
7265         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7266         (gst_file_index_commit):
7267         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
7268         * testsuite/pad/link.c: (gst_test_src_init),
7269         (gst_test_filter_init), (gst_test_sink_init):
7270         * testsuite/states/locked.c: (main):
7271           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
7272           moved bitshift from macro to enum definition
7273
7274 2005-10-12  Wim Taymans  <wim@fluendo.com>
7275
7276         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
7277         * gst/elements/gstfilesink.c: (gst_file_sink_event),
7278         (gst_file_sink_render):
7279         Some more debugging info.
7280
7281 2005-10-12  Wim Taymans  <wim@fluendo.com>
7282
7283         * docs/design/part-states.txt:
7284         * tools/gst-launch.c: (main):
7285         Some doc updates.
7286         Revert non-intentional change.
7287
7288 2005-10-12  Wim Taymans  <wim@fluendo.com>
7289
7290         * check/gst/gstbin.c: (GST_START_TEST):
7291         * check/gst/gstelement.c: (GST_START_TEST):
7292         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
7293         * check/gst/gstghostpad.c: (GST_START_TEST):
7294         * check/gst/gstpipeline.c: (GST_START_TEST):
7295         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7296         * check/states/sinks.c: (GST_START_TEST):
7297         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7298         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7299         (gst_bin_remove_func), (gst_bin_get_state_func),
7300         (gst_bin_recalc_state), (gst_bin_change_state_func),
7301         (bin_bus_handler):
7302         * gst/gstelement.c: (gst_element_get_state_func),
7303         (gst_element_get_state), (gst_element_abort_state),
7304         (gst_element_commit_state), (gst_element_set_state),
7305         (gst_element_change_state), (gst_element_change_state_func):
7306         * gst/gstelement.h:
7307         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
7308         (gst_pipeline_provide_clock_func):
7309         * gst/gstutils.c: (gst_element_link_pads_filtered):
7310         * tools/gst-launch.c: (main):
7311         * tools/gst-typefind.c: (main):
7312         Use GstClockTime in _get_state() instead of GTimeVal.
7313         Remove old code in gstutils.c
7314
7315 2005-10-12  Andy Wingo  <wingo@pobox.com>
7316
7317         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
7318         removed.
7319
7320         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
7321         there is no task. Shouldn't affect any code, as nothing in our
7322         plugins checks this return value.
7323         (gst_pad_stop_task): Also take the stream lock if the pad has no
7324         task. Docs updated.
7325
7326 2005-10-12  Wim Taymans  <wim@fluendo.com>
7327
7328         * gst/gstpad.c: (pre_activate), (post_activate),
7329         (gst_pad_activate_pull), (gst_pad_activate_push):
7330         Cleanup activation code. Reset old state if
7331         activation failed.
7332
7333 2005-10-12  Wim Taymans  <wim@fluendo.com>
7334
7335         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7336         (gst_base_sink_change_state):
7337         No need to prerol after receiving EOS.
7338
7339         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7340         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
7341         * gst/elements/gstidentity.c: (gst_identity_event):
7342         Print events more verbosely.
7343
7344 2005-10-12  Wim Taymans  <wim@fluendo.com>
7345
7346         * check/Makefile.am:
7347         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7348         * check/states/sinks2.c:
7349         Moved sinks2 testcode in sinks check.
7350
7351         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7352         (gst_bin_remove_func), (gst_bin_recalc_state),
7353         (gst_bin_change_state_func), (bin_bus_handler):
7354         Fix potential race condition when _get_state() iterated over an
7355         ASYNC element right before it posted a state completion.
7356
7357         * gst/gstclock.h:
7358         Do proper cast here.
7359
7360         * gst/gstevent.c: (gst_event_new_newsegment),
7361         (gst_event_parse_newsegment):
7362         A playback rate of 0.0 is not allowed.
7363
7364 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7365
7366         * win32/common/config.h:
7367         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7368         (_trewinddir), (_ttelldir), (_tseekdir):
7369         * win32/common/dirent.h:
7370         * win32/common/gtchar.h:
7371         * win32/common/libgstbase.def:
7372         * win32/common/libgstreamer.def:
7373         * win32/vs6/grammar.dsp:
7374         * win32/vs6/gst_inspect.dsp:
7375         * win32/vs6/gst_launch.dsp:
7376         * win32/vs6/gstreamer.dsw:
7377         * win32/vs6/libgstbase.dsp:
7378         * win32/vs6/libgstelements.dsp:
7379         * win32/vs6/libgstreamer.dsp:
7380           Visual Studio 6 project files, and a new common directory.
7381           Phear.
7382
7383 2005-10-11  Wim Taymans  <wim@fluendo.com>
7384
7385         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7386         (gst_base_sink_do_sync), (gst_base_sink_query),
7387         (gst_base_sink_change_state):
7388         * gst/base/gstbasesink.h:
7389         Correctly parse newsegment info.
7390
7391 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7392
7393         * gst/gst.c: (init_post):
7394           split plugin paths correctly
7395
7396 2005-10-11  Wim Taymans  <wim@fluendo.com>
7397
7398         * check/gst/gstevent.c: (GST_START_TEST):
7399         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7400         (gst_base_sink_change_state):
7401         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
7402         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7403         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7404         * gst/gstevent.c: (gst_event_new_newsegment),
7405         (gst_event_parse_newsegment):
7406         * gst/gstevent.h:
7407         Added extra flag to newsegment for future API freeze.
7408         Updated check and base elements.
7409
7410 2005-10-11  Julien MOUTTE  <julien@moutte.net>
7411
7412         * gst/base/gstcollectpads.c: (gst_collectpads_init),
7413         (gst_collectpads_add_pad), (gst_collectpads_pop),
7414         (gst_collectpads_event), (gst_collectpads_chain):
7415         * gst/base/gstcollectpads.h: Handle EOS correctly.
7416
7417 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7418
7419         * tools/gst-launch.c: (main):
7420           more null protecting
7421
7422 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7423
7424         * gst/gst-i18n-lib.h:
7425           check for ENABLE_NLS, not GETTEXT_PACKAGE
7426         * gst/gstregistry.c: (gst_registry_add_plugin),
7427         (gst_registry_scan_path_level),
7428         (_gst_registry_remove_cache_plugins):
7429           protect possibly NULL strings
7430         * gst/parse/types.h:
7431           config.h already included before
7432         * tools/gst-inspect.c: (main):
7433           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
7434           check for ENABLE_NLS, not GETTEXT_PACKAGE
7435         * tools/gst-launch.c: (main):
7436           check for ENABLE_NLS, not GETTEXT_PACKAGE
7437
7438 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7439
7440         * configure.ac:
7441           if we don't have glib, fail before testing 2.8
7442         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
7443           fix a leak, should fix plugins-base testsuite
7444
7445 2005-10-11  Andy Wingo  <wingo@pobox.com>
7446
7447         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
7448         take the mode we're going to as an arg. Go head and set the mode
7449         and flushing flags now, so that if the activate function starts a
7450         thread all the flags will be in the right state.
7451         (post_activate): Renamed also. Just handle making sure streaming
7452         finishes for the deactivation case, and setting the deactivated
7453         mode.
7454         (gst_pad_set_active): Complain loudly if deactivation fails.
7455         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
7456         (gst_pad_activate_push): Adapt to pre/post_activate changes,
7457         remove the terrible hack.
7458
7459 2005-10-11  Wim Taymans  <wim@fluendo.com>
7460
7461         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7462         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
7463         (gst_bin_recalc_state), (gst_bin_change_state_func),
7464         (gst_bin_dispose), (bin_bus_handler):
7465         * gst/gstbin.h:
7466         Prepare to make current EOS message queue more generic.
7467         Fix some typos.
7468
7469         * gst/gstevent.c: (gst_event_new_newsegment),
7470         (gst_event_parse_newsegment):
7471         * gst/gstevent.h:
7472         Rename base to stream_time.
7473
7474         * gst/gstmessage.h:
7475         Fix typo in docs.
7476
7477 2005-10-11  Wim Taymans  <wim@fluendo.com>
7478
7479         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7480         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
7481         (gst_bin_change_state_func), (bin_bus_handler):
7482         * gst/gstbin.h:
7483         Work on proper clock selection.
7484
7485 2005-10-11  Edward Hervey  <edward@fluendo.com>
7486
7487         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
7488         * libs/gst/controller/gstcontroller.h:
7489         Added GList* version of _remove_properties() in order to be able to wrap
7490         it in bindings.
7491
7492 2005-10-11  Wim Taymans  <wim@fluendo.com>
7493
7494         * docs/design/part-states.txt:
7495         Some more docs.
7496
7497         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
7498         (gst_bin_change_state_func), (bin_bus_handler):
7499         Doc updates. Don't distribute the same clock over and over again.
7500
7501         * gst/gstclock.c:
7502         * gst/gstclock.h:
7503         Doc updates.
7504
7505         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
7506         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
7507         (gst_pad_send_event):
7508         * gst/gstpad.h:
7509         Make probe emission threadsafe again.
7510         Register quarks and move _get_name() from utils.
7511         Doc updates.
7512
7513         * gst/gstpipeline.c: (gst_pipeline_class_init),
7514         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7515         Only redistribute the clock of it changed.
7516
7517         * gst/gstsystemclock.h:
7518         Doc updates. 
7519
7520         * gst/gstutils.c:
7521         * gst/gstutils.h:
7522         Moved the _flow_get_name() to GstPad.
7523
7524 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7525
7526         * check/gst-libs/gdp.c: (GST_START_TEST):
7527         * check/gst/gstcaps.c: (GST_START_TEST):
7528         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7529         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
7530         (gst_dp_packet_from_caps):
7531           fix more valgrind warnings before turning up the heat
7532
7533 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7534
7535         * gst/parse/grammar.y:
7536           some cleanup before the hacking
7537
7538 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7539
7540         * gst/base/gstbasesrc.c: (gst_base_src_query):
7541           use conversions
7542         * gst/gstutils.c: (gst_guint64_to_gdouble),
7543         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
7544         * gst/gstutils.h:
7545           externalize, basesrc uses it
7546           obviously the implementation needs testing
7547
7548 2005-10-10  Wim Taymans  <wim@fluendo.com>
7549
7550         * tests/sched/Makefile.am:
7551         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
7552         (make_pipeline3), (make_pipeline4), (print_elem), (main):
7553
7554 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7555
7556         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
7557           apparently converting from guint64 to double is not implemented
7558           on MSVC
7559
7560 2005-10-10  Wim Taymans  <wim@fluendo.com>
7561
7562         * check/Makefile.am:
7563         * check/generic/states.c: (GST_START_TEST):
7564         * check/gst/gstbin.c: (GST_START_TEST):
7565         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7566         * check/states/sinks.c: (GST_START_TEST):
7567         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
7568         (main):
7569         Check fixes, use API as stated in design docs, remove hacks.
7570
7571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7572         (gst_base_sink_change_state):
7573         Catch stopping our task while we're shutting down.
7574
7575         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7576         (gst_bin_remove_func), (gst_bin_get_state_func),
7577         (gst_bin_recalc_state), (gst_bin_change_state_func),
7578         (bin_bus_handler):
7579         * gst/gstbin.h:
7580         * gst/gstelement.c: (gst_element_init),
7581         (gst_element_get_state_func), (gst_element_abort_state),
7582         (gst_element_commit_state), (gst_element_lost_state),
7583         (gst_element_set_state), (gst_element_change_state),
7584         (gst_element_change_state_func):
7585         * gst/gstelement.h:
7586         New state change algorithm (see #318116)
7587
7588         * gst/gstpipeline.c: (gst_pipeline_class_init),
7589         (gst_pipeline_init), (gst_pipeline_set_property),
7590         (gst_pipeline_get_property), (do_pipeline_seek),
7591         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7592         * gst/gstpipeline.h:
7593         Remove crude state change hacks.
7594
7595         * gst/gstutils.h:
7596         Remove crude hacks.
7597
7598         * tools/gst-launch.c: (main):
7599         Fixes for state change. Needs some more work to fully use the
7600         new stuff.
7601
7602 2005-10-10  Andy Wingo  <wingo@pobox.com>
7603
7604         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7605
7606         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7607         this flag, but it's not even in GLib 2.6. Odd. Hack around the
7608         issue.
7609
7610 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7611
7612         * gst/gstiterator.c: (gst_iterator_new):
7613           Fix my previous commit: GTypes passed to gst_iterator_new()
7614           can be fundamental types.
7615
7616 2005-10-10  Wim Taymans  <wim@fluendo.com>
7617
7618         * gst/gstelement.c: (gst_element_iterate_pad_list),
7619         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7620         (gst_element_iterate_sink_pads):
7621         Use src/sink pads lists for the respective iterators instead
7622         of filtering.
7623
7624 2005-10-10  Andy Wingo  <wingo@pobox.com>
7625
7626         Merged in popt removal + GOption addition patch from Ronald, bug
7627         #169772.
7628
7629         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7630         GstElement macros around, remove popt-related symbols, add goption
7631         stuff.
7632
7633         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7634         
7635         * docs/gst/Makefile.am:
7636         * docs/libs/Makefile.am: No POPT_CFLAGS.
7637         
7638         * examples/manual/Makefile.am:
7639         * docs/manual/basics-init.xml: Doc updates with an example.
7640         
7641         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7642         (gst_init), (parse_one_option), (parse_goption_arg):
7643         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
7644         bit of hand merging and debugging to get the GOption stuff working
7645         tho.
7646         
7647         * tests/Makefile.am:
7648         * tools/Makefile.am:
7649         * tools/gst-inspect.c: (main):
7650         * tools/gst-launch.c: (main):
7651         * tools/gst-run.c: (main):
7652         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
7653
7654 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7655
7656         * gst/gstiterator.c: (gst_iterator_new):
7657           Add assertions to make sure passed GType is likely to really
7658           be a GType (as the compiler won't catch it if the size and
7659           GType arguments get mixed up, see #318447).
7660
7661 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
7662
7663         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7664
7665         * gst/gstbin.c: (gst_bin_iterate_sorted):
7666           Pass GType and size arguments to gst_iterator_new() in the right
7667           order (maybe we should make _new() take the GType as first argument
7668           just like _new_list()?) (#318447).
7669           
7670
7671 2005-10-10  Wim Taymans  <wim@fluendo.com>
7672
7673         * gst/gstelement.c: (gst_element_finalize):
7674         And free the GStaticRecMutex too
7675
7676 2005-10-10  Andy Wingo  <wingo@pobox.com>
7677
7678         * gst/gstelement.c (gst_element_init, gst_element_finalize):
7679         Allocate and free the mutex properly.
7680
7681         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
7682         New macros.
7683         (GstElement): The state_lock is now recursive. Rebuild your
7684         plugins, suckers. Old macros adapted.
7685
7686         * docs/gst/gstreamer-sections.txt: Doc updates.
7687
7688         * gst/gstutils.h:
7689         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
7690         (g_static_rec_cond_wait): Ported from state changes patch, while
7691         we wait on bug #317802 to be solved in a well-distributed GLib.
7692
7693         * gst/gstelement.c (gst_element_change_state_func): Renamed from
7694         gst_element_change_state, variable name changes.
7695         (gst_element_change_state): Split out of gst_element_set_state in
7696         preparation for the state change merge. Doesn't pay attention to
7697         the 'transition' argument.
7698         (gst_element_set_state): Updates, hopefully purely cosmetic.
7699         (gst_element_sync_state_with_parent): MT-safety. Ported from the
7700         state change patch.
7701         (gst_element_get_state_func): Renamed from get_state, cosmetic
7702         changes.
7703
7704 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7705
7706         * gst/elements/gstelements.c:
7707         * win32/GStreamer.vcproj:
7708         * win32/config.h:
7709         * win32/dirent.c: (_tseekdir):
7710         * win32/gst-inspect.vcproj:
7711         * win32/gst-launch.vcproj:
7712         * win32/gstconfig.h:
7713         * win32/gstelements.vcproj:
7714         * win32/gstenumtypes.c: (gst_object_flags_get_type):
7715         * win32/gstreamer.def:
7716         * win32/msvc71.sln:
7717           updates for the win32 build (patch from Sebastien Moutte)
7718
7719 2005-10-10  Andy Wingo  <wingo@pobox.com>
7720
7721         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
7722         gst_bin_get_state, cleaned up (but no logic changes).
7723         (bin_element_is_sink): Comment updates.
7724         (sink_iterator_filter): Remove needless cast.
7725         (gst_bin_iterate_sinks): Doc update.
7726         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
7727         cleaned up (but no logic changes).
7728
7729         * check/states/sinks.c (test_src_sink): Cleanups from the state
7730         change patch.
7731         (test_livesrc_sink): Sync on the state.
7732
7733         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
7734         the state change patch.
7735
7736         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
7737         change patch.
7738
7739         * check/gst/gstbin.c: Merge in some style fixes and additional
7740         checks from Wim's state change patch.
7741
7742 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7743
7744         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7745         (gst_type_find_helper):
7746           Check whether we have the requested data already in our list of
7747           cached buffers before pulling a new buffer; also make the buffer
7748           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
7749
7750 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * gst/gstcaps.c:
7753         * gst/gstevent.c:
7754           doc updates
7755         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7756           don't use long long, it's not portable.  Replacing with
7757           gint64 seems to work; let's hope no skeletons fall out of the closet.
7758
7759 2005-10-10  Andy Wingo  <wingo@pobox.com>
7760
7761         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
7762
7763 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
7764
7765         * docs/gst/gstreamer-sections.txt:
7766         * gst/gstevent.c:
7767         * gst/gstevent.h:
7768         * gst/gstinfo.c:
7769         * gst/gstinfo.h:
7770         * gst/gstmessage.c: (gst_message_parse_state_changed):
7771         * gst/gstpad.c:
7772         * gst/gstpad.h:
7773           more docs, fix compilation
7774
7775 2005-10-09  Philippe Khalaf <burger@speedy.org>
7776         * gst/gstmessage.c:
7777           Fixed a few forgotten variables on previous commit
7778
7779 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7780
7781         * gst/base/gsttypefindhelper.c: (helper_find_peek):
7782           Fix evil typefind crasher: getrange() might return a short
7783           buffer at the end of a file, but gst_type_find_peek() must
7784           either return the full data as requested or NULL, but
7785           never a short buffer.
7786
7787 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7788
7789         * gst/gstmessage.c: (gst_message_new_state_changed),
7790         (gst_message_parse_state_changed):
7791         * gst/gstmessage.h:
7792           don't use "new", it's a C++ keyword
7793
7794 2005-10-08  Wim Taymans  <wim@fluendo.com>
7795
7796         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
7797         * gst/gstelement.c: (gst_element_post_message):
7798         * gst/gstpipeline.c: (gst_pipeline_change_state):
7799         Small docs and debug updates.
7800
7801 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7802
7803         * docs/gst/gstreamer-sections.txt:
7804         * gst/gstelementfactory.c:
7805         * gst/gstevent.c:
7806         * gst/gsttaglist.c:
7807           more docs
7808
7809 2005-10-08  Wim Taymans  <wim@fluendo.com>
7810
7811         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
7812         (gst_bin_dispose), (bin_bus_handler):
7813         Fix typos, add comments.
7814         Clear EOS list when going to PAUSED from any direction and do it
7815         in a threadsafe way.
7816         Get base time in a threadsafe way too.
7817         Fix confusing debug in the change_state function.
7818         Various other small cleanups.
7819         
7820         * gst/gstelement.c: (gst_element_post_message):
7821         Fix very verbose bus posting code.
7822
7823         * gst/gstpipeline.c: (gst_pipeline_class_init),
7824         (gst_pipeline_set_property), (gst_pipeline_get_property),
7825         (gst_pipeline_change_state):
7826         Small ARG_ -> PROP_ cleanup
7827
7828 2005-10-08  Wim Taymans  <wim@fluendo.com>
7829
7830         * gst/gstbin.c: (is_eos), (bin_bus_handler):
7831         Do a less CPU demanding EOS check because we can.
7832
7833 2005-10-08  Wim Taymans  <wim@fluendo.com>
7834
7835         * libs/gst/dataprotocol/dataprotocol.c:
7836         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7837         (gst_dp_packet_from_event):
7838         * libs/gst/dataprotocol/dataprotocol.h:
7839         * libs/gst/dataprotocol/dp-private.h:
7840         It's about time we bump the version number.
7841         Since event types don't fit in the guint8 anymore describing
7842         the payload type, make payload type 16 bits wide.
7843
7844 2005-10-08  Wim Taymans  <wim@fluendo.com>
7845
7846         * docs/design/part-TODO.txt:
7847         * docs/design/part-clocks.txt:
7848         * docs/design/part-events.txt:
7849         * docs/design/part-gstbin.txt:
7850         * docs/design/part-gstelement.txt:
7851         * docs/design/part-gstpipeline.txt:
7852         * docs/design/part-live-source.txt:
7853         * docs/design/part-messages.txt:
7854         * docs/design/part-overview.txt:
7855         * docs/design/part-states.txt:
7856         Many doc updates.
7857
7858 2005-10-08  Wim Taymans  <wim@fluendo.com>
7859
7860         * gst/gstevent.c:
7861         * gst/gstevent.h:
7862         Fix event quark registration.
7863         Add some space between events so we can insert them in the
7864         right groups.
7865
7866 2005-10-08  Wim Taymans  <wim@fluendo.com>
7867
7868         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7869         (gst_base_sink_handle_buffer):
7870         Better log message.
7871
7872         * gst/gstbus.h:
7873         * gst/gstelement.h:
7874         More docs.
7875
7876         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7877         (gst_queue_set_property), (gst_queue_get_property):
7878         * gst/gstqueue.h:
7879         Remove old unused properties.
7880
7881 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7882         * docs/gst/gstreamer-sections.txt:
7883         * gst/gstmessage.c:
7884         * gst/gstmessage.h:
7885         * gst/gstminiobject.c:
7886         * gst/gstminiobject.h:
7887         * gst/gstobject.h:
7888         * gst/gstpad.h:
7889         * gst/gstutils.h:
7890           lots of new docs and doc fixes
7891
7892 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7893
7894         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
7895         * gst/gstplugin.h:
7896         * gst/gstregistry.c: (gst_registry_lookup_locked),
7897         (gst_registry_scan_path_level):
7898         * gst/gstregistryxml.c: (load_plugin):
7899           Only ever load one plugin for a given plugin basename.
7900           This ensures correct overriding of GST_PLUGIN_PATH over
7901           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
7902           system installed plugins.
7903
7904 2005-10-08  Wim Taymans  <wim@fluendo.com>
7905
7906         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7907         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
7908         Prepare for doing QOS.
7909
7910 2005-10-08  Wim Taymans  <wim@fluendo.com>
7911
7912         * check/gst/gstbin.c: (GST_START_TEST):
7913         * check/pipelines/cleanup.c: (GST_START_TEST):
7914         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7915         Allow new clock message too.
7916
7917 2005-10-08  Wim Taymans  <wim@fluendo.com>
7918
7919         * gst/gstmessage.c: (gst_message_new_error),
7920         (gst_message_new_warning), (gst_message_new_tag),
7921         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7922         (gst_message_new_clock_lost), (gst_message_new_new_clock),
7923         (gst_message_new_segment_start), (gst_message_new_segment_done),
7924         (gst_message_parse_state_changed),
7925         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
7926         (gst_message_parse_new_clock):
7927         * gst/gstmessage.h:
7928         Also carry the clock in question.
7929
7930 2005-10-08  Wim Taymans  <wim@fluendo.com>
7931
7932         * gst/gstmessage.c: (gst_message_new_custom),
7933         (gst_message_new_eos), (gst_message_new_error),
7934         (gst_message_new_warning), (gst_message_new_tag),
7935         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7936         (gst_message_new_new_clock), (gst_message_new_segment_start),
7937         (gst_message_new_segment_done), (gst_message_parse_state_changed),
7938         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
7939         * gst/gstmessage.h:
7940         Clean up.
7941         Added clock related messages.
7942
7943         * gst/gstpipeline.c: (gst_pipeline_change_state):
7944         Post message when the clock changed.
7945
7946         * tools/gst-launch.c: (event_loop):
7947         Print new clock.
7948
7949 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7950
7951         * tools/gst-inspect.c: (print_element_properties_info):
7952           Can't pass NULL strings to g_print() on windows.
7953
7954 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7955
7956         * docs/Makefile.am:
7957         * docs/gst/Makefile.am:
7958         * docs/gst/gstreamer-docs.sgml:
7959         * docs/gst/running.xml:
7960         * docs/version.entities.in:
7961           add a chapter on running GStreamer.
7962           document GST_DEBUG and GST_PLUGIN* env vars
7963
7964 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7965
7966         * Makefile.am:
7967           remove include dir
7968         * configure.ac:
7969           remove PLUGINS_BUILDDIR stuff
7970         * gst/gst.c: (init_post):
7971           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
7972         * idiottest.mak:
7973           remove, it was condescending and not needed
7974
7975 2005-10-08  Wim Taymans  <wim@fluendo.com>
7976
7977         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7978         (gst_base_sink_handle_object), (gst_base_sink_event),
7979         (gst_base_sink_wait), (gst_base_sink_handle_event),
7980         (gst_base_sink_change_state):
7981         * gst/base/gstbasesink.h:
7982         Repost EOS message while going to PLAYING if still EOS.
7983         Make sure that when receiving a FLUSH_START we don't attempt
7984         to sync on the clock anymore.
7985
7986 2005-10-08  Wim Taymans  <wim@fluendo.com>
7987
7988         * tools/gst-launch.c: (event_loop):
7989         Better message printout.
7990
7991 2005-10-08  Wim Taymans  <wim@fluendo.com>
7992
7993         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
7994         (gst_bin_child_proxy_get_children_count):
7995         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7996         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
7997         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
7998         (gst_child_proxy_set_valist):
7999         * gst/parse/grammar.y:
8000         Make ChildProxy threadsafe and fix mem leaks.
8001
8002 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8003
8004         * gst/gst.c: (init_post):
8005           debug the GST_PLUGIN_ env vars
8006
8007 2005-10-08  Wim Taymans  <wim@fluendo.com>
8008
8009         * check/gst/gstbin.c: (GST_START_TEST):
8010         * check/gst/gstmessage.c: (GST_START_TEST):
8011         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8012         * gst/gstelement.c: (gst_element_commit_state),
8013         (gst_element_lost_state):
8014         * gst/gstmessage.c: (gst_message_new_state_changed),
8015         (gst_message_parse_state_changed):
8016         * gst/gstmessage.h:
8017         * tools/gst-launch.c: (event_loop):
8018         Added extra field to STATE_CHANGE message with the pending
8019         state, which will be different from the new state soon.
8020
8021 2005-10-08  Wim Taymans  <wim@fluendo.com>
8022
8023         * gst/gstbus.c: (gst_bus_pop):
8024         * gst/gstclock.c:
8025         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8026         Small cleanups and doc updates.
8027
8028 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8029
8030         * gst/gst.c: (init_pre):
8031         * gst/gstbin.c: (gst_bin_add_func):
8032           log distributing clocks and base time
8033         * gst/gstregistry.c: (gst_registry_add_plugin),
8034         (gst_registry_scan_path_level), (gst_registry_scan_path):
8035           clean up the debugging output a little
8036         * gst/gstutils.c: (gst_element_state_get_name):
8037           warn about a memleak (I've actually seen this be used, though
8038           it was probably a bug)
8039
8040 2005-10-07  Wim Taymans  <wim@fluendo.com>
8041
8042         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8043         (gst_base_src_init), (gst_base_src_default_newsegment),
8044         (gst_base_src_newsegment), (gst_base_src_do_seek),
8045         (gst_base_src_loop), (gst_base_src_start):
8046         * gst/base/gstbasesrc.h:
8047         Make the newsegment event customizable by subclasses.
8048
8049 2005-10-07  Wim Taymans  <wim@fluendo.com>
8050
8051         * gst/gstevent.c: (gst_event_new_buffersize),
8052         (gst_event_parse_buffersize):
8053         * gst/gstevent.h:
8054         New event for future idea.
8055
8056 2005-10-07  Andy Wingo  <wingo@pobox.com>
8057
8058         * gst/gstelement.c (gst_element_post_message): Doc update.
8059
8060         * docs/gst/gstreamer-sections.txt: Update.
8061
8062         * gst/gstmessage.c (gst_message_new_application): Made into a
8063         function like honest API calls.
8064         (gst_message_new_element): New message type.
8065
8066         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
8067
8068         * check/elements/fakesrc.c (test_no_preroll): New check, checks
8069         that setting a live fakesrc to PAUSED returns NO_PREROLL both
8070         times.
8071
8072         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
8073         NO_PREROLL from gst_element_change_state to fall through.
8074
8075 2005-10-07  Wim Taymans  <wim@fluendo.com>
8076
8077         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
8078         (gst_ghost_pad_do_activate_push):
8079         Activating a ghostpad with no internal pad in push mode
8080         is ok.
8081
8082 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8083
8084         * gst/gstobject.h:
8085           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
8086           Fixes compilation on Windows.
8087
8088 2005-10-07  Michael Smith <msmith@fluendo.com>
8089
8090         * tools/gst-inspect.c:
8091           Print out feature and plugin count at the end when printing out
8092           all features.
8093
8094 2005-10-04  Michael Smith <msmith@fluendo.com>
8095
8096         * gst/gsterror.c: (_gst_stream_errors_init):
8097           Add another error string used in a few existing plugins.
8098
8099         * gst/gstplugin.c:
8100         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8101         * tools/gst-inspect.c: (print_element_info):
8102           When a feature disappears from a plugin (and the feature exists in
8103           the cached registry file), things went horribly wrong. This isn't a
8104           complete fix, we should actually be removing the 'missing' features
8105           from the features list when we load the actual plugin. That's not
8106           yet implemented. 
8107
8108 2005-10-04  Johan Dahlin  <johan@gnome.org>
8109
8110         * check/gst/gstiterator.c: (GST_START_TEST):
8111         * gst/gstbin.c: (gst_bin_iterate_elements),
8112         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8113         * gst/gstelement.c: (gst_element_iterate_pads):
8114         * gst/gstformat.c: (gst_format_iterate_definitions):
8115         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8116         (gst_iterator_new_list), (gst_iterator_filter):
8117         * gst/gstiterator.h:
8118         * gst/gstquery.c: (gst_query_type_iterate_definitions):
8119         Add a GType to GstIterator, update callsites and tests.
8120
8121 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8122
8123         * gst/gstpad.c: (gst_pad_event_default_dispatch):
8124           give events a chance to be handled by event probes when the pad
8125           is not linked
8126
8127 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8128
8129         * gst/gstevent.c: (gst_event_type_get_name),
8130         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8131         * gst/gstevent.h:
8132           add string representations for event types
8133
8134 2005-10-06  Wim Taymans  <wim@fluendo.com>
8135
8136         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8137         Don't use NULL pointers.
8138
8139 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8140
8141         * gst/gst_private.h:
8142         * gst/gstbus.c:
8143         * gst/gstelement.c:
8144         * gst/gstinfo.c:
8145         * gst/gstpluginfeature.c:
8146           widen the debug category in output to fit the biggest one we have
8147           add a bus category and use it
8148           play with the colors
8149           fix up some categories
8150
8151 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8154           add push activation of sink ghost pads.
8155           Andye, please verify
8156
8157 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8158
8159         * gst/gstutils.c: (gst_element_link_pads):
8160           fix a bug in the case where neither element has a pad
8161         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8162           add a test for that case
8163
8164 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8167           emit have-data before checking for peers.  This allows
8168           for probe handlers to connect elements.  This helps autopluggers.
8169         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8170         (gst_pad_suite):
8171           add six checks, linked/unlinked with no/true/false probe
8172
8173 2005-10-04  Wim Taymans  <wim@fluendo.com>
8174
8175         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8176         (gst_fake_sink_event), (gst_fake_sink_preroll),
8177         (gst_fake_sink_render), (gst_fake_sink_change_state):
8178         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8179         (gst_fake_src_get_property), (gst_fake_src_create),
8180         (gst_fake_src_stop):
8181         * gst/elements/gstidentity.c: (gst_identity_stop):
8182         Protect last_message with lock.
8183
8184 2005-10-04  Edward Hervey  <edward@fluendo.com>
8185
8186         * gst/gstformat.h: 
8187         Added precision in the comments for GST_FORMAT_DEFAULT
8188
8189 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
8190
8191         * tools/gst-launch.c: (main):
8192           Don't try to run erroneous pipelines.
8193
8194 2005-10-04  Julien MOUTTE  <julien@moutte.net>
8195
8196         * gst/gstbus.c: We don't need this header.
8197
8198 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8199
8200         * configure.ac:
8201           back to development
8202
8203 === release 0.9.3 ===
8204
8205 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8206
8207         * README:
8208         * configure.ac:
8209           Releasing 0.9.3, "Unregistered"
8210
8211 2005-10-03  Andy Wingo  <wingo@pobox.com>
8212
8213         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8214         whereby calling a pad's activatepush() function can start a thread
8215         that starts to push or pull before the pad gets the FLUSHING flag
8216         unset. Hack around it by holding the stream lock until the flag is
8217         set. Need to replace this with a proper solution. Together with
8218         the ghost pad fixes, this fixes mp3 playing/tagreading.
8219
8220         * docs/design/part-gstghostpad.txt: Add a note about activation of
8221         proxy pads outside of ghost pads.
8222
8223         * gst/gstghostpad.c: Implement the ghost pad activation design.
8224
8225 2005-10-02  Andy Wingo  <wingo@pobox.com>
8226
8227         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8228         It is volatile, after all.
8229
8230         * docs/design/part-gstghostpad.txt: Flesh out activation with
8231         ghost pads.
8232
8233         * gst/base/gstbasesrc.c (gst_base_src_init): Use
8234         GST_DEBUG_FUNCPTR.
8235
8236 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8237
8238         * configure.ac:
8239           Fix (unused) AM_CONDITIONAL tests.
8240
8241 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
8242
8243         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8244
8245         * gst/gstutils.c: (gst_pad_query_convert):
8246           Add assertion that makes sure src_val is >=0, just like
8247           gst_query_new_convert() has. (#315895)
8248
8249 2005-09-30  Edward Hervey  <edward@fluendo.com>
8250
8251         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
8252         Let's not iterate pads we're not interested in, it avoids getting 
8253         sky-high refcounts on sinkpad.
8254
8255 2005-09-30  Wim Taymans  <wim@fluendo.com>
8256
8257         * gst/gstelement.c: (gst_element_set_state),
8258         (gst_element_change_state):
8259         Small tweak, element in ASYNC remains ASYNC.
8260
8261 2005-09-30  Wim Taymans  <wim@fluendo.com>
8262
8263         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8264         Only error is an error.
8265
8266         * gst/gstbin.c: (gst_bin_change_state):
8267         Better debugging.
8268
8269         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
8270         Also call pad_block in pad alloc.
8271
8272         * gst/gstutils.c: (gst_flow_get_name):
8273         Better debugging.
8274
8275 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8276
8277         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8278         (gst_base_src_get_range):
8279           Fix documentation typos. Add some more debug info.
8280
8281 2005-09-29  David Schleef  <ds@schleef.org>
8282
8283         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
8284           more end-user friendly.
8285         * tools/gst-inspect.c: (main): Check if command-line argument is
8286           a file and attempt to load that file as a plugin.
8287
8288 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8289
8290         * check/gst/gstbin.c:
8291         * check/states/sinks.c:
8292           fix tests for the new warning
8293         * check/gst/gstpipeline.c:
8294           add a test for pipeline and bus interaction
8295         * gst/gstelement.c:
8296           elements should be NULL if they get disposed; add a warning if not
8297
8298 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8299
8300         * gst/gstobject.c:
8301           for 2.6 refcounting, make debug log more correct by printing
8302           the actual refcounts at the time of swap (Wim)
8303
8304 2005-09-29  Andy Wingo  <wingo@pobox.com>
8305
8306         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
8307         removes signal watches previously added via
8308         gst_bus_add_signal_watch.
8309         (gst_bus_add_signal_watch): Don't return the source id, just store
8310         it on the bus if there wasn't an id already.
8311
8312         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
8313         add_signal_watch and remove_signal_watch.
8314
8315 2005-09-29  Edward Hervey  <edward@fluendo.com>
8316
8317         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
8318         Better if we actually iterate the list :)
8319
8320 2005-09-29  Wim Taymans  <wim@fluendo.com>
8321
8322         * check/gst/gstbin.c: (GST_START_TEST):
8323         Change for new bus API.
8324
8325         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8326         (send_messages), (GST_START_TEST), (gstbus_suite):
8327         Change for new bus signal API.
8328
8329         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
8330         (gst_bus_source_prepare), (gst_bus_source_check),
8331         (gst_bus_create_watch), (gst_bus_add_watch_full),
8332         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
8333         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
8334         * gst/gstbus.h:
8335         Remove support for multiple GSources operating on different
8336         message types as it is too complex and unneeded when using
8337         signals.
8338         Added support for receiving signals from the bus.
8339
8340 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8341
8342         * docs/libs/tmpl/gstdataprotocol.sgml:
8343         * docs/manual/advanced-dataaccess.xml:
8344         * gst/elements/gstcapsfilter.c:
8345         * gst/gstutils.c:
8346           rename filter-caps to caps property
8347
8348 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8349
8350         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8351           More robust fraction string parsing.
8352
8353         * docs/pwg/appendix-porting.xml:
8354           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
8355
8356 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8357
8358         * gst/gstcaps.c: (gst_caps_do_simplify):
8359           Thou shalt not free a structure and then continue using it
8360           in the next loop iteration.
8361
8362         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
8363         (gst_caps_suite):
8364           Add test case for caps simplification.
8365
8366 2005-09-29  Wim Taymans  <wim@fluendo.com>
8367
8368         * check/gst/gstbin.c: (GST_START_TEST):
8369         Oops.
8370
8371 2005-09-29  Wim Taymans  <wim@fluendo.com>
8372
8373         * check/gst/gstbin.c: (GST_START_TEST):
8374         Add bus to bin.
8375
8376         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8377         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8378         (find_element), (gst_bin_sort_iterator_next),
8379         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8380         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8381         (gst_bin_change_state), (gst_bin_dispose):
8382         A bin does not have a bus, it gets the bus from the parent.
8383
8384         * gst/gstelement.c: (gst_element_requires_clock),
8385         (gst_element_provides_clock), (gst_element_is_indexable),
8386         (gst_element_is_locked_state), (gst_element_change_state),
8387         (gst_element_set_bus_func):
8388         Small cleanups.
8389
8390         * gst/gstpipeline.c: (gst_pipeline_class_init),
8391         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
8392         The pipeline provides a bus.
8393
8394 2005-09-28  Johan Dahlin  <johan@gnome.org>
8395
8396         * gst/gstmessage.c (gst_message_parse_state_changed): Use
8397         gst_structure_get_enum instead of gst_structure_get_int
8398
8399         * gst/gststructure.c (gst_structure_get_enum): Impl.
8400
8401         * gst/gststructure.h (gst_structure_get_enum): Add
8402
8403         * docs/gst/gstreamer-sections.txt: Ditto
8404
8405         * gst/gstmessage.c (gst_message_new_state_changed): Use
8406         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
8407         which does introspection.
8408         Reviewed by Christian Schaller
8409
8410 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8411
8412         * gst/gstinfo.c: (gst_debug_log_default):
8413           don't do dummy g_strdup()s
8414         * libs/gst/controller/gstcontroller.c:
8415         (on_object_controlled_property_changed),
8416         (gst_controlled_property_new), (gst_controller_new_valist),
8417         (gst_controller_new_list),
8418         (gst_controller_remove_properties_valist), (gst_controller_set),
8419         (gst_controller_get), (gst_controller_sync_values),
8420         (gst_controller_get_value_array), (_gst_controller_class_init),
8421         (gst_controller_get_type):
8422         * libs/gst/controller/gstcontroller.h:
8423         * libs/gst/controller/gstinterpolation.c:
8424         (gst_controlled_property_find_timed_value_node):
8425           convert // to /**/ comments
8426
8427 2005-09-28  Wim Taymans  <wim@fluendo.com>
8428
8429         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
8430         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
8431         (gst_bus_sync_signal_handler):
8432         * gst/gstbus.h:
8433         Added async-message and sync-message signals to the bus.
8434         Added helper BusFunc to emit signals for all posted messages.
8435
8436         * gst/gstmessage.c: (gst_message_type_get_name),
8437         (gst_message_type_to_quark), (gst_message_get_type):
8438         * gst/gstmessage.h:
8439         Register quarks for message names.
8440
8441 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8442
8443         * docs/libs/gstreamer-libs-sections.txt:
8444         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8445         (gst_controller_new_list):
8446         * libs/gst/controller/gstcontroller.h:
8447           added another constructor for language bindings
8448
8449 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8450
8451         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8452           add another check
8453         * gst/gstbus.c:
8454           add some doc
8455         * gst/gstinfo.c: (_gst_debug_init):
8456           slightly more readable color for refcount debugging
8457
8458 2005-09-28  Wim Taymans  <wim@fluendo.com>
8459
8460         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8461         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8462         (find_element), (gst_bin_sort_iterator_next),
8463         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8464         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8465         (gst_bin_change_state), (gst_bin_dispose):
8466         Small doc fixes. get_clock -> provide_clock.
8467
8468         * gst/gstelement.c: (gst_element_class_init),
8469         (gst_element_provides_clock), (gst_element_provide_clock),
8470         (gst_element_get_clock), (gst_element_commit_state),
8471         (gst_element_lost_state):
8472         * gst/gstelement.h:
8473         Make get/set_clock() symetric. Add provide_clock vmethod since
8474         that is actually what this function does.
8475
8476         * gst/gstpipeline.c: (gst_pipeline_class_init),
8477         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
8478         (gst_pipeline_get_clock):
8479         get_clock -> provide_clock.
8480
8481 2005-09-28  Andy Wingo  <wingo@pobox.com>
8482
8483         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
8484         lieu of real docs...
8485
8486         * gst/elements/gstfdsrc.c: Cleaned up a bit.
8487
8488 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
8489
8490         * gst/elements/gstcapsfilter.c:
8491         * gst/elements/gstfakesink.c:
8492         * gst/elements/gstfakesrc.c:
8493         * gst/elements/gstfdsink.c:
8494         * gst/elements/gstfdsrc.c:
8495         * gst/elements/gstfilesink.c:
8496         * gst/elements/gstfilesrc.c:
8497         * gst/elements/gstidentity.c:
8498         * gst/elements/gsttee.c:
8499         * gst/elements/gsttypefindelement.c:
8500           Make element details static.
8501
8502 2005-09-28  Wim Taymans  <wim@fluendo.com>
8503
8504         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8505         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8506         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8507         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8508         (gst_bin_change_state), (gst_bin_dispose):
8509         Some documentation updates.
8510         Clean up dispose handlers.
8511
8512         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
8513         * gst/gstpad.c: (gst_pad_dispose):
8514         Clean up dispose handler.
8515
8516         * gst/gstpipeline.c: (gst_pipeline_change_state):
8517         Removed spurious UNLOCK.
8518
8519 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
8520
8521         * docs/gst/gstreamer-sections.txt:
8522         * gst/base/gstbasesrc.h:
8523         * gst/gstelement.h:
8524         * gst/gstevent.h:
8525         * gst/gstobject.h:
8526         * gst/gstpad.h:
8527         * gst/gstpipeline.c:
8528         * gst/gstpipeline.h:
8529         * gst/gstutils.h:
8530         * gst/gstxml.h:
8531           added two new functions to the docs
8532                 documents all undocumented GstXXXFlags
8533                 completed some incomplete docs 
8534
8535 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8536
8537         * gst/gstbin.c: (gst_bin_dispose):
8538         * gst/gstelement.c: (gst_element_dispose):
8539           remove now useless and leaky resurrection code in dispose
8540         * gst/base/gstbasesrc.c: (gst_base_src_init):
8541         * gst/gstelementfactory.c: (gst_element_factory_create):
8542         * gst/gstobject.c: (gst_object_set_parent):
8543           add some debugging
8544
8545 2005-09-27  Wim Taymans  <wim@fluendo.com>
8546
8547         * docs/design/part-TODO.txt:
8548         Update TODO.
8549
8550         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8551         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8552         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8553         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8554         (gst_bin_change_state):
8555         * gst/gstelement.h:
8556         Remove element variable, we keep element info in the iterator now.
8557
8558 2005-09-27  Andy Wingo  <wingo@pobox.com>
8559
8560         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
8561         values.
8562
8563 2005-09-27  Wim Taymans  <wim@fluendo.com>
8564
8565         * check/gst/gstbin.c: (GST_START_TEST):
8566         Enable check that works now.
8567
8568         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8569         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8570         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8571         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8572         (gst_bin_change_state):
8573         * gst/gstbin.h:
8574         Redid the state change algorithm using a topological sort algo.
8575         Handles all cases correctly.
8576         Exposed iterator for state change order.
8577
8578         * gst/gstelement.h:
8579         Temp storage for state changes. Need to get rid of this soon.
8580
8581 2005-09-27  Wim Taymans  <wim@fluendo.com>
8582
8583         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
8584         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
8585         (link_fold_func), (gst_pad_proxy_setcaps):
8586         Leak fixes, the fold functions need to unref the passed object and
8587         _get_parent_*() returns ref to parent.
8588
8589 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8590
8591         * check/gst/gstbuffer.c: (test_make_writable):
8592           Plug leak in test case and fix 'make check-valgrind'
8593
8594 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8595
8596         * gst/gstbuffer.c: (gst_subbuffer_init):
8597           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8598           works correctly in all circumstances (we could have just copied
8599           the parent buffer's readonly flag, but conceptually it seems
8600           cleaner to mark all subbuffers as read-only). (based on patch
8601           by Alessandro Decina, #314710).
8602         
8603         * check/gst/gstbuffer.c: (create_read_only_buffer),
8604         (test_make_writable), (test_subbuffer_make_writable),
8605         (gst_test_suite):
8606           Add some tests for gst_buffer_make_writable().
8607
8608 2005-09-27  Wim Taymans  <wim@fluendo.com>
8609
8610         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8611         use gst_object_has_ancestor().
8612
8613         * gst/gstobject.c: (gst_object_has_ancestor):
8614         * gst/gstobject.h:
8615         gst_object_has_ancestor() copied from gstbin.c as it is a
8616         usefull function.
8617
8618         * tests/instantiate/create.c: (create_all_elements):
8619         * tests/lat.c: (handoff_src), (handoff_sink):
8620         * tests/sched/runxml.c: (main):
8621         * tests/seeking/seeking1.c: (main):
8622         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8623         (main):
8624         Fix compilation of some tests.
8625
8626 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8627
8628         * gst/gsterror.h:
8629           Remove comment. GST_TYPE_G_ERROR is here to stay,
8630           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8631           (#316961, #300610).
8632
8633 2005-09-26  Wim Taymans  <wim@fluendo.com>
8634
8635         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8636         Added check that shows error in state change order.
8637
8638 2005-09-26  Wim Taymans  <wim@fluendo.com>
8639
8640         * gst/gstbin.c: (gst_bin_change_state):
8641         Make state change function use 3 queues again, we were
8642         adding elements in the wrong order.
8643
8644         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8645         Some debug info,
8646
8647         * gst/gstpad.c: (gst_pad_dispose):
8648         Added some debug info first.
8649
8650 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
8651
8652         * docs/design/draft-push-pull.txt:
8653         * docs/design/part-events.txt:
8654         * docs/design/part-overview.txt:
8655         * docs/design/part-scheduling.txt:
8656           Replace all _pull_region() with _pull_range()
8657           
8658 2005-09-26  Andy Wingo  <wingo@pobox.com>
8659
8660         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
8661
8662         * check/gst-libs/controller.c: Update for controller api change.
8663
8664         * configure.ac: 
8665         * tests/Makefile.am:
8666         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
8667         over by GLib bug 118439.
8668         
8669         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
8670         routines to a function.
8671
8672         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
8673
8674         * libs/gst/controller/gsthelper.c:
8675         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
8676         (gst_object_sync_values): Renamed from sink_values. Ugh.
8677
8678         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
8679
8680         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
8681         Renamed from controller_key, as it is exported.
8682
8683         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
8684
8685 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8686
8687         * gst/Makefile.am:
8688         * gst/gst.h:
8689         * gst/gstpad.h:
8690         * gst/gstpadtemplate.h:
8691         * gst/gstquery.c:
8692         * gst/gstquery.h:
8693         * gst/gstqueryutils.c:
8694         * gst/gstqueryutils.h:
8695           remove queryutils headers after moving the two used functions
8696           to gstquery.  also fixes build problem for gstsiddec
8697
8698 2005-09-26  Michael Smith <msmith@fluendo.com>
8699
8700         * tools/gst-launch.1.in:
8701         Correct documentation in manpage of debug syntax
8702
8703 2005-09-26  Wim Taymans  <wim@fluendo.com>
8704
8705         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8706         (gst_base_src_is_seekable), (gst_base_src_change_state):
8707         Some more debugging info.
8708
8709 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8710
8711         * docs/gst/gstreamer-sections.txt:
8712         * gst/base/gstbasetransform.h:
8713         * gst/gstindex.h:
8714           added more docs
8715
8716 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8717
8718         * docs/gst/.cvsignore:
8719         * docs/gst/tmpl/.cvsignore:
8720         * docs/gst/tmpl/gstpipeline.sgml:
8721         * docs/gst/tmpl/gstplugin.sgml:
8722         * gst/gstpipeline.c:
8723         * gst/gstplugin.c:
8724         * gst/gstplugin.h:
8725           inlined the last two docs files
8726           removed the tmpl directory from cvs (no more conflicts here!)
8727
8728 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8729
8730         * docs/gst/gstreamer-sections.txt:
8731         * docs/gst/tmpl/.cvsignore:
8732         * docs/gst/tmpl/gstpad.sgml:
8733         * docs/gst/tmpl/gstpadtemplate.sgml:
8734         * gst/Makefile.am:
8735         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8736         (gst_pad_finalize), (gst_pad_set_pad_template):
8737         * gst/gstpad.h:
8738         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8739         (gst_pad_template_class_init), (gst_pad_template_init),
8740         (gst_pad_template_dispose), (name_is_valid),
8741         (gst_static_pad_template_get), (gst_pad_template_new),
8742         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
8743         (gst_pad_template_pad_created):
8744         * gst/gstpadtemplate.h:
8745           inlined two more docs
8746           factored gstpadtemplate out of gstpad
8747
8748 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
8749
8750         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8751         (test_children_state_change_order_semi_sink):
8752           Fix test case: we can't rely on a fixed state change order when
8753           going from READY => PAUSED because the sink might commit its 
8754           new state first when the first buffer created by the source 
8755           reaches the sink before the source has finished its change state.
8756           (Test case still fails at times, see #316856, comment 5 onwards)
8757
8758 2005-09-24  Wim Taymans  <wim@fluendo.com>
8759
8760         * docs/design/part-events.txt:
8761         * docs/design/part-gstbus.txt:
8762         * docs/design/part-gstpipeline.txt:
8763         * docs/design/part-messages.txt:
8764         * docs/design/part-overview.txt:
8765         * docs/design/part-segments.txt:
8766         * gst/gstbin.c:
8767         * gst/gstbuffer.c:
8768         * gst/gstclock.c:
8769         * gst/gstelement.c:
8770         * gst/gstevent.c:
8771         * gst/gstfilter.c:
8772         * gst/gstiterator.c:
8773         Various documentation updates.
8774
8775 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8776
8777         * gst/gstclock.h:
8778           Well, that's embarassing.  Luckily we weren't using
8779           GST_CLOCK_DIFF anywhere.
8780
8781 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8782
8783         * common/gtk-doc.mak:
8784           don't fail on building XML, FC4 slave shows a bunch of doc
8785           missing bits that I don't get
8786         * gst/gstpad.c:
8787         * gst/gstpipeline.c:
8788         * gst/gststructure.c:
8789           some doc updates
8790
8791 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8792
8793         * docs/design/part-gstbin.txt:
8794         * docs/design/part-gstbus.txt:
8795         * gst/gstbus.c:
8796           Add blurb about how the bus goes into flushing mode and
8797           drops all messages when its bin goes from READY into NULL 
8798           state.
8799
8800 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8801
8802         * docs/gst/gstreamer-sections.txt:
8803         * gst/gststructure.c: (gst_structure_get_clock_time):
8804         * gst/gststructure.h:
8805           add a method to get a GstClockTime out of a structure
8806
8807 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8808
8809         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8810         (test_children_state_change_order_semi_sink), (gst_bin_suite):
8811           Added test to check state change order in bins (can still be made
8812           to fail here under heavy disk load; bails out with 'Push on pad
8813           fakesink:sink0, but it was not activated in push mode').
8814
8815         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
8816           Fix state change order when there is only a semi sink (#316856)
8817
8818         * gst/gstbus.c: (gst_bus_class_init):
8819           Use _class_peek_parent(), not _class_ref(); fix docs to say
8820           'default main context' instead of 'mainloop' where that is
8821           what's meant.
8822
8823         * gst/gstelement.c: (gst_element_commit_state),
8824         (gst_element_set_state):
8825           Fix typos in debug messages
8826
8827 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8828
8829         * docs/README:
8830         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
8831         * gst/gstpluginfeature.c:
8832         * gst/gstutils.c:
8833           various doc updates
8834         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8835           change an assert into an error until it gets fixed properly
8836
8837 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
8838
8839         * docs/gst/gstreamer-sections.txt:
8840         * docs/gst/tmpl/.cvsignore:
8841         * docs/gst/tmpl/gstelement.sgml:
8842         * docs/gst/tmpl/gstinfo.sgml:
8843         * docs/gst/tmpl/gstobject.sgml:
8844         * gst/gstelement.c:
8845         * gst/gstelement.h:
8846         * gst/gstinfo.c:
8847         * gst/gstinfo.h:
8848         * gst/gstobject.c: (gst_object_class_init):
8849         * gst/gstobject.h:
8850           inlined 3 more biiiig doc files and added some missing docs on the fly
8851
8852 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8853
8854         * check/gst/.cvsignore:
8855         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
8856         * gst/gstregistryxml.c: (load_plugin),
8857         (gst_registry_xml_save_plugin):
8858           put back source in registry.  add checks for find_plugin.
8859         * testsuite/states/bin.c: (assert_state), (empty_bin),
8860         (test_adding_one_element), (main):
8861         * testsuite/states/locked.c: (main):
8862           some compile/run fixes
8863
8864 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8865
8866         * check/gst/gstvalue.c: (GST_START_TEST):
8867           fix leaks in the test itself
8868
8869 2005-09-22  Wim Taymans  <wim@fluendo.com>
8870
8871         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8872         (gst_base_sink_send_event), (gst_base_sink_peer_query),
8873         (gst_base_sink_query):
8874         Prepare for more accurate position reporting and query
8875         handling.
8876
8877         * gst/gstelement.c: (gst_element_send_event),
8878         (gst_element_set_state):
8879         Add some comment.
8880
8881 2005-09-22  Wim Taymans  <wim@fluendo.com>
8882
8883         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
8884         (gst_query_parse_segment):
8885         * gst/gstquery.h:
8886         More documentation.
8887         Add segment query for future use.
8888
8889 2005-09-22  Wim Taymans  <wim@fluendo.com>
8890
8891         * gst/gstbin.c: (gst_bin_add_func):
8892         Some more debug info.
8893
8894         * gst/gstelement.c: (gst_element_send_event):
8895         Simplify send_event
8896
8897         * gst/gstelement.h:
8898         Don't know how flags got broken.
8899
8900         * gst/gstquery.h:
8901         Added new query.
8902
8903 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8904
8905         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
8906           Add simplistic test suite for GST_TYPE_DATE serialisation and
8907           deserialisation.
8908
8909 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8910
8911         * docs/gst/gstreamer-sections.txt:
8912         * gst/gststructure.c: (gst_structure_set_valist),
8913         (gst_structure_get_date):
8914         * gst/gststructure.h:
8915         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
8916         (gst_date_copy), (gst_value_compare_date),
8917         (gst_value_serialize_date), (gst_value_deserialize_date),
8918         (gst_value_transform_date_string),
8919         (gst_value_transform_string_date), (_gst_value_initialize):
8920         * gst/gstvalue.h:
8921           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
8922           bunch of utility functions along with a hack that checks that
8923           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
8924           is required. Part of the grand scheme in #170777.
8925
8926 2005-09-22  Andy Wingo  <wingo@pobox.com>
8927
8928         * gst/gstconfig.h.in: Psych out gtk-doc.
8929
8930         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
8931
8932         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
8933
8934         * tools/gst-inspect.c (print_element_list): Plug some
8935         inconsequential leaks.
8936
8937         * gst/gstregistry.c (gst_registry_get_default): Doc.
8938
8939         * check/gst/gstplugin.c: 
8940         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
8941         * gst/gstelementfactory.c (gst_element_factory_create): 
8942         * gst/gstindexfactory.c (gst_index_factory_create): Update for
8943         refcount changes.
8944
8945         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
8946         (gst_plugin_feature_load): Doc, don't eat refs.
8947
8948         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
8949         (gst_plugin_list_free): Doc.
8950         (gst_plugin_load_file): Doc updates.
8951
8952         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
8953         accessors returning refcounted objects, return a ref.
8954
8955         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
8956         accessor for caps. IDEMPOTENCE. Oh yes.
8957
8958 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
8959
8960         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8961
8962         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8963         (_gst_debug_register_funcptr):
8964           Add mutex to serialise access to the hash table with
8965           the function pointer => function name string mapping;
8966           make that hash table static scope (#316809).
8967
8968         * gst/registries/.cvsignore:
8969           Remove left-over file.
8970
8971 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8972
8973         * docs/pwg/appendix-porting.xml:
8974           And something about newsegment events and caps-on-buffers to
8975           the porting guide (feel free to improve).
8976
8977 2005-09-21  Andy Wingo  <wingo@pobox.com>
8978
8979         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
8980         data and event probes on the same pad.
8981         (test_buffer_probe_once): Test that removing probes from within
8982         the probe functions works.
8983
8984 2005-09-21  Andy Wingo  <wingo@pobox.com>
8985
8986         * check/gst/gstutils.c: New file.
8987         (test_buffer_probe_n_times): A simple buffer probe test. More to
8988         come, foolios.
8989
8990         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
8991         have-data::buffer, not have-data.
8992         (gst_pad_add_event_probe): Likewise for have-data::event.
8993         (gst_pad_add_data_probe): More docs. The part about 'resolving the
8994         peer' isn't quite right yet though.
8995         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
8996         (gst_pad_remove_data_probe): Change to take the guint handler_id
8997         as their arg, not the function+data, which is more glib-like.
8998
8999         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
9000         the signal emission to indicate if the data is a buffer or an
9001         event.
9002         (gst_pad_get_type): Initialize buffer and event quarks.
9003         (gst_pad_class_init): have-data is now a detailed signal, yes it
9004         is.
9005
9006 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9007
9008         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9009         * gst/gstutils.c: (gst_util_set_value_from_string),
9010         (gst_util_set_object_arg):
9011           Don't put functional code in g_return_if_fail() or
9012           g_return_val_if_fail() statements, otherwise things will 
9013           break when G_DISABLE_CHECKS is defined during compilation.
9014
9015 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9016
9017         * docs/gst/tmpl/.cvsignore:
9018         * docs/gst/tmpl/gstvalue.sgml:
9019         * gst/gstvalue.c:
9020         * gst/gstvalue.h:
9021           inlied another one and added  some obvious docs
9022
9023 2005-09-21  Wim Taymans  <wim@fluendo.com>
9024
9025         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9026         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
9027         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
9028         (gst_fdsrc_get_property), (gst_fdsrc_create):
9029         * gst/elements/gstfdsrc.h:
9030         Properly implement fdsrc. Removed signal and timeout,
9031         better implemented somewhere else.
9032
9033 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9034
9035         * docs/gst/tmpl/.cvsignore:
9036         * docs/gst/tmpl/gstimplementsinterface.sgml:
9037         * gst/gstinterface.c:
9038           inlined more docs
9039
9040 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9041
9042         * docs/gst/gstreamer-sections.txt:
9043         * docs/gst/tmpl/.cvsignore:
9044         * docs/gst/tmpl/gstenumtypes.sgml:
9045           remove obsolete doc file
9046
9047 2005-09-21  David Schleef  <ds@schleef.org>
9048
9049         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
9050         little beer, fix a little leak.
9051
9052 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9053
9054         * docs/gst/gstreamer-docs.sgml:
9055         * docs/gst/gstreamer-sections.txt:
9056         * docs/gst/tmpl/.cvsignore:
9057         * gst/Makefile.am:
9058         * gst/gst.h:
9059         * gst/gstbin.c:
9060         * gst/gstelement.h:
9061         * gst/gstindex.c: (gst_index_class_init):
9062         * gst/gstindex.h:
9063         * gst/gstindexfactory.c: (gst_index_factory_get_type),
9064         (gst_index_factory_class_init), (gst_index_factory_init),
9065         (gst_index_factory_finalize), (gst_index_factory_new),
9066         (gst_index_factory_destroy), (gst_index_factory_find),
9067         (gst_index_factory_create), (gst_index_factory_make):
9068         * gst/gstindexfactory.h:
9069         * gst/gstpluginfeature.c:
9070         * gst/gstpluginfeature.h:
9071         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9072           more docs inlined, splitted gstindex.{c,h}
9073
9074 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9075
9076         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9077           fix a leak
9078
9079 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9080
9081         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9082           Set sync to FALSE by default.
9083
9084 2005-09-20  Wim Taymans  <wim@fluendo.com>
9085
9086         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9087         (gst_base_sink_init):
9088         Make sync property settable from subclass.
9089
9090         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9091         (gst_fake_sink_change_state):
9092         Set sync to FALSE by default.
9093
9094 2005-09-20  Wim Taymans  <wim@fluendo.com>
9095
9096         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9097         * tools/gst-launch.c: (main):
9098         The timeout handler should have lower priority than the source
9099         so we don't timeout before popping a message with 0 timeout.
9100         Dump error messages after failed state change.
9101
9102 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9103
9104         * tools/gst-inspect.c: (print_element_properties_info):
9105           Fix two typos.
9106
9107 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9108
9109         * check/gst/gstevent.c:
9110         * gst/elements/gstfakesink.c:
9111         * gst/elements/gstfakesink.h:
9112           remove the sync property from fakesink.
9113           has the side effect of setting sync TRUE
9114           for fakesink, which is a change.  Anyone who knows how
9115           to fix this nicely in a GObject-y way, feel free.
9116
9117 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9118
9119         * docs/gst/gstreamer-docs.sgml:
9120           remove probe refsection
9121
9122 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9123
9124         * check/Makefile.am:
9125           disable valgrinding the controller test again
9126         * docs/gst/gstreamer-sections.txt:
9127           update for api-changes
9128
9129 2005-09-20  Wim Taymans  <wim@fluendo.com>
9130
9131         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9132         (gst_base_sink_set_property), (gst_base_sink_get_property),
9133         (gst_base_sink_do_sync):
9134         * gst/base/gstbasesink.h:
9135         Added sync property to basesink to disable clock sync.
9136
9137 2005-09-20  Andy Wingo  <wingo@pobox.com>
9138
9139         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9140         eating the caller's refcount.
9141
9142         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
9143         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9144         refcount.
9145
9146         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9147         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9148         of GLib 2.8 public, so we can know which refcount to check in
9149         tests.
9150
9151         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9152         (gst_object_init): Only set the gst refcount if we're going ahead
9153         with the refcount hack.
9154
9155 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9156
9157         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9158         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9159           more leaks plumbed, added more debug-logging
9160         * gst/gstmacros.h:
9161           whitespace fix
9162
9163 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9164
9165         * gst/gstmessage.c:
9166           remove include of gstmemchunk.h
9167
9168 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9169
9170         * gst/gstclock.c: (_gst_clock_id_free):
9171           Commit from the Political Party For More Atomic CVS Commits,
9172           so that people don't waste too much of their day fishing
9173           out obvious leaks out of massive commits.
9174           Oh, and fix a pretty damn obvious leak in the memchunk
9175           removal code.
9176
9177 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9178
9179         * check/Makefile.am:
9180         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9181           plug mem-leak, re-add to valgrindable tests
9182
9183 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9184
9185         * gst/gstplugin.h:
9186           unbreak the build for those who have chronic arthritis
9187           and typing "make check" is just too taxing on the hands
9188
9189 2005-09-20  Andy Wingo  <wingo@pobox.com>
9190
9191         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9192         really want it out, you should fix plugins at the same time.
9193
9194 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
9195
9196         * configure.ac:
9197         * docs/gst/gstreamer-sections.txt:
9198         * gst/gstobject.c:
9199           added missing symbols to api docs
9200           disable ref-count hack if we have glib >= 2.8
9201
9202 2005-09-19  David Schleef  <ds@schleef.org>
9203
9204         * docs/gst/Makefile.am: Ignore a few more internal headers
9205         * docs/gst/gstreamer-docs.sgml: Remove old sections
9206         * docs/gst/gstreamer-sections.txt: Remove old sections
9207         * docs/gst/tmpl/gstobject.sgml: update
9208         * docs/gst/tmpl/gstplugin.sgml: update
9209         * docs/gst/tmpl/gstpluginfeature.sgml: update
9210         * docs/random/ds/0.9-suggested-changes: update.
9211         * gst/Makefile.am: remove memchunk and trashstack, since they're
9212           not used.
9213         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9214         * gst/gst.h: don't include some headers
9215         * gst/gstchildproxy.c: add gstmarshal.h
9216         * gst/gstclock.c: Don't use memchunks
9217         * gst/gstminiobject.c: Add some docs
9218         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9219         * gst/gstobject.h: same
9220         * gst/gstplugin.c: include gstmacros.h
9221         * gst/gstplugin.h: don't include gstmacros.h, since it's private
9222         * gst/gstquery.c: don't use memchunks
9223         * gst/gstregistry.c: rename gst_registry_deinit()
9224         * gst/gstregistry.h: same
9225
9226 2005-09-19  David Schleef  <ds@schleef.org>
9227
9228         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9229         * docs/libs/gstreamer-libs-sections.txt:
9230         * docs/libs/tmpl/gstgetbits.sgml:
9231         * docs/libs/tmpl/gstputbits.sgml:
9232
9233 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
9234
9235         * win32/gstenumtypes.c:
9236         * win32/gstenumtypes.h:
9237           Update.
9238
9239 2005-09-19  Wim Taymans  <wim@fluendo.com>
9240
9241         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9242         Automatically PAUSE and RESUME a pipeline when a flushing seek
9243         is performed.
9244
9245 2005-09-19  Andy Wingo  <wingo@pobox.com>
9246
9247         * gst/gstregistry.h: Spacing fixen.
9248
9249 2005-09-19  Wim Taymans  <wim@fluendo.com>
9250
9251         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
9252         Handle state change failure more correctly.
9253
9254 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9255
9256         * check/Makefile.am:
9257         * check/pipelines/cleanup.c: (run_pipeline):
9258         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9259         (GST_START_TEST):
9260           enable cleanup again after fixing the leak
9261         * docs/README:
9262           some more info on docs
9263
9264 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9265
9266         * check/Makefile.am:
9267           re-enable tests now that leaks are plugged
9268         * check/gst/gst.c:
9269         * check/gst/gstbin.c:
9270         * check/gst/gstpipeline.c:
9271           add some more tests while fixing leaks
9272         * common/check.mak:
9273           make sure binaries are uptodate when valgrinding/gdbing
9274         * gst/gst.c:
9275         * gst/gstelementfactory.c:
9276           remove a ref too many, and add a FIXME for when we get
9277           round to disposing of classes
9278         * gst/gstplugin.c:
9279           fix the refcounting when loading a plugin from a file and
9280           the code pretends that the pointer is the same even though
9281           of course it can change
9282         * gst/gstpluginfeature.c:
9283           unref plugins marked cached (a bit confusing as a name)
9284           as the docs state should be done
9285           various doc additions to explain refcounting
9286         * gst/gstregistry.c:
9287         * gst/gstregistryxml.c:
9288           debugging
9289
9290 2005-09-19  Wim Taymans  <wim@fluendo.com>
9291
9292         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9293         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9294         (send_messages), (GST_START_TEST), (gstbus_suite):
9295         * check/gst/gstpipeline.c: (GST_START_TEST):
9296         * check/pipelines/cleanup.c: (run_pipeline):
9297         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9298         (GST_START_TEST):
9299         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
9300         (gst_bus_source_check), (gst_bus_source_dispatch),
9301         (gst_bus_create_watch), (gst_bus_add_watch_full),
9302         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
9303         * gst/gstbus.h:
9304         * tools/gst-launch.c: (event_loop):
9305         * tools/gst-md5sum.c: (event_loop):
9306         GstBusHandler -> GstBusFunc, return value has the same meaning as
9307         any other GSource (FALSE == remove source).
9308         _add_watch() and _add_watch_full() now take a MessageType mask to
9309         only handle specific types of messages.
9310         _poll() returns the GstMessage instead of the message type to avoid
9311         race conditions.
9312         _have_pending() takes a MessageType mask now too.
9313         Added testsuite for multiple bus watches.
9314         Fix testsuites and applications for new bus API.
9315
9316 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9317
9318         * check/Makefile.am:
9319           mark a bunch of the tests as to fix until we fix them
9320
9321 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9322
9323         * common/check.mak:
9324           use GST_PLUGIN settings for valgrind tests as well, so we're
9325           valgrinding the correct thing
9326         * gst/gst.c: (init_post):
9327           plug another leak
9328
9329 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9330
9331         * gst/gst.c: (init_post), (gst_deinit):
9332         * gst/gstelementfactory.c: (gst_element_factory_class_init),
9333         (gst_element_factory_finalize), (gst_element_factory_cleanup):
9334         * gst/gstindex.c: (gst_index_factory_class_init),
9335         (gst_index_factory_finalize):
9336         * gst/gstobject.c: (gst_object_dispose):
9337         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9338         (gst_plugin_load_file), (gst_plugin_desc_free):
9339         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
9340         (gst_plugin_feature_finalize):
9341         * gst/gstregistry.c: (gst_registry_class_init),
9342         (gst_registry_init), (gst_registry_finalize),
9343         (gst_registry_get_default), (gst_registry_deinit):
9344         * gst/gstregistry.h:
9345         * gst/gstregistryxml.c: (load_feature), (load_plugin):
9346           various cleanups and memleak plugging.  make valgrind is happy now.
9347
9348 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9349
9350         * common/check.mak:
9351           add a check-valgrind target
9352
9353 2005-09-18  David Schleef  <ds@schleef.org>
9354
9355         * tools/gst-inspect.c: Revert the GOption code.
9356
9357 2005-09-17  David Schleef  <ds@schleef.org>
9358
9359         * check/Makefile.am: Fix environment variables.
9360         * check/gst/gstplugin.c: Fix for API changes.
9361         * tools/gst-inspect.c: Fix for API changes.
9362         * tools/gst-xmlinspect.c: Fix for API changes.
9363         * gst/gstelementfactory.c:
9364         * gst/gstplugin.c:
9365         * gst/gstplugin.h:
9366         * gst/gstpluginfeature.c:
9367         * gst/gstpluginfeature.h:
9368         * gst/gstregistry.c:
9369         * gst/gstregistry.h:
9370         * gst/gstregistryxml.c:
9371         * gst/gsttypefind.c:
9372         * gst/gsttypefindfactory.c:
9373         * gst/indexers/gstfileindex.c:
9374         * gst/indexers/gstmemindex.c:
9375         * gst/schedulers/Makefile.am:
9376           Change registry to keep track of both plugins and features,
9377           removing the feature tracking from plugins themselves.
9378
9379 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9380
9381         * check/Makefile.am:
9382         * tools/gst-register.1.in:
9383           remove gst-register
9384
9385 2005-09-15  David Schleef  <ds@schleef.org>
9386
9387         * check/gst/gstplugin.c:
9388         * gst/gstelementfactory.c:
9389         * gst/gstplugin.c:
9390         * gst/gstpluginfeature.c:
9391         * gst/gstregistry.c:
9392           Getting tired of debugging.  Disabled all the unreffing of
9393           plugins and features, which fixes the segfaults, but of
9394           course leaks like crazy.  At least playbin works.
9395
9396 2005-09-15  David Schleef  <ds@schleef.org>
9397
9398         * check/gst/gstplugin.c: (register_check_elements),
9399         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
9400         More testing
9401         * gst/elements/gsttypefindelement.c: Fix refcounting.
9402         * gst/gsttypefind.c:
9403         * gst/gsttypefindfactory.c:
9404         * gst/gsttypefindfactory.h:
9405
9406 2005-09-15  David Schleef  <ds@schleef.org>
9407
9408         * gst/gstindex.c: get refcounting correct.
9409         * gst/gstregistry.c: Handle the case where a feature/plugin is
9410           not found.
9411
9412 2005-09-15  David Schleef  <ds@schleef.org>
9413
9414         * check/Makefile.am:
9415         * check/gst/gstplugin.c: Add test
9416         * gst/gstplugin.c: Fix problems noticed by testsuite
9417         * gst/gstplugin.h:
9418         * gst/gstregistry.c: 
9419         * gst/gstregistry.h:
9420
9421 2005-09-15  David Schleef  <ds@schleef.org>
9422
9423         * gst/gstplugin.c: Implement semi-decent recounting and locking
9424           in plugins and plugin features.
9425         * gst/gstplugin.h:
9426         * gst/gstpluginfeature.c:
9427         * gst/gstpluginfeature.h:
9428         * gst/gstregistry.c:
9429
9430 2005-09-15  Michael Smith <msmith@fluendo.com>
9431
9432         * gst/gstregistry.c: (gst_registry_get_feature_list):
9433           Implement this. Makes oggdemux work; decodebin still broken.
9434
9435 2005-09-14  David Schleef  <ds@schleef.org>
9436
9437         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
9438           #316076)
9439         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
9440         * gst/check/Makefile.am:
9441         * libs/gst/controller/Makefile.am:
9442         * libs/gst/dataprotocol/Makefile.am:
9443
9444 2005-09-14  David Schleef  <ds@schleef.org>
9445
9446         * configure.ac: Remove getbits library.  Nothing uses it, and
9447           it should be in something like liboil if someone did want
9448           to use it.
9449         * libs/gst/Makefile.am:
9450         * libs/gst/getbits/Makefile.am:
9451         * libs/gst/getbits/gbtest.c:
9452         * libs/gst/getbits/getbits.c:
9453         * libs/gst/getbits/getbits.h:
9454         * libs/gst/getbits/gstgetbits_generic.c:
9455         * libs/gst/getbits/gstgetbits_i386.s:
9456         * libs/gst/getbits/gstgetbits_inl.h:
9457
9458 2005-09-14  David Schleef  <ds@schleef.org>
9459
9460         * gst/Makefile.am: Dist glib-compat.h
9461
9462 2005-09-14  David Schleef  <ds@schleef.org>
9463
9464         * configure.ac: Remove gst/registries, since it's no longer used.
9465         * gst/registries/Makefile.am:
9466         * gst/registries/gstlibxmlregistry.c:
9467         * gst/registries/gstlibxmlregistry.h:
9468         * gst/registries/gstxmlregistry.c:
9469         * gst/registries/gstxmlregistry.h:
9470         * gst/registries/registrytest.c:
9471
9472 2005-09-14  David Schleef  <ds@schleef.org>
9473
9474         * gst/glib-compat.h:
9475         * gst/gstregistryxml.c:
9476           Convergence is near.  Seriously.
9477
9478 2005-09-14  David Schleef  <ds@schleef.org>
9479
9480         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9481         * gst/glib-compat.h:
9482           Attempt #4 to appease the buildbots.
9483
9484 2005-09-14  David Schleef  <ds@schleef.org>
9485
9486         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9487           Attempt #3.
9488
9489 2005-09-14  David Schleef  <ds@schleef.org>
9490
9491         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9492         Attempt #2.
9493
9494 2005-09-14  David Schleef  <ds@schleef.org>
9495
9496         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
9497           the new functions.
9498
9499 2005-09-14  David Schleef  <ds@schleef.org>
9500
9501         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9502         * gst/glib-compat.h: Add some functions that are in newer versions
9503           of glib than we care to require.
9504         * gst/gstregistryxml.c: Use them.
9505
9506 2005-09-14  David Schleef  <ds@schleef.org>
9507
9508         * po/POTFILES.in: remove gst-register.c
9509
9510 2005-09-14  David Schleef  <ds@schleef.org>
9511
9512         * docs/gst/gstreamer-docs.sgml:
9513         * docs/gst/gstreamer-sections.txt:
9514         * docs/gst/gstreamer.types:
9515         * docs/gst/tmpl/gstelement.sgml:
9516         * docs/gst/tmpl/gstplugin.sgml:
9517         * docs/gst/tmpl/gstpluginfeature.sgml:
9518           Documentation updates for registry changes.
9519
9520 2005-09-14  David Schleef  <ds@schleef.org>
9521
9522         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
9523           because we don't require glib-2.8.
9524
9525 2005-09-14  David Schleef  <ds@schleef.org>
9526
9527         * gst/gstregistryxml.c: Added.  Essentially moved out of the
9528           registries directory.
9529
9530 2005-09-14  David Schleef  <ds@schleef.org>
9531
9532         * check/Makefile.am:
9533         * check/generic/states.c:
9534         * gst/Makefile.am:
9535         * gst/gst.c:
9536         * gst/gst.h:
9537         * gst/gst_private.h:
9538         * gst/gstelementfactory.c:
9539         * gst/gstindex.c:
9540         * gst/gstinfo.c:
9541         * gst/gstplugin.c:
9542         * gst/gstplugin.h:
9543         * gst/gstpluginfeature.c:
9544         * gst/gstpluginfeature.h:
9545         * gst/gstregistry.c:
9546         * gst/gstregistry.h:
9547         * gst/gstregistrypool.c: remove
9548         * gst/gstregistrypool.h: remove
9549         * gst/gsttypefind.c:
9550         * gst/gsttypefindfactory.c:
9551         * gst/gsturi.c:
9552         * tools/Makefile.am:
9553         * tools/gst-compprep.c:
9554         * tools/gst-inspect.c:
9555         * tools/gst-register.c: remove
9556         * tools/gst-xmlinspect.c:
9557           Registry rewrite.  Changes registry from being a file created
9558           by a tool into a simple cache file created automatically by 
9559           libgstreamer.  Removed gst-register (because it's no longer
9560           needed).  Remove registry pools, because we only have one
9561           registry implementation (XML).  Fix up other subsystems as
9562           necessary.
9563
9564 2005-09-13  Michael Smith <msmith@fluendo.com>
9565
9566         * gst/gstconfig.h.in:
9567           Don't Use windows linking attributes for MinGW. Fixes #316157
9568
9569 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9570
9571         * gst/gstutils.c: (set_state_async_thread_func),
9572         (gst_element_set_state_async):
9573           Apparently people think it's better if this function doesn't
9574           try to set the state to whatever state was asked for on the first
9575           call to this function for any object.  Seriously.
9576
9577 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9578
9579         * check/gst/gstpipeline.c: (GST_START_TEST):
9580         * docs/gst/gstreamer-sections.txt:
9581         * gst/gstutils.c: (set_state_async_thread_func),
9582         (gst_element_set_state_async):
9583         * gst/gstutils.h:
9584           add a "gst_element_set_state_async" method that
9585           sets the state and starts a thread to make sure the state
9586           change completes as best as it can
9587
9588 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9589
9590         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9591           codify design+behaviour in testsuite after discussion
9592
9593 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9594
9595         * docs/gst/tmpl/gstelement.sgml:
9596         * docs/manual/appendix-quotes.xml:
9597           add a quote
9598         * gst/gstelement.c: (gst_element_set_state):
9599           add some debug
9600
9601 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
9602
9603         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9604         (gst_base_transform_prepare_output_buf),
9605         (gst_base_transform_handle_buffer):
9606         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9607         (gst_capsfilter_prepare_buf):
9608           Remove the requirement for sub-classes to call the parent
9609           implementation of prepare_output_buffer with a wrapper function.
9610           
9611         * gst/gsttaglist.h:
9612         * gst/gsttagsetter.h:
9613           Fix #define wrapper
9614
9615 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
9616
9617         * docs/gst/gstreamer-sections.txt:
9618           more doc cleanups
9619
9620 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9621
9622         * docs/gst/gstreamer-sections.txt:
9623         * docs/gst/tmpl/gstelement.sgml:
9624         * docs/gst/tmpl/gstplugin.sgml:
9625         * gst/gstminiobject.c:
9626         * gst/gstvalue.h:
9627           docs now stop throwing warnings
9628
9629 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9630
9631         * docs/gst/gstreamer-sections.txt:
9632         * docs/gst/gstreamer.types:
9633         * docs/gst/tmpl/gstpad.sgml:
9634         * docs/gst/tmpl/gsttypes.sgml:
9635         * gst/base/gstadapter.h:
9636         * gst/base/gstbasesink.h:
9637         * gst/base/gstbasesrc.h:
9638         * gst/gstbin.h:
9639         * gst/gstbuffer.h:
9640         * gst/gstbus.h:
9641         * gst/gstcaps.h:
9642         * gst/gstclock.h:
9643         * gst/gstelement.h:
9644         * gst/gstevent.h:
9645         * gst/gstmessage.h:
9646         * gst/gstpad.h:
9647         * gst/gststructure.c:
9648         * gst/registries/gstlibxmlregistry.h:
9649           various documentation fixes
9650
9651 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9652
9653         * docs/gst/gstreamer-sections.txt:
9654         * docs/gst/tmpl/gstvalue.sgml:
9655           rearrange gstvalue section
9656         * gst/gstutils.c: (gst_element_state_get_name):
9657           NONE -> VOID
9658         * gst/gstvalue.c: (_gst_value_initialize):
9659         * gst/gstvalue.h:
9660           doc updates
9661
9662 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
9663
9664         * check/gst-libs/controller.c:
9665           Header include fix.
9666         * gst/base/gstbasetransform.c:
9667         (gst_base_transform_default_prepare_buf),
9668         (gst_base_transform_handle_buffer):
9669         * gst/base/gstbasetransform.h:
9670           Some more basetransform changes and fixes to enable sub-classes
9671           that modify buffer metadata only.
9672         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9673         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
9674         (gst_capsfilter_prepare_buf):
9675           If the output pad has fixed allowed caps and input buffers 
9676           don't have any, set the fixed caps on outgoing buffers.
9677
9678 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
9679         * check/elements/identity.c: (GST_START_TEST):
9680           Make the error a little clearer when the test fails because
9681           identity made a copy of the buffer.
9682         * docs/gst/gstreamer-sections.txt:
9683           New symbols in gstbasetransform.h
9684         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9685         (gst_base_transform_init), (gst_base_transform_transform_size),
9686         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9687         (gst_base_transform_default_prepare_buf),
9688         (gst_base_transform_get_unit_size),
9689         (gst_base_transform_buffer_alloc),
9690         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9691         (gst_base_transform_change_state),
9692         (gst_base_transform_set_passthrough),
9693         (gst_base_transform_set_in_place),
9694         (gst_base_transform_is_in_place):
9695         * gst/base/gstbasetransform.h:
9696           Change BaseTransform to separate in_place operate from same_caps
9697           output. in_place implies that the element can perform the transform
9698           on incoming buffers in-place, even if the caps on the output are
9699           different.
9700           Sub-class elements can now implement special buffer allocation
9701           methods for outgoing buffers if they wish to.
9702           Big documentation addition.
9703         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
9704         * gst/elements/gstelements.c:
9705           Changes for basetransform modifications.
9706         * gst/elements/Makefile.am:
9707         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
9708           Compile fix. Extra debug output.
9709
9710 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9711
9712         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
9713         (gst_pad_suite):
9714           add tests for valid pad naming
9715         * gst/check/gstcheck.c: (gst_check_log_message_func),
9716         (gst_check_log_critical_func):
9717           add ASSERT_WARNING
9718           remove printing of code, it is fragile when the code contains
9719           % and the line number is enough info
9720         * gst/check/gstcheck.h:
9721         * gst/gstpad.c: (gst_pad_template_new):
9722           fix memleaks
9723
9724 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9725
9726         * configure.ac:
9727           say what CHECK flags we use
9728         * docs/libs/gstreamer-libs.types:
9729         * libs/gst/controller/Makefile.am:
9730         * libs/gst/controller/gst-controller.c:
9731         * libs/gst/controller/gst-controller.h:
9732         * libs/gst/controller/gst-helper.c:
9733         * libs/gst/controller/gst-interpolation.c:
9734         * libs/gst/controller/gstcontroller.c:
9735         * libs/gst/controller/gsthelper.c:
9736         * libs/gst/controller/gstinterpolation.c:
9737         * tools/gst-inspect.c: (print_plugin_info):
9738           we don't use dashes in header names
9739
9740 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9741
9742         * check/Makefile.am:
9743         * check/gst/.cvsignore:
9744         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
9745         (gst_pipeline_suite), (main):
9746           adding a test for pipelines and state changes
9747         * gst/gstutils.c: (get_state_func):
9748           add some debugging
9749         * gstreamer.spec.in:
9750           fix up spec file
9751
9752 2005-09-08  Michael Smith <msmith@fluendo.com>
9753
9754         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
9755         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
9756         (gst_file_src_is_seekable), (gst_file_src_get_size),
9757         (gst_file_src_start):
9758         * gst/elements/gstfilesrc.h:
9759           Various fixes for unseekable, unmmapable, and non-normal files, so
9760           that fallback to read() rather than mmap() works.
9761         * gst/gstevent.c: (gst_event_new_newsegment):
9762           Allow newsegment events with segment_start == segment_end, as will
9763           correctly happen if you use filesrc on a zero-size file, for
9764           example.
9765
9766 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9767
9768         * gst/gstplugin.c: (gst_plugin_load_file):
9769           Call g_module_close when we don't load the module
9770
9771         * gst/registries/gstlibxmlregistry.c:
9772         (gst_xml_registry_get_property):
9773           Port leak fix from 0.8
9774
9775 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9776
9777         * docs/gst/gstreamer-docs.sgml:
9778         * docs/gst/tmpl/.cvsignore:
9779         * docs/gst/tmpl/gsttrace.sgml:
9780         * docs/gst/tmpl/gsttrashstack.sgml:
9781         * gst/Makefile.am:
9782         * gst/gst.h:
9783         * gst/gstelement.h:
9784         * gst/gstevent.h:
9785         * gst/gstmessage.c:
9786         * gst/gstmessage.h:
9787         * gst/gsttag.c:
9788         * gst/gsttag.h:
9789         * gst/gsttaginterface.c:
9790         * gst/gsttaginterface.h:
9791         * gst/gsttaglist.c:
9792         * gst/gsttaglist.h:
9793         * gst/gsttagsetter.c:
9794         * gst/gsttagsetter.h:
9795         * gst/gsttrace.c:
9796         * gst/gsttrace.h:
9797         * gst/gsttrashstack.c:
9798           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
9799           inlined docs for gsttrace, gsttrashstack
9800
9801 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9802
9803         * gst/Makefile.am:
9804         * gst/elements/gstbufferstore.h:
9805         * gst/elements/gsttypefindelement.c:
9806         * gst/elements/gsttypefindelement.h:
9807         * gst/gst.h:
9808         * gst/gsttypefind.c:
9809         * gst/gsttypefind.h:
9810         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
9811         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
9812         (gst_type_find_factory_dispose),
9813         (gst_type_find_factory_unload_thyself),
9814         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
9815         (gst_type_find_factory_get_caps),
9816         (gst_type_find_factory_get_extensions),
9817         (gst_type_find_factory_call_function):
9818         * gst/gsttypefindfactory.h:
9819         * gst/registries/gstlibxmlregistry.c:
9820         * gst/registries/gstxmlregistry.c:
9821           splitted gsttypefind into gsttypefind, gsttypefindfactory
9822
9823 2005-09-07  Andy Wingo  <wingo@pobox.com>
9824
9825         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
9826         condition whereby the pad's task function is entered before the
9827         pad_mode variable was set.
9828
9829 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9830
9831         * gst/gstpad.c: (gst_pad_alloc_buffer):
9832           Catch misbehaving pad_alloc functions that don't
9833           set up caps and do it for them.
9834
9835 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9836
9837         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9838           test for pipe!=NULL
9839         * docs/gst/tmpl/.cvsignore:
9840         * docs/gst/tmpl/gstmemchunk.sgml:
9841         * docs/gst/tmpl/gstparse.sgml:
9842         * docs/gst/tmpl/gsttaglist.sgml:
9843         * docs/gst/tmpl/gsttagsetter.sgml:
9844         * docs/gst/tmpl/gsttypefind.sgml:
9845         * docs/gst/tmpl/gsttypefindfactory.sgml:
9846         * gst/gstmemchunk.c:
9847         * gst/gstparse.c:
9848         * gst/gsttag.c:
9849         * gst/gsttaginterface.c:
9850         * gst/gsttypefind.c:
9851         * gst/gsttypefind.h:
9852           inlined more docs
9853
9854 === release 0.9.2 ===
9855
9856 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9857
9858         * NEWS:
9859         * RELEASE:
9860         * configure.ac:
9861           releasing 0.9.2, "South"
9862
9863 2005-09-05  Andy Wingo  <wingo@pobox.com>
9864
9865         * gst/registries/gstxmlregistry.h:
9866         * gst/registries/gstxmlregistry.c: Um... resurrect...
9867         
9868         * gst/registries/gstxmlregistry.h:
9869         * gst/registries/gstxmlregistry.c: and update to newer API.
9870         Incidentally they should be a bit faster now that they don't have
9871         to parse the caps.
9872         
9873 2005-09-05  Andy Wingo  <wingo@pobox.com>
9874
9875         * gst/registries/gstxmlregistry.h:
9876         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
9877         replaced by the libxml registry a while back
9878
9879 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9880
9881         * docs/gst/tmpl/gstplugin.sgml:
9882         * gst/elements/gstelements.c:
9883         * gst/gst.c:
9884         * gst/gstplugin.c: (gst_plugin_register_func),
9885         (gst_plugin_desc_copy), (gst_plugin_desc_free),
9886         (gst_plugin_get_source):
9887         * gst/gstplugin.h:
9888         * gst/registries/gstlibxmlregistry.c: (load_plugin),
9889         (gst_xml_registry_save_plugin):
9890         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
9891         (gst_xml_registry_save_plugin):
9892         * tools/gst-inspect.c: (print_plugin_info):
9893           add a "source" plugin description field, to represent the source
9894           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
9895           will set it to PACKAGE, which is automake's idea of the name of
9896           the source project.
9897
9898 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9899
9900         * Makefile.am:
9901         * autogen.sh:
9902         * configure.ac:
9903         * docs/Makefile.am:
9904         * docs/faq/Makefile.am:
9905         * docs/gst/tmpl/gstelement.sgml:
9906         * docs/gst/tmpl/gsttypes.sgml:
9907         * docs/htmlinstall.mak:
9908         * docs/manual/Makefile.am:
9909         * docs/pwg/Makefile.am:
9910           reorganize doc build a little
9911           split out docbook and gtk-doc stuff
9912           have two separate --enable's and enable them through autogen
9913           but disable by default in configure (to be similar to other
9914           projects)
9915         * gstreamer.spec.in:
9916           clean up docs install
9917         * po/af.po:
9918         * po/az.po:
9919         * po/ca.po:
9920         * po/cs.po:
9921         * po/de.po:
9922         * po/en_GB.po:
9923         * po/fr.po:
9924         * po/it.po:
9925         * po/nb.po:
9926         * po/nl.po:
9927         * po/ru.po:
9928         * po/sq.po:
9929         * po/sr.po:
9930         * po/sv.po:
9931         * po/tr.po:
9932         * po/uk.po:
9933         * po/vi.po:
9934           translation updates
9935
9936 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
9937
9938         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
9939           Add comment.
9940           
9941         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9942         (gst_fake_sink_change_state):
9943           Make state change function thread-safe.
9944           
9945         * gst/gstpad.c: (gst_pad_alloc_buffer):
9946           Set offset on generic buffer allocated by fallback.
9947
9948 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
9949
9950         * docs/gst/gstreamer-sections.txt:
9951         * docs/gst/tmpl/gstelement.sgml:
9952         * gst/gstpad.c:
9953         * libs/gst/controller/gst-controller.c:
9954         (gst_controlled_property_set_interpolation_mode),
9955         (gst_controlled_property_new),
9956         (gst_controller_find_controlled_property):
9957          run the wingo-magic script against the docs
9958
9959 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9960
9961         * docs/gst/gstreamer-docs.sgml:
9962         * docs/gst/gstreamer-sections.txt:
9963         * docs/gst/tmpl/.cvsignore:
9964         * docs/gst/tmpl/gstelementdetails.sgml:
9965         * docs/gst/tmpl/gstelementfactory.sgml:
9966         * gst/gst.c:
9967         * gst/gstbus.c:
9968         * gst/gstelementfactory.c:
9969         * gst/gstelementfactory.h:
9970           merged elementdetails docs into elementfactory docs
9971           inlined both
9972
9973 2005-09-02  Andy Wingo  <wingo@pobox.com>
9974
9975         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
9976         consider this enum an enum and not a flags.
9977
9978 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9979
9980         * docs/gst/gstreamer-docs.sgml:
9981         * docs/gst/tmpl/.cvsignore:
9982         * docs/gst/tmpl/gstghostpad.sgml:
9983         * docs/gst/tmpl/gstiterator.sgml:
9984         * docs/gst/tmpl/gstmacros.sgml:
9985         * docs/gst/tmpl/gstrealpad.sgml:
9986         * docs/gst/tmpl/gstregistry.sgml:
9987         * docs/gst/tmpl/gstregistrypool.sgml:
9988         * docs/gst/tmpl/gststructure.sgml:
9989         * docs/gst/tmpl/gstsystemclock.sgml:
9990         * docs/gst/tmpl/gsttrace.sgml:
9991         * gst/gstghostpad.c:
9992         * gst/gstmacros.h:
9993         * gst/gstmemchunk.c:
9994         * gst/gstmemchunk.h:
9995         * gst/gstqueue.c:
9996         * gst/gstregistry.c:
9997         * gst/gstregistrypool.c:
9998         * gst/gststructure.c:
9999         * gst/gstsystemclock.c:
10000           more docs inlined
10001
10002 2005-09-02  Andy Wingo  <wingo@pobox.com>
10003
10004         * gst/gstelement.h (GstState): Renamed from GstElementState,
10005         changed to be a normal enum instead of flags.
10006         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
10007         munged to be GST_STATE_CHANGE_*.
10008         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
10009         work with the new state representation.
10010         (GstStateChange): New enumeration of possible state transitions.
10011         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
10012         (GstElementClass::change_state): Pass the GstStateChange along as
10013         an argument. Helps language bindings, so they don't have to use
10014         tricky lock-needing macros like GST_STATE_CHANGE ().
10015
10016         * scripts/update-states (file): New script. Run it on a file to
10017         update it for state naming and API changes. Updates files in
10018         place.
10019
10020         * All files updated for the new API.
10021
10022 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10023
10024         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
10025         * gst/gstutils.c: (gst_util_set_value_from_string),
10026         (gst_util_set_object_arg):
10027           fix a bunch of unchecked return values
10028         * tools/gst-complete.c: (main):
10029         * gstreamer.spec.in:
10030           clean up a little
10031
10032 2005-09-01  Wim Taymans  <wim@fluendo.com>
10033
10034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10035         (gst_base_sink_event), (gst_base_sink_do_sync),
10036         (gst_base_sink_handle_event):
10037         * gst/base/gstbasesink.h:
10038         Handle newsegments more correctly.
10039
10040         * gst/gstbus.c:
10041         Fix docs.
10042
10043         * gst/gstevent.c: (gst_event_new_newsegment):
10044         A newsegment cannot have a start_time of -1
10045
10046 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10047
10048         * win32/gstenumtypes.c:
10049         * win32/gstenumtypes.h:
10050           Update
10051
10052 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10053
10054         * libs/gst/controller/gst-controller.c:
10055         (gst_controlled_property_set_interpolation_mode),
10056         (gst_controlled_property_new):
10057          fixed boolean again
10058
10059 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10060
10061         * docs/faq/gst-uninstalled:
10062           add -good
10063         * gst/gstevent.c:
10064         * gst/gstevent.h:
10065           remove wrong docs
10066         * gst/gstutils.c: (gst_element_link_filtered):
10067         * gst/gstutils.h:
10068           add gst_element_link_filtered
10069
10070 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10071
10072         * docs/gst/gstreamer-docs.sgml:
10073         * docs/gst/gstreamer-sections.txt:
10074         * docs/gst/tmpl/.cvsignore:
10075         * docs/gst/tmpl/gsterror.sgml:
10076         * docs/gst/tmpl/gstfilter.sgml:
10077         * docs/gst/tmpl/gsturihandler.sgml:
10078         * docs/gst/tmpl/gsturitype.sgml:
10079         * docs/gst/tmpl/gstutils.sgml:
10080         * docs/gst/tmpl/gstxml.sgml:
10081         * gst/gsterror.c:
10082         * gst/gsterror.h:
10083         * gst/gstfilter.c:
10084         * gst/gsturi.c:
10085         * gst/gsturitype.c:
10086         * gst/gstutils.c:
10087         * gst/gstxml.c:
10088           inlined more docs, fixed double id-ref
10089
10090 2005-08-31  Wim Taymans  <wim@fluendo.com>
10091
10092         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10093         (gst_base_transform_handle_buffer):
10094         Passthrough elements don't need the caps as they don't care.
10095
10096 2005-08-31  Wim Taymans  <wim@fluendo.com>
10097
10098         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10099         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10100         Don't leak refcounts on buffers.
10101
10102 2005-08-31  Wim Taymans  <wim@fluendo.com>
10103
10104         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10105         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10106         (gst_base_transform_chain), (gst_base_transform_change_state):
10107         * gst/base/gstbasetransform.h:
10108         Handle the case where we are not negotiated more gracefully.
10109
10110 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
10111
10112         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10113         (gst_file_src_map_region):
10114           Set READONLY flag on mmap'ed buffers, otherwise
10115           gst_buffer_make_writable() won't work properly (#314708).
10116
10117 2005-08-31  Wim Taymans  <wim@fluendo.com>
10118
10119         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10120         passthrough elements can even do inplace on non writable
10121         buffers (as they don't touch them).
10122
10123 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10124
10125         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10126         (gst_test_mono_source_set_property),
10127         (gst_test_mono_source_class_init), (GST_START_TEST),
10128         (gst_controller_suite):
10129           more tests (hehe I have the most)
10130         * gst/gstbus.c:
10131           describe popping messages whenusing mulltiple sources
10132         * libs/gst/controller/gst-controller.c:
10133         (gst_controlled_property_set_interpolation_mode),
10134         (gst_controlled_property_new):
10135         * libs/gst/controller/gst-controller.h:
10136         * libs/gst/controller/gst-interpolation.c:
10137           implement boolean properties
10138
10139 2005-08-31  Wim Taymans  <wim@fluendo.com>
10140
10141         * gst/gstminiobject.c: (gst_mini_object_ref):
10142         Cannot assert that the refcount has to be positive
10143         since a disposed object can be resurrected.
10144
10145 2005-08-31  Wim Taymans  <wim@fluendo.com>
10146
10147         * gst/gstpad.c: (gst_pad_init):
10148         Revert change, need to first fix badly behaving 
10149         apps.
10150
10151 2005-08-30  Wim Taymans  <wim@fluendo.com>
10152
10153         * check/elements/fakesrc.c: (setup_fakesrc):
10154         * check/elements/identity.c: (setup_identity):
10155         Activate pads before using them.
10156
10157 2005-08-30  Wim Taymans  <wim@fluendo.com>
10158
10159         * gst/base/gstadapter.c: (gst_adapter_flush):
10160         Flushing out 0 bytes is ok for this function.
10161
10162         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10163         no newsegment gives a warning and sets the start/stop to 
10164         invalid.
10165
10166         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10167         (gst_base_transform_set_passthrough):
10168         Some debug info.
10169
10170         * gst/gstminiobject.c: (gst_mini_object_ref):
10171         Check refcount here too.
10172
10173         * gst/gstpad.c: (gst_pad_init):
10174         Pads are initially flushing and refusing data.
10175
10176         * gst/gstutils.c: (gst_element_link_pads_filtered):
10177         When adding a capsfilter element make sure it has the
10178         same state as the parent bin.
10179
10180 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10181
10182         * docs/gst/tmpl/.cvsignore:
10183         * docs/gst/tmpl/gstformat.sgml:
10184         * docs/gst/tmpl/gstversion.sgml:
10185         * gst/gstbus.h:
10186         * gst/gstformat.c:
10187         * gst/gstformat.h:
10188         * gst/gstversion.h.in:
10189           more docs and two more inlined
10190
10191 2005-08-30  Wim Taymans  <wim@fluendo.com>
10192
10193         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10194         Don't sync to clock.
10195
10196 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10197
10198         * docs/gst/gstreamer-sections.txt:
10199           ultral33t func10ns deserve to appear in the docs actually
10200         * docs/gst/tmpl/.cvsignore:
10201         * docs/gst/tmpl/gstcompat.sgml:
10202         * docs/gst/tmpl/gstconfig.sgml:
10203         * gst/check/gstcheck.c:
10204         * gst/gstcompat.h:
10205         * gst/gstconfig.h.in:
10206           inlined more docs
10207
10208 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10209
10210         * docs/gst/tmpl/.cvsignore:
10211         * docs/gst/tmpl/gstquery.sgml:
10212         * docs/gst/tmpl/gstutils.sgml:
10213         * gst/gstquery.c:
10214         * gst/gstquery.h:
10215           inlined and extended docs
10216
10217 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10218
10219         * check/gst-libs/controller.c: (GST_START_TEST),
10220         (gst_controller_suite):
10221           more tests
10222         * docs/gst/tmpl/gstutils.sgml:
10223         * docs/libs/gstreamer-libs-sections.txt:
10224         * docs/libs/tmpl/gstdataprotocol.sgml:
10225           include path fixes
10226         * examples/controller/audio-example.c: (main):
10227           controller example works now
10228         * gst/gstclock.h:
10229           doc fixes
10230         * tools/gst-inspect.c: (print_element_properties_info):
10231           show param spec flags
10232
10233 2005-08-29  Andy Wingo  <wingo@pobox.com>
10234
10235         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10236
10237 2005-08-28  Andy Wingo  <wingo@pobox.com>
10238
10239         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10240         as having two arguments instead of just one. Allows superclasses
10241         to access information on subclasses -- see the terrible for() loop
10242         in gtype.c:g_type_create_instance for the reason why. All callers
10243         changed.
10244
10245 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10246
10247         * docs/design/part-messages.txt:
10248           update info
10249         * docs/gst/tmpl/.cvsignore:
10250         * docs/gst/tmpl/gstcaps.sgml:
10251         * docs/gst/tmpl/gstclock.sgml:
10252         * gst/gstbus.c:
10253         * gst/gstcaps.c:
10254         * gst/gstcaps.h:
10255         * gst/gstclock.c:
10256         * gst/gstclock.h:
10257         * gst/gstmessage.c:
10258           added descriptions for bus and message
10259           inline caps and clock docs
10260
10261 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10262
10263         * gst/gstmessage.c:
10264         * gst/gstmessage.h:
10265           doc fixes
10266
10267 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10268
10269         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10270           fix div-by-zero
10271
10272 2005-08-26  Andy Wingo  <wingo@pobox.com>
10273
10274         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
10275         element_set_state's return val.
10276         (test_2_elements): Add test that's been disabled for months.
10277
10278         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
10279         can-activate-pull properties.
10280
10281         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
10282         can-activate-pull properties. Implement is_seekable so fakesrc can
10283         operate in pull mode.
10284
10285         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
10286         properties.
10287         (gst_base_sink_activate, gst_base_sink_activate_pull)
10288         (gst_base_sink_activate_push): Make activation mode choosing work.
10289         Cleanups.
10290         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
10291         is right. Make pull mode work. Post an eos before pausing in pull
10292         mode.
10293         (gst_base_sink_change_state): Pay attention to the core's
10294         change_state() return val.
10295         
10296         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
10297         has-getrange properties. Cleanups.
10298         
10299         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
10300         has_getrange and replace with can_activate_pull and
10301         can_activate_push.
10302
10303         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
10304         locking comments. Remove has_loop, has_chain and replace with
10305         can_activate_pull and can_activate_push.
10306
10307 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
10308
10309         * configure.ac:
10310         * examples/Makefile.am:
10311         * examples/metadata/Makefile.am:
10312         * examples/metadata/read-metadata.c: (message_loop),
10313         (have_pad_handler), (make_pipeline), (print_tag), (main):
10314           Add metadata reading example that loops over a list of filenames,
10315           dumping any tags found.
10316
10317         * gst/gstbus.c: (gst_bus_dispose):
10318         * gst/gstelement.c: (gst_element_dispose):
10319           Release a few potentially-held references in dispose.
10320
10321 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10322
10323         * docs/gst/tmpl/gstminiobject.sgml:
10324           do *not* add tmpl/*.sgml files to CVS!
10325
10326 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10327
10328         * libs/gst/bytestream/.cvsignore:
10329         * libs/gst/bytestream/Makefile.am:
10330         * libs/gst/bytestream/adapter.c:
10331         * libs/gst/bytestream/adapter.h:
10332         * libs/gst/bytestream/bytestream.c:
10333         * libs/gst/bytestream/bytestream.h:
10334         * libs/gst/bytestream/filepad.c:
10335         * libs/gst/bytestream/filepad.h:
10336           removing obsolete files
10337
10338 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10339
10340         * docs/gst/gstreamer-docs.sgml:
10341         * docs/libs/gstreamer-libs-docs.sgml:
10342           disabed additional index entries again, as this makes docs-gen just
10343           slow and they aren't useful yet
10344         * docs/libs/gstreamer-libs-sections.txt:
10345           little -section.txt cleanup for libs
10346
10347 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10348
10349         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10350         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
10351           fix up some debugging
10352         (gst_base_transform_get_unit_size),
10353         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10354         (gst_base_transform_handle_buffer):
10355         * gst/base/gstbasetransform.h:
10356           handle and store timed NEWSEGMENT events so that subclasses that
10357           calculate time by counting samples have a segment_start time they
10358           need to add to their timestamps - see audioresample
10359
10360 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10361
10362         * gst/gstbin.h:
10363           removed ';' from the end of macro defs
10364         * docs/gst/gstreamer-docs.sgml:
10365         * docs/gst/gstreamer-sections.txt:
10366         * docs/gst/tmpl/.cvsignore:
10367         * gst/gstbus.h:
10368         * gst/gstelement.c: (gst_element_class_init),
10369         (gst_element_set_state), (activate_pads),
10370         (gst_element_save_thyself):
10371         * gst/gstevent.c: (gst_event_new_newsegment):
10372         * gst/gstevent.h:
10373         * gst/gstiterator.c:
10374         * gst/gstiterator.h:
10375         * gst/gstpad.c:
10376         * gst/gstprobe.h:
10377         * gst/gstutils.c: (gst_pad_query_convert):
10378         * gst/gstutils.h:
10379           fixed parameter name mismatches between source, header and docs
10380           added some more docs, resolved the last batch of unused elements in
10381           docs (now someone needs to doc them)
10382
10383 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
10386         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
10387           don't walk through the plugins backwards.  Where is all this
10388           reversed logic coming from ?
10389
10390 2005-08-25  Wim Taymans  <wim@fluendo.com>
10391
10392         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10393         (gst_base_transform_transform_size),
10394         (gst_base_transform_configure_caps),
10395         (gst_base_transform_get_unit_size),
10396         (gst_base_transform_buffer_alloc),
10397         (gst_base_transform_change_state):
10398         * gst/base/gstbasetransform.h:
10399         Cache caps unit_size.
10400         Make sure we cannot negotiate up and downstream at the
10401         same time.
10402
10403 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10404
10405         * gst/gst.c: (init_pre), (init_post):
10406           register the installed plugin path after the env var
10407         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
10408         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
10409           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
10410           directories, so the tests can prefer uninstalled over installed
10411
10412 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10413
10414         * gst/base/gstbasetransform.h:
10415           comment
10416         * gst/gstpad.c:
10417           add to docs
10418
10419 2005-08-25  Wim Taymans  <wim@fluendo.com>
10420
10421         * gst/gstbin.c: (bin_bus_handler):
10422         Be a bit more conservative about the posted message.
10423         
10424         * gst/gstbus.c: (gst_bus_post):
10425         Some cleanups, warn wrong return values.
10426
10427 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
10428
10429         * check/gst/gstbin.c: (GST_START_TEST):
10430         * gst/gstbin.c: (bin_bus_handler):
10431         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10432         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10433         (gst_message_new_warning), (gst_message_new_tag),
10434         (gst_message_new_state_changed), (gst_message_new_segment_start),
10435         (gst_message_new_segment_done), (gst_message_new_custom):
10436         * gst/gstmessage.h:
10437         * tools/gst-launch.c: (event_loop):
10438         * tools/gst-md5sum.c: (event_loop):
10439           Revert unpopular change for GST_MESSAGE_SRC to GObject.
10440
10441 2005-08-25  Wim Taymans  <wim@fluendo.com>
10442
10443         * check/generic/states.c: (GST_START_TEST):
10444         Cleanup can be done at the end.
10445
10446         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
10447         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10448         (gst_task_get_state), (gst_task_start), (gst_task_pause):
10449         Oh boy.. Thanks for finding this, Thomas. 
10450
10451 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10452
10453         * docs/gst/gstreamer.types:
10454           added missing types
10455
10456 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10457
10458         * docs/gst/gstreamer-docs.sgml:
10459         * docs/gst/gstreamer-sections.txt:
10460         * docs/gst/tmpl/.cvsignore:
10461         * gst/gstbin.c:
10462         * gst/gstiterator.c:
10463         * gst/gstutils.c:
10464         * gst/registries/gstxmlregistry.h:
10465           added missing classes and symbols (123 more to go)
10466           removed removed symbols from section file
10467           fixed many doc-comments
10468
10469 2005-08-24  Wim Taymans  <wim@fluendo.com>
10470
10471         * check/generic/states.c: (GST_START_TEST):
10472         Make sure all tasks are stopped.
10473
10474         * check/gst/gstbin.c: (GST_START_TEST):
10475         Unref after usage for proper valgrinding.
10476
10477         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
10478         Really wait for the task to stop before destroying the
10479         mutex.
10480
10481         * gst/gstqueue.c: (gst_queue_sink_activate_push),
10482         (gst_queue_src_activate_push):
10483         Small cleanups. Don't stop the task when we did not start
10484         it.
10485
10486         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
10487         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10488         (gst_task_get_state), (gst_task_start), (gst_task_pause),
10489         (gst_task_join):
10490         * gst/gsttask.h:
10491         Protect the stream lock with the object lock.
10492         Disallow setting the stream lock when running.
10493         Add cleanup_all to wait for the threadpool to finish.
10494         Remove code to autoallocate a mutex if none was provided.
10495         Add _join() to wait for a task to stop.
10496         Protect the thread pool with a global lock.
10497
10498 2005-08-24  Wim Taymans  <wim@fluendo.com>
10499
10500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10501         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10502         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
10503         * gst/base/gstbasesink.h:
10504         Handle newsegment events correctly.
10505         Drop buffers out of the segment range.
10506
10507 2005-08-22  Andy Wingo  <wingo@pobox.com>
10508
10509         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
10510         macro, implements an interface and gstimplementsinterface for a
10511         new type.
10512
10513 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10514
10515         * check/Makefile.am:
10516         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
10517           add a test that does a bunch of state changes on elements
10518           needs some fixing for valgrind
10519         * check/states/sinks.c: (gst_object_suite):
10520           whitespace
10521         * gst/gstcaps.h:
10522           add prototype for gst_caps_is_equal_fixed
10523         * gst/gstplugin.c:
10524         * gst/gstregistrypool.c:
10525           doc fixes
10526
10527 2005-08-24  Andy Wingo  <wingo@pobox.com>
10528
10529         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
10530         convert a negative value. Doesn't make much sense. Mostly this is
10531         here to force callers to ensure -1 maps to -1.
10532
10533 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10534
10535         * docs/pwg/advanced-types.xml:
10536           Well done to Michael for catching my deliberate introduction
10537           of this spelling mistake. 
10538         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
10539         * gst/gstelement.h:
10540           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
10541           unlink pads before removing the element from the bin.
10542
10543 2005-08-24  Andy Wingo  <wingo@pobox.com>
10544
10545         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
10546         the same thing as GST_DEBUG=*:4.
10547         (parse_debug_level, parse_debug_category): New helper parsers.
10548
10549 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10550
10551         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10552         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
10553         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
10554         (gst_base_transform_buffer_alloc),
10555         (gst_base_transform_handle_buffer):
10556           use gboolean return values and pointers to size so we can use the
10557           full GST_BUFFER_SIZE range (guint) for buffer sizes
10558           use GstPadDirection for transform_caps
10559         * gst/base/gstbasetransform.h:
10560           rename get_size to get_unit_size since that's what it is
10561         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
10562           use GstPadDirection for transform_caps
10563         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10564         * gst/gstutils.h:
10565           cleanup and debugging
10566
10567 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10568
10569         * gst/gstelement.c: (gst_element_class_init),
10570         (gst_element_set_state), (activate_pads),
10571         (gst_element_save_thyself):
10572         * tools/gst-compprep.c: (main):
10573         * tools/gst-inspect.c: (print_element_properties_info):
10574         * tools/gst-xmlinspect.c: (print_element_properties):
10575           Fixed long standing mem-leak
10576
10577 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10578
10579         * check/gst/gstbin.c: (GST_START_TEST):
10580         * gst/gstbin.c: (bin_bus_handler):
10581         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10582         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10583         (gst_message_new_warning), (gst_message_new_tag),
10584         (gst_message_new_state_changed), (gst_message_new_segment_start),
10585         (gst_message_new_segment_done), (gst_message_new_custom):
10586         * gst/gstmessage.h:
10587         * tools/gst-launch.c: (event_loop):
10588         * tools/gst-md5sum.c: (event_loop):
10589           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
10590           that applications can sensibly post custom messages with references
10591           to their own objects.
10592
10593 2005-08-24  Andy Wingo  <wingo@pobox.com>
10594
10595         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10596         already.
10597
10598 2005-08-24  Wim Taymans  <wim@fluendo.com>
10599
10600         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10601         (gst_base_transform_transform_caps),
10602         (gst_base_transform_transform_size),
10603         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10604         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10605         (gst_base_transform_handle_buffer):
10606         * gst/base/gstbasetransform.h:
10607         Many fixes and new features added by Thomas. Can now also do
10608         transforms with variable sizes and a custom fixate_caps function.
10609
10610 2005-08-24  Wim Taymans  <wim@fluendo.com>
10611
10612         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10613         Some debugging.
10614
10615         * gst/gstclock.h:
10616         Cast to ClockTime before formatting to time.
10617
10618         * gst/gstutils.h:
10619         Cleanups.
10620
10621 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10622
10623         * check/gst-libs/controller.c: (GST_START_TEST),
10624         (gst_controller_suite):
10625         * docs/gst/tmpl/gstcaps.sgml:
10626         * docs/gst/tmpl/gstghostpad.sgml:
10627         * docs/gst/tmpl/gstquery.sgml:
10628         * docs/gst/tmpl/gstutils.sgml:
10629         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10630         (gst_object_sink_values), (gst_object_get_value_arrays),
10631         (gst_object_get_value_array):
10632           gracefully handle helper method calls to objects that are not beeing
10633           controlled, added test case for that          
10634
10635 2005-08-23  Wim Taymans  <wim@fluendo.com>
10636
10637         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
10638         (gst_event_new_newsegment), (gst_event_parse_newsegment),
10639         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
10640         (gst_event_parse_qos), (gst_event_new_seek),
10641         (gst_event_parse_seek):
10642         * gst/gstevent.h:
10643         Some more debugging output and doc cleanups.
10644
10645         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10646         Fix possible deadlock.
10647
10648 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10649
10650         * docs/gst/gstreamer-docs.sgml:
10651         * docs/gst/gstreamer-sections.txt:
10652         * docs/gst/gstreamer.types:
10653         * docs/gst/tmpl/.cvsignore:
10654         * gst/gstbin.h:
10655         * gst/gstbus.c:
10656         * gst/gstelement.c:
10657         * gst/gstevent.h:
10658           added 100 symbols from gstreamer-unused.txt to the right sections
10659           fixed more broken comments
10660           added GstBus to docs
10661
10662 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10663
10664         * docs/gst/gstreamer-sections.txt:
10665         * docs/gst/tmpl/.cvsignore:
10666         * docs/gst/tmpl/gstbin.sgml:
10667         * docs/gst/tmpl/gstbuffer.sgml:
10668         * gst/base/gstbasesrc.c:
10669         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
10670         * gst/gstbuffer.c:
10671         * gst/gstbuffer.h:
10672         * tools/gst-launch.1.in:
10673           inlined more doc comments, added missing comments and fixed comments
10674           fixed typos
10675
10676 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10677
10678         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10679           some debugging
10680         * gst/gstcaps.h:
10681           whitespace fixes
10682         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
10683           more debugging
10684         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
10685         * gst/gststructure.h:
10686           add a fixate function for booleans; add a FIXME that these func
10687           names should probably be gst_structure_fixate_*
10688
10689 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10690
10691         * docs/gst/gstreamer-docs.sgml:
10692         * docs/gst/gstreamer-sections.txt:
10693         * gst/Makefile.am:
10694         * gst/gstbin.c: (gst_bin_get_type),
10695         (gst_bin_child_proxy_get_child_by_index),
10696         (gst_bin_child_proxy_get_children_count),
10697         (gst_bin_child_proxy_init):
10698         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10699         (gst_child_proxy_get_child_by_index),
10700         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
10701         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
10702         (gst_child_proxy_get), (gst_child_proxy_set_property),
10703         (gst_child_proxy_set_valist), (gst_child_proxy_set),
10704         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
10705         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
10706         * gst/gstchildproxy.h:
10707         * gst/parse/grammar.y:
10708         * tools/gst-inspect.c: (print_interfaces),
10709         (print_element_properties_info), (print_element_info):
10710           ported gstchildproxy over from 0.8
10711           ported gst-inspect fixes and enhancements over from 0.8
10712
10713 2005-08-22  Wim Taymans  <wim@fluendo.com>
10714
10715         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10716         (gst_base_transform_handle_buffer):
10717         Also call the transform function if we have ANY caps.
10718
10719         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
10720         Fix debug info.
10721
10722 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10723
10724         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
10725           Don't pretend to handle seek events if the source is not seekable
10726
10727 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10728
10729         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10730           Remove extra parameter to debug output
10731
10732         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10733         (gst_base_src_do_seek), (gst_base_src_activate_push):
10734           Fix seek event handling.
10735
10736         * gst/gstpipeline.c: (gst_pipeline_change_state):
10737         * gst/gstqueue.c: (gst_queue_handle_sink_event),
10738         (gst_queue_src_activate_push):
10739           Don't start the src pad task on FLUSH_STOP if the pad
10740           isn't linked.
10741           Debug changes.
10742
10743 2005-08-22  Wim Taymans  <wim@fluendo.com>
10744
10745         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10746         Added check for gst_static_caps_get() refcounting.
10747
10748 2005-08-22  Wim Taymans  <wim@fluendo.com>
10749
10750         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
10751         Make _static_caps_get() refcounting sane.
10752         
10753         * gst/gstelement.c: (gst_element_set_state):
10754         Add g_return_val_if_fail() to protect against segfaults.
10755
10756 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
10757
10758         * docs/gst/tmpl/gstevent.sgml:
10759         * gst/gstevent.c:
10760         * gst/gstevent.h:
10761           inlined remaining docs, added missing doc comments
10762
10763 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10764
10765         * check/gst/gstbin.c: (GST_START_TEST):
10766           since we don't know when preroll is done, use refcount range
10767           check for the sink
10768         * gst/check/gstcheck.h:
10769           add macro for checking refcount range
10770
10771 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10772
10773         * check/Makefile.am:
10774           clean up environment for when registry gets built versus
10775           when actual tests are run; valgrind seems to not report
10776           leaks if GST_PLUGIN_PATH is set to some specific values
10777         * check/gst/gstbin.c: (GST_START_TEST):
10778           add more refcounting checks; maybe this exposes a
10779           preroll lock bug ?
10780         * common/check.mak:
10781         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10782         * gst/check/gstcheck.h:
10783         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
10784         (gst_bin_change_state):
10785         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
10786           add/fix debugging/whitespace
10787
10788 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10789
10790         * check/gst/gstevent.c: (event_probe), (test_event),
10791         (GST_START_TEST):
10792          Er, don't call gst_bin_watch_for_state_change you idiot.
10793
10794 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10795
10796         * check/Makefile.am:
10797           Use CHECK_CFLAGS and CHECK_LIBS
10798         * check/gst/gstevent.c: (event_probe), (test_event),
10799         (GST_START_TEST):
10800           Don't leak events.
10801         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10802         (gst_base_src_start), (gst_base_src_stop),
10803         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10804         (gst_base_src_change_state):
10805           Sprinkle gst_base_src_stop liberally around error paths to fix
10806           problems reusing a source after failed state changes.
10807         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10808         (helper_find_suggest), (gst_type_find_helper):
10809           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
10810         * gst/gstevent.h:
10811         * docs/gst/tmpl/gstevent.sgml:
10812           Migrate part of the docs from the SGML file. Wait for ensonic to
10813           tell me how I did it wrong ;)
10814         * tools/gst-typefind.c: (main):
10815           Extra robustness to state changes between files.
10816
10817 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10818
10819         * check/Makefile.am:
10820           don't valgrind the controller test - it's leaking - Stefan, HELP
10821         * gst/check/gstcheck.c: (gst_check_message_error),
10822         (gst_check_chain_func), (gst_check_setup_element),
10823         (gst_check_teardown_element), (gst_check_setup_src_pad),
10824         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10825         (gst_check_teardown_sink_pad):
10826         * gst/check/gstcheck.h:
10827           add a bunch of methods to set up elements, and src and sink pads
10828         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
10829         * check/elements/identity.c: (setup_identity), (cleanup_identity),
10830         (GST_START_TEST):
10831           use them
10832         * gst/gstmessage.c:
10833         * gst/gsttag.h:
10834           whitespace/doc fixes
10835
10836 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * gst/gstelement.h:
10839           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
10840           be handled by the application and not always printed as well
10841
10842 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * check/Makefile.am:
10845           set GST_TOOLS_DIR
10846         * gst/check/gstcheck.c: (gst_check_message_error):
10847         * gst/check/gstcheck.h:
10848           add a fail_unless_equals_int
10849           add fail_unless for error messages
10850
10851 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10852
10853         * check/Makefile.am:
10854         * check/gst.supp:
10855         * common/Makefile.am:
10856         * common/check.mak:
10857         * common/gst.supp:
10858           factor out some of the common stuff so we can use it
10859
10860 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10861
10862         * check/Makefile.am:
10863         * check/gst/gstiterator.c: (GST_START_TEST):
10864         * check/gst/gstsystemclock.c: (GST_START_TEST),
10865         (gst_systemclock_suite):
10866         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10867         * gst/gstclock.c:
10868           valgrind more tests
10869
10870 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10871
10872         * check/elements/.cvsignore:
10873         * check/elements/gstfakesrc.c:
10874           rename to name of element
10875         * check/elements/identity.c: (chain_func), (event_func),
10876         (setup_identity), (cleanup_identity), (GST_START_TEST),
10877         (identity_suite), (main):
10878           add a test for identity
10879         * check/Makefile.am:
10880         * pkgconfig/Makefile.am:
10881         * pkgconfig/gstreamer-check.pc.in:
10882         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10883         * gst/check:
10884         * gst/Makefile.am:
10885         * configure.ac:
10886           move the check stuff to a library that gets installed
10887         * check/gst-libs/controller.c: (GST_START_TEST):
10888         * check/gst-libs/gdp.c:
10889         * check/gst/gst.c: (GST_START_TEST):
10890         * check/gst/gstbin.c:
10891         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10892         * check/gst/gstbus.c:
10893         * check/gst/gstcaps.c: (GST_START_TEST):
10894         * check/gst/gstelement.c:
10895         * check/gst/gstghostpad.c:
10896         * check/gst/gstiterator.c:
10897         * check/gst/gstmessage.c:
10898         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
10899         * check/gst/gstobject.c:
10900         * check/gst/gstpad.c: (GST_START_TEST):
10901         * check/gst/gststructure.c: (GST_START_TEST):
10902         * check/gst/gstsystemclock.c: (GST_START_TEST),
10903         (gst_systemclock_suite):
10904         * check/gst/gsttag.c: (gst_tag_suite):
10905         * check/gst/gstvalue.c:
10906         * check/pipelines/cleanup.c:
10907         * check/pipelines/simple_launch_lines.c:
10908         * check/states/sinks.c:
10909           change include statement
10910
10911         * docs/gst/gstreamer-sections.txt:
10912         * docs/gst/tmpl/gstpad.sgml:
10913           document more pad stuff
10914         * gst/gstminiobject.c: (gst_mini_object_ref),
10915         (gst_mini_object_unref):
10916           debug refcounting
10917
10918 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
10919
10920         * docs/gst/tmpl/gst.sgml:
10921         * gst/gst.c:
10922           eliminate another tmpl file, fix spelling in the long-description
10923
10924 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10925
10926         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10927         (test_event), (timediff), (gstevents_suite):
10928           Should fix build on 64-bit arch's
10929
10930 2005-08-18  Andy Wingo  <wingo@pobox.com>
10931
10932         Make sure that when a pipeline goes to PLAYING, that data has
10933         actually hit the sink.
10934
10935         * check/states/sinks.c (test_sink): A sink that doesn't get any
10936         data shouldn't return SUCCESS for going to either PLAYING or
10937         PAUSED. Test also the return values on the way back down.
10938
10939         * gst/gstelement.c (gst_element_set_state): When changing the
10940         state of an element currently changing state asynchronously, go to
10941         lost-state after commiting the pending state. Makes future calls
10942         to get_state continue to return ASYNC.
10943
10944         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
10945         ASYNC when going to PLAYING if we still don't have preroll, as can
10946         happen with live sources.
10947
10948 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10949
10950         * docs/pwg/advanced-types.xml:
10951           Hack long paragraph into 2 chunks as a workaround for buggy
10952           jadetex version in sid and breezy that loops infinitely and
10953           eats all RAM.
10954
10955 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10956
10957         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10958         (test_event), (timediff), (gstevents_suite):
10959           Provide more error margin in clock measurements to allow for 
10960           g_get_current_time inaccuracies.
10961
10962 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10963
10964         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10965         (test_event), (timediff), (gstevents_suite):
10966            Fix error message output so I might be able to tell why the
10967            test works here but fails on the build farm.
10968
10969 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10970
10971         * check/Makefile.am:
10972         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10973         (test_event), (timediff), (gstevents_suite), (main):
10974           I wrote a test!
10975
10976         * docs/design/part-seeking.txt:
10977           Spelling correction
10978
10979         * docs/gst/tmpl/gstevent.sgml:
10980         * docs/gst/tmpl/gstfakesrc.sgml:
10981           Docs updates.
10982
10983         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10984           Treat a buffer-without-newsegment the same as a receiving 
10985           a newsegment not in time format, and disable syncing to the clock
10986           with a warning.
10987
10988         * gst/gstbus.c: (gst_bus_set_sync_handler):
10989           Assert if anyone tries to replace the existing sync_handler for bus, 
10990           as only the owner should be setting it.
10991
10992         * gst/gstevent.h:
10993           Have a fixed set of custom event enums with events identified by
10994           their structure name (as in 0.8), rather than a free-for-all
10995           allowing collisions between enum values from different plugins.
10996
10997         * gst/gstpad.c: (gst_pad_class_init):
10998           Docs change.
10999           
11000         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11001           Handle out-of-band downstream events from the sending thread.
11002
11003 2005-08-17  Andy Wingo  <wingo@pobox.com>
11004
11005         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
11006         play-timeout==0 to mean no timeout at all. In that case, don't
11007         bother with a get_state or a warning, just return directly, even
11008         if it's ASYNC.
11009
11010         * gst/base/gstbasetransform.c: Debug changes.
11011
11012         * gst/gstutils.h:
11013         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
11014         ensure bins post state change messages. A bit of a hack but I can't
11015         think of a way to avoid it.
11016
11017         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
11018
11019 2005-08-16  Andy Wingo  <wingo@pobox.com>
11020
11021         * gst/base/gstadapter.h:
11022         * gst/base/gstadapter.c (gst_adapter_take): New function, like
11023         peek() but you own the data. Not terribly efficient atm.
11024
11025 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11026
11027         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
11028         (gst_element_found_tags):
11029         * gst/gstutils.h:
11030           Add two utility functions for tag handling.
11031
11032 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11033
11034         * docs/manual/advanced-dataaccess.xml:
11035         * docs/manual/basics-helloworld.xml:
11036           Fix docs to use _bin_add() before _link(), which fixes the examples
11037           with recent core versions (reported by Madhan Raj M
11038           <raj_madan@rediffmail.com>, #313199).
11039
11040 2005-08-16  Wim Taymans  <wim@fluendo.com>
11041
11042         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11043         Added subtract checks.
11044
11045         * docs/design/part-events.txt:
11046         Some more docs about newsegment
11047
11048         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11049         Fix FIXME
11050
11051         * gst/gstcaps.c: (gst_caps_to_string):
11052         Add comments, cleanups.
11053         
11054         * gst/gstelement.c: (gst_element_save_thyself):
11055         cleanups
11056         
11057         * gst/gstvalue.c: (gst_value_collect_int_range),
11058         (gst_string_unwrap), (gst_value_union_int_int_range),
11059         (gst_value_union_int_range_int_range),
11060         (gst_value_intersect_int_int_range),
11061         (gst_value_intersect_int_range_int_range),
11062         (gst_value_intersect_double_double_range),
11063         (gst_value_intersect_double_range_double_range),
11064         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
11065         (gst_value_subtract_int_range_int),
11066         (gst_value_subtract_double_range_double),
11067         (gst_value_subtract_double_range_double_range),
11068         (gst_value_subtract_from_list), (gst_value_subtract_list),
11069         (gst_value_can_compare), (gst_value_compare_fraction):
11070         Cleanups, add comments, remove unneeded asserts.
11071
11072 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11073
11074         * tools/gst-launch.c: (event_loop):
11075           don't convert NULL structures to strings
11076
11077 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
11078
11079         * docs/gst/gstreamer-sections.txt:
11080           made some defines private
11081         * docs/gst/tmpl/gstconfig.sgml:
11082         * docs/gst/tmpl/gstqueue.sgml:
11083         * docs/gst/tmpl/gsttaglist.sgml:
11084         * docs/gst/tmpl/gsttypes.sgml:
11085         * docs/gst/tmpl/gstutils.sgml:
11086         * docs/pwg/appendix-porting.xml:
11087         * gst/base/gstbasesink.h:
11088         * gst/base/gstbasesrc.c:
11089         * gst/base/gstbasesrc.h:
11090         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
11091         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
11092         * gst/gstelement.c: (gst_element_class_init):
11093         * gst/gstpad.c: (gst_pad_class_init):
11094         * gst/gstqueue.c: (gst_queue_class_init):
11095         * gst/gstxml.c: (gst_xml_class_init):
11096           documented all undocumented signal inline
11097         * libs/gst/controller/gst-controller.h:
11098           added padding
11099
11100 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11101
11102         * docs/pwg/appendix-porting.xml:
11103           Document _set_link_function -> _set_setcaps_function.
11104
11105 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11106
11107         * check/Makefile.am:
11108           add a .check target for running the check
11109         * check/gst-libs/controller.c: (GST_START_TEST):
11110           cosmetic fixups
11111         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11112           complete checks for gstbuffer; would be nice if I could get the
11113           gcov stuff to work so I can see if I actually completed gstbuffer.c
11114         * check/gstcheck.h:
11115           add ASSERT_BUFFER_REFCOUNT
11116
11117 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
11118
11119         * docs/gst/gstreamer-sections.txt:
11120         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11121         * gst/gsttag.h:
11122           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11123           spew out a warning if a tag that is already registered
11124           is re-registered, unless it is re-registered with a 
11125           different type (#308438).
11126
11127 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
11128
11129         * docs/pwg/appendix-porting.xml:
11130         * docs/pwg/building-state.xml:
11131           Add some paragraphs about state changes in 0.9 to the PWG
11132           and the porting guide, in particular about the new meaning
11133           of GST_STATE_PAUSED and how to write state change functions
11134           with concurrent access by multiple threads in mind.
11135
11136 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
11137
11138         * docs/gst/gstreamer-docs.sgml:
11139         * docs/libs/gstreamer-libs-docs.sgml:
11140           added deprecation and since indexes
11141         * libs/gst/controller/gst-controller.c:
11142         * libs/gst/controller/gst-helper.c:
11143           added since tags
11144
11145
11146 2005-08-11  Wim Taymans  <wim@fluendo.com>
11147
11148         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11149         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11150         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11151         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11152         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11153         (gst_ghost_pad_set_target):
11154         Actually implement (re)setting the target on a ghostpad
11155         as described in the docs.
11156
11157 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11158
11159         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11160           Check whether GST_DEBUG_NO_COLOR environment variable is
11161           set and disable coloured debug output if that is the case.
11162
11163 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11164
11165         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11166         (gst_type_find_helper):
11167           The memory returned by gst_type_find_peek() needs to
11168           stay valid until the end of a typefind function, and
11169           typefind functions may keep results from different 
11170           offsets around, so we can't just unref the buffer from
11171           the previous _peek(), but have to save all buffers 
11172           returned by _peek() until typefinding is done and only
11173           free them then.
11174
11175 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11176
11177         * docs/gst/gstreamer-sections.txt:
11178         * gst/gstutils.h:
11179           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11180
11181 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11182
11183         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11184           Fix a pretty good memleak.
11185
11186 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11187
11188         * gst/gstiterator.h:
11189           Fix wrong include and 'make distcheck'.
11190
11191 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11192
11193         * gst/gstbin.c: (bin_bus_handler):
11194           Use gst_element_post_message() instead.
11195
11196 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11197
11198         * gst/base/gstadapter.h:
11199         * gst/base/gstbasesink.h:
11200         * gst/base/gstbasesrc.h:
11201         * gst/base/gstbasetransform.h:
11202         * gst/base/gstcollectpads.h:
11203         * gst/base/gstpushsrc.h:
11204         * gst/gstiterator.h:
11205           Add padding to our base elements' class and instance structs and
11206           to GstIterator (you will need to rebuild all plugins and apps!)
11207
11208 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11209
11210         * gst/gstbin.c: (bin_bus_handler):
11211           Make default message forwarding from child->bus to bin->bus
11212           threadsafe and make it not emit warnings if the parent has no bus.
11213
11214 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11215
11216         * gst/gstelement.c: (activate_pads):
11217           On paused->ready, set pad->caps to NULL, as is the documented
11218           behaviour in this state change. Fixes playback of series of
11219           media files when visualization is enabled in Totem.
11220
11221 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11222
11223         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11224           Allow NULL as filter-caps (which means "any").
11225
11226 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11227
11228         * docs/libs/gstreamer-libs-sections.txt:
11229         * libs/gst/controller/gst-controller.c:
11230         * libs/gst/controller/gst-controller.h:
11231         * libs/gst/controller/gst-helper.c:
11232           adding more entries to the docs and fix small doc-bugs
11233
11234 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11235
11236         * docs/gst/gstreamer-docs.sgml:
11237         * docs/gst/gstreamer-sections.txt:
11238         * docs/gst/gstreamer.types:
11239         * docs/gst/tmpl/gstbasesink.sgml:
11240         * docs/gst/tmpl/gstbasesrc.sgml:
11241         * docs/gst/tmpl/gstbasetransform.sgml:
11242         * docs/gst/tmpl/gstfakesrc.sgml:
11243         * gst/base/gstcollectpads.c:
11244         * gst/base/gstcollectpads.h:
11245         * libs/gst/controller/gst-controller.c:
11246         * libs/gst/controller/gst-controller.h:
11247         * libs/gst/controller/gst-helper.c:
11248         * libs/gst/controller/gst-interpolation.c:
11249         * libs/gst/controller/lib.c:
11250           added long/short desc for controller docs
11251           added collectpads base class docs
11252           added correct includes to base-class docs
11253
11254 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11255
11256         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11257         (gst_test_mono_source_set_property),
11258         (gst_test_mono_source_class_init), (GST_START_TEST),
11259         (gst_controller_suite):
11260         * docs/gst/gstreamer-docs.sgml:
11261         * docs/gst/gstreamer-sections.txt:
11262         * docs/gst/gstreamer.types:
11263         * docs/libs/gstreamer-libs-docs.sgml:
11264         * docs/libs/gstreamer-libs-sections.txt:
11265         * gst/base/gstadapter.c:
11266         * libs/gst/controller/gst-controller.c:
11267         (gst_controlled_property_new), (gst_controlled_property_free),
11268         (gst_controller_new_valist),
11269         (gst_controller_remove_properties_valist),
11270         (gst_controller_sink_values), (_gst_controller_finalize):
11271         * libs/gst/controller/gst-controller.h:
11272         * libs/gst/controller/gst-helper.c:
11273         (gst_object_control_properties), (gst_object_uncontrol_properties),
11274         (gst_object_get_controller), (gst_object_set_controller),
11275         (gst_object_sink_values), (gst_object_get_value_arrays),
11276         (gst_object_get_value_array):
11277           more tests (and fixes) for the controller
11278           more docs for the controller
11279           integrated companies docs for the adapter 
11280
11281 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11282
11283         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
11284         (GST_START_TEST), (fakesrc_suite):
11285           add tests for sizetype
11286
11287 2005-08-04  Andy Wingo  <wingo@pobox.com>
11288
11289         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
11290         fixes buffer_alloc proxying among other things.
11291
11292         * gst/base/gstbasetransform.c:
11293         * gst/base/gstbasetransform.h:
11294         Revert patch to gstbasetransform from 7-28 removing
11295         delay_configure.
11296
11297         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
11298         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
11299         Semantics changed, should return not the size of the output buffer
11300         but the byte size of a buffer with a given caps.
11301
11302         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
11303         debug object.
11304         (gst_base_transform_configure_caps): Don't set out_size here: (in,
11305         out) are not the pad caps until setcaps finishes.
11306         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
11307         not-in-place case as well. Deal with changing from in-place to
11308         not-in-place within calling pad_alloc_buffer. Still a bit
11309         concerned about the overhead here...
11310
11311 2005-08-03  Andy Wingo  <wingo@pobox.com>
11312
11313         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
11314         fixating is an error.
11315
11316 2005-08-04  Edward Hervey  <edward@fluendo.com>
11317
11318         * gst/base/gstadapter.h: 
11319         Added gst_adapter_get_type() to the header
11320
11321 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11322
11323         * check/Makefile.am:
11324         * check/gst-libs/controller.c:
11325         * libs/gst/controller/gst-controller.c:
11326         (gst_controller_new_valist):
11327           added check test suite for the controller
11328         * gst/base/gstpushsrc.c:
11329           fixed a doc typo
11330
11331 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11332
11333         * docs/gst/Makefile.am:
11334         * docs/gst/gstreamer-docs.sgml:
11335         * docs/gst/gstreamer-sections.txt:
11336         * docs/gst/gstreamer.types:
11337         * docs/gst/tmpl/gstfakesrc.sgml:
11338         * gst/base/README:
11339         * gst/base/gstbasesink.c:
11340         * gst/base/gstbasesink.h:
11341         * gst/base/gstbasesrc.c:
11342         * gst/base/gstbasesrc.h:
11343         * gst/base/gstbasetransform.c:
11344         * gst/base/gstpushsrc.c:
11345         * gst/base/gstpushsrc.h:
11346           add short/long description docs to base classes
11347           add pushsrc to the docs
11348           remove consolidated doc fragments
11349
11350 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11351
11352         * configure.ac:
11353         * docs/libs/Makefile.am:
11354         * docs/libs/gstreamer-libs-docs.sgml:
11355         * docs/libs/gstreamer-libs-sections.txt:
11356         * docs/libs/gstreamer-libs.types:
11357         * examples/Makefile.am:
11358         * examples/controller/.cvsignore:
11359         * examples/controller/Makefile.am:
11360         * examples/controller/audio-example.c: (main):
11361         * libs/gst/Makefile.am:
11362         * libs/gst/controller/.cvsignore:
11363         * libs/gst/controller/Makefile.am:
11364         * libs/gst/controller/gst-controller.c:
11365         (on_object_controlled_property_changed), (gst_timed_value_compare),
11366         (gst_timed_value_find),
11367         (gst_controlled_property_set_interpolation_mode),
11368         (gst_controlled_property_new), (gst_controlled_property_free),
11369         (gst_controller_find_controlled_property),
11370         (gst_controller_new_valist), (gst_controller_new),
11371         (gst_controller_remove_properties_valist),
11372         (gst_controller_remove_properties), (gst_controller_set),
11373         (gst_controller_set_from_list), (gst_controller_unset),
11374         (gst_controller_get), (gst_controller_get_all),
11375         (gst_controller_sink_values), (gst_controller_get_value_arrays),
11376         (gst_controller_get_value_array),
11377         (gst_controller_set_interpolation_mode),
11378         (_gst_controller_finalize), (_gst_controller_init),
11379         (_gst_controller_class_init), (gst_controller_get_type):
11380         * libs/gst/controller/gst-controller.h:
11381         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
11382         (g_object_uncontrol_properties), (g_object_get_controller),
11383         (g_object_set_controller), (g_object_sink_values),
11384         (g_object_get_value_arrays), (g_object_get_value_array):
11385         * libs/gst/controller/gst-interpolation.c:
11386         (gst_controlled_property_find_timed_value_node),
11387         (interpolate_none_get), (interpolate_trigger_get),
11388         (interpolate_trigger_get_value_array):
11389         * libs/gst/controller/lib.c: (gst_controller_init):
11390         * pkgconfig/Makefile.am:
11391         * pkgconfig/gstreamer-control-uninstalled.pc.in:
11392         * pkgconfig/gstreamer-control.pc.in:
11393         * testsuite/Makefile.am:
11394         * testsuite/controller/.cvsignore:
11395         * testsuite/controller/Makefile.am:
11396         * testsuite/controller/interpolator.c: (main):
11397           added controller code
11398           removed dparam pc files
11399
11400 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11401         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
11402         (gst_collectpads_stop):
11403           Broadcast the condition when shutting down, to make sure we wake all
11404           threads up. Shut down pads on finalize, for safety.
11405
11406 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11407         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11408         (gst_base_transform_handle_buffer),
11409         (gst_base_transform_change_state):
11410           Handle PAUSED->READY->PAUSED transition after negotiation
11411           occurred already.
11412         * gst/gstmessage.c: (gst_message_init):
11413           Extra piece of debug for new messages.
11414
11415 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
11416
11417         * configure.ac:
11418         * docs/gst/tmpl/gstbasesrc.sgml:
11419         * docs/gst/tmpl/gstelement.sgml:
11420         * docs/gst/tmpl/gstevent.sgml:
11421         * docs/gst/tmpl/gstfakesrc.sgml:
11422         * docs/gst/tmpl/gstformat.sgml:
11423         * docs/gst/tmpl/gstghostpad.sgml:
11424         * docs/gst/tmpl/gstpad.sgml:
11425         * docs/gst/tmpl/gstquery.sgml:
11426         * docs/gst/tmpl/gststructure.sgml:
11427         * docs/gst/tmpl/gsttaglist.sgml:
11428         * docs/gst/tmpl/gstvalue.sgml:
11429         * docs/libs/gstreamer-libs-docs.sgml:
11430         * docs/libs/gstreamer-libs-sections.txt:
11431         * docs/libs/gstreamer-libs.types:
11432         * libs/gst/Makefile.am:
11433         * libs/gst/control/.cvsignore:
11434         * libs/gst/control/Makefile.am:
11435         * libs/gst/control/control.c:
11436         * libs/gst/control/control.h:
11437         * libs/gst/control/dparam.c:
11438         * libs/gst/control/dparam.h:
11439         * libs/gst/control/dparam_smooth.c:
11440         * libs/gst/control/dparam_smooth.h:
11441         * libs/gst/control/dparamcommon.h:
11442         * libs/gst/control/dparammanager.c:
11443         * libs/gst/control/dparammanager.h:
11444         * libs/gst/control/dplinearinterp.c:
11445         * libs/gst/control/dplinearinterp.h:
11446         * libs/gst/control/unitconvert.c:
11447         * libs/gst/control/unitconvert.h:
11448         * testsuite/Makefile.am:
11449         * testsuite/dynparams/.cvsignore:
11450         * testsuite/dynparams/Makefile.am:
11451         * testsuite/dynparams/dparamstest.c:
11452         * tools/Makefile.am:
11453         * tools/gst-inspect.c: (print_element_info), (main):
11454         * tools/gst-xmlinspect.c: (print_element_info), (main):
11455           deactivate and remove dparams (libgstcontrol)
11456
11457 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11458
11459         * gst/elements/gsttypefindelement.c:
11460         (gst_type_find_element_have_type), (gst_type_find_element_init),
11461         (stop_typefinding), (gst_type_find_element_handle_event),
11462         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11463         * gst/elements/gsttypefindelement.h:
11464           Set caps on all outgoing buffers, not just the first one.
11465
11466 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11467
11468         * gst/elements/gsttypefindelement.c:
11469         (gst_type_find_element_have_type),
11470         (gst_type_find_element_check_set_buffer_caps),
11471         (gst_type_find_element_init), (stop_typefinding),
11472         (gst_type_find_element_handle_event),
11473         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11474         * gst/elements/gsttypefindelement.h:
11475           Set caps on first outgoing buffer when we've found the type.
11476
11477 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11478
11479         * docs/gst/gstreamer-docs.sgml:
11480         * docs/gst/gstreamer-sections.txt:
11481         * docs/gst/tmpl/gstscheduler.sgml:
11482         * docs/gst/tmpl/gstschedulerfactory.sgml:
11483           Remove some old cruft from docs.
11484
11485 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
11486
11487         * gst/gstpad.h:
11488           Fix inline docs for GstPadLinkReturn.
11489           
11490         * gst/gststructure.c: (gst_structure_has_name):
11491         * gst/gststructure.h:
11492         * docs/gst/gstreamer-sections.txt:
11493           New API: gst_structure_has_name().
11494
11495 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
11496
11497         * configure.ac:
11498           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
11499           and _LARGEFILE_SOURCE in config.h as required. Do not 
11500           export those flags in our .pc files any longer (#142209).
11501
11502           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
11503
11504         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
11505         (gst_file_sink_do_seek), (gst_file_sink_event),
11506         (gst_file_sink_get_current_offset), (gst_file_sink_render):
11507           Redo seek/tell calls with large file support in mind; add some
11508           debugging messages; add log message that tells us when large
11509           file support is unavailable or not enabled for some reason.
11510
11511         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
11512           Add log message that tells us when large file support 
11513           is unavailable or not enabled for some reason.
11514
11515 2005-07-29  Wim Taymans  <wim@fluendo.com>
11516
11517         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11518         Added test for removing an element with ghostpad from a bin.
11519         Fixed test as current implementation does the right thing.
11520
11521         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
11522         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
11523         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
11524         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
11525         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
11526         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11527         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11528         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11529         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
11530         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
11531         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
11532         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
11533         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11534         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
11535         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
11536         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11537         * gst/gstghostpad.h:
11538         Clean up ghostpads, remove properties for internal stuff.
11539         Make threadsafe.
11540         Fix refcounting.
11541         Prepare for switching targets, not all use cases work yet.
11542
11543 2005-07-29  Wim Taymans  <wim@fluendo.com>
11544
11545         * docs/design/part-gstghostpad.txt:
11546         Small update.
11547
11548         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11549         (gst_bin_remove_func):
11550         Unlinking pads while holding the bin LOCK is not a good
11551         idea.
11552
11553         * gst/gstpad.c: (gst_pad_class_init),
11554         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
11555         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
11556         No prob setting template after creating the pad.
11557
11558 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
11559
11560         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
11561         (gst_bus_peek), (gst_bus_source_dispatch),
11562         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
11563         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
11564           gst_bus_poll may be called from other threads. Handle
11565           this nicely by not making poll_data disappear off the
11566           stack once gst_bus_poll returns.
11567           gst_bus_peek now increments the refcount on the returned
11568           message.
11569
11570 2005-07-29  Wim Taymans  <wim@fluendo.com>
11571
11572         * docs/design/part-gstghostpad.txt:
11573         Overview of current GhostPad datastructures and use
11574         cases for changing the target.
11575
11576 2005-07-28  Wim Taymans  <wim@fluendo.com>
11577
11578         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11579         Added checks for hierarchy consistency whan adding linked
11580         elements to bins.
11581
11582         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11583         Added check to test element scheduling without bin/pipeline.
11584
11585         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11586         First add elements to bin, then link.
11587         
11588         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11589         (gst_bin_remove_func):
11590         Unlink pads from elements added/removed from bin to maintain
11591         hierarchy consistency.
11592
11593 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11594
11595         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11596         (gst_base_transform_handle_buffer):
11597         * gst/base/gstbasetransform.h:
11598           Remove broken delay_configure (fixes renegotiation of software
11599           scaling pipelines); remove some leftover printf()s.
11600
11601 2005-07-28  Wim Taymans  <wim@fluendo.com>
11602
11603         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11604         Added some more tests for wrong hierarchy
11605
11606         * docs/design/part-overview.txt:
11607         Some updates.
11608
11609         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11610         Cleanups.
11611
11612         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11613         (gst_element_dispose):
11614         Some more cleanups.
11615
11616         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11617         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11618         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11619         (gst_pad_set_caps), (gst_pad_send_event):
11620         Check for correct hierarchy when linking pads. Moving to
11621         strict requirement for ghostpads when linking elements in
11622         different bins.
11623
11624         * gst/gstpad.h:
11625         Clean ups. Added WRONG_HIERARCHY return value.
11626
11627 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11628
11629         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11630           Better debug if no transform is possible.
11631
11632 2005-07-27  Wim Taymans  <wim@fluendo.com>
11633
11634         * docs/random/wtay/network-transp:
11635         Some old doc I had.
11636
11637 2005-07-27  Wim Taymans  <wim@fluendo.com>
11638
11639         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11640         (gst_dp_event_from_packet):
11641         Fix serialization of seek events.
11642
11643 2005-07-27  Wim Taymans  <wim@fluendo.com>
11644
11645         * check/gst-libs/gdp.c: (GST_START_TEST):
11646         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11647         Fix compilation and fix event serialization.
11648
11649 2005-07-27  Wim Taymans  <wim@fluendo.com>
11650
11651         * CHANGES-0.9:
11652         * docs/design/part-TODO.txt:
11653         * docs/design/part-events.txt:
11654         Some docs updates
11655
11656         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11657         (gst_base_sink_event), (gst_base_sink_do_sync),
11658         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11659         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11660         (gst_base_src_do_seek), (gst_base_src_event_handler),
11661         (gst_base_src_loop):
11662         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11663         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11664         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11665         (gst_base_transform_event), (gst_base_transform_handle_buffer),
11666         (gst_base_transform_set_passthrough),
11667         (gst_base_transform_is_passthrough):
11668         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11669         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11670         Event updates.
11671
11672         * gst/gstbuffer.h:
11673         Use faster casts.
11674
11675         * gst/gstelement.c: (gst_element_seek):
11676         * gst/gstelement.h:
11677         Update gst_element_seek.
11678
11679         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
11680         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
11681         (gst_event_new_flush_start), (gst_event_new_flush_stop),
11682         (gst_event_new_eos), (gst_event_new_newsegment),
11683         (gst_event_parse_newsegment), (gst_event_new_tag),
11684         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
11685         (gst_event_parse_qos), (gst_event_new_seek),
11686         (gst_event_parse_seek), (gst_event_new_navigation):
11687         * gst/gstevent.h:
11688         Make GstEvent use GstStructure. Add parsing code, make sure the
11689         API is sufficiently generic.
11690         Mark possible directions of events and serialization.
11691
11692         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
11693         (_gst_message_copy), (gst_message_new_segment_start),
11694         (gst_message_new_segment_done), (gst_message_new_custom),
11695         (gst_message_parse_segment_start),
11696         (gst_message_parse_segment_done):
11697         Small cleanups.
11698
11699         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11700         (gst_pad_set_caps), (gst_pad_send_event):
11701         Update for new events. 
11702         Catch events sent in wrong directions.
11703
11704         * gst/gstqueue.c: (gst_queue_link_src),
11705         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11706         (gst_queue_handle_src_query):
11707         Event updates.
11708
11709         * gst/gsttag.c:
11710         * gst/gsttag.h:
11711         Remove event code from this file.
11712
11713         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11714         (gst_dp_event_from_packet):
11715         Event updates.
11716
11717 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11718
11719         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
11720         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11721         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
11722           Make debugging actually useful.
11723
11724 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11725
11726         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
11727         (gst_pad_fixate_caps):
11728           Implement default fixation once again, so that gst_pad_fixate()
11729           actually does anything at all. This probably needs to be some
11730           sort of a last resort, and use profile-based fixation first, but
11731           since that doesn't exist yet, this is the best we have. Fixes
11732           visualization in Totem.
11733
11734 2005-07-22  Wim Taymans  <wim@fluendo.com>
11735
11736         * docs/design/part-events.txt:
11737         Small update.
11738
11739         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11740         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
11741         (gst_base_sink_activate_pull):
11742         Some more comments.
11743
11744         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
11745         (gst_fake_src_create):
11746         Fix handoff marshall.
11747
11748         * gst/elements/gstidentity.c: (gst_identity_class_init),
11749         (gst_identity_transform_ip):
11750         We're a real inplace element.
11751
11752         * gst/gstbus.c: (gst_bus_post):
11753         Added some comments.
11754
11755         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
11756         * tests/muxing/case1.c: (main):
11757         * tests/sched/dynamic-pipeline.c: (main):
11758         * tests/sched/interrupt1.c: (main):
11759         * tests/sched/interrupt2.c: (main):
11760         * tests/sched/interrupt3.c: (main):
11761         * tests/sched/runxml.c: (main):
11762         * tests/sched/sched-stress.c: (main):
11763         * tests/seeking/seeking1.c: (event_received), (main):
11764         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11765         (main):
11766         * tests/threadstate/threadstate3.c: (main):
11767         * tests/threadstate/threadstate4.c: (main):
11768         * tests/threadstate/threadstate5.c: (main):
11769         Fix the tests.
11770
11771 2005-07-21  Wim Taymans  <wim@fluendo.com>
11772
11773         * docs/design/part-seeking.txt:
11774         Some small additions.
11775
11776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11777         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11778         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11779         * gst/base/gstbasesink.h:
11780         discont values are gint64, handle the math correctly.
11781
11782         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11783         Make the basesrc report error if the source pad is not linked.
11784
11785         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
11786         (gst_queue_loop), (gst_queue_handle_src_query),
11787         (gst_queue_src_activate_push):
11788         Make queue collect data even if the srcpad is not linked.
11789         Start pushing out data as soon as it is linked.
11790
11791         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
11792         * gst/gstutils.h:
11793         Added gst_flow_get_name() to ease error reporting.
11794
11795 2005-07-20  Wim Taymans  <wim@fluendo.com>
11796
11797         * gst/gstmessage.c: (gst_message_new_segment_start),
11798         (gst_message_new_segment_done), (gst_message_parse_segment_start),
11799         (gst_message_parse_segment_done):
11800         * gst/gstmessage.h:
11801         Added a bunch of messages for advanced seeking.
11802
11803         * gst/parse/grammar.y:
11804         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
11805         (gst_dpman_state_changed):
11806         Fix some new-pad -> pad-added signals
11807
11808 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11809
11810         * docs/manual/appendix-porting.xml:
11811         * docs/pwg/appendix-porting.xml:
11812           Document new-pad/state-change signal renames and the FixedList
11813           type rename.
11814
11815 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11816
11817         * docs/manual/advanced-autoplugging.xml:
11818         * docs/manual/basics-helloworld.xml:
11819         * docs/manual/basics-pads.xml:
11820         * docs/random/ds/0.9-suggested-changes:
11821         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
11822         * gst/gstelement.h:
11823         * gst/gstevent.h:
11824         * gst/gstformat.h:
11825         * gst/gstquery.h:
11826         * gst/gststructure.c: (gst_structure_value_get_generic_type),
11827         (gst_structure_parse_array), (gst_structure_parse_value):
11828         * gst/gstvalue.c: (gst_type_is_fixed),
11829         (gst_value_list_prepend_value), (gst_value_list_append_value),
11830         (gst_value_list_get_size), (gst_value_list_get_value),
11831         (gst_value_transform_array_string), (gst_value_serialize_array),
11832         (gst_value_deserialize_array), (gst_value_intersect_array),
11833         (gst_value_is_fixed), (_gst_value_initialize):
11834         * gst/gstvalue.h:
11835           GstElement::new-pad -> pad-added, GstElement::state-change ->
11836           state-changed, GstValueFixedList -> GstValueArray, add format and
11837           flags as their own arguments in gst_element_seek() (should improve
11838           "bindeability"), remove function generators since they don't work
11839           under a whole bunch of compilers (they were deprecated already
11840           anyway).
11841
11842 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11843
11844         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11845         (_gst_debug_register_funcptr):
11846         * gst/gstinfo.h:
11847           Fix illegal cast on some platforms (#309253).
11848
11849 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11850
11851         * gst/gstmessage.c: (gst_message_new_custom):
11852         * gst/gstmessage.h:
11853           Add _new_custom, make _new_application a macro to _new_custom.
11854
11855 2005-07-20  Wim Taymans  <wim@fluendo.com>
11856
11857         * gst/base/gstbasesrc.c: (gst_base_src_init),
11858         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11859         * gst/base/gstbasesrc.h:
11860         Add a gboolean to decide when to push out a discont.
11861
11862         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11863         (gst_queue_loop), (gst_queue_handle_src_query),
11864         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
11865         (gst_queue_set_property), (gst_queue_get_property):
11866         Some cleanups.
11867
11868         * tests/threadstate/threadstate1.c: (main):
11869         Make a thread test compile and run... very silly..
11870
11871
11872 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11873
11874         * docs/manual/appendix-porting.xml:
11875           Mention removal of libgstgconf-0.9.la and existence of gconf
11876           elements.
11877
11878 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11879
11880         * docs/pwg/advanced-clock.xml:
11881         * docs/pwg/appendix-porting.xml:
11882         * docs/pwg/intro-preface.xml:
11883         * docs/pwg/other-base.xml:
11884         * docs/pwg/other-manager.xml:
11885         * docs/pwg/other-nton.xml:
11886         * docs/pwg/other-ntoone.xml:
11887         * docs/pwg/other-oneton.xml:
11888         * docs/pwg/pwg.xml:
11889           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
11890           demuxer), remove n-to-n (was never written), fix some code examples
11891           and links and update the porting section to include all this.
11892
11893 2005-07-19  Wim Taymans  <wim@fluendo.com>
11894
11895         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
11896         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
11897         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
11898         (gst_queue_src_activate_push), (gst_queue_change_state),
11899         (gst_queue_get_property):
11900         * gst/gstqueue.h:
11901         Propagate GstFlowReturn more intelligently upstream and output
11902         an ERROR/EOS when streaming stopped due to fatal error.
11903
11904 2005-07-19  Wim Taymans  <wim@fluendo.com>
11905
11906         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11907         Don't block forever for the state change to complete, the
11908         pipeline already did with a sensible timeout.
11909
11910 2005-07-19  Wim Taymans  <wim@fluendo.com>
11911
11912         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11913         Make sure we never call the create function is we
11914         got deactivated.
11915
11916 2005-07-19  Andy Wingo  <wingo@pobox.com>
11917
11918         * gst/parse/parse.l: Attempt to solve bug #172815.
11919
11920 2005-07-19  Wim Taymans  <wim@fluendo.com>
11921
11922         * docs/design/part-clocks.txt:
11923         * docs/design/part-events.txt:
11924         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
11925         Small docs updates.
11926         Only update the seeking values when we are not
11927         busy streaming.
11928
11929 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11930
11931         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11932           Oops, ignore the result of gst_pad_push_event here.
11933
11934 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11935
11936         * gst/base/gstbasesrc.c: (gst_base_src_loop),
11937         (gst_base_src_activate_push):
11938           Send discont event from the loop function, as pads
11939           aren't activated yet in the activate_push handler.
11940
11941         * gst/gstbin.c: (bin_bus_handler):
11942           Don't leak element name.
11943
11944 2005-07-18  Andy Wingo  <wingo@pobox.com>
11945
11946         * configure.ac: Use AS_LIBTOOL_TAGS.
11947
11948 2005-07-18  Wim Taymans  <wim@fluendo.com>
11949
11950         * docs/gst/gstreamer.types:
11951         Remove deleted types.
11952
11953 2005-07-18  Wim Taymans  <wim@fluendo.com>
11954
11955         * check/elements/gstfakesrc.c: (GST_START_TEST):
11956         * configure.ac:
11957         * gst/Makefile.am:
11958         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11959         (init_popt_callback):
11960         * gst/gst.h:
11961         * gst/gst_private.h:
11962         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
11963         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
11964         * gst/gstbin.h:
11965         * gst/gstbus.h:
11966         * gst/gstconfig.h.in:
11967         * gst/gstelement.c: (gst_element_class_init),
11968         (gst_element_set_base_time), (gst_element_get_base_time),
11969         (iterator_fold_with_resync), (gst_element_change_state),
11970         (gst_element_dispose), (gst_element_get_bus):
11971         * gst/gstelement.h:
11972         * gst/gstelementfactory.h:
11973         * gst/gsterror.c: (_gst_core_errors_init):
11974         * gst/gsterror.h:
11975         * gst/gstevent.h:
11976         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11977         * gst/gstindex.c:
11978         * gst/gstinfo.c: (_gst_debug_init):
11979         * gst/gstmessage.c: (_gst_message_copy):
11980         * gst/gstmessage.h:
11981         * gst/gstminiobject.h:
11982         * gst/gstobject.c:
11983         * gst/gstobject.h:
11984         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11985         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
11986         * gst/gstpad.h:
11987         * gst/gstparse.h:
11988         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11989         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11990         (gst_pipeline_get_last_stream_time):
11991         * gst/gstpipeline.h:
11992         * gst/gstpluginfeature.h:
11993         * gst/gstquery.h:
11994         * gst/gstscheduler.c:
11995         * gst/gstscheduler.h:
11996         * gst/gststructure.h:
11997         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11998         (gst_task_finalize), (gst_task_func), (gst_task_create),
11999         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
12000         (gst_task_stop), (gst_task_pause):
12001         * gst/gsttask.h:
12002         * gst/gsttypefind.h:
12003         * gst/gsttypes.h:
12004         * gst/registries/gstlibxmlregistry.c: (load_feature),
12005         (gst_xml_registry_load), (gst_xml_registry_save_feature):
12006         * gst/registries/gstxmlregistry.c:
12007         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
12008         * gst/schedulers/threadscheduler.c:
12009         * libs/gst/control/dparammanager.h:
12010         * tools/gst-inspect.c: (print_element_list),
12011         (print_plugin_features), (print_element_features):
12012         * tools/gst-xmlinspect.c: (print_element_list),
12013         (print_plugin_info), (main):
12014         Removed plugable schedulers.
12015         Removed Scheduler/Manager from elements.
12016         Removed gsttypes.h, rearranged includes.
12017         Removed dependency pad<->element, element<>pipeline, and
12018         various others,  fix includes.
12019         implement gst_pad_get_parent() with gst_object_get_parent()
12020         Make GstTask sefcontained.
12021         Fix _get_state() on GstBin, it did not return ASYNC with a 0
12022         timeout.
12023         Fix endless loop in iterator_fold_with_resync.
12024
12025
12026 2005-07-18  Wim Taymans  <wim@fluendo.com>
12027
12028         * gst/Makefile.am:
12029         * gst/gstarch.h:
12030         Remove old file.
12031
12032 2005-07-18  Wim Taymans  <wim@fluendo.com>
12033
12034         * gst/Makefile.am:
12035         No more cothreads.h
12036
12037 2005-07-18  Wim Taymans  <wim@fluendo.com>
12038
12039         * gst/cothreads.c:
12040         * gst/cothreads.h:
12041         Let's remove these.
12042
12043 2005-07-18  Wim Taymans  <wim@fluendo.com>
12044
12045         * docs/design/part-dynamic.txt:
12046         * docs/design/part-events.txt:
12047         * docs/design/part-seeking.txt:
12048         Some more docs in the works.
12049
12050         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12051         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
12052         (gst_base_transform_setcaps), (gst_base_transform_get_size),
12053         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12054         (gst_base_transform_handle_buffer),
12055         (gst_base_transform_sink_activate_push),
12056         (gst_base_transform_src_activate_pull),
12057         (gst_base_transform_set_passthrough),
12058         (gst_base_transform_is_passthrough):
12059         Refcounting fixes.
12060
12061         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
12062         Cleanups.
12063
12064         * gst/gstevent.c: (gst_event_finalize):
12065         Set SRC to NULL.
12066
12067         * gst/gstutils.c: (gst_element_unlink),
12068         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
12069         (gst_pad_proxy_setcaps):
12070         * gst/gstutils.h:
12071         Add _get_parent_element() to get a pads parent as an element.
12072
12073 2005-07-18  Wim Taymans  <wim@fluendo.com>
12074
12075         * check/gst/gstbin.c: (GST_START_TEST):
12076         Remove bogus test.
12077
12078 2005-07-18  Wim Taymans  <wim@fluendo.com>
12079
12080         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12081         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12082         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12083         (gst_base_sink_event), (gst_base_sink_do_sync),
12084         (gst_base_sink_chain), (gst_base_sink_loop),
12085         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
12086         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12087         Refcounting fixes.
12088         Fix logic for returning ASYNC when not prerolled.
12089
12090 2005-07-18  Wim Taymans  <wim@fluendo.com>
12091
12092         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12093         Fix nasty refcount bug.
12094
12095 2005-07-16 Philippe Khalaf <burger@speedy.org>
12096
12097         * gst/elements/gstfdsrc.c:
12098         * gst/elements/gstfdsrc.h:
12099         * gst/elements/gstelements.c:
12100         * gst/elements/Makefile.am:
12101         Ported fdsrc to 0.9.
12102
12103 2005-07-16  Wim Taymans  <wim@fluendo.com>
12104
12105         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12106         (gst_base_sink_do_sync):
12107         Fix compile error.
12108
12109 2005-07-16  Wim Taymans  <wim@fluendo.com>
12110
12111         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12112         (gst_base_sink_event), (gst_base_sink_get_times),
12113         (gst_base_sink_do_sync), (gst_base_sink_change_state):
12114         * gst/base/gstbasesink.h:
12115         Store and use discont values when syncing buffers as described
12116         in design docs.
12117         
12118         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12119         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12120         (gst_base_src_activate_push):
12121         Push discont event when starting.
12122
12123         * gst/elements/gstidentity.c: (gst_identity_transform):
12124         Small cleanups.
12125
12126         * gst/gstbin.c: (gst_bin_change_state):
12127         Small cleanups in base_time  distribution.
12128
12129         * gst/gstelement.c: (gst_element_set_base_time),
12130         (gst_element_get_base_time), (gst_element_change_state):
12131         * gst/gstelement.h:
12132         Added methods for the base_time of the element.
12133         Some MT fixes.
12134
12135         * gst/gstpipeline.c: (gst_pipeline_send_event),
12136         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12137         (gst_pipeline_get_last_stream_time):
12138         * gst/gstpipeline.h:
12139         MT fixes.
12140         Handle seeking as described in design doc, remove stream_time
12141         hack.
12142         Cleanups clock and stream_time selection code. Added accessors
12143         for the stream_time.
12144         
12145
12146 2005-07-16  Andy Wingo  <wingo@pobox.com>
12147
12148         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12149         (#305291).
12150
12151 2005-07-16  Wim Taymans  <wim@fluendo.com>
12152
12153         * check/gst/gstbin.c: (GST_START_TEST):
12154         Make elements silent as the deep_notify refs the
12155         parent, which might make the test fail.
12156
12157         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12158         Don't hold the lock for too long.
12159
12160 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
12161
12162         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12163           Don't unref the caps we passed to gst_caps_make_writable() after
12164           passing them. gst_caps_make_writable() will do that for us.
12165
12166 2005-07-15  Andy Wingo  <wingo@pobox.com>
12167
12168         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12169         (#157311).
12170
12171         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12172         own marshalling function for the handoff signal. Properly type the
12173         buffer as a buffer. Fixes some warnings. Should do a more general
12174         solution.
12175         (gst_identity_class_init): Plug into the right marshaller.
12176
12177 2005-07-15  Wim Taymans  <wim@fluendo.com>
12178
12179         * docs/design/part-TODO.txt:
12180         * docs/design/part-clocks.txt:
12181         * docs/design/part-element-sink.txt:
12182         * docs/design/part-events.txt:
12183         * docs/design/part-gstpipeline.txt:
12184         Updated docs, mostly DISCONT related.
12185
12186 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
12187
12188         * docs/pwg/building-pads.xml:
12189           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12190
12191 2005-07-15  Andy Wingo  <wingo@pobox.com>
12192
12193         * tools/gst-typefind.c: Update, add copyright block.
12194
12195         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12196         Normalize and truncate caps before fixation.
12197
12198         * gst/gstcaps.h:
12199         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12200         discards all but the first structure from its argument.
12201
12202 2005-07-15  Wim Taymans  <wim@fluendo.com>
12203
12204         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12205         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12206         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12207         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12208         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12209         (gst_base_transform_chain), (gst_base_transform_change_state),
12210         (gst_base_transform_set_passthrough),
12211         (gst_base_transform_is_passthrough):
12212         * gst/base/gstbasetransform.h:
12213         Make passthrough work using the bufferpools.
12214         Changed API a bit, subclasses have to write into a buffer
12215         provided by the base class.
12216         More debug info in nego functions.
12217         
12218         * gst/elements/gstidentity.c: (gst_identity_init),
12219         (gst_identity_transform):
12220         Port to new base class.
12221
12222 2005-07-15  Wim Taymans  <wim@fluendo.com>
12223
12224         * gst/gstmessage.c: (gst_message_new_state_changed):
12225         * tools/gst-launch.c: (event_loop), (main):
12226         Totally dump messages in -launch with the -m option.
12227         Fix message name for State messages,
12228
12229 2005-07-14  Wim Taymans  <wim@fluendo.com>
12230
12231         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12232         Post error messages on errors.
12233
12234 2005-07-14  Wim Taymans  <wim@fluendo.com>
12235
12236         * gst/gstcaps.c: (gst_caps_do_simplify):
12237         Remove debug info.
12238
12239         * gst/gsterror.h:
12240         Define error for stream stopped.
12241
12242         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12243         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12244         Do proper return values.
12245
12246         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12247         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
12248         (gst_pad_get_range):
12249         Better return values.
12250
12251         * gst/gstpad.h:
12252         Reorganise return values, add macro to check for fatal errors.
12253
12254         * gst/gstqueue.c: (gst_queue_chain):
12255         Return proper GstFlowReturn values,
12256
12257 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12258
12259         * docs/gst/gstreamer-sections.txt:
12260         * docs/gst/gstreamer.types:
12261         * docs/gst/tmpl/gst.sgml:
12262         * docs/gst/tmpl/gstbasesink.sgml:
12263         * docs/gst/tmpl/gstbasesrc.sgml:
12264         * docs/gst/tmpl/gstbasetransform.sgml:
12265         * docs/gst/tmpl/gstbin.sgml:
12266         * docs/gst/tmpl/gstbuffer.sgml:
12267         * docs/gst/tmpl/gstcaps.sgml:
12268         * docs/gst/tmpl/gstclock.sgml:
12269         * docs/gst/tmpl/gstcompat.sgml:
12270         * docs/gst/tmpl/gstconfig.sgml:
12271         * docs/gst/tmpl/gstelement.sgml:
12272         * docs/gst/tmpl/gstelementdetails.sgml:
12273         * docs/gst/tmpl/gstelementfactory.sgml:
12274         * docs/gst/tmpl/gstenumtypes.sgml:
12275         * docs/gst/tmpl/gsterror.sgml:
12276         * docs/gst/tmpl/gstevent.sgml:
12277         * docs/gst/tmpl/gstfakesink.sgml:
12278         * docs/gst/tmpl/gstfakesrc.sgml:
12279         * docs/gst/tmpl/gstfilesink.sgml:
12280         * docs/gst/tmpl/gstfilesrc.sgml:
12281         * docs/gst/tmpl/gstfilter.sgml:
12282         * docs/gst/tmpl/gstformat.sgml:
12283         * docs/gst/tmpl/gstghostpad.sgml:
12284         * docs/gst/tmpl/gstimplementsinterface.sgml:
12285         * docs/gst/tmpl/gstindex.sgml:
12286         * docs/gst/tmpl/gstindexfactory.sgml:
12287         * docs/gst/tmpl/gstinfo.sgml:
12288         * docs/gst/tmpl/gstiterator.sgml:
12289         * docs/gst/tmpl/gstmacros.sgml:
12290         * docs/gst/tmpl/gstmemchunk.sgml:
12291         * docs/gst/tmpl/gstminiobject.sgml:
12292         * docs/gst/tmpl/gstobject.sgml:
12293         * docs/gst/tmpl/gstpad.sgml:
12294         * docs/gst/tmpl/gstpadtemplate.sgml:
12295         * docs/gst/tmpl/gstparse.sgml:
12296         * docs/gst/tmpl/gstpipeline.sgml:
12297         * docs/gst/tmpl/gstplugin.sgml:
12298         * docs/gst/tmpl/gstpluginfeature.sgml:
12299         * docs/gst/tmpl/gstquery.sgml:
12300         * docs/gst/tmpl/gstqueue.sgml:
12301         * docs/gst/tmpl/gstregistry.sgml:
12302         * docs/gst/tmpl/gstregistrypool.sgml:
12303         * docs/gst/tmpl/gstscheduler.sgml:
12304         * docs/gst/tmpl/gstschedulerfactory.sgml:
12305         * docs/gst/tmpl/gststructure.sgml:
12306         * docs/gst/tmpl/gstsystemclock.sgml:
12307         * docs/gst/tmpl/gsttaglist.sgml:
12308         * docs/gst/tmpl/gsttagsetter.sgml:
12309         * docs/gst/tmpl/gsttrace.sgml:
12310         * docs/gst/tmpl/gsttrashstack.sgml:
12311         * docs/gst/tmpl/gsttypefind.sgml:
12312         * docs/gst/tmpl/gsttypefindfactory.sgml:
12313         * docs/gst/tmpl/gsttypes.sgml:
12314         * docs/gst/tmpl/gsturihandler.sgml:
12315         * docs/gst/tmpl/gsturitype.sgml:
12316         * docs/gst/tmpl/gstutils.sgml:
12317         * docs/gst/tmpl/gstvalue.sgml:
12318         * docs/gst/tmpl/gstversion.sgml:
12319         * docs/gst/tmpl/gstxml.sgml:
12320         * docs/libs/tmpl/gstcontrol.sgml:
12321         * docs/libs/tmpl/gstdataprotocol.sgml:
12322         * docs/libs/tmpl/gstdparam.sgml:
12323         * docs/libs/tmpl/gstdplinint.sgml:
12324         * docs/libs/tmpl/gstdpman.sgml:
12325         * docs/libs/tmpl/gstdpsmooth.sgml:
12326         * docs/libs/tmpl/gstgetbits.sgml:
12327         * docs/libs/tmpl/gstunitconvert.sgml:
12328         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
12329         (gst_push_src_base_init), (gst_push_src_class_init),
12330         (gst_push_src_init), (gst_push_src_create):
12331         * gst/base/gstpushsrc.h:
12332         * gst/elements/gstelements.c:
12333         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
12334         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
12335         (gst_fake_sink_init), (gst_fake_sink_set_property),
12336         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
12337         (gst_fake_sink_event), (gst_fake_sink_preroll),
12338         (gst_fake_sink_render), (gst_fake_sink_change_state):
12339         * gst/elements/gstfakesink.h:
12340         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12341         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12342         (gst_fake_src_base_init), (gst_fake_src_class_init),
12343         (gst_fake_src_init), (gst_fake_src_event_handler),
12344         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
12345         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
12346         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
12347         (gst_fake_src_create_buffer), (gst_fake_src_create),
12348         (gst_fake_src_start), (gst_fake_src_stop):
12349         * gst/elements/gstfakesrc.h:
12350         * gst/elements/gstfilesink.c: (_do_init),
12351         (gst_file_sink_base_init), (gst_file_sink_class_init),
12352         (gst_file_sink_init), (gst_file_sink_dispose),
12353         (gst_file_sink_set_location), (gst_file_sink_set_property),
12354         (gst_file_sink_get_property), (gst_file_sink_open_file),
12355         (gst_file_sink_close_file), (gst_file_sink_query),
12356         (gst_file_sink_event), (gst_file_sink_render),
12357         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
12358         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
12359         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
12360         * gst/elements/gstfilesink.h:
12361         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
12362         (gst_file_src_class_init), (gst_file_src_init),
12363         (gst_file_src_finalize), (gst_file_src_set_location),
12364         (gst_file_src_set_property), (gst_file_src_get_property),
12365         (gst_file_src_map_region), (gst_file_src_map_small_region),
12366         (gst_file_src_create_mmap), (gst_file_src_create_read),
12367         (gst_file_src_create), (gst_file_src_is_seekable),
12368         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
12369         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
12370         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
12371         (gst_file_src_uri_handler_init):
12372         * gst/elements/gstfilesrc.h:
12373           more autistic cleanliness in functions/names/defines
12374
12375 2005-07-13  Andy Wingo  <wingo@pobox.com>
12376
12377         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
12378         source couldn't negotiate.
12379
12380         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
12381         connections again.
12382
12383         * gst/gstutils.h:
12384         * gst/gstutils.c (gst_element_link_pads_filtered): New old
12385         function. I am channeling Hades. Put your boots on suckers!!!
12386
12387 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12388
12389         * testsuite/caps/Makefile.am:
12390         * testsuite/caps/value_compare.c:
12391         * testsuite/caps/value_intersect.c:
12392         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12393           move two testsuite apps over to the check dir
12394
12395 2005-07-12  Wim Taymans  <wim@fluendo.com>
12396
12397         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12398         Added more debug info in the negotiate process.
12399
12400         * gst/gstmessage.h:
12401         Prepare for segment playback.
12402
12403         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
12404         Better debugging.
12405
12406         * gst/gstutils.c:
12407         Some more docs.
12408
12409         * tools/gst-launch.c: (main):
12410         NULL pipeline on errors.
12411
12412 2005-07-12  Andy Wingo  <wingo@pobox.com>
12413
12414         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
12415         not it comes from a malloc region. Make sure our copy gets freed.
12416
12417 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12418
12419         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12420         * check/gst/gstmessage.c: (GST_START_TEST):
12421         * check/gst/gststructure.c: (GST_START_TEST),
12422         (gst_structure_suite), (main):
12423           more testing
12424         * gst/gstelement.c: (gst_element_message_full):
12425           clean up GError and debug string now that they get copied
12426         * gst/gstmessage.c: (gst_message_new_error),
12427         (gst_message_new_warning), (gst_message_parse_error),
12428         (gst_message_parse_warning):
12429           use GST_TYPE_G_ERROR for structure_new, and take copies of
12430           arguments, so that we don't mess up refcounting
12431
12432 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12433
12434         * check/Makefile.am:
12435           add per-test valgrind targets
12436         * check/gst-libs/gdp.c: (GST_START_TEST),
12437         (gst_data_protocol_suite), (main):
12438           clean up
12439
12440 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * check/Makefile.am:
12443           instate more valgrindable tests
12444         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12445         (GST_START_TEST), (fakesrc_suite):
12446         * check/gst/gstpad.c: (GST_START_TEST):
12447         * check/gst/gststructure.c: (GST_START_TEST):
12448           fix test leaks
12449         * docs/gst/tmpl/gstminiobject.sgml:
12450         * gst/gstpad.c: (gst_pad_finalize):
12451           fix the static mutex leak
12452
12453 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12454
12455         * check/Makefile.am:
12456           add two more tests for valgrinding
12457         * check/gst/gstvalue.c: (GST_START_TEST):
12458           test refcount of deserialized buffer, found a leak
12459         * docs/gst/gstreamer-docs.sgml:
12460         * docs/gst/gstreamer-sections.txt:
12461         * docs/gst/gstreamer.types:
12462         * docs/gst/tmpl/gstminiobject.sgml:
12463           add miniobject to docs
12464         * gst/gstminiobject.c:
12465           add some docs
12466         * gst/gstvalue.c: (gst_value_deserialize_buffer),
12467         (gst_string_unwrap):
12468           fix a hard-to-find invalid write for one of the tests
12469           fix a leak for deserialized buffers
12470
12471 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12472
12473         * docs/pwg/advanced-events.xml:
12474         * docs/pwg/advanced-request.xml:
12475         * docs/pwg/advanced-scheduling.xml:
12476         * docs/pwg/appendix-porting.xml:
12477         * docs/pwg/building-boiler.xml:
12478         * docs/pwg/intro-preface.xml:
12479         * docs/pwg/other-ntoone.xml:
12480           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
12481           of example code and explanation for pad activation, loop() and
12482           getrange() functions and a bit more. Remove old comments pointing
12483           to loop-functions.
12484         * examples/pwg/Makefile.am:
12485           Add loop/getrange examples.
12486
12487 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12488
12489         * configure.ac:
12490           check for valgrind binary + some fixes
12491         * check/gst.supp:
12492           valgrind suppressions for the tests
12493         * check/Makefile.am:
12494           add a valgrind: target that valgrinds the unit tests
12495         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
12496         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12497         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12498         * check/gst/gstghostpad.c:
12499           added some cleanup
12500         * check/gst/gstdata.c:
12501           removed
12502         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
12503         (thread_unref), (gst_mini_object_suite), (main):
12504           added
12505         * gst/gst.c: (gst_deinit):
12506         * gst/gst.h:
12507           add a method to clean up.
12508         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12509         (gst_system_clock_obtain):
12510           allow for disposing the system clock.
12511         * tools/gst-launch.c: (main):
12512           deinit
12513
12514 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12515
12516         * docs/gst/tmpl/gstbasesrc.sgml:
12517         * docs/gst/tmpl/gstfakesrc.sgml:
12518         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12519         (gst_base_src_init), (gst_base_src_set_property),
12520         (gst_base_src_get_property), (gst_base_src_get_range),
12521         (gst_base_src_start):
12522         * gst/base/gstbasesrc.h:
12523           add num-buffers property
12524         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12525         (gst_fakesrc_init), (gst_fakesrc_set_property),
12526         (gst_fakesrc_get_property), (gst_fakesrc_create),
12527         (gst_fakesrc_start):
12528           remove num-buffers property
12529
12530 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12531
12532         * docs/gst/gstreamer-sections.txt:
12533         * docs/gst/tmpl/gstbasesink.sgml:
12534         * docs/gst/tmpl/gstbasesrc.sgml:
12535         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12536         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12537         (gst_base_sink_finalize), (gst_base_sink_set_clock),
12538         (gst_base_sink_set_property), (gst_base_sink_get_property),
12539         (gst_base_sink_handle_object), (gst_base_sink_event),
12540         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12541         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
12542         (gst_base_sink_loop), (gst_base_sink_deactivate),
12543         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
12544         (gst_base_sink_change_state):
12545         * gst/base/gstbasesink.h:
12546         * gst/base/gstbasesrc.h:
12547         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
12548         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12549         (gst_filesink_init):
12550           more macro splitting
12551
12552 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12553
12554         * gst/gstelement.c: (gst_element_get_bus):
12555           add debug
12556         * tools/gst-launch.c: (check_intr), (event_loop):
12557           fix bus leaks
12558
12559 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12560
12561         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12562           fix a caps leak
12563
12564 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12565
12566         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12567         (gst_base_src_finalize):
12568           add finalize method and clean up properly
12569         * gst/gstpipeline.c: (gst_pipeline_dispose):
12570           add debug
12571
12572 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12573
12574         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
12575         (gst_bin_suite):
12576           add more things to check
12577         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12578         * gst/gstelement.c:
12579           more debug
12580
12581 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12582
12583         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12584         (GST_START_TEST), (fakesrc_suite):
12585         * check/gst-libs/gdp.c: (GST_START_TEST):
12586         * check/gst/gst.c: (GST_START_TEST):
12587         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12588         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12589         * check/gst/gstbus.c: (GST_START_TEST):
12590         * check/gst/gstcaps.c: (GST_START_TEST):
12591         * check/gst/gstdata.c: (GST_START_TEST):
12592         * check/gst/gstelement.c: (GST_START_TEST):
12593         * check/gst/gstghostpad.c: (GST_START_TEST):
12594         * check/gst/gstiterator.c: (GST_START_TEST):
12595         * check/gst/gstmessage.c: (GST_START_TEST):
12596         * check/gst/gstobject.c: (GST_START_TEST):
12597         * check/gst/gstpad.c: (GST_START_TEST):
12598         * check/gst/gststructure.c: (GST_START_TEST):
12599         * check/gst/gstsystemclock.c: (GST_START_TEST),
12600         (gst_systemclock_suite):
12601         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12602         * check/gst/gstvalue.c: (GST_START_TEST):
12603         * check/pipelines/cleanup.c: (GST_START_TEST):
12604         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12605         * check/states/sinks.c: (GST_START_TEST):
12606         * check/gstcheck.c: (gst_check_init):
12607         * check/gstcheck.h:
12608           add debugging category
12609           use GST_START_TEST now, so we add a debug line
12610
12611 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12612
12613         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12614           add test for state change message on a bin
12615         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12616           add another test
12617         * gst/gstbin.c: (gst_bin_init):
12618         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12619         * gst/gstelement.c: (gst_element_post_message),
12620         (gst_element_set_state):
12621         * gst/gstelementfactory.c: (gst_element_factory_create):
12622         * gst/gstmessage.c: (gst_message_new):
12623         * gst/gstscheduler.c:
12624           various debugging additions and cleanups
12625
12626 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12627
12628         * check/Makefile.am:
12629         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12630         (main):
12631           adding tests for elements
12632         * gst/gstelement.c: (gst_element_dispose):
12633
12634 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * gst/registries/gstlibxmlregistry.c: (load_feature):
12637           plug more leaks.  A simple gst_init() now is leakfree, yay.
12638
12639 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12640
12641         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
12642         (gst_xml_registry_load):
12643           plug another memleak
12644
12645 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12646
12647         * configure.ac:
12648           use GST_SET_ERROR_CFLAGS
12649         * docs/faq/cvs.xml:
12650           change to ERROR_CFLAGS
12651
12652 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12653
12654         * configure.ac:
12655           make GST_ERROR_CFLAGS overridable and re-enable Werror
12656         * docs/faq/cvs.xml:
12657           add a note about error CFLAGS
12658         * docs/gst/tmpl/gstfakesrc.sgml:
12659         * gst/elements/gstfakesrc.c:
12660           comment out some unused code
12661         * gst/gst.c: (split_and_iterate):
12662         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
12663         (load_feature):
12664           plug some memleaks
12665
12666 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12667
12668         * common/Makefile.am:
12669         * common/gtk-doc.mak:
12670         * docs/gst/Makefile.am:
12671           factor out gtk-doc.mak
12672
12673 2005-07-07  Wim Taymans  <wim@fluendo.com>
12674
12675         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
12676         (gst_thread_scheduler_dispose):
12677         Unlock the STREAM_LOCK completely.
12678
12679 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12680
12681         * check/Makefile.am:
12682         * check/elements/.cvsignore:
12683         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12684         (START_TEST), (fakesrc_suite), (main):
12685         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12686         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12687         (gst_fakesrc_create), (gst_fakesrc_start):
12688         * gst/elements/gstfakesrc.h:
12689           adding a first element test
12690
12691 2005-07-07  Andy Wingo  <wingo@pobox.com>
12692
12693         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
12694         debug message.
12695
12696 2005-07-07  Wim Taymans  <wim@fluendo.com>
12697
12698         * gst/gstquery.c:
12699         * gst/gstquery.h:
12700         Remove old types
12701
12702 2005-07-07  Wim Taymans  <wim@fluendo.com>
12703
12704         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12705         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
12706         Allow subclasses to implement their own negotiation.
12707
12708 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12709
12710         * docs/design/part-gstbin.txt:
12711         * docs/design/part-gstpipeline.txt:
12712           Update design notes to reflect the movement of
12713           responsibility for bus handling from GstPipeline to
12714           GstBin
12715
12716 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12717
12718         * configure.ac:
12719           Remove unnecessary queue2/3/4 examples.
12720
12721 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12722
12723         * examples/Makefile.am:
12724         * examples/helloworld/helloworld.c: (event_loop), (main):
12725         * examples/queue/queue.c: (event_loop), (main):
12726         * examples/queue2/queue2.c: (main):
12727           Update a couple of the examples to work again.
12728
12729         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12730         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
12731          Spelling corrections and extra debug.
12732         
12733         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
12734         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
12735         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
12736         * gst/gstbin.h:
12737         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12738         (gst_pipeline_change_state):
12739         * gst/gstpipeline.h:
12740           Move the bus handler for children to the GstBin, and create a
12741           separate bus for receiving messages from children to the one the
12742           bus sends 'upwards' on.
12743
12744 2005-07-06  Wim Taymans  <wim@fluendo.com>
12745
12746         * gst/base/README:
12747         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12748         (gst_base_sink_handle_object), (gst_base_sink_loop),
12749         (gst_base_sink_change_state):
12750         * gst/base/gstbasesink.h:
12751         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12752         (gst_base_src_init), (gst_base_src_setcaps),
12753         (gst_base_src_getcaps), (gst_base_src_loop),
12754         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
12755         (gst_base_src_start), (gst_base_src_change_state):
12756         * gst/base/gstbasesrc.h:
12757         Make basesrc negotiate.
12758         Handle the case where preroll fails in basesink.
12759         Update README.
12760
12761 2005-07-06  Wim Taymans  <wim@fluendo.com>
12762
12763         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
12764         Implement the fixate function.
12765         Clean up acceptcaps.
12766
12767 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12768
12769         * docs/pwg/building-filterfactory.xml:
12770         * docs/pwg/pwg.xml:
12771           Remove never-written filter-factory chapter; I'll add the various
12772           base classes to part 4 ("other element types") later on.
12773
12774 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12775
12776         * docs/pwg/advanced-negotiation.xml:
12777         * docs/pwg/building-boiler.xml:
12778         * docs/pwg/building-pads.xml:
12779         * docs/pwg/pwg.xml:
12780         * examples/pwg/Makefile.am:
12781           Add a chapter on caps negotiation, simplify the original code
12782           samples a bit w.r.t. caps negotiation, add link to the advanced
12783           section. Add a bunch of examples showing different use cases of
12784           different types of caps negotiation. Upstream renegotiation isn't
12785           fully documented yet since nobody knows how that works.
12786
12787 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12788
12789         * check/gst/gstpad.c:
12790         * check/gstcheck.c:
12791         * gst/gstpad.c: (gst_pad_get_internal_links_default):
12792           if pad has no parent, return NULL as list of internal links
12793
12794 2005-07-05  Andy Wingo  <wingo@pobox.com>
12795
12796         * gst/elements/gstfilesrc.c:
12797         * gst/elements/gstfakesrc.c: 
12798         * gst/base/gstpushsrc.c:
12799         * gst/base/gstbasesrc.h: 
12800         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
12801         
12802 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
12803
12804         * Makefile.am:
12805           better report generation target (lcov needs a patch)
12806
12807 2005-07-05  Andy Wingo  <wingo@pobox.com>
12808
12809         * gst/elements, testsuite: Null if we got it...
12810
12811 2005-07-05  Wim Taymans  <wim@fluendo.com>
12812
12813         * configure.ac:
12814         * libs/gst/dataprotocol/Makefile.am:
12815         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
12816         * libs/gst/dataprotocol/dataprotocol.h:
12817         * pkgconfig/Makefile.am:
12818         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
12819         * pkgconfig/gstreamer-dataprotocol.pc.in:
12820         Ported dataprotol to 0.9. 
12821         Added pkgconfig files.
12822
12823 2005-07-05  Andy Wingo  <wingo@pobox.com>
12824
12825         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
12826         Default to returning TRUE for the case when tranform_caps returns
12827         a fixed caps, like for identity or volume.
12828
12829         * check/gst/gstbus.c (pound_bus_with_messages): 
12830         * check/gst/gstmessage.c (START_TEST): 
12831         * check/pipelines/simple_launch_lines.c (got_handoff): Application
12832         message API change.
12833
12834         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
12835         logic weaks here: always run transform_caps, trying passthrough
12836         operation only if the original caps intersects with the transform.
12837
12838         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
12839         source and sink caps.
12840
12841         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
12842         Intersect the peer caps with the pad template before going into
12843         transform_caps.
12844         (gst_base_transform_transform_caps): More debugging.
12845
12846         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
12847         src argument.
12848
12849 2005-07-04  Edward Hervey  <edward@fluendo.com>
12850
12851         * gst/gstutils.c:
12852         * gst/gstutils.h:
12853         (gst_pad_add_*_probe): now returns the signal id for better wrapping
12854         in bindings.
12855
12856 2005-07-04  Andy Wingo  <wingo@pobox.com>
12857
12858         * check/gst/gstpad.c: Only set explicit caps on pads.
12859
12860 2005-07-01  Andy Wingo  <wingo@pobox.com>
12861
12862         * tests/network-clock.scm: Commentary update.
12863
12864         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
12865         Didn't really make sense, not implementable with basetransform,
12866         etc.
12867         (gst_identity_transform): Unref inbuf via make_writable. Feeble
12868         attempt at implementing the sync property, needs an unlock method.
12869
12870         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
12871         New func, by default returns the same caps (the identity
12872         transformation).
12873         (gst_base_transform_getcaps): Uses transform_caps to return
12874         something sensible.
12875         (gst_base_transform_setcaps): Complicated logic to get caps on
12876         both pads, even if they are different, and to call set_caps once
12877         for every time both pads get their caps set.
12878         (gst_base_transform_handle_buffer): Give the ref to the transform
12879         function. Allows in-place modification of the buffer.
12880
12881         * gst/base/gstbasetransform.h (transform_caps): New class method.
12882         Given caps on one side, what can I do on the other.
12883         (set_caps): Take two caps, one for each side of the element.
12884
12885         * gst/gstpad.h:
12886         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
12887         caps in place. This is safe because we can check the mutability of
12888         the caps, and a good idea because fixate functions are just called
12889         as a matter of last resort. (Not actually implemented.)
12890         (gst_pad_set_caps): If the caps we're setting is actually the same
12891         as the existing pad caps, just update the pointer without calling
12892         setcaps. Assert that caps is either NULL or fixed, as per the
12893         docs.
12894
12895         * gst/gstghostpad.c: Update for fixate changes.
12896
12897 2005-07-02  Andy Wingo  <wingo@pobox.com>
12898
12899         * gst/gstcaps.c:
12900         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
12901         two refcounts makes it immutable, which is enough. Doc more.
12902
12903 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
12904
12905         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
12906           Put the mini_object into GValue as a mini_object,
12907           not a gpointer, since that's how we declared
12908           the signal.
12909
12910 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12911
12912         * examples/pwg/Makefile.am:
12913           Fix buildbot again.
12914
12915 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12916
12917         * docs/pwg/building-testapp.xml:
12918           Add extra check.
12919         * examples/pwg/Makefile.am:
12920           Fix buildbot.
12921
12922 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12923
12924         * configure.ac:
12925         * examples/Makefile.am:
12926         * examples/pwg/Makefile.am:
12927         * examples/pwg/extract.pl:
12928           Enable building the PWG examples.
12929         * docs/pwg/advanced-interfaces.xml:
12930           Add URI interface stub.
12931         * docs/pwg/advanced-types.xml:
12932         * docs/pwg/other-autoplugger.xml:
12933         * docs/pwg/appendix-porting.xml:
12934         * docs/pwg/pwg.xml:
12935           Add porting guide (mostly stubs), remove autoplugging (see ADM).
12936         * docs/pwg/building-boiler.xml:
12937         * docs/pwg/building-chainfn.xml:
12938         * docs/pwg/building-pads.xml:
12939         * docs/pwg/building-props.xml:
12940         * docs/pwg/building-state.xml:
12941         * docs/pwg/building-testapp.xml:
12942           Update the building-*.xml parts for 0.9 changes. All examples
12943           code blocks compile in examples/pwg/*.
12944
12945 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12946
12947         * docs/manual/advanced-autoplugging.xml:
12948         * docs/manual/appendix-checklist.xml:
12949         * docs/manual/appendix-integration.xml:
12950         * docs/manual/highlevel-components.xml:
12951           Fix playbin/decodebin examples, update docs a bit, mention bus
12952           instead of signals in various places, mention kmplayer and
12953           kaffeine since they have a working GStreamer backend in the KDE
12954           section.
12955
12956 2005-06-30  Wim Taymans  <wim@fluendo.com>
12957
12958         * CHANGES-0.9:
12959         * docs/design/draft-ghostpads.txt:
12960         * docs/design/draft-push-pull.txt:
12961         * docs/design/draft-query.txt:
12962         * docs/design/part-TODO.txt:
12963         * docs/design/part-query.txt:
12964         Added CHANGES-0.9 doc, updated status of other docs.
12965         
12966         * gst/gstquery.h:
12967         Remove "hmm" macro
12968
12969 2005-06-30  Wim Taymans  <wim@fluendo.com>
12970
12971         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12972         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12973         (gst_base_sink_change_state):
12974         * gst/base/gstbasesink.h:
12975         Some tweaks, only EOS and a buffer complete a preroll.
12976
12977 2005-06-30  Andy Wingo  <wingo@pobox.com>
12978
12979         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
12980         activate_push down to the internal pad as well.
12981
12982 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
12983
12984         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12985
12986         * gst/gsttaginterface.c:
12987           Some documentation fixes (#307394 and #307397).
12988
12989 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
12990
12991         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12992
12993         * gst/gstvalue.c: (gst_value_intersect_list):
12994           Fix memleak (#309125).
12995
12996 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12997
12998         * docs/manual/advanced-dataaccess.xml:
12999           Fix fakesrc example to compile; doesn't work, bug somewhere...?
13000         * docs/manual/basics-pads.xml:
13001           Add reference for filtered caps to above chapter.
13002
13003 2005-06-30  Wim Taymans  <wim@fluendo.com>
13004
13005         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
13006         (gst_bin_change_state):
13007         Probes are gone.
13008         Lame attempt at making the state change function a bit
13009         more readable.
13010
13011 2005-06-30  Wim Taymans  <wim@fluendo.com>
13012
13013         * docs/design/part-clocks.txt:
13014         * docs/design/part-element-sink.txt:
13015         * docs/design/part-events.txt:
13016         * docs/design/part-preroll.txt:
13017         * docs/design/part-states.txt:
13018         Some more tweeks and additions to the docs.
13019
13020 2005-06-30  Wim Taymans  <wim@fluendo.com>
13021
13022         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13023         (default_have_data), (gst_pad_class_init), (gst_pad_init),
13024         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13025         (gst_pad_check_pull_range), (gst_pad_get_range),
13026         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
13027         * gst/gstpad.h:
13028         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
13029         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13030         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13031         (gst_pad_remove_buffer_probe):
13032         Removed atomic operations, use existing LOCK.
13033         Move exception handling out of main code path.
13034
13035 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13036
13037         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13038         (silly_return_true_function), (gst_pad_class_init),
13039         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13040         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
13041         (gst_pad_send_event):
13042           Fix accumulator, add default value by using _emitv() instead
13043           of _emit() for signal emission.
13044
13045 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13046
13047         * docs/manual/advanced-dataaccess.xml:
13048         * examples/manual/Makefile.am:
13049           Add probe example.
13050         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
13051           Make work (??).
13052
13053 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
13054
13055         * gst/elements/gstfilesink.c: (gst_filesink_render):
13056           Simplify code so that we don't have to handle short
13057           writes and return GST_FLOW_ERROR if an error occured.
13058
13059 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13060
13061         * docs/gst/gstreamer-docs.sgml:
13062           Remove probes more.
13063
13064 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13065
13066         * docs/gst/gstreamer-sections.txt:
13067         * docs/gst/tmpl/gstpad.sgml:
13068         * docs/gst/tmpl/gstprobe.sgml:
13069         * gst/Makefile.am:
13070         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13071         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
13072         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13073         (gst_pad_push_event), (gst_pad_send_event):
13074         * gst/gstpad.h:
13075         * gst/gstutils.c: (gst_pad_add_data_probe),
13076         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13077         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13078         (gst_pad_remove_buffer_probe):
13079         * gst/gstutils.h:
13080           Remove old probes, add new g-signal-based probes and some utility
13081           functions.
13082
13083 2005-06-29  Edward Hervey  <edward@fluendo.com>
13084
13085         * gst/gstelementfactory.c:
13086         * gst/gstutils.h:
13087         * gst/gstutils.c:
13088         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
13089         the definition to the header file.
13090
13091 2005-06-29  Andy Wingo  <wingo@pobox.com>
13092
13093         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13094         plugins from the source directory.
13095
13096 2005-06-29  Wim Taymans  <wim@fluendo.com>
13097
13098         * docs/gst/tmpl/gstbuffer.sgml:
13099         * docs/gst/tmpl/gstclock.sgml:
13100         Some fixings for blantently wrong text.
13101
13102 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13103
13104         * check/Makefile.am:
13105         * gst/gst.c: (add_path_func), (init_pre):
13106         * gst/gstregistry.c: (gst_registry_add_path):
13107           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13108           only scan the GST_PLUGIN_PATH locations, and not add
13109           system locations
13110
13111 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13112
13113         * docs/gst/gstreamer-sections.txt:
13114         * docs/gst/tmpl/gstbasesrc.sgml:
13115         * gst/gstelement.c:
13116         * gst/gstelement.h:
13117         * gst/gstevent.c:
13118         * gst/gstutils.c:
13119           doc fixes
13120
13121 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13122
13123         * docs/manual/advanced-autoplugging.xml:
13124           Fix autoplugging example.
13125
13126 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13127
13128         * docs/manual/advanced-autoplugging.xml:
13129         * docs/manual/mime-world.fig:
13130           Try to get autoplugging working, fix type detection. Fix text
13131           in hello-world image.
13132
13133 2005-06-29  Wim Taymans  <wim@fluendo.com>
13134
13135         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13136         (gst_base_sink_change_state):
13137         Small debug line.
13138
13139         * gst/gstclock.h:
13140         map SIGNAL and BROADCAST to the right function.
13141
13142         * gst/gstobject.h:
13143         Remove redundant braces.
13144
13145         * gst/gstpad.c: (gst_pad_set_caps):
13146         Don't call setcaps function when reseting caps to NULL.
13147
13148         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13149         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13150         (gst_system_clock_id_unschedule):
13151         Use BROADCAST as this is what we do.
13152
13153 2005-06-29  Wim Taymans  <wim@fluendo.com>
13154
13155         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13156         We are actually prerolling before commiting the state
13157         change. 
13158
13159 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13160
13161         * docs/manual/advanced-clocks.xml:
13162         * docs/manual/advanced-interfaces.xml:
13163         * docs/manual/advanced-metadata.xml:
13164         * docs/manual/advanced-position.xml:
13165         * docs/manual/advanced-schedulers.xml:
13166         * docs/manual/advanced-threads.xml:
13167         * docs/manual/appendix-porting.xml:
13168         * docs/manual/basics-bins.xml:
13169         * docs/manual/basics-bus.xml:
13170         * docs/manual/basics-elements.xml:
13171         * docs/manual/basics-helloworld.xml:
13172         * docs/manual/basics-pads.xml:
13173         * docs/manual/highlevel-components.xml:
13174         * docs/manual/manual.xml:
13175         * docs/manual/thread.fig:
13176           Update (until threads/scheduling) Application Development Manual;
13177           remove GstThread, add GstBus, add simple porting checklist, add
13178           documentation for tag writing, clocks, make all examples until this
13179           part compile and run.
13180         * examples/manual/Makefile.am:
13181           Update from changes to Application Development Manual; add bus
13182           example, remove thread example.
13183
13184 2005-06-28  Wim Taymans  <wim@fluendo.com>
13185
13186         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13187         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13188         (gst_bus_source_dispatch):
13189         Add debugging messages.
13190         Make internal methods static.
13191         Handle the case where the bus is flushed in the handler.
13192         
13193         * gst/gstelement.c: (gst_element_get_bus):
13194         Fix refcount in _get_bus();
13195
13196         * gst/gstpipeline.c: (gst_pipeline_change_state),
13197         (gst_pipeline_get_clock_func):
13198         Clock refcounting fixes.
13199         Handle the case where preroll timed out more gracefully.
13200         
13201         * gst/gstsystemclock.c: (gst_system_clock_dispose):
13202         Clean up the internal thread in dispose. This is needed
13203         for subclasses that actually get disposed.
13204         
13205         * gst/schedulers/threadscheduler.c:
13206         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13207         (gst_thread_scheduler_dispose):
13208         Free thread pool in dispose.
13209
13210 2005-06-28  Andy Wingo  <wingo@pobox.com>
13211
13212         * tests/network-clock-utils.scm (debug, print-event): New utils.
13213
13214         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13215         (*packet-loss*): Unified loss probability.
13216         (network-time): Report out-of-band events.
13217
13218         * tests/plot-data: Add support for out-of-band events. Hack it
13219         into this script instead of passing it down the pipe; should fix
13220         this later.
13221
13222 2005-06-28  Wim Taymans  <wim@fluendo.com>
13223
13224         * docs/gst/gstreamer.types:
13225         * docs/gst/tmpl/gstbasesrc.sgml:
13226         * docs/gst/tmpl/gstpad.sgml:
13227         Docs fixes.
13228
13229 2005-06-28  Wim Taymans  <wim@fluendo.com>
13230
13231         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13232         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13233         (gst_proxy_pad_do_fixatecaps):
13234         Correctly proxy the check_pull_range function.
13235
13236 2005-06-28  Andy Wingo  <wingo@pobox.com>
13237
13238         * tests/network-clock.scm: Removed need for slib.
13239         
13240 2005-06-28  Wim Taymans  <wim@fluendo.com>
13241
13242         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13243         (gst_basesink_preroll_queue_flush):
13244         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13245         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
13246         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13247         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13248         (gst_proxy_pad_set_property):
13249         * gst/gstpad.c:
13250         * gst/gstpad.h:
13251         * gst/gstqueue.c: (gst_queue_init):
13252         The deprecated pad loop function is removed now.
13253
13254 2005-06-28  Andy Wingo  <wingo@pobox.com>
13255
13256         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
13257         New parameters, simulate network packet loss.
13258
13259         * tests/network-clock-utils.scm: Initialize the RNG.
13260
13261 2005-06-28  Wim Taymans  <wim@fluendo.com>
13262
13263         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
13264         (gst_basesink_event), (gst_basesink_deactivate):
13265         Flushing the preroll queue always needs to unlock the waiters.
13266
13267 2005-06-28  Edward Hervey  <edward@fluendo.com>
13268
13269         * gst/gstpipeline.c: (gst_pipeline_send_event): 
13270         Wheen a seek was successful on a pipeline, set the stream_time to the
13271         seek offset in order to have a synchronized stream_time.
13272
13273 2005-06-28  Wim Taymans  <wim@fluendo.com>
13274
13275         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13276         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
13277         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
13278         (gst_proxy_pad_do_fixatecaps):
13279         Call wrapper function instead of just calling the function
13280         pointers. This takes care of any locking and whatmore.
13281
13282 2005-06-28  Wim Taymans  <wim@fluendo.com>
13283
13284         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
13285         (gst_pad_pull_range):
13286         * gst/gstpad.h:
13287         CONNECTED -> LINKED.
13288
13289 2005-06-28  Andy Wingo  <wingo@pobox.com>
13290
13291         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
13292         source-munging commit!!!
13293
13294         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
13295         (gst_object_sink): Take gpointer arguments, not GstObject --
13296         avoids casts. Like GLib.
13297
13298         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
13299         activate.
13300
13301 2005-06-27  Andy Wingo  <wingo@pobox.com>
13302
13303         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
13304         remaining buffer.
13305
13306         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
13307         returns a sorted copy of the trace list.
13308         (gst_alloc_trace_print_live): New API, only prints traces with
13309         live objects. Sort the list.
13310         (gst_alloc_trace_print_all): Sort the list.
13311         (gst_alloc_trace_print): Align columns.
13312
13313         * gst/elements/gstttypefindelement.c:
13314         * gst/elements/gsttee.c:
13315         * gst/base/gstbasesrc.c:
13316         * gst/base/gstbasesink.c:
13317         * gst/base/gstbasetransform.c:
13318         * gst/gstqueue.c: Adapt for pad activation changes.
13319
13320         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
13321         sched.
13322         (gst_pipeline_dispose): Drop ref on sched.
13323
13324         * gst/gstpad.c (gst_pad_init): Set the default activate func.
13325         (gst_pad_activate_default): Push mode by default.
13326         (pre_activate_switch, post_activate_switch): New stubs, things to
13327         do before and after switching activation modes on pads.
13328         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
13329         the pad's activate function to choose which mode to activate.
13330         Shortcut on deactivation and call the right function directly.
13331         (gst_pad_activate_pull): New API, (de)activates a pad in pull
13332         mode.
13333         (gst_pad_activate_push): New API, same for push mode.
13334         (gst_pad_set_activate_function) 
13335         (gst_pad_set_activatepull_function) 
13336         (gst_pad_set_activatepush_function): Setters for new API.
13337
13338         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
13339         Trace all miniobjects.
13340         (gst_mini_object_make_writable): Unref the arg if we copy, like
13341         gst_caps_make_writable.
13342
13343         * gst/gstmessage.c (_gst_message_initialize): No trace init.
13344
13345         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
13346         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
13347         Adapt for new pad API.
13348
13349         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
13350
13351         * gst/gstelement.h:
13352         * gst/gstelement.c (gst_element_iterate_src_pads) 
13353         (gst_element_iterate_sink_pads): New API functions.
13354         
13355         * gst/gstelement.c (iterator_fold_with_resync): New utility,
13356         should fold into gstiterator.c in some form.
13357         (gst_element_pads_activate): Simplified via use of fold and
13358         delegation of decisions to gstpad->activate.
13359
13360         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
13361         help in debugging.
13362
13363         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
13364         class once in init, like gstmessage. Didn't run into this issue
13365         but it seems correct. Don't initialize a trace, gstminiobject does
13366         that.
13367
13368         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
13369         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
13370         to the bus.
13371         (assert_live_count): New util function, uses alloc traces to check
13372         cleanup.
13373
13374         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
13375         To be modified when unlink drops the internal pad.
13376
13377 2005-06-27  Wim Taymans  <wim@fluendo.com>
13378
13379         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
13380         (gst_bin_change_state):
13381         Cleanup the get_state() function a little, make sure it
13382         iterates the same set of elements.
13383         Added stub iterate_state_order().
13384
13385 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13386
13387         * docs/gst/gstreamer-docs.sgml:
13388         * docs/gst/gstreamer-sections.txt:
13389         * docs/gst/gstreamer.types:
13390         * docs/gst/tmpl/gstbasesink.sgml:
13391         * docs/gst/tmpl/gstbasesrc.sgml:
13392         * docs/gst/tmpl/gstbasetransform.sgml:
13393         * docs/gst/tmpl/gstelement.sgml:
13394         * docs/gst/tmpl/gstiterator.sgml:
13395         * gst/base/gstbasesrc.c:
13396         * gst/base/gstbasesrc.h:
13397         * gst/base/gstbasetransform.h:
13398         * gst/gstelement.c:
13399         * gst/gstiterator.h:
13400           adding basetransform and iterator docs
13401
13402 2005-06-27  Andy Wingo  <wingo@pobox.com>
13403
13404         * docs/design/part-activation.txt: Notes on how activation should
13405         work -- not quite implemented yet.
13406
13407 2005-06-25  Wim Taymans  <wim@fluendo.com>
13408
13409         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
13410         At least get the chain function correct, needs more
13411         fixing.
13412
13413 2005-06-25  Wim Taymans  <wim@fluendo.com>
13414
13415         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13416         (gst_basesink_handle_object), (gst_basesink_event),
13417         (gst_basesink_do_sync), (gst_basesink_handle_event),
13418         (gst_basesink_change_state):
13419         * gst/gsttask.h:
13420         Right, two problems here: ghostpads don't take locks and
13421         glib _rec_mutex_lock_full() with depth==0 still locks.
13422         Catch illegal locking and g_warn them.
13423
13424 2005-06-25  Wim Taymans  <wim@fluendo.com>
13425
13426         * check/states/sinks.c: (START_TEST), (gst_object_suite):
13427         Have to check for completion now...
13428
13429 2005-06-25  Wim Taymans  <wim@fluendo.com>
13430
13431         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13432         (gst_basesink_handle_object), (gst_basesink_event),
13433         (gst_basesink_do_sync), (gst_basesink_handle_event),
13434         (gst_basesink_change_state):
13435         * gst/gstpad.h:
13436         Unlock STREAM_LOCK whatever the recursion was.
13437
13438 2005-06-25  Wim Taymans  <wim@fluendo.com>
13439
13440         * gst/base/gstbasesink.c: (gst_basesink_set_property),
13441         (gst_basesink_preroll_queue_empty),
13442         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
13443         (gst_basesink_event), (gst_basesink_do_sync),
13444         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
13445         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
13446         (gst_basesink_change_state):
13447         Reworked the base sink, handle event and buffer serialisation
13448         correctly and removed possible deadlock.
13449         Handle EOS correctly.
13450
13451 2005-06-25  Wim Taymans  <wim@fluendo.com>
13452
13453         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
13454         (gst_pipeline_change_state):
13455         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13456         Allow elements to post EOS in the state change function.
13457         Fix up -launch, make it exit the poll loop when the
13458         pipeline actually changed state.
13459         Fix up warning parsing in -launch.
13460
13461 2005-06-25  Wim Taymans  <wim@fluendo.com>
13462
13463         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
13464         (gst_tee_sink_activate):
13465         Core takes STREAM_LOCK for us now.
13466
13467 2005-06-25  Wim Taymans  <wim@fluendo.com>
13468
13469         * gst/gstelement.c: (gst_element_get_state_func),
13470         (gst_element_set_state):
13471         * gst/gstelement.h:
13472         * gst/gstmessage.c: (gst_message_parse_error),
13473         (gst_message_parse_warning):
13474         Keep track of current target state while performing a state
13475         change so that subclasses can do something interesting.
13476         Fix parsing of warning/error messages when GError is NULL.
13477
13478 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13479
13480         * docs/gst/Makefile.am:
13481         * docs/gst/gstreamer-docs.sgml:
13482         * docs/gst/gstreamer-sections.txt:
13483         * docs/gst/gstreamer.types:
13484         * docs/gst/tmpl/gstbasesink.sgml:
13485         * docs/gst/tmpl/gstbasesrc.sgml:
13486         * docs/gst/tmpl/gstbin.sgml:
13487         * docs/gst/tmpl/gstcompat.sgml:
13488         * docs/gst/tmpl/gstfakesink.sgml:
13489         * docs/gst/tmpl/gstfakesrc.sgml:
13490         * docs/gst/tmpl/gstfilesink.sgml:
13491         * docs/gst/tmpl/gstfilesrc.sgml:
13492         * docs/gst/tmpl/gstindex.sgml:
13493         * docs/manual/appendix-quotes.xml:
13494         * gst/base/gstbasesrc.h:
13495         * gst/elements/gstfakesrc.h:
13496         * gst/gstmessage.h:
13497           start pulling in base classes and elements in our docs
13498
13499 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
13500
13501         * docs/gst/Makefile.am:
13502         * docs/libs/Makefile.am:
13503           fixed make distcheck with gtk-doc 1.3
13504
13505 2005-06-23  Wim Taymans  <wim@fluendo.com>
13506
13507         * gst/gstelement.c: (gst_element_get_state_func),
13508         (gst_element_set_state), (gst_element_change_state):
13509         When the state did not change, also report NO_PREROLL
13510         when it matters.
13511
13512 2005-06-23  Wim Taymans  <wim@fluendo.com>
13513
13514         * gst/gstpad.c: (gst_pad_event_default):
13515         * gst/gstqueue.c: (gst_queue_loop):
13516         No unsafe task pausing please.
13517
13518 2005-06-23  Wim Taymans  <wim@fluendo.com>
13519
13520         * gst/schedulers/threadscheduler.c:
13521         (gst_thread_scheduler_task_start),
13522         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
13523         Ref the task before pushing it on the threadpool. This
13524         makes sure that we have a ref when the threadfunction is
13525         actually called.
13526
13527 2005-06-23  Andy Wingo  <wingo@pobox.com>
13528
13529         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
13530         offset is greater than the file's size.
13531
13532         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
13533         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
13534         * gst/gstobject.c (gst_object_class_init): Make the class lock
13535         recursive. Wim won't let me drop deep_notify. Decodebin works
13536         again, whoopdy doo.
13537
13538         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
13539         internal pad, and hacks accordingly. Doesn't do it on the target
13540         pad because we change its caps. Probably catches all cases of
13541         interest tho.
13542         (gst_ghost_pad_set_property): Connect to notify::caps as
13543         appropritate.
13544
13545         * tests/network-clock.scm (plot-simulation): Pipe data to the
13546         elite python skript.
13547
13548         * tests/network-clock-utils.scm (define-parameter): New macro,
13549         defines a parameter that can be set via the command line.
13550         (set-parameter!, parse-parameter-arguments): Command line args
13551         parser.
13552
13553         * tests/plot-data: Simple matplotlib-based plotter, takes input on
13554         stdin.
13555
13556 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
13557
13558         * gst/elements/gsttypefindelement.c:
13559         (gst_type_find_element_handle_event):
13560           Don't restart typefinding on a discont.
13561         * gst/gstelement.c: (gst_element_set_state):
13562           Debug spelling fix.
13563         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
13564           Allow changing mode of an active pad.
13565           Debug output fixes.
13566         * gst/registries/gstlibxmlregistry.c: (load_feature):
13567           Don't cast a static pad template to a normal pad template.
13568
13569 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13570
13571         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13572         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13573           remove gst_strtoll completely, since it didn't actually do
13574           anything more than what g_ascii_strtoull already does.
13575           check for range errors when deserializing
13576           do a cast for the unsigned cases; but further fixing needs
13577           a decision on what the interpretation of "(int)" and
13578           deserialization should be for values that fall outside the
13579           type's boundaries (ie, refuse, or interpret as casting)
13580
13581 2005-06-23  Wim Taymans  <wim@fluendo.com>
13582
13583         * check/Makefile.am:
13584         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
13585         * docs/design/part-live-source.txt:
13586         * docs/design/part-states.txt:
13587         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13588         (gst_basesrc_set_live), (gst_basesrc_is_live),
13589         (gst_basesrc_get_range), (gst_basesrc_activate),
13590         (gst_basesrc_change_state):
13591         * gst/base/gstbasesrc.h:
13592         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13593         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13594         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13595         * gst/gstelement.c: (gst_element_get_state_func),
13596         (gst_element_set_state):
13597         * gst/gstelement.h:
13598         * gst/gsttypes.h:
13599         * tools/gst-launch.c: (event_loop), (main):
13600         Added support for live sources and other elements that
13601         cannot do preroll.
13602         Updated design docs, added live-source design doc.
13603         Implemented live source functionality in basesrc
13604         Fix error condition in _bin_get_state()
13605         Implement live source handling in -launch.
13606         Added check for live sources.
13607         Fixed case in GstBin where elements were changed state
13608         multiple times.
13609
13610
13611 2005-06-23  Andy Wingo  <wingo@pobox.com>
13612
13613         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13614         borken refcounting.
13615
13616         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13617         gst_caps_replace takes care of this for us.
13618
13619         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13620         gst_pad_set_caps on the target, not just its setcaps() function.
13621
13622         * tests/network-clock.scm: 
13623         * tests/network-clock-utils.scm: A network clock simulator.
13624         Something of an algorithmic testbed before doing something in C.
13625
13626 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13627
13628         * check/Makefile.am:
13629         * check/gst/capslist.h:
13630           copy over from 0.8, and add two with bitmasks specified with
13631           (int) 0xFF...
13632         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13633           add test to parse everything from capslist.h
13634         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13635         (main):
13636           add test for structure deserialization
13637         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13638           add tests for deserialization of strings to int types
13639         * gst/gststructure.c: (gst_structure_nth_field_name):
13640         * gst/gststructure.h:
13641           add a way to get the name of a field referenced by index
13642         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13643           instead of checking if the resulting long long lies between
13644           min and max, we check if the long long would fit into
13645           a number of bytes for the final type.
13646           This fixes cases where a string represents 2^32 - 1, which
13647           when cast to int would be the (valid) -1, but is bigger than
13648           G_MAXINT
13649
13650 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13651
13652         * gst/parse/grammar.y:
13653           add a log line for type deserialization
13654
13655 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13656
13657         * check/gst/gstvalue.c: (START_TEST):
13658         * gst/gstvalue.c: (gst_value_deserialize):
13659           return long long, not int, so gint64 deserialization actually
13660           works.  Is there any flag that makes the compiler check this ?
13661           Fixes #308559
13662
13663 2005-06-22  Wim Taymans  <wim@fluendo.com>
13664
13665         * gst/gstbuffer.h:
13666         Added convenience macros for setting buffers in GValue.
13667
13668 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13669
13670         * check/gst/.cvsignore:
13671         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13672           add a test deserializing int64, and comment part out because
13673           it fails, yay !
13674
13675 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13676
13677         * check/Makefile.am:
13678         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
13679         * testsuite/Makefile.am:
13680         * testsuite/caps/Makefile.am:
13681         * testsuite/caps/value_serialize.c:
13682         * testsuite/test_gst_init.c:
13683           move a value_serialize test over
13684
13685 2005-06-20  Wim Taymans  <wim@fluendo.com>
13686
13687         * gst/gstpad.c:
13688         Small doc updates.
13689         
13690         * gst/gstvalue.c: (gst_value_compare_buffer),
13691         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
13692         (gst_value_compare_flags), (gst_value_serialize_flags),
13693         (gst_value_deserialize_flags), (_gst_value_initialize):
13694         Fix serialisation of buffers, they are not boxed types anymore
13695
13696 2005-06-20  Wim Taymans  <wim@fluendo.com>
13697
13698         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13699         Testcase to show error in buffer-on-caps serialisation.
13700
13701 2005-06-20  Andy Wingo  <wingo@pobox.com>
13702
13703         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
13704         will be adding to later.
13705
13706         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
13707         if its socks fill with rocks.
13708         (gst_system_clock_obtain): Set the name on object construction.
13709         Avoid double-checked locking.
13710
13711 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
13712
13713         * gst/gsturi.c: (gst_element_make_from_uri):
13714           Fix potential endless loop.
13715
13716 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13717
13718         * check/Makefile.am:
13719           add gsttag
13720         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
13721         (main):
13722           move over from testsuite dir and clean up
13723         * configure.ac:
13724         * gst/gsttag.c:
13725         * testsuite/Makefile.am:
13726         * testsuite/tags/.cvsignore:
13727         * testsuite/tags/Makefile.am:
13728         * testsuite/tags/merge.c:
13729           remove testsuite/tags
13730
13731 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13732
13733         * docs/gst/gstreamer-sections.txt:
13734         * docs/gst/tmpl/gstenumtypes.sgml:
13735         * win32/gstenumtypes.c:
13736           clean up documentation build a little
13737
13738 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13739
13740         * check/gstcheck.h:
13741           add macros for checking refcounts on objects and caps
13742         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
13743           add some more unit tests
13744         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13745         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
13746           fix leaked refcounts (I hope :)) so unittest works
13747         * gst/gstpad.h:
13748           whitespace removal
13749
13750 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13751
13752         * configure.ac: back to HEAD
13753
13754 === release 0.9.1 ===
13755
13756 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13757
13758         * NEWS:
13759         * RELEASE:
13760           updated
13761
13762 2005-06-17  Andy Wingo  <wingo@pobox.com>
13763
13764         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
13765         assert; it's always possible that the pad gets deactivated in
13766         between the checks in gstpad.c and the implementation. Rely on
13767         finish_preroll() to return a FLUSHING or similar instead of on the
13768         assert.
13769         
13770         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
13771         clock and post an EOS message if we come out of finish_preroll in
13772         the playing state.
13773
13774 2005-06-16  David Schleef  <ds@schleef.org>
13775
13776         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13777         (gst_capsfilter_set_property): Allow NULL as possible value
13778         for filter_caps property, indicating GST_CAPS_ANY.
13779
13780 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13781
13782         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
13783           fix debug output
13784         * gst/schedulers/Makefile.am:
13785           use libgst prefix
13786         * gstreamer.spec.in:
13787           fix spec for it
13788
13789 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13790
13791         * gstreamer.spec.in:
13792           clean up
13793
13794 2005-06-08  Andy Wingo  <wingo@pobox.com>
13795
13796         * gst/gstutils.c: RPAD fixes all around.
13797         (gst_element_link_pads): Refcounting fixes.
13798
13799         * tools/gst-inspect.c:
13800         * tools/gst-xmlinspect.c:
13801         * parse/grammar.y:
13802         * gst/base/gsttypefindhelper.c:
13803         * gst/base/gstbasesink.c:
13804         * gst/gstqueue.c: RPAD fixes.
13805
13806         * gst/gstghostpad.h:
13807         * gst/gstghostpad.c: New ghost pad implementation as full proxy
13808         pads. The tricky thing is they provide both source and sink
13809         interfaces, since they proxy the internal pad for the external
13810         pad, and vice versa. Implement with lower-level ProxyPad objects,
13811         with the interior proxy pad as a child of the exterior ghost pad.
13812         Should write a doc on this.
13813         
13814         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
13815         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
13816         gst_object API.
13817         
13818         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
13819         pads are real pads. No ghost pads in this file. Not documenting
13820         the myriad s/RPAD/PAD/ and REALIZE fixes.
13821         (gst_pad_class_init): Add properties for "direction" and
13822         "template". Both are construct-only, so they can't change during
13823         the life of the pad. Fixes properly deriving from GstPad.
13824         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
13825         derived objects, just set properties when creating the objects via
13826         g_object_new.
13827         (gst_pad_get_parent): Implement as a function, return NULL if the
13828         parent is not an element.
13829         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
13830         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
13831         
13832         * gst/gstobject.c (gst_object_class_init): Make name a construct
13833         property. Don't set it in the object init.
13834
13835         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
13836         with UNKNOWN direction.
13837         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
13838         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
13839         (gst_element_remove_pad): Remove ghost-pad special cases.
13840         (gst_element_pads_activate): Remove rpad cruft.
13841
13842         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
13843         catch the pad's-parent-not-an-element case.
13844
13845         * gst/gst.h: Include gstghostpad.h.
13846
13847         * gst/gst.c (init_post): No more real, ghost pads.
13848
13849         * gst/Makefile.am: Add gstghostpad.[ch].
13850
13851         * check/Makefile.am:
13852         * check/gst/gstbin.c:
13853         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
13854         into a bin creates ghost pads, and that the refcounts are right.
13855         Partly moved from gstbin.c.
13856
13857 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13858
13859         * check/gst-libs/.cvsignore:
13860         * check/gst/.cvsignore:
13861         * check/pipelines/.cvsignore:
13862           ignore more
13863         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
13864         (START_TEST), (cleanup_suite), (main):
13865           add some tests related to cleanup after running pipelines
13866
13867 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13868
13869         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
13870           add a testsuite for GstBuffer
13871
13872 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13873
13874         * gst/gstminiobject.h:
13875           add defines for accessing the refcount
13876
13877 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
13878
13879         * Makefile.am: added support for html unit test coverage reports
13880
13881 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
13882
13883         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13884           Free existing caps if the capsfilter changes. Add a FIXME about
13885           setting those caps on the pads.
13886
13887         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
13888           Before adding a ghost pad to a parent bin, check that there isn't
13889           already one for the element on the bin. Prevents infinite recursion
13890           when using decodebin in parse pipelines. Andy says he'll rewrite the
13891           way this works anyway, so ignore the hack.
13892
13893 2005-06-02  Andy Wingo  <wingo@pobox.com>
13894
13895         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
13896         file size, pass it on to the type find helper.
13897
13898         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
13899         segment_start and segment_end properly according to the seek
13900         method. Segment_end is still a bit flaky because offset can be
13901         negative for CUR and END cases, but it takes -1 as an "unset"
13902         value.
13903
13904 2005-06-02  Wim Taymans  <wim@fluendo.com>
13905
13906         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
13907         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
13908         (gst_basesink_activate):
13909         * gst/base/gstbasesink.h:
13910         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13911         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13912         (gst_pad_query), (gst_pad_start_task):
13913         * gst/gstpad.h:
13914         * gst/gstqueue.c: (gst_queue_bufferalloc),
13915         (gst_queue_handle_sink_event), (gst_queue_chain):
13916         Bufferalloc: return GstFlowReturn to more accuratly report
13917         why allocation failed.
13918
13919 2005-06-02  Wim Taymans  <wim@fluendo.com>
13920
13921         * gst/gstpipeline.c: (gst_pipeline_send_event):
13922         Take snapshot of state without blocking.
13923
13924 2005-06-02  Wim Taymans  <wim@fluendo.com>
13925
13926         * docs/design/part-TODO.txt:
13927         * docs/design/part-caps.txt:
13928         * docs/design/part-clocks.txt:
13929         * docs/design/part-negotiation.txt:
13930         * docs/design/part-preroll.txt:
13931         Small doc updates 
13932
13933 2005-05-30  Wim Taymans  <wim@fluendo.com>
13934
13935         * gst/elements/gstidentity.c: (gst_identity_event),
13936         (gst_identity_transform), (gst_identity_get_property):
13937         Protect last_message property as it is accessed from
13938         multiple threads.
13939
13940 2005-05-30  Wim Taymans  <wim@fluendo.com>
13941
13942         * gst/gstelement.c: (gst_element_init),
13943         (gst_element_pads_activate), (gst_element_change_state):
13944         Slicker pad activation code.
13945
13946 2005-05-30  Wim Taymans  <wim@fluendo.com>
13947
13948         * gst/Makefile.am:
13949         * gst/gstelement.h:
13950         * gst/gstelementfactory.h:
13951         * gst/gsttypes.h:
13952         Move elementfactory methods to separate .h file.
13953
13954 2005-05-30  Wim Taymans  <wim@fluendo.com>
13955
13956         * docs/design/part-overview.txt:
13957         * gst/gstsystemclock.h:
13958         Small typo fixes, doc updates.
13959
13960 2005-05-30  Wim Taymans  <wim@fluendo.com>
13961
13962         * gst/gst.c: (gst_init_get_popt_table), (init_post),
13963         (init_popt_callback):
13964         Remove cpu-opt flag.
13965
13966 2005-05-30  Wim Taymans  <wim@fluendo.com>
13967
13968         * gst/gstbuffer.c: (gst_subbuffer_finalize),
13969         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
13970         * gst/gstbuffer.h:
13971         Avoid typechecking in places where not needed.
13972         Added accessor for malloc_data.
13973
13974 2005-05-30  Wim Taymans  <wim@fluendo.com>
13975
13976         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
13977         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
13978         (gst_pad_configure_sink), (gst_pad_configure_src),
13979         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
13980         (gst_pad_start_task):
13981         Propagate errors from _set_caps() in configure_src/sink
13982         functions instead of returning TRUE.
13983         FLUSH events can travel up and downstream
13984
13985
13986 2005-05-30  Wim Taymans  <wim@fluendo.com>
13987
13988         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13989         (gst_basesink_activate):
13990         Handle EOS in preroll.
13991
13992 2005-05-30  Wim Taymans  <wim@fluendo.com>
13993
13994         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13995         (gst_queue_loop), (gst_queue_handle_src_event):
13996         Remove old pieces of code
13997         Flushing the queue in an upstream event is a very bad idea.
13998
13999 2005-05-26  Andy Wingo  <wingo@pobox.com>
14000
14001         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
14002         gst_value_set_mini_object so as to add a ref on the object (which
14003         will be removed when the value is unset).
14004
14005         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
14006         arg type in ::handoff.
14007
14008         * gst/gstelement.c (gst_element_change_state): Also deactivate
14009         pads in READY->NULL, just in case the element didn't make it to
14010         PAUSED. Wingo tested, Wim approved.
14011
14012 2005-05-26  Wim Taymans  <wim@fluendo.com>
14013
14014         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14015         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14016         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
14017         A flushing pad cannot be used to alloc_buffer from.
14018
14019 2005-05-26  Wim Taymans  <wim@fluendo.com>
14020
14021         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
14022         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
14023         (gst_bus_source_dispatch), (gst_bus_source_finalize),
14024         (gst_bus_create_watch), (gst_bus_add_watch_full):
14025         * gst/gstbus.h:
14026         Implement a real GSource and use g_main_context_wakeup() to
14027         signal new messages instead of the socketpair.
14028
14029 2005-05-25  Wim Taymans  <wim@fluendo.com>
14030
14031         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
14032         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
14033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14034         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14035         (gst_pad_send_event), (gst_pad_start_task):
14036         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
14037         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14038         (gst_queue_sink_activate), (gst_queue_src_activate),
14039         (gst_queue_change_state):
14040         * gst/gstqueue.h:
14041         Fix state changes for non sinks. We now change sinks, then elements
14042         with unconnected srcpads, then the rest.
14043         More efficient queue unlocking in flush and state changes.
14044         Set the pad activate mode even if it does not have an activate
14045         function.
14046
14047 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14048
14049         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
14050           Don't go in pull mode for non-seekable sources.
14051         * gst/elements/gsttypefindelement.h:
14052         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14053         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
14054         (free_entry), (stop_typefinding),
14055         (gst_type_find_element_handle_event), (find_peek),
14056         (gst_type_find_element_chain), (do_pull_typefind),
14057         (gst_type_find_element_change_state):
14058           Allow typefinding (w/o seeking) in push-mode, simplified version
14059           of what was in 0.8.
14060         * gst/gstutils.c: (gst_buffer_join):
14061         * gst/gstutils.h:
14062           gst_buffer_join() from 0.8.
14063
14064 2005-05-25  Wim Taymans  <wim@fluendo.com>
14065
14066         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14067         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14068         (gst_pad_send_event), (gst_pad_start_task):
14069         Disable attempt at mode switching until it is figured out.
14070
14071 2005-05-25  Wim Taymans  <wim@fluendo.com>
14072
14073         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
14074         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14075         (gst_basesink_finish_preroll), (gst_basesink_chain),
14076         (gst_basesink_loop), (gst_basesink_activate),
14077         (gst_basesink_change_state):
14078         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
14079         (gst_basesrc_get_range), (gst_basesrc_loop),
14080         (gst_basesrc_activate):
14081         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14082         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14083         (gst_real_pad_init), (gst_real_pad_set_property),
14084         (gst_real_pad_get_property), (gst_pad_set_active),
14085         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
14086         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
14087         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
14088         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
14089         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14090         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
14091         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
14092         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14093         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14094         (gst_pad_stop_task):
14095         * gst/gstpad.h:
14096         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14097         (gst_queue_loop), (gst_queue_src_activate):
14098         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14099         (gst_task_get_state):
14100         * gst/gsttask.h:
14101         * gst/schedulers/threadscheduler.c:
14102         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14103         Implement gst_pad_pause/start/stop_task(), take STREAM lock
14104         in task function.
14105         Remove ACTIVE pad flag, use FLUSHING everywhere
14106         Added _pad_chain(), _pad_get_range() to call chain/getrange 
14107         functions.
14108         Add locks around IS_FLUSHING when reading.
14109         Take STREAM lock in chain(), get_range() functions so plugins
14110         don't need to take it anymore.
14111         
14112
14113
14114 2005-05-25  Wim Taymans  <wim@fluendo.com>
14115
14116         * tools/gst-launch.c: (event_loop):
14117         Unref message after using its contents instead of
14118         before.
14119
14120 2005-05-24  Wim Taymans  <wim@fluendo.com>
14121
14122         * docs/design/draft-ghostpads.txt:
14123         * docs/design/draft-push-pull.txt:
14124         * docs/design/draft-query.txt:
14125         * docs/design/part-overview.txt:
14126         Docs updates, added general overview doc.
14127
14128 2005-05-21  David Schleef  <ds@schleef.org>
14129
14130         * docs/gst/tmpl/old/GstBin.sgml:
14131         * docs/gst/tmpl/old/GstBuffer.sgml:
14132         * docs/gst/tmpl/old/GstCaps.sgml:
14133         * docs/gst/tmpl/old/GstClock.sgml:
14134         * docs/gst/tmpl/old/GstCompat.sgml:
14135         * docs/gst/tmpl/old/GstData.sgml:
14136         * docs/gst/tmpl/old/GstElement.sgml:
14137         * docs/gst/tmpl/old/GstEvent.sgml:
14138         * docs/gst/tmpl/old/GstIndex.sgml:
14139         * docs/gst/tmpl/old/GstStructure.sgml:
14140         * docs/gst/tmpl/old/GstTag.sgml:
14141         * docs/gst/tmpl/old/cothreads.sgml:
14142         * docs/gst/tmpl/old/cothreads_compat.sgml:
14143         * docs/gst/tmpl/old/gettext.sgml:
14144         * docs/gst/tmpl/old/gobject2gtk.sgml:
14145         * docs/gst/tmpl/old/grammar.tab.sgml:
14146         * docs/gst/tmpl/old/gst-i18n-app.sgml:
14147         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14148         * docs/gst/tmpl/old/gst_private.sgml:
14149         * docs/gst/tmpl/old/gstaggregator.sgml:
14150         * docs/gst/tmpl/old/gstarch.sgml:
14151         * docs/gst/tmpl/old/gstatomic_impl.sgml:
14152         * docs/gst/tmpl/old/gstbufferstore.sgml:
14153         * docs/gst/tmpl/old/gstdata_private.sgml:
14154         * docs/gst/tmpl/old/gstdisksink.sgml:
14155         * docs/gst/tmpl/old/gstdisksrc.sgml:
14156         * docs/gst/tmpl/old/gstelementfactory.sgml:
14157         * docs/gst/tmpl/old/gstextratypes.sgml:
14158         * docs/gst/tmpl/old/gstfakesink.sgml:
14159         * docs/gst/tmpl/old/gstfakesrc.sgml:
14160         * docs/gst/tmpl/old/gstfdsink.sgml:
14161         * docs/gst/tmpl/old/gstfdsrc.sgml:
14162         * docs/gst/tmpl/old/gstfilesink.sgml:
14163         * docs/gst/tmpl/old/gstfilesrc.sgml:
14164         * docs/gst/tmpl/old/gsthttpsrc.sgml:
14165         * docs/gst/tmpl/old/gstidentity.sgml:
14166         * docs/gst/tmpl/old/gstindexfactory.sgml:
14167         * docs/gst/tmpl/old/gstmarshal.sgml:
14168         * docs/gst/tmpl/old/gstmd5sink.sgml:
14169         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14170         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14171         * docs/gst/tmpl/old/gstpadtemplate.sgml:
14172         * docs/gst/tmpl/old/gstpipefilter.sgml:
14173         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14174         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14175         * docs/gst/tmpl/old/gstshaper.sgml:
14176         * docs/gst/tmpl/old/gstspider.sgml:
14177         * docs/gst/tmpl/old/gstspideridentity.sgml:
14178         * docs/gst/tmpl/old/gststatistics.sgml:
14179         * docs/gst/tmpl/old/gsttee.sgml:
14180         * docs/gst/tmpl/old/gsttimecache.sgml:
14181         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14182         * docs/gst/tmpl/old/gstxmlregistry.sgml:
14183         * docs/gst/tmpl/old/gthread-cothreads.sgml:
14184         * docs/gst/tmpl/old/types.sgml:
14185           I didn't intend to add these or check them in.
14186
14187 2005-05-19  David Schleef  <ds@schleef.org>
14188
14189         * configure.ac: Use -no-common everywhere.  In a sane world, it
14190           would be the default in libtool, because without it, you can't
14191           build DLLs on Windows.
14192         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14193         * docs/gst/gstreamer-sections.txt:
14194         * docs/gst/tmpl/gstcpu.sgml:
14195         * docs/gst/tmpl/gstdata.sgml:
14196         * docs/gst/tmpl/gstthread.sgml:
14197
14198 2005-05-19  David Schleef  <ds@schleef.org>
14199
14200         * gst/gstminiobject.c: (gst_value_set_mini_object),
14201         (gst_value_take_mini_object), (gst_value_get_mini_object):
14202         * gst/gstminiobject.h: Add GValue set/get functions.
14203
14204 2005-05-19  Wim Taymans  <wim@fluendo.com>
14205
14206         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14207         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14208         (gst_subbuffer_init), (gst_buffer_is_span_fast):
14209         * gst/gstbuffer.h:
14210         * gst/gstbus.c: (gst_bus_post):
14211         * gst/gstelement.c: (gst_element_get_random_pad):
14212         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14213         Make subbufer unref the parent in finalize.
14214         some more debugging info.
14215
14216
14217 2005-05-19  Wim Taymans  <wim@fluendo.com>
14218
14219         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14220         (gst_basesink_init), (gst_basesink_finalize),
14221         (gst_basesink_activate), (gst_basesink_change_state):
14222         Don't free preroll queue too early.
14223
14224 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14225
14226         * gst/Makefile.am:
14227         * gst/ROADMAP:
14228           Hi, I'm outdated. Please shoot me.
14229
14230 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14231
14232         * gst/gstpipeline.c: (gst_pipeline_send_event):
14233           Do not access variables after they have been deleted.
14234
14235 2005-05-19  Wim Taymans  <wim@fluendo.com>
14236
14237         * tools/gst-inspect.c: (print_plugin_features):
14238         A plugin feature does unfortunatly not use the
14239         object name yet...
14240
14241 2005-05-18  Wim Taymans  <wim@fluendo.com>
14242
14243         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14244         Port _span() functions to new subbuffers.
14245
14246 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14247
14248         * gst/gstbin.c: (gst_bin_add_func):
14249           Fix clock settery in bins when adding kids after the clock has
14250           been selected.
14251
14252 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14253
14254         * gst/elements/gstidentity.c: (gst_identity_class_init):
14255           Workaround until signals support GstMiniObject.
14256
14257 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14258
14259         * gst/gstbuffer.c:
14260         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
14261
14262 2005-05-18  Wim Taymans  <wim@fluendo.com>
14263
14264         * gst/base/Makefile.am:
14265         * gst/base/gstadapter.c: (gst_adapter_base_init),
14266         (gst_adapter_class_init), (gst_adapter_init),
14267         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
14268         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
14269         (gst_adapter_flush), (gst_adapter_available),
14270         (gst_adapter_available_fast):
14271         * gst/base/gstadapter.h:
14272         Ported and added adapter to the base classes.
14273
14274 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14275
14276         * gst/gst.c:
14277         * gst/gstmessage.c:
14278           Make sure the class is reffed/unreffed once before threads can be
14279           used.  Fixes #304551.
14280
14281 2005-05-17  Wim Taymans  <wim@fluendo.com>
14282
14283         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
14284         (gst_basesink_chain_unlocked), (gst_basesink_activate):
14285         * gst/gstminiobject.c: (gst_mini_object_get_type),
14286         (gst_mini_object_free):
14287         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
14288         (gst_pad_push), (gst_pad_push_event):
14289         * gst/gstqueue.c: (gst_queue_change_state):
14290         Don't queue buffers in basesink when we are flushing.
14291         Unref buffer when flushing in basesink.
14292         Flush queue when going to READY
14293         Unref buffer when _push() returns an error.
14294         Don't free MiniObject instance when refcount is incremented
14295         in _finalize() so that we can recover objects.
14296
14297 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14298
14299         * docs/manual/advanced-schedulers.xml:
14300         * docs/manual/appendix-checklist.xml:
14301         * docs/pwg/advanced-clock.xml:
14302         * docs/pwg/advanced-interfaces.xml:
14303         * docs/pwg/advanced-request.xml:
14304         * docs/pwg/advanced-types.xml:
14305         * docs/pwg/intro-preface.xml:
14306         * examples/plugins/example.c: (gst_example_get_type),
14307         (gst_example_class_init), (gst_example_chain),
14308         (gst_example_set_property), (gst_example_get_property),
14309         (gst_example_change_state), (plugin_init):
14310         * examples/plugins/example.h:
14311           small doc fixes
14312
14313 2005-05-17  Wim Taymans  <wim@fluendo.com>
14314
14315         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
14316         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
14317         * gst/gstqueue.c: (gst_queue_change_state):
14318         Clear queue when going to READY.
14319         Remove IN_SETCAPS flag too.
14320
14321 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
14322
14323         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
14324           Remove implicit cast from gboolean to GstElementStateReturn;
14325           make sure we still return failure in paused => ready case if
14326           the parent class fails to change state and our own stop 
14327           vfunc succeeds.
14328
14329 2005-05-17  Wim Taymans  <wim@fluendo.com>
14330
14331         * tools/gst-launch.c: (event_loop):
14332         Message was unreffed too soon.
14333
14334 2005-05-16  Andy Wingo  <wingo@pobox.com>
14335
14336         * gst/gstbin.c (sink_iterator_filter): Err... um...
14337
14338         * check/gst/gstbin.c (test_ghost_pads): New test for the
14339         ghosting-if-elements-not-in-same-bin behavior.
14340
14341 2005-05-16  David Schleef  <ds@schleef.org>
14342
14343         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
14344         accessing refcount directly.
14345
14346 2005-05-15  David Schleef  <ds@schleef.org>
14347
14348         * check/Makefile.am: remove GstData checks
14349         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
14350         * gst/Makefile.am: add miniobject, remove data
14351         * gst/gst.h: add miniobject, remove data
14352         * gst/gstdata.c: remove
14353         * gst/gstdata.h: remove
14354         * gst/gstdata_private.h: remove
14355         * gst/gsttypes.h: remove GstEvent and GstMessage
14356         * gst/gstelement.c: (gst_element_post_message): fix for API changes
14357         * gst/gstmarshal.list: change BOXED -> OBJECT
14358
14359         Implement GstMiniObject.
14360         * gst/gstminiobject.c:
14361         * gst/gstminiobject.h:
14362
14363         Modify to be subclasses of GstMiniObject.
14364         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
14365         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
14366         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
14367         (gst_subbuffer_get_type), (gst_subbuffer_init),
14368         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
14369         (gst_buffer_span):
14370         * gst/gstbuffer.h:
14371         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
14372         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
14373         (_gst_event_copy), (gst_event_new):
14374         * gst/gstevent.h:
14375         * gst/gstmessage.c: (_gst_message_initialize),
14376         (gst_message_get_type), (gst_message_class_init),
14377         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
14378         (gst_message_new), (gst_message_new_error),
14379         (gst_message_new_warning), (gst_message_new_tag),
14380         (gst_message_new_state_changed), (gst_message_new_application):
14381         * gst/gstmessage.h:
14382         * gst/gstprobe.c: (gst_probe_perform),
14383         (gst_probe_dispatcher_dispatch):
14384         * gst/gstprobe.h:
14385         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
14386         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
14387         (_gst_query_copy), (gst_query_new):
14388
14389         Update elements for GstData -> GstMiniObject changes
14390         * gst/gstquery.h:
14391         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
14392         (gst_queue_chain), (gst_queue_loop):
14393         * gst/elements/gstbufferstore.c:
14394         (gst_buffer_store_add_buffer_func),
14395         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
14396         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14397         (gst_fakesink_render):
14398         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14399         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
14400         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
14401         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
14402         (gst_filesrc_create_read):
14403         * gst/elements/gstidentity.c: (gst_identity_class_init):
14404         * gst/elements/gsttypefindelement.c:
14405         (gst_type_find_element_src_event), (free_entry_buffers),
14406         (gst_type_find_element_handle_event):
14407         * libs/gst/dataprotocol/dataprotocol.c:
14408         (gst_dp_header_from_buffer):
14409         * libs/gst/dataprotocol/dataprotocol.h:
14410         * libs/gst/dataprotocol/dp-private.h:
14411
14412 2005-05-15  David Schleef  <ds@schleef.org>
14413
14414         * gst/elements/gstelements.c: Don't include headers that were
14415         just removed.
14416
14417 2005-05-15  David Schleef  <ds@schleef.org>
14418
14419         * gst/elements/Makefile.am: Remove some elements that don't
14420         need to be in the core (or even exist at all).
14421         * gst/elements/gstaggregator.c:
14422         * gst/elements/gstaggregator.h:
14423         * gst/elements/gstmd5sink.c:
14424         * gst/elements/gstmd5sink.h:
14425         * gst/elements/gstmultifilesrc.c:
14426         * gst/elements/gstmultifilesrc.h:
14427         * gst/elements/gstpipefilter.c:
14428         * gst/elements/gstpipefilter.h:
14429         * gst/elements/gstshaper.c:
14430         * gst/elements/gstshaper.h:
14431         * gst/elements/gststatistics.c:
14432         * gst/elements/gststatistics.h:
14433         * po/POTFILES.in: Remove above files.
14434
14435 2005-05-14  Andy Wingo  <wingo@pobox.com>
14436
14437         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
14438         so as to get the refs right.
14439         (sink_iterator_filter): New function, wraps bin_element_is_sink,
14440         unreffing objects that don't pass the filter.
14441
14442         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
14443         gst_element_set_bus.
14444         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
14445         normal cases, this will destroy the bus.
14446
14447         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
14448         object.
14449
14450         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
14451         has no sinks.
14452
14453 2005-05-13  Andy Wingo  <wingo@pobox.com>
14454
14455         * gst/gstutils.c (gst_element_link_pads): Instead of calling
14456         gst_pad_link, call pad_link_maybe_ghosting,
14457         (pad_link_maybe_ghosting): Links pads, making sure that the
14458         elements being linked are in the same bin.
14459         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
14460         Helpers for pad_link_maybe_ghosting.
14461
14462 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14463
14464         * configure.ac:
14465           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
14466
14467 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14468
14469         * docs/design/part-element-source.txt:
14470           Mention GstPushSrc
14471
14472 2005-05-12  Wim Taymans  <wim@fluendo.com>
14473
14474         * gst/base/gstbasesink.c: (gst_basesink_init),
14475         (gst_basesink_activate):
14476         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
14477         (gst_basesrc_is_seekable):
14478         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14479         (bin_element_is_sink), (gst_bin_change_state):
14480         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14481         * gst/gstelement.h:
14482         Identify sinks by their flag to avoid overly complicated
14483         checks (fow now).
14484         Do state changes even for elements not reachable from the
14485         sinks.
14486         BaseSink is a sink now :)
14487         Some more debugging info in the basesrc.
14488
14489
14490 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14491
14492         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
14493           Implement _query on a bin, similar to _send_event.
14494
14495 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14496
14497         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
14498           Discont event offset format should be GST_FORMAT_BYTES,
14499           not GST_FORMAT_TIME.
14500
14501 2005-05-12  Wim Taymans  <wim@fluendo.com>
14502
14503         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
14504         Same fix as Ronald's but without the signal. 
14505
14506 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14507
14508         * gst/gstutils.c: (gst_element_query_position):
14509           No, an element is not a pad.
14510
14511 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14512
14513         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
14514         (gst_bin_get_state):
14515           If a child is removed from a bin while we remove the child from
14516           the bin and while we're retrieving its state, signal this to the
14517           get_state function so we abort the wait (instead of waiting for
14518           a timeout) and can immediately re-iterate over all other elements.
14519
14520 2005-05-12  Wim Taymans  <wim@fluendo.com>
14521
14522         * gst/base/Makefile.am:
14523         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
14524         (gst_basesrc_start):
14525         * gst/base/gstbasesrc.h:
14526         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
14527         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
14528         (gst_pushsrc_init), (gst_pushsrc_create):
14529         * gst/base/gstpushsrc.h:
14530         Added is_seekable to BaseSrc
14531         Added simple PushSrc.
14532
14533 2005-05-11  Wim Taymans  <wim@fluendo.com>
14534
14535         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14536         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14537         (gst_element_link_pads), (gst_element_query_position),
14538         (gst_element_query_convert), (intersect_caps_func),
14539         (gst_pad_query_position), (gst_pad_query_convert):
14540         Fix refcounting in utils function.
14541         No point in trying to activate a pad when it's added, it could
14542         be added from the state change function and then we deadlock, the
14543         element has to decide what to do.
14544
14545 2005-05-10  Andy Wingo  <wingo@pobox.com>
14546
14547         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
14548         *all* the arguments.
14549
14550         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
14551         stream lock if it's a FLUSH_DONE; normal flushes don't get the
14552         lock (according to the docs -- if this is wrong change the docs).
14553
14554         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
14555         flush messages in the NULL state.
14556
14557         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
14558         message immediately and return.
14559         (gst_bus_set_flushing): New function. If a bus is flushing, it
14560         flushes out any queued messages and immediately unrefs new
14561         messages. This is so when an element goes to NULL, all of the
14562         unhandled messages coming from it can be freed, and their
14563         references to the element dropped. In other words: message source
14564         ref considered harmful :P
14565
14566         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
14567         we're finished with it.
14568
14569         * gst/gstmessage.c (gst_message_new_state_changed): 
14570
14571 2005-05-10  Wim Taymans  <wim@fluendo.com>
14572
14573         * gst/gstvalue.c: (gst_value_compare_flags),
14574         (gst_value_serialize_flags), (gst_value_deserialize_flags),
14575         (_gst_value_initialize):
14576         Added flags serialize/deserialize/compare code.
14577
14578 2005-05-09  Andy Wingo  <wingo@pobox.com>
14579
14580         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
14581         Intersect the peer's caps with our caps.
14582
14583 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14584
14585         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14586         * gst/elements/gsttypefindelement.c: (find_peek):
14587           Handle negative offsets better. Fixes decodebin.
14588
14589 2005-05-09  Wim Taymans  <wim@fluendo.com>
14590
14591         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14592         (gst_base_transform_event):
14593         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14594         Implement accept_caps.
14595         Fix silly lock/unlock mismatch in base class.
14596
14597 2005-05-09  Wim Taymans  <wim@fluendo.com>
14598
14599         * docs/design/draft-push-pull.txt:
14600         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14601         * gst/elements/gstfilesink.c: (gst_filesink_init),
14602         (gst_filesink_query):
14603         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14604         (gst_type_find_handle_src_query), (find_element_get_length):
14605         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14606         * gst/gstelement.h:
14607         * gst/gstmessage.c:
14608         * gst/gstmessage.h:
14609         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14610         (gst_real_pad_get_caps_unlocked),
14611         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14612         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14613         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14614         (gst_real_pad_dispose), (gst_real_pad_finalize),
14615         (gst_pad_load_and_link), (gst_pad_save_thyself),
14616         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14617         (gst_pad_check_pull_range), (gst_pad_pull_range),
14618         (gst_pad_template_get_type), (gst_pad_template_class_init),
14619         (gst_pad_template_init), (gst_pad_template_dispose),
14620         (name_is_valid), (gst_static_pad_template_get),
14621         (gst_pad_template_new), (gst_static_pad_template_get_caps),
14622         (gst_pad_template_get_caps), (gst_pad_set_element_private),
14623         (gst_pad_get_element_private), (gst_pad_start_task),
14624         (gst_pad_pause_task), (gst_pad_stop_task),
14625         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14626         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14627         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14628         (gst_ghost_pad_new):
14629         * gst/gstpad.h:
14630         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14631         (gst_query_new_position), (gst_query_set_position),
14632         (gst_query_parse_position), (gst_query_new_convert),
14633         (gst_query_set_convert), (gst_query_parse_convert):
14634         * gst/gstquery.h:
14635         * gst/gstqueryutils.c:
14636         * gst/gstqueryutils.h:
14637         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14638         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14639         (gst_queue_handle_src_query):
14640         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14641         (gst_element_query_position), (gst_element_query_convert),
14642         (intersect_caps_func), (gst_pad_query_position),
14643         (gst_pad_query_convert):
14644         * gst/gstutils.h:
14645         * tools/gst-inspect.c: (print_pad_info):
14646         * tools/gst-xmlinspect.c: (print_element_info):
14647         Remove old query functions. Ported old code.
14648         Added position/convert helper functions to gstutils.
14649         Reordered gstpad.c code, grouping relevant things.
14650         Remove gst_message_new(), always need to speficy a specific
14651         message.
14652
14653
14654 2005-05-09  Andy Wingo  <wingo@pobox.com>
14655
14656         * gst/gstiterator.h: Add some includes.
14657
14658         * gst/gstqueryutils.h: Include more headers.
14659
14660         * gst/gstpad.h:
14661         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
14662         some uses of gst_pad_query.
14663
14664         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
14665         NULL out parameters.
14666         (gst_query_new_position): New proc, allocates a new position
14667         query.
14668
14669         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
14670         gstqueryutils.c to the build.
14671
14672         * gst/gststructure.c (gst_structure_set_valist): Implement with
14673         the generic G_VALUE_COLLECT.
14674         
14675 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
14676
14677         * gst/Makefile.am: (gst_headers):
14678         Added gstqueryutils.h to the list of headers to install, that was
14679         a 'nachty' move wingo :)
14680
14681 2005-05-06  Andy Wingo  <wingo@pobox.com>
14682
14683         * gst/gstquery.h
14684         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
14685         GstData, init a memchunk.
14686         (standard_definitions): Add a few query types, deprecate a few.
14687         (gst_query_get_type): New proc.
14688         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
14689         implementation.
14690         (gst_query_new_application, gst_query_get_structure): New public
14691         procs.
14692
14693         * docs/design/draft-query.txt: Removed LINKS from the query types,
14694         because all the rest can be dispatched to other pads -- seemed
14695         ugly to have a query that couldn't be dispatched. internal_links
14696         is fine as a pad method.
14697
14698         * gst/gstpad.h: Add query2 as a pad method, add the new functions
14699         in gstpad.c, but maintain binary compatibility for the moment.
14700         Will fix before 0.9 is out.
14701
14702         * gst/gstqueryutils.c: 
14703         * gst/gstqueryutils.h: New files, implement 3 methods for each
14704         query type: parse_query, parse_response, and set. Probably need an
14705         allocator as well.
14706
14707         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
14708
14709         * gst/elements/gstfilesink.c (gst_filesink_query2):
14710         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
14711         query_types, and formats methods.
14712
14713         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
14714         (gst_pad_set_query2_function): New functions.
14715         (gst_real_pad_init): Set query2_default as the default query2
14716         function. Basically just dispatches to internally linked pads.
14717
14718         Needs review!
14719         
14720         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
14721         without using the atomic operations. Only one thread can possibly
14722         be accessing the data at this point. Changed so as to avoid
14723         gst_atomic operations.
14724
14725 2005-05-06  Wim Taymans  <wim@fluendo.com>
14726
14727         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
14728         Also set caps if we use the fallback buffer alloc.
14729
14730 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
14731
14732         * docs/gst/Makefile.am:
14733         * docs/gst/gstreamer-docs.sgml:
14734         * docs/gst/gstreamer-sections.txt:
14735         * docs/gst/tmpl/gstatomic.sgml:
14736         * docs/gst/tmpl/gstmemchunk.sgml:
14737         * testsuite/elements/struct_i386.h:
14738         * win32/GStreamer.vcproj:
14739         * win32/Makefile:
14740           Purge GstAtomic stuff from docs and win32 makefiles as well
14741
14742 2005-05-06  Wim Taymans  <wim@fluendo.com>
14743
14744         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
14745         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
14746         * gst/gstpad.c: (gst_pad_peer_get_caps):
14747         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14748         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14749         (gst_queue_src_activate), (gst_queue_change_state):
14750         * gst/gstqueue.h:
14751         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14752         (intersect_caps_func):
14753         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
14754         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
14755         Some fixes for the peer_get_caps() change.
14756
14757 2005-05-06  Wim Taymans  <wim@fluendo.com>
14758
14759         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14760         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
14761         (gst_basesink_activate):
14762         Actually do something with error codes returned from the push
14763         functions.
14764
14765 2005-05-06  Wim Taymans  <wim@fluendo.com>
14766
14767         * docs/design/part-element-sink.txt:
14768         * docs/design/part-element-source.txt:
14769         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14770         (gst_basesink_event), (gst_basesink_activate):
14771         * gst/base/gstbasesink.h:
14772         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
14773         (gst_basesrc_activate):
14774         * gst/base/gstbasesrc.h:
14775         * gst/gstelement.c: (gst_element_pads_activate):
14776         Some more documentation.
14777         Fixed scheduling decision in _pads_activate().
14778
14779 2005-05-05  Andy Wingo  <wingo@pobox.com>
14780
14781         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
14782         the test suite.
14783
14784 2005-05-05  Wim Taymans  <wim@fluendo.com>
14785
14786         * gst/base/Makefile.am:
14787         * gst/base/gstbasesink.h:
14788         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14789         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
14790         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
14791         (gst_collectpads_class_init), (gst_collectpads_init),
14792         (gst_collectpads_finalize), (gst_collectpads_new),
14793         (gst_collectpads_set_function), (gst_collectpads_add_pad),
14794         (find_pad), (gst_collectpads_remove_pad),
14795         (gst_collectpads_is_active), (gst_collectpads_collect),
14796         (gst_collectpads_collect_range), (gst_collectpads_start),
14797         (gst_collectpads_stop), (gst_collectpads_peek),
14798         (gst_collectpads_pop), (gst_collectpads_available),
14799         (gst_collectpads_read), (gst_collectpads_flush),
14800         (gst_collectpads_chain):
14801         * gst/base/gstcollectpads.h:
14802         * gst/elements/Makefile.am:
14803         * gst/elements/gstelements.c:
14804         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14805         (gst_fakesink_get_times), (gst_fakesink_event),
14806         (gst_fakesink_preroll), (gst_fakesink_render):
14807         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14808         (gst_filesink_init), (gst_filesink_set_location),
14809         (gst_filesink_open_file), (gst_filesink_close_file),
14810         (gst_filesink_pad_query), (gst_filesink_event),
14811         (gst_filesink_render), (gst_filesink_change_state):
14812         * gst/elements/gstfilesink.h:
14813         Added object to help in making collect pad based elements.
14814         Ported filesink.
14815         Make event function in sink baseclass return gboolean.
14816
14817 2005-05-05  Wim Taymans  <wim@fluendo.com>
14818
14819         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
14820         (gst_bin_get_by_name):
14821         * gst/gstbuffer.h:
14822         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
14823         (gst_clock_finalize):
14824         * gst/gstdata.c: (gst_data_replace):
14825         * gst/gstdata.h:
14826         * gst/gstelement.c: (gst_element_request_pad),
14827         (gst_element_pads_activate):
14828         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14829         (gst_object_unref):
14830         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14831         (gst_pad_set_checkgetrange_function),
14832         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
14833         (gst_pad_check_pull_range), (gst_pad_pull_range),
14834         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14835         (gst_pad_pause_task), (gst_pad_stop_task):
14836         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14837         (gst_element_request_pad), (gst_pad_proxy_getcaps):
14838         Fix name lookup in GstBin.
14839         Added _data_replace() function and _buffer_replace()
14840         Use finalize method to clean up clock.
14841         Fix refcounting on request pads.
14842         Fix pad schedule mode error.
14843         Some more object refcounting debug info,
14844
14845
14846 2005-05-04  Andy Wingo <wingo@pobox.com>
14847
14848         * check/Makefile.am:
14849         * docs/gst/tmpl/gstatomic.sgml:
14850         * docs/gst/tmpl/gstplugin.sgml:
14851         * gst/base/gstbasesink.c: (gst_basesink_activate):
14852         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
14853         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
14854         (gst_basesrc_query), (gst_basesrc_set_property),
14855         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
14856         (gst_basesrc_activate):
14857         * gst/base/gstbasesrc.h:
14858         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
14859         (gst_base_transform_src_activate):
14860         * gst/elements/gstelements.c:
14861         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14862         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14863         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14864         * gst/elements/gsttypefindelement.c: (find_element_get_length),
14865         (gst_type_find_element_checkgetrange),
14866         (gst_type_find_element_activate):
14867         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
14868         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
14869         (gst_caps_load_thyself):
14870         * gst/gstelement.c: (gst_element_pads_activate),
14871         (gst_element_save_thyself), (gst_element_restore_thyself):
14872         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
14873         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
14874         * gst/gstpad.h:
14875         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
14876         (gst_xml_parse_file), (gst_xml_parse_memory),
14877         (gst_xml_get_element), (gst_xml_make_element):
14878         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14879         (_file_index_id_save_xml), (gst_file_index_commit):
14880         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
14881         (read_enum), (load_pad_template), (load_feature), (load_plugin),
14882         (load_paths):
14883         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
14884         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
14885         * tools/gst-complete.c: (main):
14886         * tools/gst-compprep.c: (main):
14887         * tools/gst-inspect.c: (print_element_properties_info):
14888         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
14889         * tools/gst-xmlinspect.c: (print_element_properties):
14890         GCC 4 fixen.
14891         
14892 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14893
14894         * gst/gstplugin.c: (gst_plugin_check_module),
14895         (gst_plugin_check_file), (gst_plugin_load_file):
14896             apply patch from #172526 to make register work on MacOSX
14897
14898 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14899
14900         * docs/gst/tmpl/gstconfig.sgml:
14901         * gst/gstconfig.h.in:
14902           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
14903         * testsuite/debug/printf_extension.c: (main):
14904           Do not use GST_PTR_FORMAT on pointers to types with
14905           sizeof < sizeof(gpointer).  Fixes test on 64-bit
14906         * testsuite/elements/property.h:
14907           use correct printf format
14908
14909 2005-05-02  Wim Taymans  <wim@fluendo.com>
14910
14911         * docs/design/draft-push-pull.txt:
14912         * docs/design/draft-query.txt:
14913         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
14914         (gst_basesrc_start):
14915         Added draft for new query API.
14916         Added draft for better selecting scheduling methods.
14917         Make basesrc ignore length if the subclass does not support
14918         it.
14919
14920 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14921
14922         * gst/Makefile.am:
14923           possible fixes for automake-1.5 - _LIBADD is reserved
14924
14925 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14926
14927         * docs/faq/Makefile.am:
14928         * docs/manual/Makefile.am:
14929         * docs/manuals.mak:
14930         * docs/pwg/Makefile.am:
14931         * gst/Makefile.am:
14932           possible fixes for automake-1.5
14933
14934 2005-04-28  Wim Taymans  <wim@fluendo.com>
14935
14936         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14937         (gst_basesink_pad_getcaps), (gst_basesink_init),
14938         (gst_basesink_do_sync):
14939         * gst/gstclock.c: (gst_clock_entry_new):
14940         * gst/gstevent.c: (gst_event_discont_get_value):
14941         * gst/gstpipeline.c: (pipeline_bus_handler),
14942         (gst_pipeline_change_state):
14943         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14944         Better debugging of clocking info.
14945         Allow NULL values when getting discont values.
14946
14947 2005-04-27  Wim Taymans  <wim@fluendo.com>
14948
14949         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14950         * check/gst/gstpad.c: (gst_pad_suite):
14951         Increase timeout for checks.
14952
14953 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14954
14955         * check/Makefile.am:
14956           fix the broken rule for cleanup.  Apparently this rule is
14957           only needed on FC2, so maybe this warrants further autotool
14958           inspection.
14959
14960 2005-04-26  Wim Taymans  <wim@fluendo.com>
14961
14962         * gst/gsttrashstack.h:
14963         Ooohh. a nasty one! After having a failed pop() from the stack,
14964         it's possible that the stack is empty. In that case, don't
14965         follow the NULL pointer.
14966
14967 2005-04-25  Wim Taymans  <wim@fluendo.com>
14968
14969         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14970         (gst_pad_set_checkgetrange_function),
14971         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
14972         (gst_pad_check_pull_range), (gst_pad_pull_range),
14973         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14974         (gst_pad_pause_task), (gst_pad_stop_task):
14975         * gst/gstplugin.c: (gst_plugin_load):
14976         * gst/gstplugin.h:
14977         Remove gst_library_load as it does more harm than good with
14978         the new g_module flags.
14979         Revert bogus caps template check in pad linking, pad caps
14980         are important when linking not the template, which is more
14981         general than the current caps.
14982
14983 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14984
14985         * gst/autoplug/.cvsignore:
14986         * gst/autoplug/Makefile.am:
14987         * gst/autoplug/gstsearchfuncs.c:
14988         * gst/autoplug/gstsearchfuncs.h:
14989         * gst/autoplug/gstspider.c:
14990         * gst/autoplug/gstspider.h:
14991         * gst/autoplug/gstspideridentity.c:
14992         * gst/autoplug/gstspideridentity.h:
14993         * gst/autoplug/spidertest.c:
14994           Die, spider, die.
14995
14996 2005-04-25  Wim Taymans  <wim@fluendo.com>
14997
14998         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14999         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15000         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
15001         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
15002         * gst/gstpad.h:
15003         Added stubs for unimplemented functions. 
15004
15005 2005-04-24  David Schleef  <ds@schleef.org>
15006
15007         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
15008         please fix.
15009
15010 2005-04-24  David Schleef  <ds@schleef.org>
15011
15012         Convert everything from GstAtomicInt to g_atomic_int_*, and
15013         remove gstatomic.
15014         * gst/Makefile.am:
15015         * gst/gstatomic.c:
15016         * gst/gstatomic.h:
15017         * gst/gstatomic_impl.h:
15018         * gst/gstbuffer.c:
15019         * gst/gstcaps.c:
15020         * gst/gstcaps.h:
15021         * gst/gstclock.c:
15022         * gst/gstclock.h:
15023         * gst/gstdata.c:
15024         * gst/gstdata.h:
15025         * gst/gstdata_private.h:
15026         * gst/gstevent.c:
15027         * gst/gstinfo.c:
15028         * gst/gstinfo.h:
15029         * gst/gstmessage.c:
15030         * gst/gstobject.c:
15031         * gst/gstobject.h:
15032         * gst/gststructure.c:
15033         * gst/gststructure.h:
15034         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
15035         * gst/gstutils.h:
15036
15037 2005-04-24  David Schleef  <ds@schleef.org>
15038
15039         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
15040         make the regressions tests work.  Remove some code that is no
15041         longer true.
15042         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
15043         Disable warning for pads without templates.
15044
15045 2005-04-24  David Schleef  <ds@schleef.org>
15046
15047         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
15048         functions that handle filtered links.
15049         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
15050         removed functions.
15051         * gst/gstutils.c: Fix/remove utility functions that handle
15052         filtered caps.
15053         * gst/gstutils.h:
15054         * gst/gstvalue.c: Add serialization/deserialization of caps
15055         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
15056         requires fixing so that the filter caps notation creates
15057         a capsfilter element and sets the filter_caps property.  I
15058         think everyone probably wants to keep the shorthand notation.
15059         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
15060         * docs/gst/tmpl/gstpad.sgml:
15061
15062         * gst/elements/gstelements.c: Register capsfilter element.
15063         * gst/Makefile.am: fix spacing
15064         * docs/random/ds/0.9-suggested-changes: random
15065
15066 2005-04-23  David Schleef  <ds@schleef.org>
15067
15068         * gst/elements/Makefile.am:
15069         * gst/elements/gstcapsfilter.c: New element that acts like an
15070         identity, but filters caps.  Will eventually replace filtered
15071         caps in pad linking.
15072         * gst/gstutils.c: (gst_element_create_all_pads): New function
15073         to create all the ALWAYS pads that are registered with an
15074         element class.  This functionality should eventually be
15075         merged in with GstElement initialization.
15076         * gst/gstutils.h:
15077         * testsuite/trigger/README: part of trigger test code that should
15078         have been checked in a long time ago.
15079
15080 2005-04-23  David Schleef  <ds@schleef.org>
15081
15082         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
15083         needed with new versions of libtool (nobody will confirm this),
15084         and hard to carry around.
15085         * gst/autoplug/Makefile.am:
15086         * gst/base/Makefile.am:
15087         * gst/elements/Makefile.am:
15088         * gst/indexers/Makefile.am:
15089         * gst/schedulers/Makefile.am:
15090         * libs/gst/bytestream/Makefile.am:
15091         * libs/gst/control/Makefile.am:
15092         * libs/gst/dataprotocol/Makefile.am:
15093         * libs/gst/getbits/Makefile.am:
15094
15095 2005-04-21  Wim Taymans  <wim@fluendo.com>
15096
15097         * docs/design/draft-push-pull.txt:
15098         * docs/design/part-MT-refcounting.txt:
15099         * docs/design/part-TODO.txt:
15100         * docs/design/part-caps.txt:
15101         * docs/design/part-events.txt:
15102         * docs/design/part-gstbus.txt:
15103         * docs/design/part-gstpipeline.txt:
15104         * docs/design/part-messages.txt:
15105         * docs/design/part-push-pull.txt:
15106         * docs/design/part-query.txt:
15107         Some more docs.
15108
15109 2005-04-21  Wim Taymans  <wim@fluendo.com>
15110
15111         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15112         (gst_message_new), (gst_message_new_error),
15113         (gst_message_new_warning), (gst_message_new_tag),
15114         (gst_message_new_state_changed), (gst_message_new_application),
15115         (gst_message_get_structure):
15116         * gst/gstmessage.h:
15117         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15118         (gst_structure_copy_conditional):
15119         Use parent refcount in GstMessage to ensure GstStructure
15120         consistency.
15121         Cleaned up headers a bit.
15122         
15123
15124 2005-04-20  Wim Taymans  <wim@fluendo.com>
15125
15126         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15127         (gst_basesink_pad_getcaps), (gst_basesink_init),
15128         (gst_basesink_chain_unlocked):
15129         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15130         (gst_type_find_helper):
15131         * gst/elements/gsttypefindelement.c:
15132         (gst_type_find_element_have_type), (gst_type_find_element_init),
15133         (stop_typefinding), (gst_type_find_element_handle_event),
15134         (find_suggest), (gst_type_find_element_chain),
15135         (gst_type_find_element_checkgetrange),
15136         (gst_type_find_element_getrange), (do_typefind),
15137         (gst_type_find_element_activate):
15138         * gst/gstbuffer.c: (_gst_buffer_sub_free),
15139         (gst_buffer_default_free), (gst_buffer_default_copy),
15140         (gst_buffer_set_caps):
15141         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15142         (gst_caps_replace):
15143         * gst/gstmessage.c: (gst_message_new),
15144         (gst_message_new_state_changed):
15145         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15146         (gst_pad_set_checkgetrange_function),
15147         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15148         (gst_pad_set_caps), (gst_pad_check_pull_range),
15149         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15150         * gst/gstpad.h:
15151         * gst/gsttypefind.c: (gst_type_find_register):
15152         Make gst_caps_replace() work like other _replace() functions.
15153         Use _caps_replace() where possible.
15154         Make sure _message_new() initialises its field.
15155         Add gst_static_pad_template_get_caps()
15156
15157
15158 2005-04-18  Andy Wingo  <wingo@pobox.com>
15159
15160         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15161         on the peer, not the pad. I think that was a typo. Pass an extra
15162         arg to see if random access is possible. Activate the pads as
15163         PULL_RANGE if possible.
15164
15165         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15166
15167         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
15168         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15169         to PROP_....
15170
15171 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15172
15173         * docs/faq/using.xml:
15174           Add note on gstreamer-properties (#154996).
15175
15176 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15177
15178         * docs/random/bbb/optional-properties:
15179           Some analysis on optional properties.
15180
15181 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15182
15183         * docs/gst/tmpl/gstelementfactory.sgml:
15184         * gst/gstelement.h:
15185         * gst/gstelementfactory.c: (gst_element_factory_init),
15186         (gst_element_factory_cleanup), (gst_element_register),
15187         (__gst_element_factory_add_static_pad_template),
15188         (gst_element_factory_get_static_pad_templates),
15189         (gst_element_factory_can_src_caps),
15190         (gst_element_factory_can_sink_caps):
15191         * gst/registries/Makefile.am:
15192         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15193         (gst_xml_registry_class_init), (gst_xml_registry_init),
15194         (gst_xml_registry_new), (gst_xml_registry_set_property),
15195         (gst_xml_registry_get_property), (get_time), (make_dir),
15196         (gst_xml_registry_get_perms_func),
15197         (plugin_times_older_than_recurse), (plugin_times_older_than),
15198         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15199         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15200         (add_to_char_array), (read_string), (read_uint), (read_enum),
15201         (load_pad_template), (load_feature), (load_plugin), (load_paths),
15202         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15203         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15204         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15205         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15206         (gst_xml_registry_rebuild):
15207         * gst/registries/gstlibxmlregistry.h:
15208         * tools/gst-compprep.c: (main):
15209         * tools/gst-inspect.c: (print_pad_templates_info):
15210         * tools/gst-xmlinspect.c: (print_element_info):
15211           Use libxml2 for registry parsing, use staticpadtemplates in
15212           elementfactories. Makes gst_init() +/- 10x faster.
15213
15214 2005-04-12  Wim Taymans  <wim@fluendo.com>
15215
15216         * gst/base/Makefile.am:
15217         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15218         (gst_basesink_pad_getcaps), (gst_basesink_init),
15219         (gst_basesink_event), (gst_basesink_change_state):
15220         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15221         (gst_basesrc_init), (gst_basesrc_query),
15222         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15223         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15224         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15225         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15226         (gst_basesrc_stop), (gst_basesrc_activate),
15227         (gst_basesrc_change_state):
15228         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15229         (helper_find_suggest), (gst_type_find_helper):
15230         * gst/base/gsttypefindhelper.h:
15231         * gst/elements/Makefile.am:
15232         * gst/elements/gstelements.c:
15233         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15234         (gst_fakesink_get_times), (gst_fakesink_event),
15235         (gst_fakesink_preroll), (gst_fakesink_render):
15236         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15237         (gst_fakesrc_init), (gst_fakesrc_event_handler),
15238         (gst_fakesrc_get_property), (gst_fakesrc_create),
15239         (gst_fakesrc_start), (gst_fakesrc_stop):
15240         * gst/elements/gstfakesrc.h:
15241         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15242         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15243         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15244         (gst_filesrc_create_read), (gst_filesrc_create),
15245         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
15246         (gst_filesrc_start):
15247         * gst/elements/gsttypefindelement.c:
15248         (gst_type_find_element_have_type), (gst_type_find_element_init),
15249         (start_typefinding), (stop_typefinding), (push_buffer_store),
15250         (gst_type_find_element_handle_event),
15251         (gst_type_find_element_chain),
15252         (gst_type_find_element_checkgetrange),
15253         (gst_type_find_element_getrange), (do_typefind),
15254         (gst_type_find_element_activate),
15255         (gst_type_find_element_change_state):
15256         * gst/elements/gsttypefindelement.h:
15257         * gst/gstpipeline.c: (pipeline_bus_handler):
15258         Added typefind helper.
15259         Small preroll fix in the base sink.
15260         Disable typefind code in basesrc.
15261         Crude port of typefindelement.
15262         Fakesrc cleanups.
15263
15264
15265 2005-04-11  Wim Taymans  <wim@fluendo.com>
15266
15267         * check/gst/gstbus.c: (gstbus_suite):
15268         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
15269         * check/gstcheck.h:
15270           Fix up the timeout so that the test does not fail.
15271
15272 2005-04-06  Wim Taymans  <wim@fluendo.com>
15273
15274         * gst/base/README:
15275         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15276         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
15277         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15278         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15279         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15280         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15281         (gst_basesrc_stop), (gst_basesrc_activate),
15282         (gst_basesrc_change_state), (basesrc_find_peek),
15283         (basesrc_find_suggest), (gst_basesrc_type_find):
15284         * gst/base/gstbasesrc.h:
15285         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
15286         (gst_filesrc_class_init), (gst_filesrc_init),
15287         (gst_filesrc_finalize), (gst_filesrc_set_location),
15288         (gst_filesrc_set_property), (gst_filesrc_get_property),
15289         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15290         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15291         (gst_filesrc_create_read), (gst_filesrc_create),
15292         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
15293         * gst/elements/gstfilesrc.h:
15294         * gst/gstelement.c: (gst_element_get_state_func),
15295         (gst_element_lost_state), (gst_element_pads_activate):
15296         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15297         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15298         (gst_pad_pull_range):
15299         * gst/gstpad.h:
15300         More work on the generic source base class, implement seeking,
15301         query.
15302         Make filesrc extend the base source class.
15303         Added gst_pad_set_checkgetrange_function to GstPad.
15304
15305 2005-04-06  Andy Wingo  <wingo@pobox.com>
15306
15307         * pkgconfig/gstreamer-base.pc.in:
15308         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
15309
15310         * pkgconfig/Makefile.am:
15311         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
15312
15313 2005-04-04  Wim Taymans  <wim@fluendo.com>
15314
15315         * gst/base/Makefile.am:
15316         * gst/base/README:
15317         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15318         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15319         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15320         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
15321         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15322         (gst_basesrc_base_init), (gst_basesrc_class_init),
15323         (gst_basesrc_init), (gst_basesrc_get_formats),
15324         (gst_basesrc_get_query_types), (gst_basesrc_query),
15325         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
15326         (gst_basesrc_set_property), (gst_basesrc_get_property),
15327         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
15328         (gst_basesrc_loop), (gst_basesrc_activate),
15329         (gst_basesrc_change_state):
15330         * gst/base/gstbasesrc.h:
15331         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
15332         (gst_fakesrc_class_init), (gst_fakesrc_init),
15333         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
15334         (gst_fakesrc_get_property), (gst_fakesrc_create):
15335         * gst/elements/gstfakesrc.h:
15336         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
15337         (gst_filesrc_open_file), (gst_filesrc_loop),
15338         (gst_filesrc_activate), (filesrc_find_peek),
15339         (gst_filesrc_type_find):
15340         Made base source class, make fakesrc extend it.
15341         Add comments to basesink class.
15342         Some filesrc cleanup.
15343
15344 2005-03-31  David Schleef  <ds@schleef.org>
15345
15346         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
15347         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
15348         expected to link against libgstreamer.
15349         * gst/base/Makefile.am: link against libgstreamer
15350         * gst/elements/Makefile.am: same
15351
15352 2005-03-31  Andy Wingo  <wingo@pobox.com>
15353
15354         * tests/instantiate/Makefile.am:
15355         * tests/instantiate/caps.c: Add test to test speed of caps copy
15356         and free.
15357
15358         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
15359         GMemChunk to be fair.
15360
15361         * gst/gsttrashstack.h: Remove warning about using the fallback
15362         trash stack implementation, it's still faster than malloc.
15363
15364 2005-03-30  Andy Wingo  <wingo@pobox.com>
15365
15366         * tests/complexity.c: Add a copyright.
15367
15368 2005-03-31  Wim Taymans  <wim@fluendo.com>
15369
15370         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
15371         (gst_base_transform_class_init), (gst_base_transform_init),
15372         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
15373         (gst_base_transform_get_property),
15374         (gst_base_transform_sink_activate),
15375         (gst_base_transform_src_activate),
15376         (gst_base_transform_change_state):
15377         * gst/base/gstbasetransform.h:
15378         * gst/elements/gstidentity.c: (gst_identity_class_init),
15379         (gst_identity_event), (gst_identity_check_perfect),
15380         (gst_identity_transform), (gst_identity_start),
15381         (gst_identity_stop):
15382         Added start/stop methods to transform base class so subclasses 
15383         don't need to deal with state changes even.
15384
15385 2005-03-31  Wim Taymans  <wim@fluendo.com>
15386
15387         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
15388         (gst_event_new_discontinuous), (gst_event_discont_get_value):
15389         * gst/gstevent.h:
15390         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15391         (gst_pad_pull_range):
15392         Added rate to the discont event to prepare for variable speed
15393         and reverse playback.
15394
15395 2005-03-29  David Schleef  <ds@schleef.org>
15396
15397         * configure.ac:
15398         * testsuite/trigger/Makefile.am:
15399         * testsuite/trigger/trigger.c: A little example program to show
15400         how trigger-based elements can work.
15401
15402 2005-03-29  Wim Taymans  <wim@fluendo.com>
15403
15404         * gst/base/Makefile.am:
15405         * gst/base/README:
15406         * gst/base/gstbasesink.c: (gst_basesink_get_type),
15407         (gst_basesink_base_init), (gst_basesink_class_init),
15408         (gst_basesink_pad_getcaps), (gst_basesink_init),
15409         (gst_basesink_activate), (gst_basesink_change_state):
15410         * gst/base/gstbasesink.h:
15411         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
15412         (gst_base_transform_base_init), (gst_base_transform_finalize),
15413         (gst_base_transform_class_init), (gst_base_transform_init),
15414         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
15415         (gst_base_transform_event), (gst_base_transform_getrange),
15416         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
15417         (gst_base_transform_set_property),
15418         (gst_base_transform_get_property),
15419         (gst_base_transform_sink_activate),
15420         (gst_base_transform_src_activate),
15421         (gst_base_transform_change_state):
15422         * gst/base/gstbasetransform.h:
15423         * gst/elements/gstidentity.c: (gst_identity_finalize),
15424         (gst_identity_class_init), (gst_identity_init),
15425         (gst_identity_event), (gst_identity_check_perfect),
15426         (gst_identity_transform), (gst_identity_set_property),
15427         (gst_identity_get_property), (gst_identity_change_state):
15428         * gst/elements/gstidentity.h:
15429         * gst/gstelement.c: (gst_element_get_state_func),
15430         (gst_element_lost_state), (gst_element_pads_activate):
15431         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15432         (gst_pad_check_pull_range), (gst_pad_pull_range):
15433         * gst/gstpad.h:
15434         Simplify pad activation.
15435         Added function to check if pull_range can be performed.
15436         Error out when pulling inactive or flushing pads.
15437         Removed const from refcounted types as it does not make sense.
15438         Simplify pad templates in basesink
15439         Added base class for simple 1-to-1 transforms.
15440         Make identity subclass the base transform.
15441
15442 2005-03-29  Andy Wingo  <wingo@pobox.com>
15443
15444         * docs/libs/gstreamer-libs-overrides.txt: 
15445         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
15446         really don't understand what's going on, but like whatever. I want
15447         green buildbot!
15448
15449         * docs/gst/Makefile.am:
15450         * docs/libs/Makefile.am: Dist the overrides files.
15451
15452         * check/Makefile.am (clean-local): Remove .libs directories.
15453
15454         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
15455         elements to EXTRA_DIST, so po/ files are happy.
15456
15457         * po/POTFILES.in: Er, remove it here.
15458
15459         * po/POTFILES: Remove gstspider.c.
15460
15461         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
15462
15463         * docs/libs/gstreamer-libs-docs.sgml: 
15464         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
15465         bytestream.
15466
15467         * tests/complexity.c (main): Set the length of the preroll queue
15468         on the sinks to prevent a lockup.
15469
15470         * libs/gst/dataprotocol/Makefile.am: 
15471         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
15472         the same as the one in check/gst-libs/gdp.c.
15473
15474         * po/, docs/gst/: Commit automatic changes to docs and po files.
15475
15476         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
15477         the versioned libgstbase.
15478
15479         * check/Makefile.am: Depend on an unversioned gst-register, seems
15480         to make autoconf happier.
15481
15482         * gst/base/Makefile.am: Make libgstbase a versioned lib.
15483
15484 2005-03-28  Wim Taymans  <wim@fluendo.com>
15485
15486         * configure.ac:
15487         * docs/design/part-gstelement.txt:
15488         * docs/design/part-negotiation.txt:
15489         * docs/design/part-preroll.txt:
15490         * docs/design/part-scheduling.txt:
15491         * docs/design/part-states.txt:
15492         * gst/Makefile.am:
15493         * gst/base/Makefile.am:
15494         * gst/base/README:
15495         * gst/base/gstbasesink.c: (gst_basesink_get_template),
15496         (gst_basesink_base_init), (gst_basesink_class_init),
15497         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15498         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15499         (gst_basesink_set_pad_functions),
15500         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
15501         (gst_basesink_set_property), (gst_basesink_get_property),
15502         (gst_base_sink_get_template), (gst_base_sink_get_caps),
15503         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
15504         (gst_basesink_preroll_queue_push),
15505         (gst_basesink_preroll_queue_empty),
15506         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
15507         (gst_basesink_event), (gst_basesink_get_times),
15508         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
15509         (gst_basesink_chain_unlocked), (gst_basesink_chain),
15510         (gst_basesink_loop), (gst_basesink_activate),
15511         (gst_basesink_change_state):
15512         * gst/base/gstbasesink.h:
15513         * gst/elements/Makefile.am:
15514         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
15515         (gst_fakesink_class_init), (gst_fakesink_init),
15516         (gst_fakesink_set_property), (gst_fakesink_get_property),
15517         (gst_fakesink_get_times), (gst_fakesink_event),
15518         (gst_fakesink_preroll), (gst_fakesink_render),
15519         (gst_fakesink_change_state):
15520         * gst/elements/gstfakesink.h:
15521         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15522         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
15523         * gst/gstelement.c: (gst_element_add_pad),
15524         (gst_element_get_state_func), (gst_element_abort_state),
15525         (gst_element_commit_state), (gst_element_lost_state),
15526         (gst_element_set_state), (gst_element_pads_activate):
15527         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
15528         * gst/gstpipeline.c: (gst_pipeline_send_event),
15529         (gst_pipeline_change_state):
15530         Added state change code.
15531         Added/updated docs.
15532         Added sink base class, make fakesink extend the base class.
15533         Small cleanups in GstPipeline.
15534
15535 2005-03-26  David Schleef  <ds@schleef.org>
15536
15537         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
15538         is broken and should be implemented in a different library.
15539         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
15540         * gst/gst.h: remove gstcpu.h
15541         * gst/gstcpu.c: remove
15542         * gst/gstcpu.h: remove
15543         * gst/Makefile.am.future: Remove this file.  It's ancient.
15544
15545 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15546
15547         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15548         (gst_bin_send_event):
15549           Add default event/set_manager handlers. The set_manager handler
15550           takes care that the manager is distributed over kids that were
15551           already in the bin before the manager was set. The event handler
15552           is a utility virtual function that sends the event over all sinks,
15553           so that gst_element_send_event (bin, event); has the expected
15554           behaviour.
15555         * gst/gstpad.c: (gst_pad_event_default):
15556           Re-install default event handling for discontinuities, so that
15557           seeking works without requiring hacks in applications or extra
15558           code in sinks.
15559         * gst/gstpipeline.c: (gst_pipeline_class_init),
15560         (gst_pipeline_send_event):
15561           Half hack, half utility: set a pipeline to PAUSED for seek events,
15562           since that is the only way we can guarantee a/v sync. Means that
15563           you can do gst_element_seek (pipeline, method, pos); on a pipeline
15564           and it "just works".
15565
15566 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15567
15568         * gst/gstpipeline.c: (gst_pipeline_use_clock):
15569           Lock/unlock mismatch.
15570
15571 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15572
15573         * docs/faq/gst-uninstalled:
15574           add gst-plugins-base
15575         * docs/gst/Makefile.am:
15576           don't error out until docs are fixed
15577         * docs/gst/gstreamer.types:
15578           remove thread
15579
15580 2005-03-22  Wim Taymans  <wim@fluendo.com>
15581
15582         * check/Makefile.am:
15583         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
15584         * gst/gststructure.c: (gst_structure_set_valist),
15585         (gst_structure_copy_conditional):
15586         Activated more tests.
15587         Added message test.
15588         Added G_TYPE_POINTER to GstStructure.
15589         
15590
15591 2005-03-22  Wim Taymans  <wim@fluendo.com>
15592
15593         * docs/design/part-TODO.txt:
15594         * docs/design/part-events.txt:
15595         * docs/design/part-gstbin.txt:
15596         * docs/design/part-gstbus.txt:
15597         * docs/design/part-gstpipeline.txt:
15598         * docs/design/part-messages.txt:
15599         * gst/gstbus.c:
15600         * gst/gstmessage.c:
15601         Docs updates
15602
15603 2005-03-21  Wim Taymans  <wim@fluendo.com>
15604
15605         * gst/gstbus.c: (gst_bus_post):
15606         Fix copy-and-paste error.
15607
15608 2005-03-21  Wim Taymans  <wim@fluendo.com>
15609
15610         * check/Makefile.am:
15611         * gst/Makefile.am:
15612         * gst/elements/Makefile.am:
15613         * gst/elements/gstelements.c:
15614         * gst/elements/gstfakesink.c: (gst_fakesink_init),
15615         (gst_fakesink_event), (gst_fakesink_chain):
15616         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15617         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15618         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15619         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15620         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15621         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15622         (gst_fakesrc_loop), (gst_fakesrc_activate),
15623         (gst_fakesrc_change_state):
15624         * gst/elements/gstfakesrc.h:
15625         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15626         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15627         (gst_filesrc_open_file), (gst_filesrc_loop),
15628         (gst_filesrc_activate), (gst_filesrc_change_state),
15629         (filesrc_find_peek), (filesrc_find_suggest),
15630         (gst_filesrc_type_find):
15631         * gst/elements/gstidentity.c: (gst_identity_finalize),
15632         (gst_identity_class_init), (gst_identity_init),
15633         (gst_identity_proxy_getcaps), (identity_queue_push),
15634         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15635         (gst_identity_getrange), (gst_identity_chain),
15636         (gst_identity_sink_loop), (gst_identity_src_loop),
15637         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
15638         (gst_identity_set_property), (gst_identity_get_property),
15639         (gst_identity_change_state):
15640         * gst/elements/gstidentity.h:
15641         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
15642         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
15643         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
15644         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
15645         (gst_tee_sink_activate):
15646         * gst/elements/gsttee.h:
15647         * gst/gst.c: (gst_register_core_elements), (init_post):
15648         * gst/gst.h:
15649         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
15650         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
15651         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
15652         (gst_bin_change_state):
15653         * gst/gstbin.h:
15654         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
15655         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
15656         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
15657         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
15658         (gst_bus_set_sync_handler), (gst_bus_create_watch),
15659         (bus_watch_callback), (bus_watch_destroy),
15660         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
15661         (poll_timeout), (gst_bus_poll):
15662         * gst/gstbus.h:
15663         * gst/gstcaps.h:
15664         * gst/gstdata.h:
15665         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15666         (gst_element_post_message), (gst_element_message_full),
15667         (gst_element_get_state_func), (gst_element_get_state),
15668         (gst_element_abort_state), (gst_element_commit_state),
15669         (gst_element_lost_state), (gst_element_set_state),
15670         (gst_element_pads_activate), (gst_element_change_state),
15671         (gst_element_dispose), (gst_element_set_manager_func),
15672         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
15673         (gst_element_set_manager), (gst_element_get_manager),
15674         (gst_element_set_bus), (gst_element_get_bus),
15675         (gst_element_set_scheduler), (gst_element_get_scheduler):
15676         * gst/gstelement.h:
15677         * gst/gstevent.c: (gst_event_new_segment_seek),
15678         (gst_event_new_flush):
15679         * gst/gstevent.h:
15680         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
15681         (_gst_message_free), (gst_message_get_type), (gst_message_new),
15682         (gst_message_new_eos), (gst_message_new_error),
15683         (gst_message_new_warning), (gst_message_new_tag),
15684         (gst_message_new_state_changed), (gst_message_new_application),
15685         (gst_message_get_structure), (gst_message_parse_tag),
15686         (gst_message_parse_state_changed), (gst_message_parse_error),
15687         (gst_message_parse_warning):
15688         * gst/gstmessage.h:
15689         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
15690         (gst_real_pad_set_property), (gst_pad_set_active),
15691         (gst_pad_is_active), (gst_pad_set_blocked_async),
15692         (gst_pad_set_blocked), (gst_pad_is_blocked),
15693         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
15694         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
15695         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
15696         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
15697         (gst_pad_link_filtered), (gst_pad_relink_filtered),
15698         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
15699         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
15700         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
15701         (gst_pad_set_caps), (gst_pad_configure_sink),
15702         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
15703         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
15704         (gst_real_pad_dispose), (gst_real_pad_finalize),
15705         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
15706         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15707         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
15708         * gst/gstpad.h:
15709         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
15710         (pipeline_bus_handler), (gst_pipeline_change_state),
15711         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
15712         * gst/gstpipeline.h:
15713         * gst/gstprobe.h:
15714         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15715         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
15716         (gst_queue_link_src), (gst_queue_bufferalloc),
15717         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15718         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
15719         (gst_queue_loop), (gst_queue_handle_src_event),
15720         (gst_queue_handle_src_query), (gst_queue_src_activate),
15721         (gst_queue_change_state):
15722         * gst/gstqueue.h:
15723         * gst/gstscheduler.c: (gst_scheduler_init),
15724         (gst_scheduler_dispose), (gst_scheduler_create_task),
15725         (gst_scheduler_factory_create):
15726         * gst/gstscheduler.h:
15727         * gst/gststructure.c: (gst_structure_get_type),
15728         (gst_structure_copy_conditional):
15729         * gst/gststructure.h:
15730         * gst/gsttaginterface.h:
15731         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15732         (gst_task_init), (gst_task_dispose), (gst_task_create),
15733         (gst_task_get_state), (gst_task_start), (gst_task_stop),
15734         (gst_task_pause):
15735         * gst/gsttask.h:
15736         * gst/gstthread.c:
15737         * gst/gstthread.h:
15738         * gst/gsttypes.h:
15739         * gst/schedulers/Makefile.am:
15740         * gst/schedulers/cothreads_compat.h:
15741         * gst/schedulers/entryscheduler.c:
15742         * gst/schedulers/faircothreads.c:
15743         * gst/schedulers/faircothreads.h:
15744         * gst/schedulers/fairscheduler.c:
15745         * gst/schedulers/gstbasicscheduler.c:
15746         * gst/schedulers/gstoptimalscheduler.c:
15747         * gst/schedulers/gthread-cothreads.h:
15748         * gst/schedulers/threadscheduler.c:
15749         (gst_thread_scheduler_task_get_type),
15750         (gst_thread_scheduler_task_class_init),
15751         (gst_thread_scheduler_task_init),
15752         (gst_thread_scheduler_task_start),
15753         (gst_thread_scheduler_task_stop),
15754         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
15755         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15756         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
15757         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
15758         (plugin_init):
15759         * libs/gst/Makefile.am:
15760         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
15761         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
15762         (gst_file_pad_parent_set):
15763         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15764         (gst_dp_event_from_packet):
15765         * tests/complexity.c: (main):
15766         * tests/mass_elements.c: (main):
15767         * testsuite/states/locked.c: (message_received), (main):
15768         * testsuite/states/parent.c: (main):
15769         * tools/gst-inspect.c: (print_element_flag_info),
15770         (print_implementation_info), (print_pad_info):
15771         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
15772         (main):
15773         * tools/gst-md5sum.c: (event_loop), (main):
15774         * tools/gst-typefind.c: (main):
15775         * tools/gst-xmlinspect.c: (print_element_info):
15776         Next big merge.
15777         Added GstBus for mainloop integration.
15778         Added GstMessage for sending notifications on the bus.
15779         Added GstTask as an abstraction for pipeline entry points.
15780         Removed GstThread.
15781         Removed Schedulers.
15782         Simplified GstQueue for multithreaded core.
15783         Made _link threadsafe, removed old capsnego.
15784         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
15785         Added pad blocking functions.
15786         Reworked scheduling functions in GstPad to prepare for
15787         scheduling updates soon.
15788         Moved events out of data stream.
15789         Simplified GstEvent types.
15790         Added return values to push/pull.
15791         Removed clocking from GstElement.
15792         Added prototypes for state change function for next merge.
15793         Removed iterate from bins and state change management.
15794         Fixed some elements, disabled others for now.
15795         Fixed -inspect and -launch.
15796         Added check for GstBus.
15797
15798 2005-03-10  Wim Taymans  <wim@fluendo.com>
15799
15800         * docs/design/part-MT-refcounting.txt:
15801         * docs/design/part-clocks.txt:
15802         * docs/design/part-gstelement.txt:
15803         * docs/design/part-gstobject.txt:
15804         * docs/design/part-standards.txt:
15805         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15806         (gst_bin_remove_func), (gst_bin_remove):
15807         * gst/gstbin.h:
15808         * gst/gstbuffer.c:
15809         * gst/gstcaps.h:
15810         * testsuite/clock/clock1.c: (main):
15811         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
15812         (main):
15813         * testsuite/dlopen/loadgst.c: (do_test):
15814         * testsuite/refcounting/bin.c: (add_remove_test1),
15815         (add_remove_test2), (main):
15816         * testsuite/refcounting/element.c: (main):
15817         * testsuite/refcounting/element_pad.c: (main):
15818         * testsuite/refcounting/pad.c: (main):
15819         * tools/gst-launch.c: (sigint_handler_sighandler):
15820         * tools/gst-typefind.c: (main):
15821         Doc updates.
15822         Added doc about clock.
15823         removed gst_bin_iterate_recurse_up(), marked methods
15824         for removal.
15825         Fix more testsuites.
15826
15827 2005-03-09  Wim Taymans  <wim@fluendo.com>
15828
15829         * gst/gstpad.c: (gst_pad_get_direction),
15830         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
15831         (gst_pad_collect_valist):
15832         * testsuite/bins/interface.c: (main):
15833         * testsuite/caps/audioscale.c: (test_caps):
15834         * testsuite/caps/caps.c: (test1), (test2), (test3):
15835         * testsuite/caps/deserialize.c: (main):
15836         * testsuite/caps/enumcaps.c: (main):
15837         * testsuite/caps/filtercaps.c: (main):
15838         * testsuite/caps/intersect2.c: (main):
15839         * testsuite/caps/random.c: (main):
15840         * testsuite/caps/renegotiate.c: (my_fixate), (main):
15841         * testsuite/caps/sets.c: (check_caps):
15842         * testsuite/caps/simplify.c: (check_caps), (main):
15843         * testsuite/caps/subtract.c: (check_caps):
15844         Fix _pad_get_direction wrt ghostpads.
15845         Fix caps testsuite.
15846
15847 2005-03-09  Wim Taymans  <wim@fluendo.com>
15848
15849         * check/Makefile.am:
15850         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
15851         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
15852         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
15853         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
15854         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
15855         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
15856         (gst_bin_remove), (gst_bin_iterate_recurse_up),
15857         (bin_element_is_sink), (gst_bin_iterate_sinks),
15858         (gst_bin_iterate_all_by_interface):
15859         * gst/gstbin.h:
15860         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
15861         (gst_element_change_state), (gst_element_dispose),
15862         (gst_element_finalize), (gst_element_set_loop_function):
15863         * gst/gstelement.h:
15864         * gst/gstiterator.c: (find_custom_fold_func):
15865         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15866         (gst_pad_collectv), (gst_pad_collect_valist),
15867         (gst_pad_template_new):
15868         * gst/gstpipeline.c: (gst_pipeline_class_init),
15869         (gst_pipeline_dispose), (gst_pipeline_set_property),
15870         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
15871         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
15872         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
15873         * gst/gstutils.h:
15874         * gst/schedulers/entryscheduler.c:
15875         * gst/schedulers/gstbasicscheduler.c:
15876         (gst_basic_scheduler_cothreaded_chain),
15877         (gst_basic_scheduler_chain_add_element):
15878         * testsuite/bins/interface.c: (main):
15879         Added GstBin test.
15880         Added GstSystemClock test.
15881         Implemented clock distribution code in GstBin.
15882         Implemented iterate sinks method for future use.
15883         Rearranged gstelement.h
15884         Fix GstIterator comparison bug.
15885         Moved some code to GstPipeline, mostly clocking related.
15886
15887 2005-03-09  Wim Taymans  <wim@fluendo.com>
15888
15889         * configure.ac:
15890         * gst/gst_private.h:
15891         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15892         (gst_bin_remove_func), (gst_bin_remove),
15893         (gst_bin_get_by_name_recurse_up):
15894         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
15895         (gst_clock_id_compare_func), (gst_clock_id_wait),
15896         (gst_clock_id_wait_async), (gst_clock_init),
15897         (gst_clock_adjust_unlocked), (gst_clock_get_time):
15898         * gst/gstelement.h:
15899         * gst/gstinfo.c: (_gst_debug_init):
15900         * gst/gstobject.h:
15901         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15902         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
15903         * gst/gstpad.h:
15904         Bump version number, we're now 0.9.0
15905         Add future debugging category.
15906         Fix NULL _unref() in _get_by_name_recurse_up
15907         Rearrange gstpad.h.
15908         Update some docs.
15909
15910 2005-03-08  Wim Taymans  <wim@fluendo.com>
15911
15912         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
15913         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
15914         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15915         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
15916         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
15917         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
15918         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
15919         * gst/elements/gstidentity.c: (gst_identity_class_init):
15920         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
15921         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
15922         * gst/elements/gstshaper.c: (gst_shaper_class_init):
15923         * gst/elements/gststatistics.c: (gst_statistics_class_init):
15924         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
15925         (gst_tee_link):
15926         * gst/gstelement.c: (gst_element_class_init),
15927         (gst_element_base_class_init), (gst_element_init),
15928         (gst_element_get_random_pad), (gst_element_wait_state_change),
15929         (gst_element_change_state), (gst_element_dispose),
15930         (gst_element_finalize), (gst_element_set_loop_function):
15931         * gst/gstelement.h:
15932         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
15933         * gst/gstthread.c: (gst_thread_class_init),
15934         (gst_thread_release_children_locks), (gst_thread_change_state):
15935         * gst/schedulers/gstbasicscheduler.c:
15936         (gst_basic_scheduler_loopfunc_wrapper),
15937         (gst_basic_scheduler_chain_wrapper),
15938         (gst_basic_scheduler_src_wrapper),
15939         (gst_basic_scheduler_remove_element):
15940         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
15941         Remove threadsafe properties. Fix elements because GObject
15942         complains when installing a property before declaring a
15943         set/get_property handler.
15944         Rearrange gstelement.h file, use STATE macros for state locks.
15945         Free mutexes in the finalize method instead of dispose.
15946
15947 2005-03-08  Wim Taymans  <wim@fluendo.com>
15948
15949         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15950         * gst/gstthread.c: (gst_thread_release_children_locks):
15951         Added parentage check.
15952         Fix build og GstThread again.
15953
15954 2005-03-08  Wim Taymans  <wim@fluendo.com>
15955
15956         * docs/design/part-MT-refcounting.txt:
15957         * docs/design/part-conventions.txt:
15958         * docs/design/part-gstobject.txt:
15959         * docs/design/part-relations.txt:
15960         * docs/design/part-standards.txt:
15961         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15962         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
15963         (gst_bin_get_by_name), (gst_bin_get_by_interface),
15964         (gst_bin_iterate_all_by_interface):
15965         * gst/gstbuffer.h:
15966         * gst/gstclock.h:
15967         * gst/gstelement.c: (gst_element_class_init),
15968         (gst_element_change_state), (gst_element_set_loop_function):
15969         * gst/gstelement.h:
15970         * gst/gstiterator.c:
15971         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
15972         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
15973         (gst_object_dispatch_properties_changed), (gst_object_set_name),
15974         (gst_object_set_parent), (gst_object_unparent),
15975         (gst_object_check_uniqueness):
15976         * gst/gstobject.h:
15977         Docs updates, clean up some headers.
15978
15979 2005-03-07  Wim Taymans  <wim@fluendo.com>
15980
15981         * check/.cvsignore:
15982         * check/Makefile.am:
15983         * check/gst-libs/.cvsignore:
15984         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
15985         * check/gst/.cvsignore:
15986         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
15987         (START_TEST), (gstbus_suite), (main):
15988         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
15989         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
15990         (gst_data_suite), (main):
15991         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
15992         (add_fold_func), (gstiterator_suite), (main):
15993         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
15994         (thread_name_object), (thread_name_object_default),
15995         (gst_object_name_compare), (gst_object_suite), (main):
15996         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
15997         (gst_pad_suite), (main):
15998         * check/gstcheck.c: (gst_check_log_message_func),
15999         (gst_check_log_critical_func), (gst_check_init):
16000         * check/gstcheck.h:
16001         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16002         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
16003         Added checks.
16004
16005 2005-03-07  Wim Taymans  <wim@fluendo.com>
16006
16007         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16008         (gst_list_iterator_next), (gst_list_iterator_resync),
16009         (gst_list_iterator_free), (gst_iterator_new_list),
16010         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
16011         (gst_iterator_free), (gst_iterator_push), (filter_next),
16012         (filter_resync), (filter_uninit), (filter_free),
16013         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
16014         (gst_iterator_foreach), (find_custom_fold_func),
16015         (gst_iterator_find_custom):
16016         * gst/gstiterator.h:
16017         Added missing files.
16018
16019 2005-03-07  Wim Taymans  <wim@fluendo.com>
16020
16021         * Makefile.am:
16022         * configure.ac:
16023         * docs/design/part-MT-refcounting.txt:
16024         * docs/design/part-conventions.txt:
16025         * docs/design/part-gstobject.txt:
16026         * docs/design/part-relations.txt:
16027         * examples/mixer/mixer.c: (main):
16028         * examples/thread/thread.c: (eos), (main):
16029         * gst/Makefile.am:
16030         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
16031         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
16032         (gst_spider_plug_from_srcpad):
16033         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
16034         (gst_spider_identity_change_state),
16035         (gst_spider_identity_sink_loop_type_finding):
16036         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
16037         * gst/elements/gstidentity.c: (gst_identity_init):
16038         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
16039         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
16040         * gst/elements/gsttypefindelement.c: (free_entry):
16041         * gst/gst.c:
16042         * gst/gst.h:
16043         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
16044         (gst_bin_set_clock_func), (gst_bin_auto_clock),
16045         (gst_bin_set_index), (gst_bin_set_element_sched),
16046         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
16047         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
16048         (gst_bin_iterate_elements), (iterate_child_recurse),
16049         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
16050         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
16051         (compare_interface), (gst_bin_get_by_interface),
16052         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
16053         * gst/gstbin.h:
16054         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
16055         (gst_buffer_default_free), (gst_buffer_default_copy),
16056         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
16057         (gst_buffer_create_sub):
16058         * gst/gstbuffer.h:
16059         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
16060         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
16061         (gst_caps_unref), (gst_static_caps_get),
16062         (gst_caps_remove_and_get_structure), (gst_caps_append),
16063         (gst_caps_append_structure), (gst_caps_remove_structure),
16064         (gst_caps_copy_nth), (gst_caps_set_simple),
16065         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
16066         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
16067         (gst_caps_structure_intersect_field), (gst_caps_intersect),
16068         (gst_caps_structure_subtract_field), (gst_caps_subtract),
16069         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
16070         (gst_caps_structure_figure_out_union),
16071         (gst_caps_switch_structures), (gst_caps_do_simplify),
16072         (gst_caps_replace), (gst_caps_from_string),
16073         (gst_caps_copy_conditional):
16074         * gst/gstcaps.h:
16075         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
16076         (_gst_clock_id_free), (gst_clock_id_unref),
16077         (gst_clock_id_compare_func), (gst_clock_id_wait),
16078         (gst_clock_id_wait_async), (gst_clock_class_init),
16079         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
16080         (gst_clock_get_time), (gst_clock_set_time_adjust),
16081         (gst_clock_set_property), (gst_clock_get_property):
16082         * gst/gstclock.h:
16083         * gst/gstcompat.h:
16084         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
16085         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
16086         * gst/gstdata.h:
16087         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16088         (gst_element_requires_clock), (gst_element_provides_clock),
16089         (gst_element_set_clock), (gst_element_clock_wait),
16090         (gst_element_wait), (gst_element_set_time_delay),
16091         (gst_element_is_indexable), (gst_element_add_pad),
16092         (gst_element_add_ghost_pad), (gst_element_remove_pad),
16093         (pad_compare_name), (gst_element_get_static_pad),
16094         (gst_element_request_pad), (gst_element_get_request_pad),
16095         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16096         (gst_element_class_get_pad_template_list),
16097         (gst_element_class_get_pad_template), (gst_element_error_func),
16098         (gst_element_get_random_pad), (gst_element_get_event_masks),
16099         (gst_element_send_event), (gst_element_seek),
16100         (gst_element_get_query_types), (gst_element_query),
16101         (gst_element_get_formats), (gst_element_convert),
16102         (gst_element_is_locked_state), (gst_element_set_locked_state),
16103         (gst_element_sync_state_with_parent), (gst_element_change_state),
16104         (gst_element_finalize), (gst_element_yield),
16105         (gst_element_interrupt), (gst_element_set_scheduler),
16106         (gst_element_get_scheduler), (gst_element_set_loop_function):
16107         * gst/gstelement.h:
16108         * gst/gstevent.h:
16109         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16110         (gst_format_get_by_nick), (gst_format_get_details),
16111         (gst_format_iterate_definitions):
16112         * gst/gstformat.h:
16113         * gst/gstindex.c: (gst_index_gtype_resolver):
16114         * gst/gstinfo.c:
16115         * gst/gstinfo.h:
16116         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16117         (gst_mem_chunk_free):
16118         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16119         (gst_object_ref), (gst_object_unref), (gst_object_sink),
16120         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16121         (gst_object_dispatch_properties_changed),
16122         (gst_object_set_name_default), (gst_object_set_name),
16123         (gst_object_get_name), (gst_object_set_name_prefix),
16124         (gst_object_get_name_prefix), (gst_object_set_parent),
16125         (gst_object_get_parent), (gst_object_unparent),
16126         (gst_object_check_uniqueness), (gst_object_save_thyself),
16127         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16128         (gst_object_set_property), (gst_object_get_property),
16129         (gst_object_get_path_string):
16130         * gst/gstobject.h:
16131         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16132         (gst_real_pad_init), (gst_real_pad_get_property),
16133         (gst_pad_custom_new), (gst_pad_get_direction),
16134         (gst_pad_set_active), (gst_pad_is_active),
16135         (gst_pad_set_event_function), (gst_pad_is_linked),
16136         (gst_pad_link_free), (gst_pad_link_intersect),
16137         (gst_pad_link_fixate), (gst_pad_set_caps),
16138         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16139         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16140         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16141         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16142         (gst_pad_get_caps), (gst_pad_peer_get_caps),
16143         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16144         (gst_pad_realize), (gst_pad_get_allowed_caps),
16145         (gst_real_pad_dispose), (gst_real_pad_finalize),
16146         (gst_pad_collectv), (gst_pad_collect_valist),
16147         (gst_pad_template_dispose), (gst_pad_template_new),
16148         (gst_pad_get_internal_links):
16149         * gst/gstpad.h:
16150         * gst/gstpipeline.c: (gst_pipeline_dispose),
16151         (gst_pipeline_change_state):
16152         * gst/gstpipeline.h:
16153         * gst/gstplugin.c:
16154         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16155         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16156         * gst/gstpluginfeature.h:
16157         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16158         * gst/gstquery.c: (_gst_query_type_initialize),
16159         (gst_query_type_register), (gst_query_type_get_by_nick),
16160         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16161         * gst/gstquery.h:
16162         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16163         * gst/gstscheduler.c: (gst_scheduler_add_element),
16164         (gst_scheduler_factory_create):
16165         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16166         (gst_structure_free), (gst_structure_set_name),
16167         (gst_structure_id_set_value), (gst_structure_set_value),
16168         (gst_structure_set_valist), (gst_structure_remove_field),
16169         (gst_structure_remove_fields),
16170         (gst_structure_remove_fields_valist),
16171         (gst_structure_remove_all_fields), (gst_structure_foreach),
16172         (gst_structure_map_in_place),
16173         (gst_caps_structure_fixate_field_nearest_int),
16174         (gst_caps_structure_fixate_field_nearest_double):
16175         * gst/gststructure.h:
16176         * gst/gstsystemclock.c: (gst_system_clock_class_init),
16177         (gst_system_clock_init), (gst_system_clock_dispose),
16178         (gst_system_clock_async_thread),
16179         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16180         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16181         * gst/gstsystemclock.h:
16182         * gst/gsttag.c: (gst_tag_list_add_value_internal),
16183         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16184         * gst/gsttaginterface.c:
16185         * gst/gstthread.c: (gst_thread_dispose),
16186         (gst_thread_release_children_locks), (gst_thread_change_state),
16187         (gst_thread_main_loop):
16188         * gst/gsttrashstack.h:
16189         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16190         * gst/gsttypes.h:
16191         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16192         (gst_element_request_pad), (gst_element_get_pad_from_template),
16193         (gst_element_request_compatible_pad),
16194         (gst_element_get_compatible_pad_filtered),
16195         (gst_element_get_compatible_pad), (gst_element_state_get_name),
16196         (gst_element_link_pads_filtered), (gst_element_link_filtered),
16197         (gst_element_link_many), (gst_element_link),
16198         (gst_element_link_pads), (gst_element_unlink_pads),
16199         (gst_element_unlink_many), (gst_element_unlink),
16200         (gst_pad_can_link_filtered), (gst_pad_can_link),
16201         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16202         (gst_object_default_error), (gst_bin_add_many),
16203         (gst_bin_remove_many), (gst_element_populate_std_props),
16204         (gst_element_class_install_std_props), (gst_buffer_merge),
16205         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16206         (link_fold_func), (gst_pad_proxy_setcaps):
16207         * gst/gstutils.h:
16208         * gst/gstvalue.c: (gst_value_deserialize_string):
16209         * gst/parse/grammar.y:
16210         * gst/schedulers/gstbasicscheduler.c:
16211         (gst_basic_scheduler_cothreaded_chain),
16212         (gst_basic_scheduler_chain_recursive_add),
16213         (gst_basic_scheduler_pad_link):
16214         * gst/schedulers/gstoptimalscheduler.c:
16215         (get_group_schedule_function),
16216         (gst_opt_scheduler_state_transition),
16217         (gst_opt_scheduler_add_element), (element_get_reachables_func):
16218         * libs/gst/bytestream/bytestream.c:
16219         * libs/gst/dataprotocol/dataprotocol.c:
16220         (gst_dp_header_from_buffer):
16221         * po/nb.po:
16222         * po/ru.po:
16223         * tests/threadstate/threadstate2.c: (eos):
16224         * tools/gst-compprep.c: (main):
16225         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16226         (print_pad_info), (print_children_info):
16227         * tools/gst-launch.c: (idle_func), (main):
16228         * tools/gst-md5sum.c: (idle_func), (main):
16229         * tools/gst-xmlinspect.c: (print_element_info):
16230         First THREADED backport attempt, focusing on adding locks and
16231         making sure the API is threadsafe. Needs more work. More docs
16232         follow this week.
16233
16234 2005-02-24  Andy Wingo  <wingo@pobox.com>
16235
16236         * tests/bench-complexity.scm:
16237         * tests/complexity.gnuplot: New files, good for running complexity
16238         benchmarks.
16239
16240         * tests/Makefile.am:
16241         * tests/complexity.c: New test, sets up N elements, at each level
16242         teeing into M streams per element. Eeeenteresting.
16243
16244         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16245         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
16246         running bench-mass_elements.scm.
16247
16248         * tests/bench-mass_elements.scm: New script, runs mass_elements
16249         for various numbers of identities, outputting the results to a
16250         file. Requires guile 1.6. Just for testing.
16251
16252 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16253
16254         * gst/schedulers/fairscheduler.c:
16255           compile with debug disabled
16256
16257 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16258
16259         * configure.ac:
16260           hunting season on 0.9 is now OPEN