libs/gst/net/gstnettimepacket.c: MSG_DONTWAIT is not defined on Cygwin, so work aroun...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4           MSG_DONTWAIT is not defined on Cygwin, so work
5           around that (fixes #317048).
6           
7 2006-04-11  Wim Taymans  <wim@fluendo.com>
8
9         * gst/gstelementfactory.c: (gst_element_register),
10         (gst_element_factory_create), (gst_element_factory_make):
11         Some cleanups.
12         Fixed a FIXME.
13         Updated docs (Fixes #131079)
14
15         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16         Small cleanups.
17
18         * tests/check/gst/gstelement.c: (GST_START_TEST),
19         (gst_element_suite):
20         Added testcase for elementfactory class field.
21
22 2006-04-10  Wim Taymans  <wim@fluendo.com>
23
24         * gst/gstsegment.c:
25         Added some more docs.
26
27         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
28         (gst_base_sink_reset_qos):
29         Calculate more accurate rate values.
30
31 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
32
33         * gst/gst_private.h:
34           add a new #ifdef to use __declspec(dllimport) only for
35           other modules and not for gstreamer core
36         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
37           use gst_guint64_to_gdouble for conversion
38         * win32/common/libgstreamer.def:
39           add new exported functions
40         * win32/vs6/gst_inspect.dsp:
41         * win32/vs6/gst_launch.dsp:
42         * win32/vs6/libgstbase.dsp:
43         * win32/vs6/libgstcontroller.dsp:
44         * win32/vs6/libgstcoreelements.dsp:
45         * win32/vs6/libgstdataprotocol.dsp:
46         * win32/vs6/libgstnet.dsp:
47           update project files
48
49 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
50
51         * gst/gstbuffer.c: (gst_subbuffer_class_init):
52         * gst/gstclock.c: (gst_clock_class_init):
53         * gst/gstelement.c: (gst_element_class_init):
54         * gst/gstindex.c: (gst_index_class_init):
55         * gst/gstindexfactory.c: (gst_index_factory_class_init):
56         * gst/gstobject.c: (gst_object_class_init),
57         (gst_signal_object_class_init):
58         * gst/gstpad.c: (gst_pad_class_init):
59         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
60         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
61         * gst/gstregistry.c: (gst_registry_class_init):
62         * gst/gstsystemclock.c: (gst_system_clock_class_init):
63         * gst/gsttask.c: (gst_task_class_init):
64         * gst/gstxml.c: (gst_xml_class_init):
65         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
66         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
67         (gst_base_src_loop):
68         * libs/gst/controller/gstcontroller.c:/
69         (_gst_controller_class_init):
70         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
71         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
72         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
73         * tests/old/examples/plugins/example.c: (gst_example_class_init):
74         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
75         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
76
77 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
78
79         * gst/gstpad.c: (gst_pad_link):
80           Must set peer pads before calling the link function, otherwise
81           a task started from a link function might get a flow-not-linked
82           result when trying to push because the other thread where the
83           linking happens hasn't had a chance to set the peers yet. This
84           might happen for example when a queue gets linked to a downstream
85           element, as queue starts a streaming task when its source pad
86           gets linked. Happens in real life when playing back flac/musepack
87           files in playbin (#332390).
88           
89 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
90
91         * gst/gstindex.h:
92         * gst/gstxml.h:
93         * libs/gst/base/gstadapter.h:
94         * libs/gst/base/gstbasesink.h:
95         * libs/gst/base/gstbasesrc.h:
96         * libs/gst/base/gstbasetransform.h:
97         * libs/gst/base/gstcollectpads.h:
98         * libs/gst/base/gstpushsrc.h:
99         Fix broken GObject macros
100
101 2006-04-07  Wim Taymans  <wim@fluendo.com>
102
103         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
104         Initialize start and stop times, thanks valgrind.
105
106 2006-04-07  Wim Taymans  <wim@fluendo.com>
107
108         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
109         Be a bit nicer to badly behaving upstream elements that expect
110         us to deal with non TIME segments and timestamps (such as fakesrc
111         in the testsuite).
112
113 2006-04-07  Wim Taymans  <wim@fluendo.com>
114
115         * gst/gstbus.c:
116         Small documentation clarification about the signal watch.
117
118         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
119         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
120         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
121         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
122         (gst_base_sink_get_position_last),
123         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
124         Convert and store timestamps in stream time and running time, the
125         raw timestamps are not usefull, also document this better.
126         Use different window sizes for good and bad QoS observations so
127         we react to badness a little quicker.
128         Keep track of the amount of rendered and dropped buffers.
129         Send QoS timestamps in running time.
130
131         * libs/gst/base/gstbasetransform.c:
132         (gst_base_transform_sink_eventfunc),
133         (gst_base_transform_handle_buffer):
134         Compare QoS timestamps against running time.
135
136 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
137
138         * gst/gstpad.c:
139           Typo fixes in docs.
140
141 2006-04-06  Michael Smith  <msmith@fluendo.com>
142
143         * gst/gstpad.c: (gst_pad_set_property):
144           Use g_value_get_object() instead of g_value_dup_gst_object(),
145           to avoid double-reffing the pad template (which we then sink,
146           so this worked previously if (and only if) the pad template
147           was floating.
148
149         * gst/gstpadtemplate.c: (gst_pad_template_init),
150         (gst_pad_template_pad_created):
151           Never return floating references to pad templates, create
152           them as initially-sunken.
153
154           Document an extra function (and make this stop sinking our
155           pad template, since that is now guaranteed to do nothing,
156           since we created it sunken).
157
158         * gst/gstghostpad.c:
159           Fix docs typo.
160
161 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
162
163         * gst/gstinfo.c: (__gst_in_valgrind):
164           Add some newlines.
165
166         * plugins/elements/gsttypefindelement.c:
167         (gst_type_find_element_chain):
168           Don't leak buffer caps.
169
170 2006-04-06  Michael Smith  <msmith@fluendo.com>
171
172         * gst/parse/grammar.y:
173           Fix a leak in parse-launch for any source-or-sink named element 
174           references used.
175
176         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
177           Unref the pipeline if it exists after we've failed parsing.
178
179 2006-04-05  Michael Smith  <msmith@fluendo.com>
180
181         * gst/gstpipeline.c: (gst_pipeline_init):
182           When we create a pipeline bus, initially create it in flushing mode.
183           Fixes leaks in at least one test, and makes a new pipeline work the
184           same as one that has gone to READY and then back to NULL.
185
186         * gst/gstelement.c:
187           Typo fix in docs.
188
189 2006-04-05  Michael Smith  <msmith@fluendo.com>
190
191         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
192           Unref a pad we reffed.
193         * tests/check/gst/gstutils.c: (GST_START_TEST):
194           Unref bins
195
196 2006-04-05  Michael Smith  <msmith@fluendo.com>
197
198         * gst/gstquery.c: (gst_query_set_formats),
199         (gst_query_set_formatsv):
200           Fix leaking GValues in queries, as shown by valgrind/testsuite.
201
202 2006-04-05  Michael Smith  <msmith@fluendo.com>
203
204         * tests/check/generic/sinks.c: (GST_START_TEST):
205           Fix a variety of memleaks in sinks check, which are only sometimes 
206           shown by running the tests under valgrind (weird?).
207
208 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
209
210         * docs/version.entities.in:
211           Fix the substituted entity name after thomas' changes on the
212           weekend.
213
214 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
215
216         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
217         VALGRIND_PRINTF
218         
219 2006-04-05  Andy Wingo  <wingo@pobox.com>
220
221         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
222
223         * libs/gst/base/gstbasetransform.c
224         (gst_base_transform_sink_eventfunc): When resetting our segment on
225         FLUSH_STOP, also update the flag saying we haven't seen a
226         newsegment.
227
228 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
229
230         Patch by: Paolo Borelli  <pborelli at katamail dot com>
231
232         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
233         (gst_plugin_check_license):
234           minor clean-ups: G_DEFINE_TYPE already takes care of the
235           parent_class stuff, no need to do it twice. Mark array of
236           license strings as constant. (#337103)
237           
238 2006-04-04  Michael Smith  <msmith@fluendo.com>
239
240         * tools/gst-inspect.c: (print_element_list):
241           Free the right plugin list; fixes a memory leak.
242
243 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
244
245         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
246
247         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
248           Don't error out on empty buffers (#336945).
249           
250 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
251
252         * docs/libs/gstreamer-libs-sections.txt:
253         * gst/gsttaglist.c:
254         * libs/gst/base/gstbasesink.c:
255         * libs/gst/base/gstbasesink.h:
256         * libs/gst/base/gstbasesrc.c:
257         * libs/gst/base/gstbasesrc.h:
258           Documentation updates. Make BaseSink and BaseSrc docs contain the
259           class structure so that people can actually see the prototypes for
260           virtual functions they're supposed to be overriding.
261
262 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
263
264         * plugins/elements/gsttypefindelement.c:
265         (gst_type_find_element_chain):
266           More debug info; when skipping typefinding, send cached
267           events in all cases.
268
269 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
270
271         * configure.ac:
272           use new AS_VERSION and AS_NANO macros
273         * gst/gst-i18n-lib.h:
274         * gst/gst.c:
275         * gst/gsterror.c:
276         * gst/gstversion.h.in:
277         * win32/common/config.h:
278         * win32/common/config.h.in:
279           update accordingly
280
281 2006-03-31  Michael Smith  <msmith@fluendo.com>
282
283         * plugins/elements/gsttypefindelement.c:
284         (gst_type_find_element_chain):
285           Do not typefind content if the buffers already have caps.
286           Neccesary for icydemux (#333657), and the right thing to do anyway.
287
288 2006-03-30  Wim Taymans  <wim@fluendo.com>
289
290         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
291         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
292         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
293         (gst_base_sink_record_qos_observation),
294         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
295         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
296         (gst_base_sink_change_state):
297         More QoS measurements as described in the design doc.
298         Get rid of ringbuffer with observations, running average is
299         more simple and equally good.
300         Calculates valid proportion now.
301         Added beginning of flood measurement.
302
303 2006-03-29  Wim Taymans  <wim@fluendo.com>
304
305         * docs/design/part-qos.txt:
306         * gst/gstclock.c:
307         Small documentation updates and additions.
308
309 2006-03-29  Wim Taymans  <wim@fluendo.com>
310
311         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
312         (gst_base_src_send_event), (gst_base_src_loop),
313         (gst_base_src_change_state):
314         Perform the EOS logic when we reach the segment stop position.
315         Fix compilation on gcc4.1
316
317 2006-03-29  Wim Taymans  <wim@fluendo.com>
318
319         Patch by Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
320
321         * plugins/elements/gstqueue.c: (gst_queue_init),
322         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
323         (gst_queue_set_property):
324         * plugins/elements/gstqueue.h:
325         In queue, when EOS is received, if minimum threshold > max_size -
326         current_level, there is chance that queue blocks forever in conditional item
327         del wait. This is because the queue is not emptied completely due to minimum
328         threshold.
329         Here is another approach. Instead of setting cur_levels to max in EOS, just
330         zero all minimum threshold levels. This should make sure that queue gives out
331         all data. When going to READY (stop) state, just reset the original minimum
332         threshold levels.
333         Fixes #336336.
334
335 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
336
337         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
338         (gst_type_find_element_handle_event),
339         (gst_type_find_element_send_cached_events),
340         (gst_type_find_element_change_state):
341         * plugins/elements/gsttypefindelement.h:
342           When typefinding is done in push mode, we should cache
343           events we receive during typefinding instead of just
344           dropping them (e.g. newsegment, custom events from
345           dvdreadsrc etc.) and then send them out once we've
346           determined the type of the stream (and decodebin
347           has had a chance to plug in a decoder/demuxer).
348           
349 2006-03-27  Wim Taymans  <wim@fluendo.com>
350
351         * docs/design/part-qos.txt:
352         First QoS ideas.
353
354 2006-03-27  Wim Taymans  <wim@fluendo.com>
355
356         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
357
358         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
359         (gst_base_src_send_event), (gst_base_src_change_state):
360         Handle element seek correctly when we are streaming.
361         Fixes #326998.
362
363 2006-03-24  Michael Smith  <msmith@fluendo.com>
364
365         * docs/faq/gst-uninstalled:
366           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
367           allow you to correctly run intalled applications built against old 
368           core, using plugins that require updated core (e.g. running
369           installed totem against a full uninstalled gstreamer stack)
370
371 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
372
373         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
374         more debug details
375
376 2006-03-24  Wim Taymans  <wim@fluendo.com>
377
378         * docs/gst/gstreamer-sections.txt:
379         Rearrange the order of the methods so that related methods
380         are grouped together in sections.
381
382 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
383
384         * gst/gstelement.c:
385           Little clarification in the docs
386
387 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
388
389         * docs/README:
390         formatting fix
391         * plugins/elements/gstidentity.c:
392         * plugins/elements/gstqueue.c:
393         * plugins/elements/gsttee.c:
394         * plugins/elements/gsttypefindelement.c:
395         GST_ELEMENT_DETAILS formatting
396
397 2006-03-24  Wim Taymans  <wim@fluendo.com>
398
399         * libs/gst/base/gstbasesink.h:
400         Only add fields, not insert or we break ABI.
401
402 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
403
404         * win32/common/libgstbase.def:
405         * win32/common/libgstreamer.def:
406           Update, add recently added functions.
407
408 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
409
410         * docs/gst/gstreamer-sections.txt:
411         * gst/gstutils.c: (gst_pad_query_peer_position),
412         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
413         * gst/gstutils.h:
414           API: add some new utility functions:
415            - gst_pad_query_peer_position
416            - gst_pad_query_peer_duration
417            - gst_pad_query_peer_convert
418           
419 2006-03-23  Wim Taymans  <wim@fluendo.com>
420
421         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
422         (gst_base_sink_init), (gst_base_sink_finalize),
423         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
424         (gst_base_sink_set_property), (gst_base_sink_get_property),
425         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
426         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
427         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
428         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
429         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
430         (gst_base_sink_preroll_object), (gst_base_sink_event),
431         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
432         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
433         (gst_base_sink_query), (gst_base_sink_change_state):
434         Decouple max-lateness and the fact that QoS messages are generated
435         with a new property (qos).
436         added API: GstBaseSink::async_play()
437         Add vmethod so subclasses can be notified of ASYNC playing
438         state changes.
439         Collect timestamp start and stop to report better current
440         position in EOS/PLAYING/PAUSED/READY/NULL.
441         Refactor QoS/frame dropping and other measurements.
442         API: GstBaseSrc::qos
443         Fixes #326311
444
445         * libs/gst/base/gstbasesink.h:
446         Added Private struct.
447         API: gst_base_sink_set_qos_enabled
448         API: gst_base_sink_is_qos_enabled
449
450 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
451
452         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
453           If compiling against GLib-2.8 or newer, try to read the
454           registry file using GMappedFile first before falling back
455           to fopen() + fread() (#332151).
456
457 2006-03-22  Wim Taymans  <wim@fluendo.com>
458
459         * gst/gstinfo.c: (gst_debug_set_active),
460         (gst_debug_category_set_threshold):
461         Disable debugging unless explicitly activated.
462         Fixes #335480.
463
464 2006-03-22  Wim Taymans  <wim@fluendo.com>
465
466         * gst/gstelement.c: (gst_element_set_locked_state),
467         (gst_element_dispose):
468         Cleanup the error case.
469
470         * gst/gstobject.c: (gst_object_dispose):
471         print a critical when some object was disposed with
472         a parent, also revive the object since it might
473         crash the parent.
474
475 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
476
477         * tools/gst-launch.1.in:
478           Fix another typo.
479
480 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
481
482         * configure.ac:
483         * tests/check/Makefile.am:
484           disable some tests when we don't have a registry
485         * tests/check/gst/gstutils.c: (gst_utils_suite):
486           don't build the part that needs parsing
487
488 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * gst/Makefile.am
491         * tests/examples/Makefile.am:
492           fix --disable-parse build
493
494 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
495
496         * tools/gst-feedback.1.in:
497           Fix typo: s/feeback/feedback/ (#133494).
498
499 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
500
501         * tools/Makefile.am:
502         * tools/gst-launch.1.in:
503           Add FILES section and correct entry about GST_REGISTRY_PATH
504           environment variable (#133495; #133494).
505
506 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
507
508         * tools/Makefile.am:
509         * tools/gst-md5sum.1.in:
510         * tools/gst-md5sum.c:
511           Remove gst-md5sum and man page (the md5sink element
512           required was removed ages ago)
513
514 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
515
516         * gst/gststructure.c: (gst_structure_id_set_value):
517           Make sure that string fields in structures/taglists
518           contain valid UTF-8 - we don't want to pass rubbish to
519           applications because of a buggy plugin (cp. #334167).
520
521 2006-03-21  Edward Hervey  <edward@fluendo.com>
522
523         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
524         (gst_bin_handle_message_func):
525         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
526         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
527         (gst_element_set_bus_func):
528         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
529         * gst/gstminiobject.c: (gst_value_set_mini_object),
530         (gst_value_take_mini_object):
531         * gst/gstpad.c: (gst_pad_set_pad_template):
532         * gst/gstpipeline.c: (gst_pipeline_dispose),
533         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
534         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
535         (gst_collect_pads_chain):
536         * libs/gst/net/gstnettimeprovider.c:
537         (gst_net_time_provider_set_property):
538         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
539         It's in fact all issues with gst_*object_replace().
540
541 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
542
543         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
544         
545         * pkgconfig/gstreamer-check-uninstalled.pc.in:
546         * pkgconfig/gstreamer-check.pc.in:
547           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
548
549 2006-03-21  Edward Hervey  <edward@fluendo.com>
550
551         * gst/gstbuffer.h:
552         * gst/gstevent.h:
553         * gst/gstmessage.h:
554         gst_[buffer|event|message]_ref() macros are replaced by a static
555         inline functions because gcc-4.1 will about if the return value
556         isn't used.
557         * tests/check/gst/gstevent.c: (event_probe):
558         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
559
560 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
561
562         * gst/gstutils.h:
563         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
564         the type' case. (Closes: #335195 for now). In the future, when we
565         depend on GLib 2.10, we could also intern the type name using
566         g_intern_static_string()
567
568 2006-03-20  Wim Taymans  <wim@fluendo.com>
569
570         * gst/gstbin.c: (gst_bin_handle_message_func),
571         (bin_query_max_init), (bin_query_position_fold),
572         (bin_query_position_done), (gst_bin_query):
573         Position query should also take max of all streams.
574
575 2006-03-20  Wim Taymans  <wim@fluendo.com>
576
577         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
578         (gst_fake_src_finalize):
579         Fix leaks in fakesrc.
580
581         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
582         Fix leaks in the testcase.
583
584 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
585
586         * gst/gst_private.h:
587           add win32 specific import decoration(__declspec(dllimport)) 
588           for all extern GstDebugCategory * variables
589         * win32/common/libgstbase.def:
590         * win32/common/libgstcontroller.def:
591         * win32/common/libgstreamer.def:
592           Add some exports, remove empty lines
593         * win32/common/libgstdataprotocol.def:
594         * win32/common/libgstdataprotocol.dsp:
595         * win32/common/libgstnet.def:
596         * win32/common/libgstnet.dsp:
597           new project files and exportation files added
598         
599 2006-03-19  Wim Taymans  <wim@fluendo.com>
600
601         * tests/check/libs/basesrc.c: (eos_event_counter):
602         Use proper return value for probe.
603
604 2006-03-17  Wim Taymans  <wim@fluendo.com>
605
606         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
607         (gst_pad_push):
608         Don't leak buffers, caps and pads on negotiation errors.
609
610 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
611
612         * docs/faq/cvs.xml:
613         * docs/faq/dependencies.xml:
614         * docs/faq/developing.xml:
615         * docs/faq/faq.xml:
616         * docs/faq/general.xml:
617         * docs/faq/getting.xml:
618         * docs/faq/legal.xml:
619         * docs/faq/troubleshooting.xml:
620         * docs/faq/using.xml:
621         Faq review and update.
622
623 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
624
625         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
626         (gst_pad_push):
627         Don't pound the cpu to pieces by checking get_caps when accept_caps
628         is called with the same caps as the pad already has.
629         Use GST_DEBUG_OBJECT when outputting caps change information.
630
631 2006-03-15  Wim Taymans  <wim@fluendo.com>
632
633         * gst/gstclock.c: (gst_clock_class_init):
634         Fix docs.
635
636 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
637
638         * gst/gstbuffer.h:
639         Documentation fix.
640
641         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
642         (gst_pad_accept_caps), (gst_pad_configure_sink),
643         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
644         Make the default acceptcaps behaviour be to check the requested 
645         caps against the gst_pad_get_caps output. 
646
647         Ensure that gst_pad_accept_caps is used to check caps when a pad
648         doesn't have a setcaps function, so that pads automatically refuse 
649         caps that they don't allow in their pad template. (Fixes #332986)
650
651         When a buffer with attached caps is pushed, ensure that the source 
652         pad receives those caps even if the element didn't call
653         gst_pad_set_caps first.
654
655 2006-03-15  Wim Taymans  <wim@fluendo.com>
656
657         * libs/gst/base/gstadapter.c:
658         Add some docs.
659
660 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
661
662         * win32/common/libgstbase.def:
663         * win32/common/libgstcontroller.def:
664         * win32/common/libgstreamer.def:
665           Add a whole bunch of missing functions (#334434).
666
667 2006-03-14  Wim Taymans  <wim@fluendo.com>
668
669         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
670         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
671         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
672         Better debug info when we receive a segment event.
673         Reorganize a bit so we can pass the get_times() results around.
674         Use the segment format when calculating the running time.
675         Don't do QoS is sync is disabled or we have no clock or the
676         element does not want us to sync to the clock.
677         Don't drop buffers if QoS is disabled for now.
678
679 2006-03-14  Wim Taymans  <wim@fluendo.com>
680
681         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
682         Marked the stats property as unimplemented so people don't get
683         wild ideas.
684         Add debug message when regression goes wrong.
685         Added some more docs.
686
687 2006-03-14  Wim Taymans  <wim@fluendo.com>
688
689         * gst/gstsegment.c: (gst_segment_to_stream_time):
690         Return correct return type in case of errors.
691
692 2006-03-14  Wim Taymans  <wim@fluendo.com>
693
694         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
695           Don't segfault on invalid formats.
696
697 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
698
699         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
700           Can't use gst_segment_to_running_time() when the segment
701           is not in GST_TIME_FORMAT (like with filesink, for example).
702           Stops flac encoding pipelines from spewing critical warnings
703           at EOS (#331248).
704           
705 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
706
707         * gst/gstpipeline.c: (gst_pipeline_class_init):
708           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
709
710         * plugins/elements/gsttypefindelement.c:
711         (gst_type_find_element_handle_event):
712           Don't try to typefind empty streams.
713
714 2006-03-14  Wim Taymans  <wim@fluendo.com>
715
716         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
717         (gst_base_sink_do_qos):
718         Separate QoS calculation.
719         Only drop buffers when lateness is bigger than the 
720         duration of the buffer.
721
722 2006-03-13  Wim Taymans  <wim@fluendo.com>
723
724         * gst/gstpipeline.c: (gst_pipeline_set_property),
725         (gst_pipeline_get_property), (do_pipeline_seek),
726         (gst_pipeline_change_state), (gst_pipeline_set_delay),
727         (gst_pipeline_get_delay):
728         Don't deadlock when reading properties.
729
730 2006-03-13  Wim Taymans  <wim@fluendo.com>
731
732         * libs/gst/base/gstbasetransform.c:
733         (gst_base_transform_class_init), (gst_base_transform_init),
734         (gst_base_transform_sink_event),
735         (gst_base_transform_sink_eventfunc),
736         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
737         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
738         (gst_base_transform_set_property),
739         (gst_base_transform_get_property),
740         (gst_base_transform_change_state), (gst_base_transform_update_qos),
741         (gst_base_transform_set_qos_enabled),
742         (gst_base_transform_is_qos_enabled):
743         * libs/gst/base/gstbasetransform.h:
744         Make basetransform virtual method for src events too.
745         Handle QOS in basetransform.
746         API: gst_base_transform_update_qos
747         API: gst_base_transform_set_qos_enabled
748         API: gst_base_transform_is_qos_enabled
749
750 2006-03-13  Wim Taymans  <wim@fluendo.com>
751
752         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
753         (gst_base_sink_do_sync):
754         Small cleanups.
755         Use QOS debug category.
756
757 2006-03-13  Wim Taymans  <wim@fluendo.com>
758
759         * plugins/elements/gstqueue.c:
760         Very small doc update.
761
762 2006-03-13  Wim Taymans  <wim@fluendo.com>
763
764         * gst/gst_private.h:
765         * gst/gstinfo.c: (_gst_debug_init):
766         Added QOS debug category
767
768 2006-03-13  Wim Taymans  <wim@fluendo.com>
769
770         * docs/gst/gstreamer-sections.txt:
771         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
772         * gst/gstbin.h:
773         * gst/gstbus.c: (gst_bus_class_init):
774         * gst/gstbus.h:
775         * gst/gstclock.c:
776         * gst/gstelement.c: (gst_element_set_locked_state):
777         * gst/gstsegment.c:
778         Documentation updates.
779
780         * gst/gstpipeline.c: (gst_pipeline_get_type),
781         (gst_pipeline_class_init), (gst_pipeline_init),
782         (gst_pipeline_dispose), (gst_pipeline_set_property),
783         (gst_pipeline_get_property), (do_pipeline_seek),
784         (gst_pipeline_send_event), (gst_pipeline_change_state),
785         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
786         (gst_pipeline_get_delay):
787         * gst/gstpipeline.h:
788         Added methods for setting the delay.
789         API: gst_pipeline_set_delay
790         API: gst_pipeline_get_delay
791         Add pipeline debug category
792         Various cleanups.
793         Updated docs.
794         Don't reset stream time when seek failed.
795
796 2006-03-13  Wim Taymans  <wim@fluendo.com>
797
798         * docs/design/draft-klass.txt:
799         * docs/design/part-clocks.txt:
800         * docs/design/part-events.txt:
801         * docs/design/part-gstbin.txt:
802         * docs/design/part-gstpipeline.txt:
803         * docs/design/part-messages.txt:
804         * docs/design/part-negotiation.txt:
805         * docs/design/part-overview.txt:
806         * docs/design/part-preroll.txt:
807         * docs/design/part-seeking.txt:
808         * docs/design/part-states.txt:
809         * docs/design/part-streams.txt:
810         Documentation updates.
811
812 2006-03-12  Julien MOUTTE  <julien@moutte.net>
813
814         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
815         us to leak strings...
816
817 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
818
819         * libs/gst/net/gstnettimeprovider.c:
820           fix docs
821         * win32/common/config.h:
822           update
823
824 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
825
826         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
827
828         * configure.ac:
829           Don't check for libgnomeui (leftover from old examples
830           that aren't built or disted any longer) (#334303).
831           
832 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
833
834         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
835         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
836           Emit RESOURCE_NO_SPACE_LEFT error here as well when
837           there's no space left on the device.
838
839 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
840
841         * gst/gstclock.h:
842           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
843           to cast the input to GstClockTime before comparing with
844           another GstClockTime value.
845
846 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
847
848         * configure.ac:
849           back to trunk
850
851 === release 0.10.4 ===
852
853 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
854
855         * configure.ac:
856           releasing 0.10.4, "Light"
857
858 2006-03-10  Michael Smith  <msmith@fluendo.com>
859
860         * libs/gst/dataprotocol/dataprotocol.c:
861           Fix docs for dataprocotol to not get the return types completely
862           wrong for a few functions.
863
864 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
865
866         * docs/gst/gstreamer-sections.txt:
867         * gst/gstpipeline.c: (gst_pipeline_class_init),
868         (gst_pipeline_init), (gst_pipeline_set_property),
869         (gst_pipeline_get_property), (gst_pipeline_change_state),
870         (gst_pipeline_set_auto_flush_bus),
871         (gst_pipeline_get_auto_flush_bus):
872         * gst/gstpipeline.h:
873           Add new API: gst_pipeline_set_auto_flush_bus() and
874           gst_pipeline_get_auto_flush_bus() to disable automatic
875           flushing of the pipeline's GstBus when going from READY
876           to NULL state (#332045).
877
878 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
879
880         * docs/gst/gstreamer-sections.txt:
881         * gst/gsturi.c: (gst_uri_has_protocol):
882         * gst/gsturi.h:
883            Add new API: gst_uri_has_protocol() (#333779).
884
885 2006-03-09  Wim Taymans  <wim@fluendo.com>
886
887         * gst/gstclock.c: (gst_clock_entry_new),
888         (gst_clock_id_compare_func), (gst_clock_id_wait),
889         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
890         (gst_clock_init), (gst_clock_get_internal_time),
891         (gst_clock_set_master), (do_linear_regression),
892         (gst_clock_add_observation), (gst_clock_set_property):
893         * gst/gstclock.h:
894         Review docs.
895         Small cleanups.
896         Fix a possible segfault when the window-size is made smaller.
897         Calculate jitter before performing the clock wait. Ideally
898         the clock implementation should calculate jitter but we need
899         API breakage for that.
900
901         * gst/gstsystemclock.c: (gst_system_clock_init):
902         Docs review.
903         
904         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
905         Remove leftover else
906
907         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
908         (gst_systemclock_suite):
909         Added check to test GST_CLOCK_DIFF.
910
911 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
912
913         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
914         (gst_type_find_helper_get_range):
915           If we are provided with the size, we should implement
916           GstTypeFind::get_length, so that typefind functions who
917           want to can actually peek at the middle of a file.
918
919 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
920
921         * docs/manual/advanced-dataaccess.xml:
922           Add some very very basic error checking.
923
924         * docs/pwg/appendix-checklist.xml:
925           Some updates to the list of things to check when writing an element.
926
927 2006-03-08  Wim Taymans  <wim@fluendo.com>
928
929         * docs/design/part-element-transform.txt:
930         Added some docs about the design of tranform elements.
931
932         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
933         (gst_base_src_loop), (gst_base_src_change_state):
934         Mark buffers with the DISCONT flag.
935
936 2006-03-08  Michael Smith  <msmith@fluendo.com>
937
938         * gst/gstregistry.h:
939         * gst/gstregistryxml.c: (gst_registry_save),
940         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
941         (gst_registry_xml_save_pad_template),
942         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
943         (gst_registry_xml_write_cache):
944           Rewrite registry-saving to avoid race conditions and check for
945           failed writes.
946
947 2006-03-08  Wim Taymans  <wim@fluendo.com>
948
949         * libs/gst/base/gstbasetransform.c:
950         (gst_base_transform_transform_caps),
951         (gst_base_transform_transform_size),
952         (gst_base_transform_prepare_output_buffer),
953         (gst_base_transform_get_unit_size),
954         (gst_base_transform_buffer_alloc),
955         (gst_base_transform_handle_buffer),
956         (gst_base_transform_change_state):
957         Cleanups, separate normal flow from errors, add sensible
958         DEBUG lines.
959         Don't try to renegotiate when allocating an output buffer.
960         Also copy DISCONT buffer flag when copying a buffer.
961         Reset the transform after we finish streaming, not during.
962
963 2006-03-08  Wim Taymans  <wim@fluendo.com>
964
965         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
966         Use last buffer timestamp in qos message.
967
968 2006-03-07  Wim Taymans  <wim@fluendo.com>
969
970         Patch by: Christophe Fergeau
971
972         * docs/pwg/advanced-tagging.xml:
973         * docs/pwg/building-pads.xml:
974           fixes #333416
975
976 2006-03-07  Wim Taymans  <wim@fluendo.com>
977
978         * docs/libs/gstreamer-libs-sections.txt:
979         Added basesink new methods.
980
981         * gst/gstevent.c:
982         * gst/gstevent.h:
983         Docs updates. Flesh out the QoS docs.
984
985         * libs/gst/base/gstadapter.c:
986         Small doc clarification about ownership and flushing.
987
988         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
989         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
990         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
991         (gst_base_sink_get_property), (gst_base_sink_do_sync):
992         * libs/gst/base/gstbasesink.h:
993         API additions: 
994         Added new methods to allow subclass to control max-lateness 
995         and sync.
996         Generate very basic QoS events based on last sync observation.
997         Updated docs, fix typo, added some QoS blurb.
998
999         * libs/gst/base/gstbasesrc.c:
1000         Remove obsolete _get_state() calls from docs.
1001
1002 2006-03-07  Wim Taymans  <wim@fluendo.com>
1003
1004         * docs/libs/gstreamer-libs-sections.txt:
1005         * libs/gst/base/gstbasetransform.h:
1006         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
1007         Fix docs for GstBaseSrc.
1008
1009 2006-03-07  Wim Taymans  <wim@fluendo.com>
1010
1011         * docs/gst/gstreamer-sections.txt:
1012         * gst/gstbuffer.h:
1013         * gst/gstvalue.c:
1014         * libs/gst/base/gstbasetransform.h:
1015         Small documentation fixes.
1016
1017 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1018
1019         * gst/gstvalue.c:
1020           Document thread-unsafety of gst_value_register_foo_func()
1021           when used at the same time as gst_value_foo() (#322628).
1022
1023 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
1024
1025         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
1026         (gst_push_src_check_get_range):
1027           Push sources don't support pull mode by default.
1028
1029 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1030
1031         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1032         (gst_base_src_init), (gst_base_src_pad_check_get_range),
1033         (gst_base_src_default_check_get_range):
1034         * libs/gst/base/gstbasesrc.h:
1035           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
1036           provide default implementation, and rename
1037           gst_base_src_check_get_range() to
1038           gst_base_src_pad_check_get_range() for clarity.
1039
1040 2006-03-06  Wim Taymans  <wim@fluendo.com>
1041
1042         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1043         Make property overridable.
1044
1045 2006-03-06  Wim Taymans  <wim@fluendo.com>
1046
1047         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1048         (gst_base_sink_init), (gst_base_sink_set_property),
1049         (gst_base_sink_get_property), (gst_base_sink_do_sync):
1050         * libs/gst/base/gstbasesink.h:
1051         API addition: Make max-lateness a property.
1052
1053 2006-03-06  Wim Taymans  <wim@fluendo.com>
1054
1055         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
1056         (gst_base_sink_do_sync), (gst_base_sink_render_object):
1057         Don't ever draw a frame that is >10ms late.
1058
1059 2006-03-06  Michael Smith  <msmith@fluendo.com>
1060
1061         * gst/gstmessage.c: (_gst_message_copy):
1062           When copying a message, set the parent_refcount of the enclosed
1063           structure to point at the copy, not the original message.
1064
1065 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
1066
1067         Patch by: Christophe Fergeau
1068
1069         * gst/gstutils.h:
1070           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
1071           usable in c++ code (#333417)
1072
1073 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1074
1075         * gst/gstclock.h:
1076           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
1077
1078 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
1079
1080         * libs/gst/base/gstbasetransform.c:
1081         (gst_base_transform_transform_caps):
1082           Make sure caps are writable before passing them to
1083           gst_caps_append().
1084
1085 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1086
1087         * gst/gsterror.h:
1088           Fix some minor docs errors.
1089
1090 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
1091
1092           Patch by: Ross Burton <ross at burtonini dot com>
1093
1094         * gst/gsterror.c: (_gst_resource_errors_init):
1095         * gst/gsterror.h:
1096           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
1097
1098 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1099
1100         * gst/gst.c:
1101         Add a check and output a g_warning when GStreamer is built
1102         against GLib 2.6 but running against 2.8 or higher, and vice 
1103         versa. (Closes: #323542)
1104
1105 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1106
1107         * gst/parse/parse.l:
1108           Commit patch for parse_launch syntax from #331255. Removes 
1109           support for quoted strings and mimetypes when writing filtered 
1110           caps. See the bug report for more details - I'm pretty sure this
1111           obscure feature is not in use by _anyone_ anywhere.
1112
1113           With this simple change, the size of the gstreamer.so here 
1114           drops from 2193KB to 1565KB.
1115
1116 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1117
1118         * plugins/elements/gsttypefindelement.h:
1119         * plugins/elements/gsttypefindelement.c:
1120         (gst_type_find_element_src_event), (start_typefinding),
1121         (stop_typefinding), (gst_type_find_element_handle_event),
1122         (gst_type_find_element_chain),
1123         (gst_type_find_element_chain_do_typefinding):
1124           Use gst_type_find_helper_for_buffer() for chain-based
1125           typefinding.
1126
1127 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1128
1129         * plugins/elements/gsttypefindelement.c:
1130         (gst_type_find_element_class_init),
1131         (gst_type_find_element_set_property),
1132         (gst_type_find_element_get_property):
1133           Deprecate "maximum" property (not only was it only taken into
1134           account for typefinding in push-mode anyway, it also was never
1135           actually possible to set it in the first place because the
1136           property was registered with the numeric property ID for the
1137           "minimum" property). Register "maximum" property correctly,
1138           for the sake of future copy'n'pasters. Remove some cruft
1139           from property get/set functions.
1140
1141 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1142
1143         * plugins/elements/gsttypefindelement.c:
1144         (gst_type_find_element_activate):
1145           Use gst_type_find_helper_get_range() here, so we
1146           can honour the "minimum" property and also emit
1147           the signal with the correct probability of the found caps.
1148
1149 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
1150
1151         * docs/libs/gstreamer-libs-sections.txt:
1152         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1153         (helper_find_suggest), (gst_type_find_helper_get_range),
1154         (gst_type_find_helper):
1155         * libs/gst/base/gsttypefindhelper.h:
1156           New API: gst_type_find_helper_get_range() (#333042).
1157
1158 2006-03-02  Michael Smith  <msmith@fluendo.com>
1159
1160         * gst/gstregistryxml.c: (load_feature):
1161           Asserting on a failure to read part of the registry is Not Cool.
1162           Just log a warning and return NULL (which is already handled)
1163
1164 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
1165
1166         * win32/common/libgstbase.def:
1167           added export of gst_type_find_helper_for_buffer
1168         * win32/common/libgstbase.def:
1169           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1170           gst_ghost_pad_get_target
1171
1172 2006-02-28  Wim Taymans  <wim@fluendo.com>
1173
1174         * docs/design/draft-klass.txt:
1175         We use Filter now.
1176         Added Connector to mark elements that are only used to
1177         allow pipeline connections.
1178         Moved Debug to extra feature since most of them are 
1179         functionally something else.
1180
1181 2006-02-28  Wim Taymans  <wim@fluendo.com>
1182
1183         * docs/design/draft-klass.txt:
1184         Some updates and clarifications.
1185
1186 2006-02-28  Wim Taymans  <wim@fluendo.com>
1187
1188         * docs/design/draft-klass.txt:
1189         Proposal for klass field values.
1190
1191         * docs/design/part-streams.txt:
1192         Start of a doc describing stream anatomy.
1193
1194 2006-02-28  Wim Taymans  <wim@fluendo.com>
1195
1196         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1197         Help the compiler a bit with type registration.
1198         Use existing forward cod path instead of duplicating it when 
1199         handling a message.
1200         
1201         * gst/gstbus.c: (gst_bus_get_type):
1202         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1203         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1204         * gst/gstclock.c: (gst_clock_get_type):
1205         * gst/gstelement.c: (gst_element_get_type),
1206         * gst/gstelementfactory.c: (gst_element_factory_get_type):
1207         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1208         * gst/gstminiobject.c: (gst_mini_object_get_type):
1209         * gst/gstpad.c: (gst_pad_get_type):
1210         * gst/gstsegment.c: (gst_segment_get_type):
1211         * gst/gststructure.c: (gst_structure_get_type):
1212         * gst/gstsystemclock.c: (gst_system_clock_get_type):
1213         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1214         * gst/gstvalue.c:
1215         Help compiler with type registration.
1216
1217         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1218         Small doc update.
1219
1220 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1221
1222         * plugins/elements/gsttypefindelement.c:
1223         (gst_type_find_element_handle_event):
1224           When we get an EOS event and have not found a type yet
1225           (most likely because we had not yet accumulated
1226           TYPE_FIND_MIN_SIZE of data yet), try to determine the
1227           type given the data we have so far. Fixes typefinding
1228           for very short streams again, most notably quicktime
1229           redirections as used on Apple's trailer site (#331701).
1230
1231 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1232
1233         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1234         (gst_type_find_helper):
1235           Try typefinding factories with the highest rank first.
1236
1237 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1238
1239         * docs/libs/gstreamer-libs-docs.sgml:
1240         * docs/libs/gstreamer-libs-sections.txt:
1241         * libs/gst/base/gsttypefindhelper.c:
1242           Add section for typefind helper and add documentation
1243           for the old and the new function.
1244
1245 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1246
1247         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1248         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1249         (gst_type_find_helper_for_buffer):
1250         * libs/gst/base/gsttypefindhelper.h:
1251           New API: gst_type_find_helper_for_buffer() (#332723).
1252           
1253 2006-02-27  Michael Smith  <msmith@fluendo.com>
1254
1255         Patch by: Loïc Minier
1256
1257         * configure.ac:
1258         * docs/Makefile.am:
1259         * docs/slides/Makefile.am:
1260           prevent CVS directories getting disted.
1261
1262 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1263
1264         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
1265           Use the REFCOUNTING category for caps refcounting.
1266           
1267 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1268
1269         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1270           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
1271
1272 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1273
1274         * plugins/elements/gsttypefindelement.c:
1275         (gst_type_find_element_activate):
1276           Use gst_pad_check_pull_range() before _activate_pull()
1277           to avoid unnecessary open/close (see #331690).
1278
1279 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1280
1281         * gst/gstutils.c:
1282           Docs enhancement: make it crystal clear what the
1283           gst_pad_add_*_probe() callbacks should look like.
1284
1285 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1286
1287         * libs/gst/base/gstbasesrc.c:
1288           Document how applications can stop recording from
1289           live sources (see #330996).
1290
1291 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1292
1293         * tests/check/Makefile.am:
1294         * tests/check/libs/basesrc.c: (eos_event_counter),
1295         (basesrc_eos_events_pull), (basesrc_eos_events_push),
1296         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
1297         (gst_basesrc_suite), (main):
1298           ... and add some tests for the base source EOS stuff.
1299
1300 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1301
1302         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
1303           Test case originally showed the problem fixed below,
1304           but was then amended. Add checks back at the place
1305           where they used to be.
1306
1307 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1308
1309         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1310         (gst_base_src_init), (gst_base_src_loop),
1311         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1312         (gst_base_src_change_state):
1313         * libs/gst/base/gstbasesrc.h:
1314           Don't unconditionally send EOS when going from PAUSED to
1315           READY state, esp. make sure we don't send two EOS events
1316           in some cases (e.g. one when reaching EOS and one when
1317           going from PAUSED to READY). Also, we don't want to send
1318           EOS events when operating in pull mode. However, we do
1319           want to send an EOS event when shutting down a live
1320           source explicitly, for example (fixes #330996).
1321           
1322 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1323
1324         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1325           Update src->read_position after a seek when not using mmap.
1326           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
1327
1328 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
1329
1330         * gst/Makefile.am:
1331         * gst/gstparse.h:
1332         * gst/gstutils.c:
1333         * gst/gstutils.h:
1334         Make things work with --disable-parse as they do with 
1335         --disable-load-save - the symbols involved disappear, but the
1336         header is still installed and GST_DISABLE_PARSE is included via
1337         gstconfig.h
1338
1339 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1340
1341         * libs/gst/base/gstbasetransform.c:
1342         (gst_base_transform_change_state): Fix a stupid bug. I was 
1343         sure I compiled that.
1344
1345 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1346
1347         * gst/gstpad.c: (gst_pad_set_blocked_async):
1348         * gst/gstutils.c: (gst_pad_add_data_probe),
1349         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1350         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1351         (gst_pad_remove_buffer_probe): Make those function act on the
1352         ghostpad target when it's a ghostpad. (Closes #331727)
1353
1354 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1355
1356         * libs/gst/base/gstbasetransform.c:
1357         (gst_base_transform_change_state): Make basetransform reusable.
1358         (Closes #331898)
1359
1360 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
1361
1362         * docs/random/release:
1363         Move the current documentation of how to do a release to the top
1364         of the file.
1365
1366         * gst/gstbin.c: (gst_bin_class_init),
1367         (gst_bin_handle_message_func):
1368         Allow multiple state-recalculation threads. (Closes #328873)
1369
1370 2006-02-19  Julien MOUTTE  <julien@moutte.net>
1371
1372         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
1373         * gst/gstpad.c: (gst_pad_set_event_function),
1374         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1375         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
1376         2 strings. You can't use the STR_NULL macro on that.
1377
1378 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
1379
1380         * gst/gstpad.c: (gst_pad_set_event_function),
1381         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1382         (gst_pad_set_getcaps_function)
1383         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
1384           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
1385           So now, we can use --gst-debug-level=5 on Windows
1386         * win32/common/libgstcontroller.def:
1387           Added export of gst_controller_init
1388         * win32/vs6/libgstcontroller.dsp:
1389           Fixed Release post build configuration
1390
1391 2006-02-17  Wim Taymans  <wim@fluendo.com>
1392
1393         * tests/check/gst/gstquery.c: (GST_START_TEST):
1394         Added another check.
1395
1396 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
1397
1398         * plugins/elements/gsttypefindelement.c: (find_peek):
1399           We can do peeks at non-zero offsets, as long as they
1400           fall within the buffer we have.
1401
1402 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
1403
1404         * tests/check/Makefile.am:
1405         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
1406         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
1407         (parse_suite), (main):
1408           Add testsuite for parse launch syntax
1409
1410 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
1411
1412         * plugins/elements/gsttypefindelement.c:
1413         (gst_type_find_element_chain):
1414           When typefinding is unsuccessful in the chain function, don't
1415           error out immediately. Only error out with NO_CAPS_FOUND if
1416           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
1417           otherwise simply wait for more data so we can try typefinding
1418           again with more data later. Also, don't attempt to typefind
1419           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
1420           this should improve typefinding from network sources where the
1421           size of the first buffer can be somewhat random.
1422
1423 2006-02-14  Wim Taymans  <wim@fluendo.com>
1424
1425         * docs/gst/gstreamer-sections.txt:
1426         * gst/gstpadtemplate.c:
1427         * gst/gstpadtemplate.h:
1428         Fix padtemplate docs, fixes #328805.
1429
1430 2006-02-14  Wim Taymans  <wim@fluendo.com>
1431
1432         * tools/gst-launch.c: (main):
1433         NO_PREROLL is not an ERROR so don't send confusing messages
1434         to the user.
1435
1436 2006-02-14  Wim Taymans  <wim@fluendo.com>
1437
1438         Patch by: Torsten Schoenfeld
1439
1440         * gst/gstregistry.c: (gst_registry_get_default),
1441         (_gst_registry_cleanup):
1442         Protect default registry with lock and ref/sink it.
1443         Fixes #324818
1444
1445 2006-02-14  Wim Taymans  <wim@fluendo.com>
1446
1447         * gst/gstbuffer.c:
1448         * gst/gstquery.c: (gst_query_list_add_format),
1449         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1450         (gst_query_parse_formats_nth):
1451         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1452         Docs fixes.
1453
1454 2006-02-14  Wim Taymans  <wim@fluendo.com>
1455
1456         * docs/gst/gstreamer-sections.txt:
1457         Reworked query docs.
1458
1459         * gst/gstquery.c: (gst_query_new_formats),
1460         (gst_query_list_add_format), (gst_query_set_formats),
1461         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1462         (gst_query_parse_formats_nth):
1463         * gst/gstquery.h:
1464         Flesh out formats query, added some new methods.
1465         Fix part of #324398.
1466
1467         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
1468         Added query creation tests.
1469
1470 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
1471
1472         * gst/gstpad.c: (fixate_value):
1473         Add a default fixation for fraction lists.
1474
1475 2006-02-13  Wim Taymans  <wim@fluendo.com>
1476
1477         * gst/gsttask.c: (gst_task_init), (gst_task_func),
1478         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
1479         (gst_task_join):
1480         * gst/gsttask.h:
1481         Detect and warn for obvious deadlocks. fixes #320340
1482         Fix error case where lock was not released.
1483
1484         * tests/check/Makefile.am:
1485         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
1486         (task_func), (gst_element_suite), (main):
1487         Add task check.
1488
1489 2006-02-13  Wim Taymans  <wim@fluendo.com>
1490
1491         * docs/gst/gstreamer-sections.txt:
1492         * gst/gstbus.c:
1493         Add new functions to docs.
1494
1495 2006-02-13  Wim Taymans  <wim@fluendo.com>
1496
1497         * docs/design/part-TODO.txt:
1498         Updated TODO list, basesrc supports seeking to non-bytes
1499         formats.
1500
1501         * docs/design/part-element-sink.txt:
1502         Update docs.
1503
1504         * gst/gstbin.c: (bin_replace_message),
1505         (gst_bin_handle_message_func):
1506         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
1507         * gst/gstevent.c: (gst_event_finalize):
1508         * gst/gstpad.c: (gst_pad_event_default_dispatch),
1509         (gst_pad_send_event):
1510         Use shiny new _TYPE_NAME macros.
1511
1512         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1513         Move debug statement up.
1514
1515         * gst/gstelement.c: (gst_element_set_locked_state):
1516         Add some debugging.
1517
1518 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
1519
1520         * docs/gst/gstreamer-sections.txt:
1521         * gst/gstmessage.h:
1522         * gst/gstquery.h:
1523           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
1524           macros (#330906). Also, document the already existing
1525           GST_QUERY_TYPE macro.
1526
1527 2006-02-13  Wim Taymans  <wim@fluendo.com>
1528
1529         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
1530         (event_probe), (GST_START_TEST):
1531         Only events up to the pipeline EOS are counted, there are
1532         some more when going to NULL currently which we don't care
1533         about for now.
1534
1535 2006-02-13  Wim Taymans  <wim@fluendo.com>
1536
1537         * gst/gstpad.c: (gst_pad_send_event):
1538         Correctly check flushing and emit probes. fixes #330125
1539
1540 2006-02-10  Andy Wingo  <wingo@pobox.com>
1541
1542         * gst/gstbus.c (gst_bus_class_init): Declare our private data
1543         structure.
1544         (gst_bus_init): Cache the location of the private data in the
1545         instance structure.
1546         (gst_bus_enable_sync_message_emission) 
1547         (gst_bus_disable_sync_message_emission): Implement new public
1548         functions.
1549         (gst_bus_post): Emit the sync-message signal if the user asked for
1550         it. Fixes #330684.
1551
1552         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
1553         location of the bus-private structure.
1554         (gst_bus_enable_sync_message_emission)
1555         (gst_bus_disable_sync_message_emission): API addition
1556
1557 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
1558
1559         Patch by: Vincent Torri
1560
1561         * docs/pwg/building-boiler.xml:
1562         PWG patch from #326800
1563
1564 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1565
1566         * configure.ac:
1567         * docs/Makefile.am:
1568         * docs/design/Makefile.am:
1569           Dist design docs.
1570
1571 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1572
1573         * configure.ac:
1574           back to CVS
1575
1576 === release 0.10.3 ===
1577
1578 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
1579
1580         * configure.ac:
1581           releasing 0.10.3, "Like a virgin"
1582
1583 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1584
1585         * configure.ac:
1586           2nd prerelease of 0.10.3
1587           Bump libtool versioning.
1588
1589 2006-02-07  Andy Wingo  <wingo@pobox.com>
1590
1591         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
1592         update last_stop if we're in TIME format and the timestamp is
1593         valid.
1594
1595         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
1596         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
1597         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1598         If we get a new newsegment with a different format, adapt
1599         accordingly.
1600
1601         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1602         of 0. Not a problem, really.
1603
1604         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1605         warn if sync=true.
1606
1607 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
1608
1609         * configure.ac:
1610           Prelease of 0.10.3
1611
1612 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
1613
1614         * win32/vs7:
1615           project files updated to the default vs7 configuration
1616         * win32/common/libgstbase.def:
1617         * win32/common/libgstreamer.def:
1618           added new symbols,
1619           removed empty lines,
1620           sorted all exported symbols alphabetically
1621         * win32/common/dirent.c:
1622         * win32/common/dirent.h:
1623         * win32/common/gchar.h:
1624           use windows line end.
1625           
1626 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1627
1628         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1629           Send EOS event when stopping.
1630
1631 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1632
1633         * docs/README:
1634           Tell folks what to do if the plugin-foobar.xml file
1635           hasn't been generated for a newly-added plugin.
1636
1637 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1638
1639         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1640         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1641         (gst_collect_pads_start), (gst_collect_pads_stop),
1642         (gst_collect_pads_event): Collectpads now holds a reference
1643         to the GstPad that was added. Indeed we don't want to look
1644         at pads that might just go away with no warning...
1645
1646 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1647
1648         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1649         (gst_collect_pads_start), (gst_collect_pads_stop),
1650         (gst_collect_pads_event), (gst_collect_pads_chain):
1651         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
1652         Mark Nauwelaerts's patch on bug #328491.
1653
1654 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1655
1656         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
1657         (gst_utils_suite):
1658           Add some simple tests for gst_parse_bin_from_description() and
1659           gst_bin_find_unconnected_pad() (#329069).
1660
1661 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1662
1663         * tools/gst-launch.c: (event_loop), (main):
1664           Catch errors during preroll (#320084).
1665
1666 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
1667
1668         * plugins/elements/gsttypefindelement.c:
1669         (gst_type_find_element_activate):
1670           Post TYPE_NOT_FOUND error message when typefinding
1671           is unsuccessful in the activate function as well.
1672
1673 2006-02-02  Wim Taymans  <wim@fluendo.com>
1674
1675         * docs/design/part-element-sink.txt:
1676         Updated doc.
1677
1678 2006-02-02  Wim Taymans  <wim@fluendo.com>
1679
1680         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1681         (gst_base_sink_render_object),
1682         (gst_base_sink_queue_object_unlocked):
1683         Only keep track of prerollable items when we are 
1684         prerolling.
1685         Before rendering after preroll, always check if we
1686         have queued items.
1687         Added some more debugging.
1688
1689 2006-02-02  Wim Taymans  <wim@fluendo.com>
1690
1691         * gst/gstelement.c: (gst_element_continue_state),
1692         (gst_element_set_state_func), (gst_element_change_state):
1693         Fixed #326576, been running this for quite some time with
1694         no regressions at all.
1695
1696 2006-02-02  Wim Taymans  <wim@fluendo.com>
1697
1698         * common/gst.supp:
1699         Added more suppressions
1700
1701 2006-02-02  Wim Taymans  <wim@fluendo.com>
1702
1703         * docs/design/part-element-sink.txt:
1704         Updated document.
1705
1706         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1707         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
1708         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
1709         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1710         (gst_base_sink_do_sync), (gst_base_sink_render_object),
1711         (gst_base_sink_preroll_object),
1712         (gst_base_sink_queue_object_unlocked),
1713         (gst_base_sink_queue_object), (gst_base_sink_event),
1714         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
1715         (gst_base_sink_loop), (gst_base_sink_activate_pull),
1716         (gst_base_sink_get_position), (gst_base_sink_change_state):
1717         * libs/gst/base/gstbasesink.h:
1718         Totally refactored matching the design doc.
1719         Use two segments, one to clip incomming buffers and another to
1720         perform sync.
1721         Handle queueing correctly, bypass the queue when playing.
1722         Make EOS cancelable.
1723         Handle errors correctly when operating in pull based mode.
1724
1725         * tests/check/elements/fakesink.c: (GST_START_TEST),
1726         (fakesink_suite):
1727         Added new check for sinks.
1728
1729 2006-02-02  Wim Taymans  <wim@fluendo.com>
1730
1731         * gst/gstsegment.c: (gst_segment_clip):
1732         No reason to refuse to clip when start == -1
1733
1734 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
1735
1736         * docs/README:
1737         * docs/manual/intro-basics.xml:
1738         * docs/manual/intro-preface.xml:
1739         * docs/manual/manual.xml:
1740         * docs/pwg/advanced-dparams.xml:
1741         * docs/pwg/intro-basics.xml:
1742         * docs/pwg/intro-preface.xml:
1743         * docs/pwg/pwg.xml:
1744           describe dparams (controller) for plugins
1745           unify docs a little more
1746
1747 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
1748
1749         * docs/gst/gstreamer-sections.txt:
1750         * gst/gstutils.c: (element_find_unconnected_pad),
1751         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
1752         * gst/gstutils.h:
1753           Add new API: gst_parse_bin_from_description() and
1754           gst_bin_find_unconnected_pad() (#329069).
1755
1756 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
1757
1758         * docs/manual/README:
1759           uncover a nasty detail of the docs build
1760
1761 2006-01-31  Wim Taymans  <wim@fluendo.com>
1762
1763         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
1764         Don't cache duration messages if we're not going to use or
1765         free them.
1766
1767 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
1768
1769         * docs/manual/advanced-dparams.xml:
1770         * docs/pwg/advanced-dparams.xml:
1771           more dparam docs
1772         * gst/gstindex.c:
1773           fix docs
1774         * libs/gst/controller/lib.c: (gst_controller_init):
1775           init just once
1776
1777 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
1778
1779         * gst/gstelement.c: (gst_element_message_full):
1780           also show file/line/func if no additional debug was given
1781
1782 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
1783         
1784         * win32/vs7/grammar.vcproj:
1785           activate copy of autogenerated files for Release mode
1786
1787 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1788         
1789         * win32/common/libgstreamer.def:
1790           export gst_value_compare
1791
1792 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
1793
1794         * plugins/elements/Makefile.am:
1795         * plugins/elements/gstelements.c:
1796         * plugins/elements/gstfdsink.c: (_do_init),
1797         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
1798         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
1799         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
1800         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
1801         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
1802         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
1803         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
1804         * plugins/elements/gstfdsink.h:
1805         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
1806
1807 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
1808
1809         * docs/manual/advanced-dparams.xml:
1810           describe controller
1811         * docs/manual/advanced-position.xml:
1812         * docs/manual/basics-init.xml:
1813         * docs/manual/manual.xml:
1814         * docs/manual/titlepage.xml:
1815         * docs/pwg/pwg.xml:
1816         * docs/pwg/titlepage.xml:
1817           cleanup xml (more to come)
1818         * libs/gst/controller/gstcontroller.c:
1819           fix typo
1820
1821 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1822         
1823         * win32/vs6/grammar.dsp:
1824           add autogen of gstmarshal.c,h for Release mode
1825                 
1826 2006-01-30  Wim Taymans  <wim@fluendo.com>
1827
1828         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1829         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
1830         (gst_base_sink_handle_object), (gst_base_sink_event),
1831         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
1832         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1833         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
1834         (gst_base_sink_deactivate), (gst_base_sink_activate),
1835         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1836         (gst_base_sink_query), (gst_base_sink_change_state):
1837         Basesink cleanups, remove some old code.
1838         Handle the case where a subclass can preroll in the render
1839         method (mostly audiosinks).
1840         Handle more events.
1841         Remove some locks around variables that are now protected
1842         with the PREROLL_LOCK (clock_id, flushing, ..).
1843         Optimize position query some more, do correct locking.
1844         Remove old code to push queue in state change, this is not
1845         needed anymore since preroll blocks on all prerollable items 
1846         now.
1847         Almost implemented as described in design doc.
1848
1849 2006-01-30  Wim Taymans  <wim@fluendo.com>
1850
1851         * tests/check/gst/gstbin.c: (GST_START_TEST):
1852         Wait for refcount to settle down before checking.
1853
1854 2006-01-30  Wim Taymans  <wim@fluendo.com>
1855
1856         * docs/design/part-element-sink.txt:
1857         Pseudo code overview of desired sink behaviour regarding
1858         preroll.
1859
1860 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1861         * win32/vs6/grammar.dsp:
1862           fix some bugs in Release mode for autogenerated files
1863                 
1864 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1865         * win32/common/libgstbase.def:
1866         * win32/common/libgstreamer.def:
1867           export some new symbols: gst_base_src_set_format,
1868           gst_iterator_next, gst_structure_set_valist
1869
1870 2006-01-29  Julien MOUTTE  <julien@moutte.net>
1871
1872         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1873         Set pad functions unconditionally. Fixes #329105.
1874
1875 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1876         * win32/vs8:
1877           add vs8 project files created by Sergey Scobich
1878
1879 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
1880
1881         * gst/gstutils.c: (gst_element_unlink_pads):
1882         Don't leak pad references.
1883
1884         * tests/check/elements/fakesink.c: (GST_START_TEST):
1885         * tests/check/generic/sinks.c: (GST_START_TEST):
1886         * tests/check/generic/states.c: (GST_START_TEST):
1887         * tests/check/gst/gstbin.c: (GST_START_TEST):
1888         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1889         * tests/check/gst/gstelement.c: (GST_START_TEST):
1890         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1891         * tests/check/gst/gstiterator.c: (GST_START_TEST):
1892         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1893         Fix a bunch of leaks. Make generic/sinks.c
1894         use a bit less cpu by slowing the buffer rate
1895         between fakesrc and fakesink.
1896         
1897 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
1898         * gst/gstcaps.c:
1899         * gst/gstelement.c: (gst_element_send_event):
1900         * gst/gstevent.c:
1901         * gst/gstinfo.c:
1902         * gst/gstiterator.c:
1903         * gst/gstiterator.h:
1904         * gst/gstpad.c: (gst_pad_send_event):
1905         * gst/gststructure.c:
1906         * gst/gsturi.c:
1907         * gst/gstutils.c:
1908         * gst/gstvalue.c:
1909         * libs/gst/base/gstadapter.c:
1910           doc fixes, to link to function, just write gst_cool_function(), don't
1911           prefix with '#'
1912
1913 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1914
1915         * plugins/elements/gsttee.c: (gst_tee_do_push),
1916         (gst_tee_handle_buffer):
1917         Always prefer an actual return value from a src
1918         pad in place of NOT_LINKED. This means we return
1919         WRONG_STATE when all src pads are WRONG_STATE
1920         instead of NOT_LINKED.
1921
1922         Lock when replacing the last message to prevent
1923         racing with the get_property method.
1924
1925         Add debug output
1926
1927 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1928
1929         * tests/check/Makefile.am:
1930         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
1931         (main):
1932         Add a very simple check that should have caught the memleak I fixed
1933         last night (if not for the slice allocator hiding it)
1934
1935 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1936
1937         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1938         (gst_bin_remove_func), (gst_bin_handle_message_func),
1939         (bin_query_duration_fold), (bin_query_generic_fold):
1940         Clean up references to the clock provider when disposed or when
1941         handling a clock-lost message from it.
1942
1943         Unref sinks when performing a query via gst_iterator_fold, as the
1944         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
1945
1946         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
1947         (gst_clock_set_master):
1948         Drop our reference to the master clock, if any, when we are disposed.
1949
1950         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
1951         Chain up in dispose. 
1952
1953 2006-01-26  Wim Taymans  <wim@fluendo.com>
1954
1955         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1956         Add some debugging.
1957
1958 2006-01-26  Julien MOUTTE  <julien@moutte.net>
1959
1960         * plugins/elements/gsttee.c: (gst_tee_do_push),
1961         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
1962         handles pad being NOT_LINKED or in WRONG_STATE.
1963
1964 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1965
1966         * win32/MANIFEST:
1967           more updating
1968
1969 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1970
1971         * win32/MANIFEST:
1972           remove obsolete entry
1973
1974 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1975
1976         * docs/gst/gstreamer-sections.txt:
1977         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
1978         (gst_bin_iterate_sources), (gst_bin_send_event):
1979         * gst/gstbin.h:
1980         * gst/gstelement.c: (gst_element_send_event):
1981         * gst/gstevent.c:
1982         * gst/gstpad.c: (gst_pad_send_event):
1983           added code for downstream events, reviewed docs in gstevent.c
1984
1985 2006-01-25  Julien MOUTTE  <julien@moutte.net>
1986
1987         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1988         We only query position using the clock in the playing state.
1989         Query peer in the other cases.
1990         * win32/common/config.h: Updates.
1991
1992 2006-01-24  Wim Taymans  <wim@fluendo.com>
1993
1994         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1995         A clock entry that is scheduled for the exact time of the
1996         clock is still in time.
1997
1998         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1999         (gst_base_sink_do_sync):
2000         Add some more debug info.
2001
2002 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2003
2004         * win32/vs7:
2005           Add new vs7 project files and solution.
2006
2007 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
2008
2009         * win32/vs7:
2010           all files removed as they were out-dated.
2011
2012 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2013
2014         * docs/random/release:
2015           update notes
2016         * gst/gstbin.c: (gst_bin_init):
2017         * gst/gstbus.c: (gst_bus_new):
2018         * gst/gstbus.h:
2019         * gst/gstpipeline.c: (gst_pipeline_init):
2020           use gst_bus_new(), improve logging, fix docs
2021         * win32/common/config.h:
2022           update for cvs build
2023
2024 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2025
2026         * autogen.sh:
2027           up required version of automake to 1.7
2028
2029 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
2030
2031         * win32/common/libgstreamer.def:
2032           export gst_buffer_is_metadata_writable
2033
2034 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
2035
2036         * docs/gst/gstreamer-sections.txt:
2037         * gst/gstevent.h:
2038           Add gst_event_replace() (#327001)
2039
2040 2006-01-20  Wim Taymans  <wim@fluendo.com>
2041
2042         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2043         Make it actually compile too..
2044
2045 2006-01-20  Wim Taymans  <wim@fluendo.com>
2046
2047         * gst/gstcaps.c:
2048         Clarify behaviour of _is_equal() when passing NULL parameters.
2049
2050         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2051         (gst_pad_set_caps):
2052         Cleanups. Don't unref NULL caps.
2053         When setting the same caps, protect caps of the pad with
2054         proper lock.
2055         Use full functionality of _is_equal() when comparing caps.
2056
2057 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2058
2059         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2060         Don't loop infinitely if there are no buffers to present. Partially
2061         fixes #327197, but collectpads is just broken for reusing elements
2062         to do multiple encodes atm.
2063
2064 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
2065
2066         * tools/gst-inspect.c: (print_element_features):
2067         * tools/gst-xmlinspect.c: (main):
2068         URL_HANDLER is not a plugin feature we can search for in
2069         the registry.
2070
2071 2006-01-19  Edward Hervey  <edward@fluendo.com>
2072
2073         * gst/gstelement.c: (gst_element_pads_activate): 
2074         When activating, do src pads first, then sink pads.
2075         When de-activating, do sink pads first, then src pads.
2076
2077 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2078
2079         * docs/gst/gstreamer-sections.txt:
2080         Add gst_index_add_associationv to the docs
2081
2082 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2083
2084         * gst/gstevent.c:
2085           Fix docs typo
2086
2087         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
2088         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
2089           Do some refactoring. Doesn't actually change functionality,
2090           but makes landing the DRAIN event easier later.
2091
2092 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
2093
2094         * docs/pwg/advanced-scheduling.xml:
2095           Update from 0.9.x to 0.10 API and make example a bit
2096           clearer.
2097
2098 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2099
2100         * docs/gst/gstreamer-sections.txt:
2101         Add gst_buffer_(is|make)_metadata_writable methods.
2102
2103 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2104
2105         * docs/design/part-sparsestreams.txt:
2106         Update sparse streams doc, hopefully for greater clarity
2107
2108 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
2109
2110         * docs/design/part-events.txt:
2111         Remove mention of FILLER events.
2112         Add DRAIN event.
2113
2114         * docs/design/part-sparsestreams.txt:
2115         Write some things about using NEWSEGMENT to keep sparse streams
2116         flowing.
2117
2118 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2119
2120         * gst/gstbin.c: (gst_bin_dispose):
2121           Guard gst_object_unref call against a NULL object (dispose
2122           can theoretically be called multiple times).
2123           
2124 2006-01-18  Wim Taymans  <wim@fluendo.com>
2125
2126         * gst/gstbin.c: (gst_bin_element_set_state):
2127         * gst/gstclock.c: (gst_clock_id_wait):
2128         Added some more debug info.
2129
2130         * libs/gst/base/gstadapter.c:
2131         Added more docs.
2132
2133         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2134         (gst_base_sink_do_sync), (gst_base_sink_chain):
2135         Added some comments.
2136
2137 2006-01-18  Wim Taymans  <wim@fluendo.com>
2138
2139         * tests/check/Makefile.am:
2140         * tests/check/elements/fakesink.c: (chain_async_buffer),
2141         (chain_async), (chain_async_return), (GST_START_TEST),
2142         (fakesink_suite), (main):
2143         Added fakesink test that checks prerolling and clipping
2144         behaviour.
2145
2146         * tests/check/gst/gstutils.c: (GST_START_TEST):
2147         Make check run faster so that buildbots don't timeout.
2148
2149 2006-01-18  Wim Taymans  <wim@fluendo.com>
2150
2151         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2152         (gst_base_sink_do_sync):
2153         Some cleanups.
2154         When the sink finishes blocking on the preroll buffer, it can
2155         immediatly render it instead of rendering when the next buffer
2156         arrives.
2157
2158 2006-01-18  Wim Taymans  <wim@fluendo.com>
2159
2160         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2161         (gst_base_sink_get_property), (gst_base_sink_do_sync),
2162         (gst_base_sink_chain):
2163         Small cleanups.
2164         GST_ELEMENT_CLOCK and sync are protected with LOCK.
2165         Don't store _last_stop if the buffer is dropped.
2166
2167 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2168
2169         * plugins/elements/gsttypefindelement.c:
2170         (gst_type_find_element_class_init):
2171           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2172           object method handler that sets the caps on the pad and we want
2173           that to happen before we emit the signal (fixes e.g. feeding a
2174           plain text file to decodebin).
2175
2176 2006-01-18  Christian Schaller  <Christian@fluendo.com>
2177
2178         * gst/gstplugin.c: Add MPL and Proprietary as license options
2179
2180 2006-01-18  Andy Wingo  <wingo@pobox.com>
2181
2182         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2183         symbol was exported before, it appears this was just an oversight.
2184         Fixes #168703.
2185         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2186
2187         * gst/gstindex.c (gst_index_add_associationv): Changed int in
2188         prototype to gint. OK since this prototype was not in the header.
2189
2190 2006-01-17  Andy Wingo  <wingo@pobox.com>
2191
2192         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2193         registry while we remove plugins.
2194
2195         * tools/gst-inspect.c (print_element_info): Don't unref the
2196         factory arg, that should be the responsibility of whatever code
2197         received the ref. Fixes a double-free when called from
2198         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2199         (main): Unref the factory if we have one.
2200         (print_element_list): No change -- relies on the
2201         plugin_feature_list_free to free the list of features.
2202
2203 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
2204
2205         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2206         (gst_buffer_make_metadata_writable):
2207         * gst/gstbuffer.h:
2208         * libs/gst/base/gstbasetransform.c:
2209         (gst_base_transform_prepare_output_buf):
2210         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2211         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2212           Replace gst_buffer_(make|is)_metadata_writable patch now
2213           that the release is out.
2214
2215 2006-01-17  Andy Wingo  <wingo@pobox.com>
2216
2217         * gst/gstregistry.c: Reflow design comment. Update so as to speak
2218         in the present tense without reference to versions.
2219
2220         * gst/gstregistry.c (gst_registry_add_plugin)
2221         (gst_registry_remove_plugin, gst_registry_remove_feature)
2222         (gst_registry_find_feature, gst_registry_get_feature_list)
2223         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2224         (gst_registry_lookup, gst_registry_scan_path)
2225         (_gst_registry_remove_cache_plugins)
2226         (gst_registry_get_feature_list_by_plugin): Add argument
2227         validation.
2228
2229 === release 0.10.2 ===
2230
2231 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
2232
2233         * configure.ac:
2234           releasing 0.10.2, "If man is five"
2235
2236 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2237
2238         * gst/gstbuffer.c:
2239         * gst/gstbuffer.h:
2240         * libs/gst/base/gstbasetransform.c:
2241         (gst_base_transform_prepare_output_buf):
2242         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2243         * tests/check/gst/gstbuffer.c: (gst_test_suite):
2244           Back out patch until after the release.
2245
2246 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2247
2248         * gst/gstminiobject.c:
2249           Spelling fix in docs.
2250         * ChangeLog - remove conflict indicator
2251
2252 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2253
2254         Reviewed By: Andy Wingo
2255
2256         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2257         (gst_buffer_make_metadata_writable):
2258         * gst/gstbuffer.h:
2259           Add gst_buffer_(is|make)_metadata_writable as analogues of
2260           gst_buffer_(is|make)_writable.
2261
2262         * libs/gst/base/gstbasetransform.c:
2263         (gst_base_transform_prepare_output_buf):
2264         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2265           Use name gst_buffer_(is|make)_metadata_writable functions.
2266
2267         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2268           Test gst_buffer_(is|make)_metadata_writable
2269         
2270           (Closes: #324162)
2271
2272 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2273
2274         * docs/manual/Makefile.am:
2275           don't do parallel make
2276         * configure.ac:
2277           AC_SUBST HOST_CPU
2278         * win32/common/config.h.in:
2279           add generations for HOST_CPU and GST_MAJORMINOR
2280         * win32/common/config.h:
2281           commit generated result
2282
2283 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
2284
2285         * docs/manual/appendix-integration.xml:
2286           Update GNOME integration section to use gst_init_get_option_group()
2287           instead of the old popt stuff (#322911). Also, GNOME applications
2288           should  now use gconf*sink and gconf*src instead of the old gconf
2289           helper lib we had.
2290
2291 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
2292
2293
2294         * docs/gst/gstreamer-docs.sgml:
2295         * docs/gst/gstreamer-sections.txt:
2296         * docs/libs/gstreamer-libs-sections.txt:
2297           add new API entries to the docs
2298         * libs/gst/controller/Makefile.am:
2299         * libs/gst/controller/gstcontroller.c:
2300         * libs/gst/controller/gstcontroller.h:
2301         * libs/gst/controller/gstcontrollerprivate.h:
2302         * libs/gst/controller/gsthelper.c:
2303         * libs/gst/controller/gstinterpolation.c:
2304           move private structs to private header
2305         * po/README:
2306           gstreamer-0.7 -> gstreamer-0.10
2307         * tests/check/libs/struct_i386.h:
2308           remove private structs
2309
2310 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2311
2312         * plugins/indexers/Makefile.am:
2313           Fixes as part of #317048
2314
2315 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2316
2317         * plugins/indexers/Makefile.am:
2318           fix #316086 - compilation when mmap is missing
2319
2320 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
2321
2322         * libs/gst/base/gstbasesink.c:
2323           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
2324           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
2325         * win32/common/config.h:
2326           added some defines GST_MAJORMINOR and HOST_CPU
2327         * win32/common/libgstbase.def:
2328         * win32/common/libgstreamer.def:
2329           added some exported functions.
2330
2331 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2332
2333         * libs/gst/controller/gstcontroller.c:
2334         (gst_controlled_property_set_interpolation_mode),
2335         (gst_controlled_property_new):
2336         * libs/gst/controller/gstcontroller.h:
2337         * libs/gst/controller/gstinterpolation.c:
2338         (interpolate_none_get_string_value_array):
2339           make G_TYPE_STRING controlable
2340
2341 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2342
2343         * tools/README:
2344         * tools/gst-feedback.1.in:
2345         * tools/gst-inspect.1.in:
2346         * tools/gst-launch.1.in:
2347         * tools/gst-md5sum.1.in:
2348         * tools/gst-typefind.1.in:
2349         * tools/gst-xmlinspect.1.in:
2350         * tools/gst-xmllaunch.1.in:
2351           cleanup man-pages, remove reference to gst-register, document env-vars
2352
2353 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
2354
2355         * gst/gstbuffer.c: (gst_buffer_span):
2356           gst_buffer_span should copy the timestamp of the first buffer
2357           if they were both originally overlapping subbuffers of the 
2358           same parent, using the same logic as the 'slow copy' case.
2359
2360 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
2361
2362         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
2363           Need to awaken ALL the pads when we pop a buffer, otherwise
2364           collectpads only works when there is 2 input streams.
2365
2366 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
2367
2368         * docs/random/ensonic/media-device-daemon.txt:
2369           more ideas (dbus)
2370         * gst/gstbuffer.c:
2371           fix doc example, add clarification
2372         * tools/gst-launch.1.in:
2373           add initial info about GST_PLUGIN_PATH, needs more work
2374
2375 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2376
2377         * docs/manual/basics-bins.xml:
2378         * docs/manual/basics-elements.xml:
2379         * docs/manual/intro-basics.xml:
2380           Some more minor docs additions and updates.
2381
2382 2006-01-11  Wim Taymans  <wim@fluendo.com>
2383
2384         * docs/manual/basics-bins.xml:
2385         * docs/manual/basics-elements.xml:
2386         Some small fixes as pointed out by Ser-ver on IRC.
2387
2388 2006-01-10  Edward Hervey  <edward@fluendo.com>
2389
2390         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2391         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
2392         the single-segment mode.
2393
2394 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
2395
2396         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2397
2398         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
2399         (gst_base_src_perform_seek), (gst_base_src_send_event),
2400         (gst_base_src_set_property), (gst_base_src_get_property),
2401         (gst_base_src_loop), (gst_base_src_start),
2402         (gst_base_src_activate_push):
2403         * libs/gst/base/gstbasesrc.h:
2404           Name (private) union; makes Sun's Forte compiler happy (#324900).
2405
2406 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2407
2408         * README:
2409           gst-register is gone.
2410
2411 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2412
2413         * gst/gstvalue.c: (_gst_value_initialize):
2414           make the G_TYPE_DATE instantiation work if debug is disabled
2415
2416 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
2417
2418         * gst/gstmessage.c: (gst_message_parse_tag),
2419         (gst_message_parse_error), (gst_message_parse_warning):
2420           Don't crash when return location for error/warning debug
2421           string is NULL; add fact that return locations can be
2422           NULL to docs where appropriate.
2423
2424 2006-01-05  Wim Taymans  <wim@fluendo.com>
2425
2426         * gst/gstplugin.c: (gst_plugin_load_file):
2427         Replace strdup by g_strdup.
2428
2429 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2430
2431         * docs/pwg/advanced-types.xml:
2432           fix doc borkage
2433
2434 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2435
2436         submitted by: Abel Cheung
2437
2438         * po/LINGUAS:
2439         * po/zh_TW.po:
2440           Added Chinese (traditional) translation
2441
2442 2006-01-04  Wim Taymans  <wim@fluendo.com>
2443
2444         * docs/manual/basics-pads.xml:
2445         * docs/plugins/Makefile.am:
2446         * docs/plugins/gstreamer-plugins-docs.sgml:
2447         * docs/plugins/gstreamer-plugins-sections.txt:
2448         * docs/pwg/advanced-clock.xml:
2449         * docs/pwg/advanced-scheduling.xml:
2450         * docs/pwg/advanced-types.xml:
2451         * plugins/elements/gstfdsink.c:
2452         * plugins/elements/gstfdsrc.c:
2453         * plugins/elements/gstfdsrc.h:
2454         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2455         * plugins/elements/gstidentity.h:
2456         * plugins/elements/gstqueue.h:
2457         * plugins/elements/gsttee.c:
2458         * plugins/elements/gsttee.h:
2459         * plugins/elements/gsttypefindelement.c:
2460         (gst_type_find_element_class_init):
2461         * plugins/elements/gsttypefindelement.h:
2462         Small updates to various docs.
2463         Added core plugins to docs.
2464
2465 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2466
2467         * common/gst.supp:
2468           add a suppression for liboil's uninitialized variable
2469
2470 2006-01-02  James Livingston  <jrl at ids dot org dot au>
2471
2472         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2473
2474         * gst/gstutils.h:
2475           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
2476           macro, so that gcc doesn't complain if the -Wmissing-prototypes
2477           compiler switch is being used (#325429).
2478
2479 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
2480
2481         * gst/gstbin.c: (gst_bin_query):
2482           Disable duration query caching in bins until it gets
2483           fixed (see #324807).
2484
2485 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2486
2487         * tools/gst-inspect.c: (print_element_properties_info):
2488           Handle properties of POINTER and BOXED type.
2489
2490 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2491
2492         * gst/gst.c: (init_post):
2493           Init tags stuff and some other things before loading
2494           any static plugins (there may be other static plugins
2495           than just the GStreamer ones, and they may want to
2496           register their own tags or formats or whatever, and
2497           preferably without segfaulting).
2498
2499         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2500           Print at least a warning in the debug logs if we drop a
2501           query just because we don't know how to adjust the value
2502           in the particular format.
2503
2504 2005-12-24  David Schleef  <ds@schleef.org>
2505
2506         * tools/gstreamer-completion:
2507           Replacement for gst-complete written in sh and sed.  Only
2508           completes names of features, but that's 90% of what I want
2509           it for.  Properties are not available in registry.xml.  (Maybe
2510           they should be...)
2511
2512 === release 0.10.1 ===
2513
2514 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
2515
2516         * configure.ac:
2517           releasing 0.10.1, "Nollaig chridheil"
2518
2519 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
2520
2521         * docs/faq/cvs.xml:
2522           Add missing quote, should be make ERROR_CFLAGS="".
2523
2524 2005-12-20  Wim Taymans  <wim@fluendo.com>
2525
2526         * docs/design/part-trickmodes.txt:
2527         More documentation on trickmodes.
2528
2529 2005-12-20  Edward Hervey  <edward@fluendo.com>
2530
2531         * gst/gstcaps.c: (gst_static_caps_get_type):
2532         * gst/gstcaps.h:
2533           API addition: GST_TYPE_STATIC_CAPS
2534         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
2535         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
2536         * gst/gstpadtemplate.h:
2537           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
2538         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
2539         bindings.
2540
2541 2005-12-18  Wim Taymans  <wim@fluendo.com>
2542
2543         * libs/gst/base/gstadapter.c:
2544         * libs/gst/base/gstadapter.h:
2545         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2546         (gst_base_sink_get_position):
2547         * libs/gst/base/gstbasesink.h:
2548         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2549         (gst_base_src_default_query), (gst_base_src_default_do_seek),
2550         (gst_base_src_do_seek), (gst_base_src_perform_seek),
2551         (gst_base_src_send_event), (gst_base_src_update_length),
2552         (gst_base_src_get_range), (gst_base_src_loop),
2553         (gst_base_src_start):
2554         * libs/gst/base/gstbasesrc.h:
2555         * libs/gst/base/gstbasetransform.h:
2556         * libs/gst/base/gstcollectpads.h:
2557         * libs/gst/base/gstpushsrc.c:
2558         * libs/gst/base/gstpushsrc.h:
2559         * libs/gst/dataprotocol/dataprotocol.c:
2560         * libs/gst/dataprotocol/dataprotocol.h:
2561         * libs/gst/net/gstnetclientclock.h:
2562         * libs/gst/net/gstnettimeprovider.h:
2563         Documentation updates.
2564
2565 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2566
2567         * docs/manual/basics-helloworld.xml:
2568           Remove superfluous closing bracket in helloworld example.
2569
2570 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2571
2572         * tools/gst-launch.1.in:
2573           Update gst-launch man page; add a section with useful
2574           environment variables. Fixes #323882.
2575
2576 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
2577
2578         * gst/gst.c:
2579         * gst/gst_private.h:
2580           change some char* into char[]
2581
2582 2005-12-16  Wim Taymans  <wim@fluendo.com>
2583
2584         * gst/gstregistryxml.c: (load_feature):
2585         Cleanups.
2586         Don't use g_object_unref on GstObjects so that we avoid
2587         leaks on unsafe glibs.
2588
2589 2005-12-16  Wim Taymans  <wim@fluendo.com>
2590
2591         * gst/gstbin.c: (gst_bin_recalc_state):
2592         Small doc updates.
2593
2594 2005-12-16  Wim Taymans  <wim@fluendo.com>
2595
2596         * common/check.mak:
2597         Added make forever target for check.
2598
2599 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2600
2601         * gst/gst.c: (init_post):
2602           make the registry cache file HOST_CPU-dependent
2603
2604 2005-12-16  Andy Wingo  <wingo@pobox.com>
2605
2606         * plugins/elements/gstbufferstore.c
2607         (gst_buffer_store_cleared_func): Pay attention to g_list_append
2608         return value.
2609
2610         * tests/check/gst/gstobject.c
2611         (test_fake_object_name_threaded_unique): Pay attention to
2612         g_list_sort return value.
2613
2614 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2615
2616         * tools/gst-feedback-m.m:
2617           Update for 0.9/0.10 (fixes #323870).
2618
2619 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
2620
2621         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2622           Fix lcopy for mini objects, the mini object needs to be ref'ed.
2623           
2624         * tests/check/gst/gstminiobject.c: (my_foo_init),
2625         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2626         (test_value_collection), (gst_mini_object_suite):
2627           Add test to ensure refcounts end up as expected when passing
2628           GstMiniObjects through g_object_get() and g_object_set().
2629
2630 2005-12-14  Julien MOUTTE  <julien@moutte.net>
2631
2632         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2633         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2634         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2635         of collectpads. This version removes a lot of races without
2636         touching API/ABI. Yay !
2637
2638 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
2639
2640         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2641           Don't allow activation of a srcpad in pull_range if it has no
2642           getrange function.
2643           Change some debug statements to be a little clearer
2644
2645         * plugins/elements/gsttypefindelement.c:
2646         (gst_type_find_handle_src_query):
2647           Check that we have a peer before executing queries thereupon.
2648
2649         * tests/examples/metadata/read-metadata.c: (message_loop):
2650           Use gst_bus_pop instead of gst_bus_poll when we just want it to
2651           immediately return us any available message with 0 timeout.
2652
2653 2005-12-12  Michael Smith  <msmith@fluendo.com>
2654
2655         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2656           Don't unref factories after calling them.
2657         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
2658         * plugins/elements/gsttypefindelement.c:
2659         (gst_type_find_element_chain):
2660           Free lists of factories after using them. Fixing typefinding memory
2661           leaks.
2662
2663 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2664
2665         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2666         (gst_plugin_feature_load):
2667           more meaningful debug output
2668         * configure.ac:
2669         * tests/Makefile.am:
2670         * tests/old/examples/Makefile.am:
2671           make make distcheck happy again
2672
2673 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2674
2675         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2676           Catch the special case where we are operating chain-based,
2677           but the downstream peer pad has no chain function. Emit a
2678           custom error message in this case instead of letting the
2679           core generate one implying that this is some sort of core
2680           bug. It's not, it just means that whatever got plugged
2681           into the pipeline downstream when we announced the type
2682           can only operate pull-based, while our source can only
2683           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
2684           Error string has not been marked for translation yet, as
2685           it probably needs some more work first.
2686
2687         (gst_type_find_element_get_best_possibility):
2688           Add helper function to find the best of all available
2689           found possibilities that qualify given the min. threshold.
2690
2691         (gst_type_find_element_handle_event):
2692           Fix the case where we get an EOS while still in TYPEFIND
2693           mode (we want to chose the best of all possible types,
2694           not just the first type that happens to be in our unsorted
2695           list of possible types).
2696
2697         (gst_type_find_element_chain):
2698           Make sure we return GST_FLOW_ERROR when we errored out
2699           in stop_typefinding(); also, don't just find the best of
2700           all found type entries and then use the last examined
2701           type entry, but actually use the best entry.
2702
2703 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2704
2705         * tests/examples/typefind/typefind.c: (type_found):
2706         * tests/examples/xml/runxml.c: (xml_loaded):
2707           More gcc4 fixes and a mem leak fix.
2708
2709 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2710
2711         * tests/examples/xml/createxml.c: (object_saved):
2712           gcc 4 fixes
2713
2714 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2715
2716         * tests/Makefile.am:
2717           enable the examples even more
2718
2719 2005-12-12  Andy Wingo  <wingo@pobox.com>
2720
2721         * libs/gst/net/gstnettimeprovider.c
2722         (gst_net_time_provider_class_init, gst_net_time_provider_init)
2723         (gst_net_time_provider_set_property)
2724         (gst_net_time_provider_get_property):
2725         API addition: Export "active" as a GObject property.
2726         (gst_net_time_provider_thread): Only respond to time queries if
2727         the time provider is active.
2728
2729         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
2730         NetTimeProvider, preserving binary compat.
2731
2732 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2733
2734         * tests/examples/controller/audio-example.c: (main):
2735         * tests/examples/launch/Makefile.am:
2736           convert comments again
2737
2738 2005-12-12  Wim Taymans  <wim@fluendo.com>
2739
2740         * libs/gst/base/gstpushsrc.c:
2741         Fix typo.
2742
2743 2005-12-12  Wim Taymans  <wim@fluendo.com>
2744
2745         * docs/libs/gstreamer-libs-sections.txt:
2746         Added new symbol to docs.
2747
2748         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2749         (gst_base_src_init), (gst_base_src_set_format),
2750         (gst_base_src_default_query), (gst_base_src_query),
2751         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
2752         (gst_base_src_perform_seek), (gst_base_src_send_event),
2753         (gst_base_src_default_event), (gst_base_src_event_handler),
2754         (gst_base_src_set_property), (gst_base_src_get_property),
2755         (gst_base_src_wait), (gst_base_src_do_sync),
2756         (gst_base_src_update_length), (gst_base_src_get_range),
2757         (gst_base_src_check_get_range), (gst_base_src_loop),
2758         (gst_base_src_default_negotiate), (gst_base_src_start),
2759         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2760         (gst_base_src_change_state):
2761         * libs/gst/base/gstbasesrc.h:
2762         Implement seeking to other formats than _BYTES.
2763         Implement more seeking methods correctly.
2764         Doc updates.
2765         Added query vmethod.
2766         Added do_seek vmethod to make life easier for subclasses
2767         when seeking.
2768         API addition: gst_base_src_set_format()
2769
2770 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2771
2772         * tests/examples/Makefile.am:
2773           added that too
2774
2775 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2776
2777         * configure.ac:
2778         * docs/random/ensonic/media-device-daemon.txt:
2779         * tests/examples/controller/.cvsignore:
2780         * tests/examples/controller/Makefile.am:
2781         * tests/examples/controller/audio-example.c: (main):
2782         * tests/examples/helloworld/.cvsignore:
2783         * tests/examples/helloworld/Makefile.am:
2784         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
2785         * tests/examples/launch/.cvsignore:
2786         * tests/examples/launch/Makefile.am:
2787         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
2788         * tests/examples/metadata/.cvsignore:
2789         * tests/examples/metadata/Makefile.am:
2790         * tests/examples/metadata/read-metadata.c: (message_loop),
2791         (make_pipeline), (print_tag), (main):
2792         * tests/examples/queue/.cvsignore:
2793         * tests/examples/queue/Makefile.am:
2794         * tests/examples/queue/queue.c: (event_loop), (main):
2795         * tests/examples/typefind/.cvsignore:
2796         * tests/examples/typefind/Makefile.am:
2797         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
2798         (main):
2799         * tests/examples/xml/.cvsignore:
2800         * tests/examples/xml/Makefile.am:
2801         * tests/examples/xml/createxml.c: (object_saved), (main):
2802         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
2803         * tests/old/examples/Makefile.am:
2804         * tests/old/examples/TODO:
2805         * tests/old/examples/controller/.cvsignore:
2806         * tests/old/examples/controller/Makefile.am:
2807         * tests/old/examples/controller/audio-example.c:
2808         * tests/old/examples/helloworld/.cvsignore:
2809         * tests/old/examples/helloworld/Makefile.am:
2810         * tests/old/examples/helloworld/helloworld.c:
2811         * tests/old/examples/launch/.cvsignore:
2812         * tests/old/examples/launch/Makefile.am:
2813         * tests/old/examples/launch/mp3parselaunch.c:
2814         * tests/old/examples/launch/mp3play:
2815         * tests/old/examples/manual/Makefile.am:
2816         * tests/old/examples/metadata/Makefile.am:
2817         * tests/old/examples/metadata/read-metadata.c:
2818         * tests/old/examples/queue/.cvsignore:
2819         * tests/old/examples/queue/Makefile.am:
2820         * tests/old/examples/queue/queue.c:
2821         * tests/old/examples/typefind/.cvsignore:
2822         * tests/old/examples/typefind/Makefile.am:
2823         * tests/old/examples/typefind/typefind.c:
2824         * tests/old/examples/xml/.cvsignore:
2825         * tests/old/examples/xml/Makefile.am:
2826         * tests/old/examples/xml/createxml.c:
2827         * tests/old/examples/xml/runxml.c:
2828           applied some simple fixing to some examples
2829           re-enabled the working examples
2830
2831 2005-12-12  Wim Taymans  <wim@fluendo.com>
2832
2833         * gst/gstsegment.c: (gst_segment_init),
2834         (gst_segment_set_last_stop), (gst_segment_set_seek),
2835         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2836         (gst_segment_to_running_time):
2837         Added more documentation.
2838         Make sure the last_pos value is updated properly.
2839         Make sure to_stream_time and to_running_time don't
2840         operate on wrong values.
2841
2842         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2843         Update check.
2844
2845 2005-12-12  Michael Smith  <msmith@fluendo.com>
2846
2847         * plugins/elements/gsttypefindelement.c: (free_entry),
2848         (gst_type_find_element_chain):
2849           Now that we're not leaking factories, make sure we keep references
2850           to them while we need them.
2851
2852 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2853
2854         * tests/check/gst/struct_i386.h:
2855           ifdef out the XML structs
2856
2857 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2858
2859         * gst/gstvalue.c: (gst_value_transform_double_fraction):
2860           floor is not needed, F is always positive; this obviates the
2861           need for adding -lm when building without libxml
2862
2863 2005-12-12  Wim Taymans  <wim@fluendo.com>
2864
2865         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2866         Take current playback rate into account when reporting
2867         the position.
2868
2869 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2870
2871         * docs/manual/mime-world.fig:
2872           Let's try this again, this time with a file that is
2873           actually in XFig format.
2874
2875 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2876
2877         * docs/manual/mime-world.fig:
2878           Add audioconvert element to diagram so that it
2879           matches the text and the code (fixes #319526).
2880
2881 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2882
2883         * docs/pwg/building-chainfn.xml:
2884         * docs/pwg/building-pads.xml:
2885         * docs/pwg/building-state.xml:
2886         * docs/pwg/other-source.xml:
2887           Update state change stuff for 0.10 (fixes #322969).
2888
2889 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2890
2891         * docs/manual/advanced-dataaccess.xml:
2892         * docs/manual/appendix-checklist.xml:
2893         * docs/manual/appendix-programs.xml:
2894         * docs/manual/basics-pads.xml:
2895         * docs/manual/highlevel-components.xml:
2896         * docs/manual/manual.xml:
2897           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
2898           add converters in front of pipelines; remove curly
2899           brackets for threads stuff, they no longer exist; use
2900           GST_TYPE_FRACTION for framerates; update some pieces of
2901           code to 0.10, but there's plenty more to do.
2902
2903         * docs/manual/appendix-porting.xml:
2904           Expand on asynchroneous state changes; s/0.9/0.10/;
2905           mention disappearance of gst_init_get_popt_table()
2906           (fixes #322916).
2907
2908 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2909
2910         * docs/faq/using.xml:
2911           Spider no longer exists, and neither does gst-launch-ext.
2912           Update examples to use decodebin and playbin and put
2913           converters in front of sinks (fixes #323726).
2914
2915 2005-12-09  Michael Smith  <msmith@fluendo.com>
2916
2917         * plugins/elements/gsttypefindelement.c: (find_peek),
2918         (gst_type_find_element_chain):
2919           Fix leaking element factories in typefinding.
2920           Fix problem where we forgot about a probable type on non-seekable
2921           files, and thus later mis-typefound it.
2922
2923 2005-12-09  Michael Smith  <msmith@fluendo.com>
2924
2925         * common/m4/gst-makecontext.m4:
2926         * common/m4/gst-mcsc.m4:
2927         * configure.ac:
2928         * win32/common/config.h:
2929         * win32/common/config.h.in:
2930           Remove makecontext stuff; not used in 0.10 and causes problems on
2931           HPUX according to bug #322441
2932
2933 2005-12-07  Wim Taymans  <wim@fluendo.com>
2934
2935         * tests/check/Makefile.am:
2936         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
2937         (main):
2938         * tests/check/libs/struct_i386.h:
2939         Added ABI check for libs
2940
2941 2005-12-07  Wim Taymans  <wim@fluendo.com>
2942
2943         * tests/check/Makefile.am:
2944         And add the struct_i386.h to dist.
2945
2946 2005-12-07  Wim Taymans  <wim@fluendo.com>
2947
2948         * tests/check/Makefile.am:
2949         * tests/check/gst/.cvsignore:
2950         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
2951         (main):
2952         * tests/check/gst/struct_i386.h:
2953         Added check for ABI compatibility.
2954
2955 2005-12-07  Wim Taymans  <wim@fluendo.com>
2956
2957         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2958         (gst_fake_src_get_times), (gst_fake_src_create):
2959         Fix broken sync option, fixes #323259
2960
2961 2005-12-07  Wim Taymans  <wim@fluendo.com>
2962
2963         * gst/gstbuffer.c:
2964         Small docs update.
2965
2966         * gst/gstcaps.c: (gst_caps_is_equal):
2967         Don't assert on NULL <--> X. Fixes #323260
2968
2969         * gst/gstminiobject.c: (gst_mini_object_replace):
2970         If we're doing atomic operations, we might just as well use
2971         the proper way to get an atomic pointer.
2972
2973         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2974         Clean up debugging.
2975
2976 2005-12-07  Michael Smith  <msmith@fluendo.com>
2977
2978         * gst/parse/grammar.y:
2979           Remove handling of { } for threads.
2980
2981 2005-12-06  David Schleef  <ds@schleef.org>
2982
2983         * libs/gst/base/gstbasetransform.c: speling fix.
2984
2985 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2986
2987         * docs/libs/tmpl/gstdataprotocol.sgml:
2988         * docs/random/omega/testing/gstobject.c:
2989         * gst/gst.c:
2990         * gst/gstclock.c:
2991         * gst/gstelement.c:
2992         * gst/gstelementfactory.c:
2993         * gst/gsterror.c:
2994         * gst/gstevent.c:
2995         * gst/gstghostpad.c:
2996         * gst/gstinfo.c:
2997         * gst/gstpadtemplate.c:
2998         * gst/gstregistryxml.c:
2999         * gst/gsttaglist.c:
3000         * gst/gsttagsetter.c:
3001         * gst/gsttypefind.c:
3002         * gst/gstvalue.c:
3003         * libs/gst/base/gstbasesrc.c:
3004         * libs/gst/net/gstnetclientclock.c:
3005         * libs/gst/net/gstnettimeprovider.c:
3006         * plugins/elements/gstfakesrc.c:
3007         * plugins/elements/gstfdsrc.c:
3008         * plugins/elements/gstfilesrc.c:
3009         * plugins/elements/gstidentity.c:
3010         * plugins/elements/gstqueue.c:
3011         * plugins/elements/gsttypefindelement.c:
3012         * plugins/indexers/gstfileindex.c:
3013         * plugins/indexers/gstmemindex.c:
3014         * tests/check/gst/gsttag.c:
3015         * tests/old/examples/cutter/cutter.c:
3016         * tests/old/examples/mixer/mixer.c:
3017         * tests/old/examples/xml/runxml.c: (main):
3018         * tests/old/testsuite/caps/normalisation.c:
3019         * tests/old/testsuite/debug/global.c:
3020         * tests/old/testsuite/parse/parse1.c:
3021         * tools/gst-xmlinspect.c:
3022         * win32/common/dirent.c:
3023           expand tabs
3024
3025 === release 0.10.0 ===
3026
3027 2005-12-05   <thomas (at) apestaart (dot) org>
3028
3029         * configure.ac:
3030           releasing 0.10.0, "Maroilles"
3031
3032 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3033
3034         submitted by: Funda Wang <fundawang@linux.net.cn>
3035
3036         * po/LINGUAS:
3037         * po/zh_CN.po:
3038           added Chinese (Traditional) translation
3039
3040 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3041
3042         * docs/gst/gstreamer-sections.txt:
3043         * docs/libs/tmpl/gstdataprotocol.sgml:
3044         * docs/random/thomasvs/TODO:
3045         * gst/gstutils.c:
3046         * gst/gstutils.h:
3047           fix docs
3048
3049 2005-12-05  Andy Wingo  <wingo@pobox.com>
3050
3051         patch by: Wim Taymans <wim@fluendo.com>
3052
3053         * libs/gst/base/gstbasetransform.c
3054         (gst_base_transform_prepare_output_buf)
3055         (gst_base_transform_buffer_alloc):
3056         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
3057         alloc_buffer_and_set_caps.
3058
3059         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
3060         set_caps on the source pad.
3061         (gst_pad_alloc_buffer_and_set_caps): New function, does what
3062         alloc_buffer used to do. Fixes #322874.
3063
3064         * docs/gst/gstreamer-sections.txt: 
3065         * docs/design/part-negotiation.txt: 
3066         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
3067         changes.
3068
3069 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3070
3071         patch by: Sebastien Moutte
3072
3073         * win32/MANIFEST:
3074         * win32/common/config.h.in:
3075         * win32/vs6/libgstcontroller.dsp:
3076           win32 build fixes
3077
3078 2005-12-05  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/gstcaps.c: (gst_caps_is_equal):
3081         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3082         (gst_fake_src_create):
3083         Back out previous code changes, leave doc updates, file bugs 
3084         instead. 
3085
3086 2005-12-05  Wim Taymans  <wim@fluendo.com>
3087
3088         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3089         (gst_fake_src_get_times), (gst_fake_src_create):
3090         * plugins/elements/gstfakesrc.h:
3091         Fix broken sync code.
3092
3093 2005-12-05  Wim Taymans  <wim@fluendo.com>
3094
3095         * gst/gstcaps.c: (gst_caps_is_equal):
3096         Comparing NULL against !NULL yields different caps, not a
3097         failure.
3098
3099 2005-12-05  Wim Taymans  <wim@fluendo.com>
3100
3101         * gst/gstpipeline.c:
3102         Fix small typo in docs.
3103
3104 2005-12-05  Andy Wingo  <wingo@pobox.com>
3105
3106         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
3107
3108         * gst/gst.c (init_post): remove hard-coded 0.9 location for
3109         registries/plugins with a MAJORMINOR one.
3110         (plugin_desc): Rename library from gstcoreleements to
3111         staticelements. Fixes #323222.
3112
3113 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
3114
3115         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3116           Change debug category to 'collectpads' from 'collect_pads'
3117           (fixes #323250).
3118
3119 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3120
3121         patch by: Sebastien Moutte
3122
3123         * libs/gst/controller/gstinterpolation.c:
3124           use convert function for uint64/double
3125         * win32/vs6/libgstcontroller.dsp:
3126           link to GLib
3127
3128 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3129
3130         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3131         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3132         * gst/gstutils.h:
3133         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3134           add tests that seem to show that the guint64/gdouble conversions
3135           are correct.
3136
3137 2005-12-02  Wim Taymans  <wim@fluendo.com>
3138
3139         * gst/gstregistry.c: (gst_registry_add_path):
3140         * gst/gstregistry.h:
3141         * gst/gstregistryxml.c:
3142         Fix docs again.
3143
3144 2005-12-02  Wim Taymans  <wim@fluendo.com>
3145
3146         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3147         (gst_util_uint64_scale_int):
3148         Small cleanup.
3149
3150         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3151         Add debug log line.
3152
3153         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3154         Add FIXME.
3155
3156 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3157
3158         * win32/MANIFEST:
3159         * win32/common/config.h:
3160         * win32/vs6/gstreamer.dsw:
3161         * win32/vs6/libgstcoreelements.dsp:
3162         * win32/vs6/libgstelements.dsp:
3163           renamed core elements plugin
3164
3165 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3166
3167         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3168         (get_candidates):
3169           do piece-wise major/minor comparison so 0.9 < 0.10
3170           also allow .exe extensions for tools
3171
3172 2005-12-02  Michael Smith  <msmith@fluendo.com>
3173
3174         * gst/gst.c:
3175           Escape a % to make gtkdoc happier; bug 322958.
3176
3177 === release 0.9.7 ===
3178
3179 2005-12-01   <thomas (at) apestaart (dot) org>
3180
3181         * configure.ac:
3182           releasing 0.9.7, "My Dog Has No Nose"
3183
3184 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3185
3186         * common/gst-xmlinspect.py:
3187         * configure.ac:
3188         * docs/libs/tmpl/gstdataprotocol.sgml:
3189         * docs/random/release:
3190         * po/af.po:
3191         * po/az.po:
3192         * po/bg.po:
3193         * po/ca.po:
3194         * po/cs.po:
3195         * po/de.po:
3196         * po/en_GB.po:
3197         * po/fr.po:
3198         * po/it.po:
3199         * po/nb.po:
3200         * po/nl.po:
3201         * po/ru.po:
3202         * po/sq.po:
3203         * po/sr.po:
3204         * po/sv.po:
3205         * po/tr.po:
3206         * po/uk.po:
3207         * po/vi.po:
3208         * win32/common/config.h:
3209         * win32/common/config.h.in:
3210         * win32/vs6/gst_inspect.dsp:
3211         * win32/vs6/gst_launch.dsp:
3212         * win32/vs6/libgstbase.dsp:
3213         * win32/vs6/libgstelements.dsp:
3214         * win32/vs6/libgstreamer.dsp:
3215         * win32/vs7/GStreamer.vcproj:
3216         * win32/vs7/gst-inspect.vcproj:
3217         * win32/vs7/gst-launch.vcproj:
3218         * win32/vs7/libgstbase.vcproj:
3219           bump GST_MAJORMINOR to 0.10
3220           reset libtool version
3221
3222 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3223
3224         * po/LINGUAS:
3225         * po/bg.po:
3226           Added Bulgarian translation by (Alexander Shopov)
3227
3228 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3229
3230         * tests/check/gst/gstplugin.c:
3231           fix test
3232
3233 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3234
3235         * common/gst-xmlinspect.py:
3236         * common/gtk-doc-plugins.mak:
3237         * configure.ac:
3238         * docs/Makefile.am:
3239         * docs/gst/Makefile.am:
3240         * docs/gst/gstreamer-docs.sgml:
3241         * docs/gst/gstreamer-sections.txt:
3242         * docs/gst/gstreamer.types:
3243         * docs/gst/gstreamer.types.in:
3244         * docs/plugins/Makefile.am:
3245         * docs/plugins/gstreamer-plugins-docs.sgml:
3246         * docs/plugins/gstreamer-plugins-sections.txt:
3247         * docs/plugins/gstreamer-plugins.types:
3248         * docs/plugins/inspect.stamp:
3249         * docs/plugins/inspect/plugin-coreelements.xml:
3250         * docs/plugins/inspect/plugin-coreindexers.xml:
3251         * docs/plugins/scanobj-build.stamp:
3252         * gstreamer.spec.in:
3253         * plugins/elements/Makefile.am:
3254         * plugins/elements/gstelements.c:
3255         * plugins/elements/gstfakesink.c:
3256         * plugins/elements/gstfakesrc.c:
3257         * plugins/elements/gstfilesink.c:
3258         * plugins/elements/gstfilesrc.c:
3259         * plugins/elements/gstqueue.c:
3260         * plugins/indexers/Makefile.am:
3261         * plugins/indexers/gstindexers.c:
3262           document core plugins in a separate document just like all the
3263           others
3264           rename these plugins to something starting with core
3265
3266 2005-12-01  Andy Wingo  <wingo@pobox.com>
3267
3268         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
3269         padding here before, but it missed the commit.
3270
3271 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3272
3273         * libs/gst/controller/gstinterpolation.c:
3274           whitespace prices have crashed, we should feel free to use some now
3275           use gst_guint64_to_gdouble
3276
3277 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3278
3279         * libs/gst/controller/gstcontroller.c:
3280         * libs/gst/controller/gsthelper.c:
3281         * libs/gst/controller/gstinterpolation.c:
3282         * libs/gst/controller/lib.c:
3283           wrap config.h include
3284
3285 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3286
3287         * docs/gst/gstreamer-sections.txt:
3288           update docs
3289
3290 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3291
3292         * plugins/elements/gstelements.c:
3293         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
3294         (gst_fd_sink__class_init), (gst_fd_sink__init),
3295         (gst_fd_sink__chain), (gst_fd_sink__set_property),
3296         (gst_fd_sink__get_property):
3297         * plugins/elements/gstfdsink.h:
3298         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
3299         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
3300         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
3301         (gst_fd_src_unlock), (gst_fd_src_set_property),
3302         (gst_fd_src_get_property), (gst_fd_src_create),
3303         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
3304         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
3305         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
3306         (gst_fd_src_uri_handler_init):
3307         * plugins/elements/gstfdsrc.h:
3308         * plugins/elements/gstqueue.c: (gst_queue_get_type):
3309           more anal cleanup
3310
3311 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3312
3313         * docs/gst/Makefile.am:
3314         * docs/gst/gstreamer.types.in:
3315         * gst/Makefile.am:
3316           fix the docs build
3317
3318 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3319
3320         * configure.ac:
3321         * gst/Makefile.am:
3322         * gst/gst.c:
3323         * gst/gstplugin.h:
3324         * gst/gstregistry.h:
3325         * tests/benchmarks/complexity.c:
3326         * tests/benchmarks/mass-elements.c:
3327         * tests/check/Makefile.am:
3328         * tools/Makefile.am:
3329         * tools/gst-inspect.c:
3330         * tools/gst-xmlinspect.c:
3331           various fixes to make
3332           --disable-nls --disable-registry --disable-loadsave
3333           --disable-parse --disable-gst-debug
3334           work and get the core .so down to 360444 bytes after stripping
3335
3336 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3337
3338         * Makefile.am:
3339         * configure.ac:
3340           descend into tests
3341         * docs/random/thomasvs/TODO:
3342         * tests/Makefile.am:
3343         * tests/README:
3344           add a README
3345
3346 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3347
3348         * win32/GStreamer.vcproj:
3349         * win32/MANIFEST:
3350         * win32/Makefile:
3351         * win32/Makefile.inspect:
3352         * win32/Makefile.launch:
3353         * win32/Makefile.register:
3354         * win32/README.txt:
3355         * win32/gst-inspect.vcproj:
3356         * win32/gst-launch.vcproj:
3357         * win32/gst-register.vcproj:
3358         * win32/gstelements.vcproj:
3359         * win32/gstgetbits.def:
3360         * win32/gstgetbits.vcproj:
3361         * win32/gstreamer-dbg.def:
3362         * win32/gstreamer.def:
3363         * win32/libgstbase.def:
3364         * win32/libgstbase.vcproj:
3365         * win32/link_oldruntime.c:
3366         * win32/mman.c:
3367         * win32/mman.h:
3368         * win32/mman.inl:
3369         * win32/msvc71.sln:
3370           move even more stuff, win32/ is nice and clean now
3371
3372 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3373
3374         * libs/gst/control/.cvsignore:
3375         * win32/MANIFEST:
3376         * win32/config.h:
3377         * win32/dirent.c:
3378         * win32/dirent.h:
3379         * win32/gstbytestream.def:
3380         * win32/gstbytestream.vcproj:
3381         * win32/gstconfig.h:
3382         * win32/gstenumtypes.c:
3383         * win32/gstenumtypes.h:
3384         * win32/gstoptimalscheduler.vcproj:
3385         * win32/gstversion.h:
3386         * win32/gtchar.h:
3387         * win32/testsuite/bins.vcproj:
3388         * win32/testsuite/bytestream.vcproj:
3389         * win32/testsuite/caps.vcproj:
3390         * win32/testsuite/cleanup.vcproj:
3391         * win32/testsuite/clock.vcproj:
3392         * win32/testsuite/debug.vcproj:
3393         * win32/testsuite/dlopen.vcproj:
3394         * win32/testsuite/dynparams.vcproj:
3395         * win32/testsuite/elements.vcproj:
3396         * win32/testsuite/ghostpads.vcproj:
3397         * win32/testsuite/indexers.vcproj:
3398         * win32/testsuite/negotiation.vcproj:
3399         * win32/testsuite/parse.vcproj:
3400         * win32/testsuite/plugin.vcproj:
3401         * win32/testsuite/refcounting.vcproj:
3402         * win32/testsuite/schedulers.vcproj:
3403         * win32/testsuite/states.vcproj:
3404         * win32/testsuite/tags.vcproj:
3405         * win32/testsuite/threads.vcproj:
3406           remove old win32 stuff that isn't maintained and should be
3407           reorganized
3408
3409 2005-11-30  Andy Wingo  <wingo@pobox.com>
3410
3411         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
3412         loading the gst.interfaces python module bork.
3413
3414         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
3415         available since GLib 2.2. Fixes #318031.
3416
3417 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3418
3419         * Makefile.am:
3420         * check/.cvsignore:
3421         * check/Makefile.am:
3422         * check/elements/.cvsignore:
3423         * check/elements/fakesrc.c:
3424         * check/elements/fdsrc.c:
3425         * check/elements/identity.c:
3426         * check/generic/.cvsignore:
3427         * check/generic/states.c:
3428         * check/gst-libs/.cvsignore:
3429         * check/gst-libs/controller.c:
3430         * check/gst-libs/gdp.c:
3431         * check/gst/.cvsignore:
3432         * check/gst/capslist.h:
3433         * check/gst/gst.c:
3434         * check/gst/gstbin.c:
3435         * check/gst/gstbuffer.c:
3436         * check/gst/gstbus.c:
3437         * check/gst/gstcaps.c:
3438         * check/gst/gstelement.c:
3439         * check/gst/gstevent.c:
3440         * check/gst/gstghostpad.c:
3441         * check/gst/gstiterator.c:
3442         * check/gst/gstmessage.c:
3443         * check/gst/gstminiobject.c:
3444         * check/gst/gstobject.c:
3445         * check/gst/gstpad.c:
3446         * check/gst/gstpipeline.c:
3447         * check/gst/gstplugin.c:
3448         * check/gst/gstsegment.c:
3449         * check/gst/gststructure.c:
3450         * check/gst/gstsystemclock.c:
3451         * check/gst/gsttag.c:
3452         * check/gst/gstutils.c:
3453         * check/gst/gstvalue.c:
3454         * check/net/.cvsignore:
3455         * check/net/gstnetclientclock.c:
3456         * check/net/gstnettimeprovider.c:
3457         * check/pipelines/.cvsignore:
3458         * check/pipelines/cleanup.c:
3459         * check/pipelines/simple_launch_lines.c:
3460         * check/pipelines/stress.c:
3461         * check/states/.cvsignore:
3462         * check/states/sinks.c:
3463         * configure.ac:
3464         * examples/Makefile.am:
3465         * examples/appreader/.cvsignore:
3466         * examples/appreader/Makefile.am:
3467         * examples/appreader/appreader.c:
3468         * examples/controller/.cvsignore:
3469         * examples/controller/Makefile.am:
3470         * examples/controller/audio-example.c:
3471         * examples/cutter/.cvsignore:
3472         * examples/cutter/Makefile.am:
3473         * examples/cutter/cutter.c:
3474         * examples/cutter/cutter.h:
3475         * examples/events/Makefile.am:
3476         * examples/events/seek.c:
3477         * examples/helloworld/.cvsignore:
3478         * examples/helloworld/Makefile.am:
3479         * examples/helloworld/helloworld.c:
3480         * examples/helloworld2/.cvsignore:
3481         * examples/helloworld2/Makefile.am:
3482         * examples/helloworld2/helloworld2.c:
3483         * examples/launch/.cvsignore:
3484         * examples/launch/Makefile.am:
3485         * examples/launch/mp3parselaunch.c:
3486         * examples/launch/mp3play:
3487         * examples/manual/.cvsignore:
3488         * examples/manual/Makefile.am:
3489         * examples/manual/extract.pl:
3490         * examples/metadata/Makefile.am:
3491         * examples/metadata/read-metadata.c:
3492         * examples/mixer/.cvsignore:
3493         * examples/mixer/Makefile.am:
3494         * examples/mixer/mixer.c:
3495         * examples/mixer/mixer.h:
3496         * examples/pingpong/.cvsignore:
3497         * examples/pingpong/Makefile.am:
3498         * examples/pingpong/pingpong.c:
3499         * examples/plugins/.cvsignore:
3500         * examples/plugins/Makefile.am:
3501         * examples/plugins/example.c:
3502         * examples/plugins/example.h:
3503         * examples/pwg/.cvsignore:
3504         * examples/pwg/Makefile.am:
3505         * examples/pwg/extract.pl:
3506         * examples/queue/.cvsignore:
3507         * examples/queue/Makefile.am:
3508         * examples/queue/queue.c:
3509         * examples/queue2/.cvsignore:
3510         * examples/queue2/Makefile.am:
3511         * examples/queue2/queue2.c:
3512         * examples/queue3/.cvsignore:
3513         * examples/queue3/Makefile.am:
3514         * examples/queue3/queue3.c:
3515         * examples/queue4/.cvsignore:
3516         * examples/queue4/Makefile.am:
3517         * examples/queue4/queue4.c:
3518         * examples/retag/.cvsignore:
3519         * examples/retag/Makefile.am:
3520         * examples/retag/retag.c:
3521         * examples/retag/transcode.c:
3522         * examples/thread/.cvsignore:
3523         * examples/thread/Makefile.am:
3524         * examples/thread/thread.c:
3525         * examples/typefind/.cvsignore:
3526         * examples/typefind/Makefile.am:
3527         * examples/typefind/typefind.c:
3528         * examples/xml/.cvsignore:
3529         * examples/xml/Makefile.am:
3530         * examples/xml/createxml.c:
3531         * examples/xml/runxml.c:
3532         * tests/Makefile.am:
3533         * tests/check/Makefile.am:
3534         * testsuite/.cvsignore:
3535         * testsuite/Makefile.am:
3536         * testsuite/Rules:
3537         * testsuite/caps/.cvsignore:
3538         * testsuite/caps/Makefile.am:
3539         * testsuite/caps/app_fixate.c:
3540         * testsuite/caps/audioscale.c:
3541         * testsuite/caps/caps.c:
3542         * testsuite/caps/caps.h:
3543         * testsuite/caps/caps_strings:
3544         * testsuite/caps/compatibility.c:
3545         * testsuite/caps/deserialize.c:
3546         * testsuite/caps/enumcaps.c:
3547         * testsuite/caps/eratosthenes.c:
3548         * testsuite/caps/filtercaps.c:
3549         * testsuite/caps/fixed.c:
3550         * testsuite/caps/fraction-convert.c:
3551         * testsuite/caps/fraction-multiply-and-zero.c:
3552         * testsuite/caps/intersect2.c:
3553         * testsuite/caps/intersection.c:
3554         * testsuite/caps/normalisation.c:
3555         * testsuite/caps/random.c:
3556         * testsuite/caps/renegotiate.c:
3557         * testsuite/caps/sets.c:
3558         * testsuite/caps/simplify.c:
3559         * testsuite/caps/string-conversions.c:
3560         * testsuite/caps/structure.c:
3561         * testsuite/caps/subtract.c:
3562         * testsuite/caps/union.c:
3563         * testsuite/debug/.cvsignore:
3564         * testsuite/debug/Makefile.am:
3565         * testsuite/debug/category.c:
3566         * testsuite/debug/commandline.c:
3567         * testsuite/debug/global.c:
3568         * testsuite/debug/output.c:
3569         * testsuite/debug/printf_extension.c:
3570         * testsuite/dlopen/.cvsignore:
3571         * testsuite/dlopen/Makefile.am:
3572         * testsuite/dlopen/dlopen_gst.c:
3573         * testsuite/dlopen/loadgst.c:
3574         * testsuite/elements/.cvsignore:
3575         * testsuite/elements/Makefile.am:
3576         * testsuite/elements/gst-inspect-check.in:
3577         * testsuite/elements/struct_i386.h:
3578         * testsuite/elements/struct_size.c:
3579         * testsuite/indexers/.cvsignore:
3580         * testsuite/indexers/Makefile.am:
3581         * testsuite/indexers/cache1.c:
3582         * testsuite/indexers/indexdump.c:
3583         * testsuite/parse/.cvsignore:
3584         * testsuite/parse/Makefile.am:
3585         * testsuite/parse/parse1.c:
3586         * testsuite/parse/parse2.c:
3587         * testsuite/plugin/.cvsignore:
3588         * testsuite/plugin/Makefile.am:
3589         * testsuite/plugin/README:
3590         * testsuite/plugin/dynamic.c:
3591         * testsuite/plugin/linked.c:
3592         * testsuite/plugin/loading.c:
3593         * testsuite/plugin/registry.c:
3594         * testsuite/plugin/static.c:
3595         * testsuite/plugin/static2.c:
3596         * testsuite/plugin/testplugin.c:
3597         * testsuite/plugin/testplugin2.c:
3598         * testsuite/plugin/testplugin2_s.c:
3599         * testsuite/plugin/testplugin_s.c:
3600         * testsuite/refcounting/.cvsignore:
3601         * testsuite/refcounting/Makefile.am:
3602         * testsuite/refcounting/bin.c:
3603         * testsuite/refcounting/element.c:
3604         * testsuite/refcounting/element_pad.c:
3605         * testsuite/refcounting/mainloop.c:
3606         * testsuite/refcounting/mem.c:
3607         * testsuite/refcounting/mem.h:
3608         * testsuite/refcounting/object.c:
3609         * testsuite/refcounting/pad.c:
3610         * testsuite/refcounting/sched.c:
3611         * testsuite/refcounting/thread.c:
3612         * testsuite/states/.cvsignore:
3613         * testsuite/states/Makefile.am:
3614         * testsuite/states/bin.c:
3615         * testsuite/states/locked.c:
3616         * testsuite/states/parent.c:
3617         * testsuite/threads/.cvsignore:
3618         * testsuite/threads/159566.c:
3619         * testsuite/threads/159852.c:
3620         * testsuite/threads/Makefile.am:
3621         * testsuite/threads/queue.c:
3622         * testsuite/threads/signals.c:
3623         * testsuite/threads/staticrec.c:
3624         * testsuite/threads/thread.c:
3625         * testsuite/threads/threadb.c:
3626         * testsuite/threads/threadc.c:
3627         * testsuite/threads/threadd.c:
3628         * testsuite/threads/threade.c:
3629         * testsuite/threads/threadf.c:
3630         * testsuite/threads/threadg.c:
3631         * testsuite/threads/threadh.c:
3632         * testsuite/threads/threadi.c:
3633           move all of these under tests
3634
3635 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3636
3637         * configure.ac:
3638         * tests/Makefile.am:
3639           fix distcheck
3640
3641 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3642
3643         * docs/gst/gstreamer-sections.txt:
3644         * tests/sched/.cvsignore:
3645         * tests/sched/Makefile.am:
3646         * tests/sched/cases/(fs-fs).xml:
3647         * tests/sched/cases/(fs-i-fs).xml:
3648         * tests/sched/cases/(fs-i-i-fs).xml:
3649         * tests/sched/cases/(fs-i-q[i-fs]).xml:
3650         * tests/sched/dynamic-pipeline.c:
3651         * tests/sched/interrupt1.c:
3652         * tests/sched/interrupt2.c:
3653         * tests/sched/interrupt3.c:
3654         * tests/sched/runtestcases:
3655         * tests/sched/runxml.c:
3656         * tests/sched/sched-stress.c:
3657         * tests/sched/sort.c:
3658         * tests/sched/testcases:
3659         * tests/sched/testcases1.tc:
3660         * tests/seeking/.cvsignore:
3661         * tests/seeking/Makefile.am:
3662         * tests/seeking/seeking1.c:
3663         * tests/threadstate/.cvsignore:
3664         * tests/threadstate/Makefile.am:
3665         * tests/threadstate/test1.c:
3666         * tests/threadstate/test2.c:
3667         * tests/threadstate/threadstate1.c:
3668         * tests/threadstate/threadstate2.c:
3669         * tests/threadstate/threadstate3.c:
3670         * tests/threadstate/threadstate4.c:
3671         * tests/threadstate/threadstate5.c:
3672           remove obsolete tests
3673         * configure.ac:
3674         * tests/bench-complexity.scm:
3675         * tests/bench-mass_elements.scm:
3676         * tests/complexity.c:
3677         * tests/complexity.gnuplot:
3678         * tests/instantiate/.cvsignore:
3679         * tests/instantiate/Makefile.am:
3680         * tests/instantiate/caps.c:
3681         * tests/mass_elements.c:
3682         * tests/network-clock-utils.scm:
3683         * tests/network-clock.scm:
3684         * tests/plot-data:
3685         First pass at cleaning up tests/ dir before moving the rest
3686         Combined with CVS surgery
3687
3688 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3689
3690         * po/POTFILES.in:
3691           queue has moved, update
3692
3693 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3694
3695         * docs/gst/gstreamer-sections.txt:
3696           remove double entries from the docs
3697         * gst/gst_private.h:
3698         * gst/gstinfo.c: (_gst_debug_init):
3699           remove the THREAD debug category
3700         * gst/Makefile.am:
3701         * gst/gstqueue.c:
3702         * gst/gstqueue.h:
3703         * docs/gst/gstreamer.types:
3704         * plugins/elements/gstqueue.c: (gst_queue_get_type),
3705         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
3706           completely move queue and fix up debugging categories
3707
3708 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3709
3710         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3711           make initialization portable, using LL is not
3712
3713 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3714
3715         * win32/common/gstconfig.h:
3716           add large padding
3717
3718 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3719
3720         * win32/common/libgstreamer.def:
3721           rename symbols; sort base section
3722
3723 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3724
3725         * gst/gstclock.c: (do_linear_regression):
3726           remove crack non-portable handrolled DEBUG macro
3727
3728 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3729
3730         * docs/random/release:
3731           update notes
3732         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3733         (gst_object_flags_get_type), (register_gst_bin_flags),
3734         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3735         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3736         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3737         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
3738         (gst_caps_flags_get_type), (register_gst_clock_return),
3739         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3740         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3741         (gst_clock_flags_get_type), (register_gst_state),
3742         (gst_state_get_type), (register_gst_state_change_return),
3743         (gst_state_change_return_get_type), (register_gst_state_change),
3744         (gst_state_change_get_type), (register_gst_element_flags),
3745         (gst_element_flags_get_type), (register_gst_core_error),
3746         (gst_core_error_get_type), (register_gst_library_error),
3747         (gst_library_error_get_type), (register_gst_resource_error),
3748         (gst_resource_error_get_type), (register_gst_stream_error),
3749         (gst_stream_error_get_type), (register_gst_event_type_flags),
3750         (gst_event_type_flags_get_type), (register_gst_event_type),
3751         (gst_event_type_get_type), (register_gst_seek_type),
3752         (gst_seek_type_get_type), (register_gst_seek_flags),
3753         (gst_seek_flags_get_type), (register_gst_format),
3754         (gst_format_get_type), (register_gst_index_certainty),
3755         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3756         (gst_index_entry_type_get_type),
3757         (register_gst_index_lookup_method),
3758         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3759         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3760         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3761         (gst_index_flags_get_type), (register_gst_debug_level),
3762         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3763         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3764         (gst_iterator_result_get_type), (register_gst_iterator_item),
3765         (gst_iterator_item_get_type), (register_gst_message_type),
3766         (gst_message_type_get_type), (register_gst_mini_object_flags),
3767         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3768         (gst_pad_link_return_get_type), (register_gst_flow_return),
3769         (gst_flow_return_get_type), (register_gst_activate_mode),
3770         (gst_activate_mode_get_type), (register_gst_pad_direction),
3771         (gst_pad_direction_get_type), (register_gst_pad_flags),
3772         (gst_pad_flags_get_type), (register_gst_pad_presence),
3773         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3774         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3775         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3776         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3777         (gst_plugin_flags_get_type), (register_gst_rank),
3778         (gst_rank_get_type), (register_gst_query_type),
3779         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3780         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3781         (gst_tag_flag_get_type), (register_gst_task_state),
3782         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3783         (gst_alloc_trace_flags_get_type),
3784         (register_gst_type_find_probability),
3785         (gst_type_find_probability_get_type), (register_gst_uri_type),
3786         (gst_uri_type_get_type), (register_gst_parse_error),
3787         (gst_parse_error_get_type):
3788         * win32/common/gstenumtypes.h:
3789         * win32/common/gstversion.h:
3790           update visual studio generated files
3791
3792 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3793
3794         * win32/vs6/libgstbase.dsp:
3795         * win32/vs6/libgstelements.dsp:
3796           update project files for new locations
3797
3798 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3799
3800         * Makefile.am:
3801           remove some files
3802         * README:
3803           reinstate and update
3804         * DEVEL:
3805         * REQUIREMENTS:
3806           removed
3807         * LICENSE:
3808         * docs/random/LICENSE:
3809           moved to random
3810
3811 2005-11-30  Edward Hervey  <edward@fluendo.com>
3812
3813         * gst/gsttypefind.c: (gst_type_find_register):
3814         * gst/gsttypefind.h:
3815         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
3816         (gst_type_find_factory_dispose):
3817         * gst/gsttypefindfactory.h:
3818         Fix memory leak in GstTypeFindFactory.
3819
3820 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3821
3822         * gst/gst.c:
3823         * plugins/elements/Makefile.am:
3824         * plugins/elements/gstelements.c:
3825         * plugins/elements/gstqueue.c:
3826           move queue from core to the elements plugin
3827
3828 2005-11-29  Andy Wingo  <wingo@pobox.com>
3829
3830         * libs/gst/base/gstbasetransform.h: 
3831         * libs/gst/base/gstbasesrc.h: 
3832         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
3833
3834         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
3835         of pointers by which to pad very extensible base classes (like the
3836         ones in libs/gst/base).
3837
3838 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3839
3840         * docs/gst/gstreamer-docs.sgml:
3841         * docs/gst/gstreamer-sections.txt:
3842         * docs/libs/gstreamer-libs-docs.sgml:
3843         * docs/libs/gstreamer-libs-sections.txt:
3844           moving documentation from core to lib
3845
3846 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3847
3848         * check/Makefile.am:
3849         * configure.ac:
3850         * docs/gst/Makefile.am:
3851         * gst/Makefile.am:
3852         * gst/base/.cvsignore:
3853         * gst/base/Makefile.am:
3854         * gst/base/README:
3855         * gst/base/gstadapter.c:
3856         * gst/base/gstadapter.h:
3857         * gst/base/gstbasesink.c:
3858         * gst/base/gstbasesink.h:
3859         * gst/base/gstbasesrc.c:
3860         * gst/base/gstbasesrc.h:
3861         * gst/base/gstbasetransform.c:
3862         * gst/base/gstbasetransform.h:
3863         * gst/base/gstcollectpads.c:
3864         * gst/base/gstcollectpads.h:
3865         * gst/base/gstpushsrc.c:
3866         * gst/base/gstpushsrc.h:
3867         * gst/base/gsttypefindhelper.c:
3868         * gst/base/gsttypefindhelper.h:
3869         * gst/check/Makefile.am:
3870         * gst/check/gstcheck.c:
3871         * gst/check/gstcheck.h:
3872         * gst/net/Makefile.am:
3873         * gst/net/gstnet.h:
3874         * gst/net/gstnetclientclock.c:
3875         * gst/net/gstnetclientclock.h:
3876         * gst/net/gstnettimepacket.c:
3877         * gst/net/gstnettimepacket.h:
3878         * gst/net/gstnettimeprovider.c:
3879         * gst/net/gstnettimeprovider.h:
3880         * libs/gst/Makefile.am:
3881         * libs/gst/base/Makefile.am:
3882         * libs/gst/base/gstbasetransform.c:
3883         * libs/gst/check/Makefile.am:
3884         * plugins/elements/Makefile.am:
3885         * po/POTFILES.in:
3886           CVS surgery + support to move base, check, and net out of gst
3887           and into libs/gst
3888
3889 2005-11-29  Andy Wingo  <wingo@pobox.com>
3890
3891         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
3892
3893         * gst/gststructure.h (struct _GstStructure): Only one pointer of
3894         padding.
3895
3896         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
3897
3898         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
3899
3900         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
3901
3902         * gst/gstobject.h: (struct _GstObject): Only one pointer of
3903         padding; reduces object size by about 30%. We don't expect
3904         anything else to go into gstobject.
3905
3906         * gst/gstminiobject.h (struct _GstMiniObject)
3907         (struct _GstMiniObjectClass): Only one pointer of padding; the
3908         payload is only a pointer and two ints anyway. For the class there
3909         are only two methods as well.
3910         
3911         * gst/gstelement.h (struct _GstElementClass): Removed
3912         the state_changed signal callback, it is not used.
3913
3914 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3915
3916         * docs/gst/gstreamer.types:
3917           fix includes, though they are a little dinky
3918
3919 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3920
3921         * check/Makefile.am:
3922           look in the right place for elements, a lot more chance of
3923           success
3924         * gst/Makefile.am:
3925           remove indexers and elements subdirs
3926         * plugins/Makefile.am:
3927           make indexers conditional
3928
3929 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3930
3931         * Makefile.am:
3932         * configure.ac:
3933         * plugins/elements/Makefile.am:
3934         * plugins/elements/gstcapsfilter.c:
3935         * plugins/elements/gstfilesink.c:
3936         * plugins/elements/gstfilesrc.c:
3937         * plugins/elements/gstidentity.c:
3938         * plugins/indexers/Makefile.am:
3939           do CVS surgery and related build fixery to move elements
3940           and indexers in a new gstreamer/plugins directory, out of the
3941           gst/ directory
3942
3943 2005-11-29  Andy Wingo  <wingo@pobox.com>
3944
3945         * check/Makefile.am:
3946         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3947         * pkgconfig/gstreamer-net.pc.in:
3948         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
3949         #322257.
3950
3951 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3952
3953         * tools/Makefile.am:
3954         * tools/gst-complete.1.in:
3955         * tools/gst-complete.c:
3956         * tools/gst-compprep.1.in:
3957         * tools/gst-compprep.c:
3958           removing -compprep and -complete
3959
3960 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3961
3962         * gst/gstevent.c: (gst_event_new_new_segment),
3963         (gst_event_parse_new_segment):
3964         * gst/gstevent.h:
3965           fix #320529 - clean up new_segment API and structure.
3966           Let's hope everyone was using the methods, and not the structure.
3967
3968 2005-11-29  Edward Hervey  <edward@fluendo.com>
3969
3970         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3971         (gst_base_sink_event), (gst_base_sink_do_sync),
3972         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
3973         Properly handle non GST_FORMAT_TIME segment
3974         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3975         Properly handle non GST_FORMAT_TIME segment
3976         * gst/gstsegment.c:
3977         This function is valid if the accumulator is 0 and the format
3978         is different from the requested format.
3979         
3980 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3981
3982         * docs/gst/gstreamer-sections.txt:
3983         Add gst_query_new_seeking and gst_query_parse_seeking to the
3984         docs.
3985
3986 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3987
3988         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3989           Treat a pad alloc with new caps the same as if we were not
3990           negotiated, in order to allow a changing upstream output
3991           to produce a new format of data.
3992
3993 2005-11-29  Edward Hervey  <edward@fluendo.com>
3994
3995         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3996         (gst_base_transform_event), (gst_base_transform_eventfunc):
3997         The event virtual method is now properly implemented, with a default
3998         handler
3999         Sub classes should call the parent_class event method. They should
4000         return FALSE if they had a problem handling the given event, or don't
4001         want GstBaseTransform to send that even downstream
4002         * gst/elements/gstidentity.c: (gst_identity_class_init),
4003         (gst_identity_init), (gst_identity_event),
4004         (gst_identity_transform_ip), (gst_identity_set_property),
4005         (gst_identity_get_property):
4006         * gst/elements/gstidentity.h:
4007         Added the single-segment boolean property.
4008         If set to TRUE, it will output a single segment of data, starting from
4009         0, will eat up all incoming newsegment, and modify the timestamp of the
4010         buffers accordingly
4011
4012 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
4013
4014         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4015           Don't ref NULL target pad (#322751). Improve docs.
4016
4017 2005-11-29  Michael Smith  <msmith@fluendo.com>
4018
4019         * gst/gstregistryxml.c: (load_plugin):
4020           Don't crash if we failed to load a feature from a plugin. 
4021
4022 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4023
4024         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4025         (GST_START_TEST):
4026           use more check API and less GLib API
4027
4028 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4029
4030         * Makefile.am:
4031           don't run checks if we don't have check
4032         * common/check.mak:
4033           remove the registry when running make torture
4034         * docs/gst/gstreamer-sections.txt:
4035           remove second multiply
4036         * gst/gstqueue.c: (gst_queue_loop):
4037           fix a compile warning when disabling debug
4038
4039 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4040
4041         * gst/gstinfo.h:
4042         Hey! Let's print the pad name if the pointer != NULL instead
4043         of when it == NULL :-)
4044
4045 2005-11-28  Wim Taymans  <wim@fluendo.com>
4046
4047         * check/gst/gstutils.c: (GST_START_TEST):
4048         Updated check, add some scaling accuracy checking code.
4049
4050         * gst/gstutils.c: (gst_util_div128_64),
4051         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
4052         (gst_util_uint64_scale_int):
4053         Fix 6 times faster division code. Optimize for common 
4054         1/1 and less common X/1 cases.
4055
4056 2005-11-28  Wim Taymans  <wim@fluendo.com>
4057
4058         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4059         More checks.
4060
4061         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
4062         (do_linear_regression), (gst_clock_add_observation):
4063         Cleanups.
4064         Release lock when the clock cannot be slaved.
4065         Catch the case where the regression returned an invalid denominator.
4066
4067         * gst/gstutils.c: (gst_util_div128_64_iterate),
4068         (gst_util_div128_64), (gst_util_uint64_scale_int64),
4069         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4070         Add protentially more performant non-iterative 128/64 divide function
4071         that unfortunatly does not work yet.
4072         Shortcut the trivial 0/X = 0 case.
4073         Remove the warnings on overflow.
4074
4075 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4076
4077         * gst/gstplugin.c: (gst_plugin_register_func):
4078           everything causing a plugin not to load should be at least a WARNING
4079
4080 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
4081
4082         * docs/random/ensonic/dparams.txt:
4083           some TODOs for the next dev cycle
4084         * libs/gst/controller/gstcontroller.c:
4085         (gst_controlled_property_set_interpolation_mode),
4086         (gst_controlled_property_new):
4087         * libs/gst/controller/gstcontroller.h:
4088           use base type to assign acccessor functions
4089
4090 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4091
4092         * check/Makefile.am:
4093         Oops, that should have been top_srcdir
4094
4095 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
4096
4097         * check/Makefile.am:
4098         * check/elements/fdsrc.c: (GST_START_TEST):
4099         Use a cmdline define to specify the location of a file to use for
4100         testing, to avoid breaking distcheck.
4101
4102 2005-11-28  Andy Wingo  <wingo@pobox.com>
4103
4104         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4105
4106 2005-11-28  Edward Hervey  <edward@fluendo.com>
4107
4108         * tools/gst-launch.c: (main):
4109         Clarify the output strings, makes it easier to translate.
4110         Fixes #322626
4111
4112 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4113
4114         * gst/Makefile.am:
4115           don't try and build net if we don't even have <sys/socket.h>
4116
4117 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
4118
4119         * check/Makefile.am:
4120         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4121         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4122           Add tests for fdsrc seekability
4123
4124         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4125         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4126         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4127         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4128         * gst/elements/gstfdsrc.h:
4129           fdsrc should not be a 'live' source.
4130           Implement seeking on seekable fd's.
4131
4132         * gst/gstquery.c: (gst_query_new_seeking),
4133         (gst_query_parse_seeking):
4134         * gst/gstquery.h:
4135           Implement SEEKING query functions: 
4136             *_new_seeking and *_parse_seeking
4137
4138 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
4139
4140         * gst/gstelement.c: (gst_element_dispose):
4141           don't loop forever
4142
4143         * gst/gstiterator.c:
4144         * gst/gststructure.c:
4145           doc fixes
4146
4147         * libs/gst/controller/gstcontroller.c:
4148         (gst_controlled_property_set_interpolation_mode):
4149         * libs/gst/controller/gstcontroller.h:
4150         * libs/gst/controller/gstinterpolation.c:
4151         (interpolate_none_get_enum_value_array):
4152           support controlling enums
4153
4154 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4155
4156         * gst/gstvalue.c:
4157           Improve documentation for gst_value_union().
4158
4159         * gst/gstvalue.h:
4160           Change return value for union, intersect and subtract functions
4161           from gint to gboolean.
4162
4163 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4164
4165         * gst/gstvalue.c: (gst_value_serialize_any_list),
4166         (gst_value_transform_any_list_string),
4167         (gst_value_deserialize_list), (gst_value_deserialize_array),
4168         (gst_value_set_int_range), (gst_value_deserialize_int_range),
4169         (gst_value_set_double_range), (gst_value_deserialize_double_range),
4170         (gst_value_set_fraction_range_full),
4171         (gst_value_deserialize_fraction_range),
4172         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4173         (gst_value_deserialize_boolean),
4174         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4175         (gst_value_serialize_float), (gst_value_deserialize_float),
4176         (gst_string_wrap), (gst_value_deserialize_string),
4177         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4178         (gst_value_union_int_range_int_range),
4179         (gst_value_intersect_int_range_int_range),
4180         (gst_value_intersect_double_range_double_range),
4181         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4182         (gst_value_subtract_int_range_int_range),
4183         (gst_value_subtract_double_double_range),
4184         (gst_value_subtract_double_range_double_range),
4185         (gst_value_deserialize_fraction):
4186         * gst/gstvalue.h:
4187           Use gint, gdouble and gchar in our API instead of int, double and
4188           char (and make usage in gstvalue.c more consistent).
4189
4190 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4191
4192         * check/Makefile.am:
4193         * libs/gst/controller/Makefile.am:
4194         * libs/gst/dataprotocol/Makefile.am:
4195           fix up Makefile.am and remove GST_ENABLE_NEW
4196
4197 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4198
4199         * configure.ac:
4200         * gst/Makefile.am:
4201         * gst/base/Makefile.am:
4202         * gst/check/Makefile.am:
4203         * gst/elements/Makefile.am:
4204         * gst/net/Makefile.am:
4205           update LDFLAGS use some more
4206
4207 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4208
4209         * common/m4/gst-doc.m4:
4210           Fixes #312589
4211
4212 2005-11-26  Edward Hervey  <edward@fluendo.com>
4213
4214         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4215         This shouldn't issue a g_warning since it returns NULL if it
4216         couldn't find the plugin, and all functions using this behave
4217         properly on a NULL return. Switching to a GST_WARNING.
4218
4219 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
4220
4221         * gst/gstbin.c: (gst_bin_handle_message_func):
4222         Don't leak clock messages.
4223
4224 2005-11-25  Wim Taymans  <wim@fluendo.com>
4225
4226         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4227         (gst_util_uint64_scale_int):
4228         Optimisations, remove unneeded vars.
4229
4230 2005-11-25  Wim Taymans  <wim@fluendo.com>
4231
4232         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4233         Added more checks for the high precision uint64 cases.
4234
4235         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4236         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4237         Implement high precision (guint64 * guint64) / guint64.
4238
4239 2005-11-24  Wim Taymans  <wim@fluendo.com>
4240
4241         * gst/base/gstbasesrc.c: (gst_base_src_query):
4242         Fix wrong percentage query.
4243
4244         * gst/gstutils.c: (gst_util_uint64_scale),
4245         (gst_util_uint64_scale_int):
4246         Add some more common cases that can be handled 
4247         efficiently to _scale.
4248
4249 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4250
4251         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4252         (gst_mini_object_suite):
4253           don't use check calls from threads; check probably isn't
4254           threadsafe and using a lock to make it threadsafe would
4255           defeat the purpose of this check
4256         * gst/check/gstcheck.c:
4257         * gst/check/gstcheck.h:
4258           use GST_DEBUG some more
4259
4260 2005-11-24  Wim Taymans  <wim@fluendo.com>
4261
4262         * gst/gstutils.c: (gst_util_uint64_scale),
4263         (gst_util_uint64_scale_int):
4264         Chain trivial case to _scale_int.
4265
4266 2005-11-24  Wim Taymans  <wim@fluendo.com>
4267
4268         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4269         Added test for scaling.
4270
4271         * gst/gstclock.h:
4272         Small doc fix.
4273
4274         * gst/gstutils.c: (gst_util_uint64_scale_int):
4275         Implemented high precision scaling code.
4276
4277 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
4278
4279         * gst/gstinfo.h:
4280           do not crash on pad==NULL
4281
4282 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4283
4284         Patch by: Stefan Kost
4285
4286         * common/gtk-doc.mak:
4287         * docs/gst/Makefile.am:
4288         * docs/libs/Makefile.am:
4289           Fix distcheck issues for the libraries docs build
4290           Closes #319599.
4291
4292 2005-11-24  Michael Smith <msmith@fluendo.com>
4293
4294         * docs/manual/basics-helloworld.xml:
4295           Fix bug #315027: memory leak in example code in docs.
4296
4297 2005-11-24  Michael Smith <msmith@fluendo.com>
4298
4299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4300           Unlock the PREROLL_LOCK in a failure case.
4301
4302 2005-11-24  Wim Taymans  <wim@fluendo.com>
4303
4304         * docs/gst/gstreamer-sections.txt:
4305         * gst/base/gstadapter.h:
4306         * gst/base/gstbasesink.h:
4307         * gst/base/gstbasesrc.h:
4308         * gst/base/gstbasetransform.h:
4309         * gst/base/gstpushsrc.h:
4310         * gst/elements/gstfakesink.h:
4311         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
4312         * gst/elements/gstfakesrc.h:
4313         * gst/elements/gstfilesink.h:
4314         * gst/elements/gstfilesrc.h:
4315         * gst/gst.c:
4316         * gst/gstbin.c:
4317         * gst/gstbuffer.c: (_gst_buffer_copy):
4318         * gst/gstbus.h:
4319         * gst/gstcaps.c:
4320         * gst/gstchildproxy.c:
4321         * gst/gstclock.c:
4322         * gst/gstelement.c:
4323         * gst/gstelementfactory.c:
4324         * gst/gstelementfactory.h:
4325         * gst/gstevent.c:
4326         * gst/gstghostpad.h:
4327         * gst/gstindex.h:
4328         * gst/gstinterface.h:
4329         * gst/gstminiobject.c:
4330         * gst/gstminiobject.h:
4331         * gst/gstpad.c:
4332         * gst/gstpad.h:
4333         * gst/gstpadtemplate.h:
4334         * gst/gstpipeline.h:
4335         * gst/gstpluginfeature.h:
4336         * gst/gstquery.h:
4337         * gst/gstqueue.h:
4338         * gst/gsttaglist.c:
4339         * gst/gsttaglist.h:
4340         * gst/gsttagsetter.c:
4341         * gst/gsttagsetter.h:
4342         * gst/gsttrace.c:
4343         * gst/gsttrace.h:
4344         * gst/gsttypefind.h:
4345         * gst/gsturi.h:
4346         * gst/gstvalue.c:
4347         * gst/net/gstnetclientclock.c:
4348         * gst/net/gstnetclientclock.h:
4349         * gst/net/gstnettimepacket.c:
4350         * gst/net/gstnettimeprovider.c:
4351         * gst/net/gstnettimeprovider.h:
4352         Doc fixes.
4353
4354 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * configure.ac: back to HEAD
4357
4358 === release 0.9.6 ===
4359
4360 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
4361
4362         * configure.ac:
4363           releasing 0.9.6, "Always On Time"
4364
4365 2005-11-23  Wim Taymans  <wim@fluendo.com>
4366
4367         * docs/gst/gstreamer-sections.txt:
4368         * gst/glib-compat.c:
4369         * gst/gsttagsetter.c:
4370         * gst/gstvalue.c:
4371         * gst/net/gstnetclientclock.c:
4372         * gst/net/gstnettimepacket.h:
4373         Doc updates.
4374
4375 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4376
4377         * docs/faq/using.xml:
4378         * docs/libs/tmpl/gstcontrol.sgml:
4379         * docs/manual/advanced-dparams.xml:
4380         * docs/manual/appendix-checklist.xml:
4381         * docs/manual/basics-elements.xml:
4382         * docs/pwg/other-source.xml:
4383         * docs/random/moving-plugins:
4384         * gst/gstpad.c:
4385         * tools/gst-launch.1.in:
4386           remove mentions of sinesrc
4387
4388 2005-11-23  Michael Smith <msmith@fluendo.com>
4389
4390         * docs/gst/gstreamer-sections.txt:
4391           Update for new API and API changes.
4392         * gst/gstobject.h:
4393           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
4394         * gst/gstvalue.c:
4395           Documentation typo fix.
4396         * gst/net/gstnettimepacket.c:
4397           Documentation fixes for arguments.
4398
4399 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
4400
4401         * gst/gststructure.c: (gst_structure_get_fraction),
4402         (gst_structure_parse_value),
4403         (gst_structure_fixate_field_nearest_fraction):
4404         * gst/gststructure.h:
4405         * gst/gstutils.c: (gst_util_uint64_scale_int):
4406         * gst/gstutils.h:
4407         * scripts/update-funcnames:
4408         API Changes. 
4409         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
4410         Make gst_structure_fixate_field_nearest_fraction take a numerator
4411         and denominator argument instead of a GValue
4412         add gst_structure_get_fraction helper function.
4413
4414 2005-11-23  Wim Taymans  <wim@fluendo.com>
4415
4416         * docs/design/part-TODO.txt:
4417         Update TODO.
4418
4419         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4420         * gst/net/gstnetclientclock.h:
4421         Use parent fields for timeout and window_size.
4422
4423 2005-11-23  Andy Wingo  <wingo@pobox.com>
4424
4425         * check/net/gstnetclientclock.c (test_functioning): Adjust to
4426         rate_num/rate_denom change.
4427
4428         * gst/net/gstnetclientclock.c
4429         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
4430         OBJECT_LOCK. Don't call add_observation with the lock.
4431
4432         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
4433         fraction.
4434         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
4435         rate fraction.
4436         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
4437         deal with rate as a fraction whose numerator and denominator are
4438         GstClockTime values.
4439         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
4440         master; the other fields are protected by the SLAVE_LOCK.
4441         (do_linear_regression): Note that this must be called with the
4442         SLAVE_LOCK.
4443         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
4444         OBJECT_LOCK. Call set_calibration instead of touching the
4445         variables directly.
4446         (gst_clock_set_property, gst_clock_get_property): Protect
4447         master/slave parameters with the SLAVE_LOCK.
4448
4449         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
4450         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
4451         note that all of the instance variables that add_observation and
4452         the set_master functions use are protected by that lock and not
4453         the OBJECT_LOCK.
4454         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
4455
4456         * gst/gstclock.c (gst_clock_add_observation): No longer requires
4457         the caller to take the object lock.
4458
4459 2005-11-23  Wim Taymans  <wim@fluendo.com>
4460
4461         * gst/gsterror.c: (_gst_core_errors_init):
4462         * gst/gsterror.h:
4463         Add error for clock stuff.
4464
4465         * gst/gstpipeline.c: (gst_pipeline_change_state),
4466         (gst_pipeline_set_clock):
4467         Post clock error when clock cannot be used in a pipeline.
4468
4469 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
4470
4471         * docs/gst/gstreamer-sections.txt:
4472           make two symbols from gstinfo private for the docs
4473         * gst/base/gstcollectpads.h:
4474         * gst/gstutils.c:
4475           fix doc typos, update docs
4476
4477 2005-11-22  Wim Taymans  <wim@fluendo.com>
4478
4479         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4480         (gst_base_sink_wait), (gst_base_sink_do_sync),
4481         (gst_base_sink_handle_event):
4482         * gst/base/gstbasesink.h:
4483         No need to store the clock, the parent element class already
4484         has it.
4485
4486         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
4487         Updates for clock_set returning a gboolean
4488
4489         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
4490         (gst_clock_id_wait_async), (gst_clock_class_init),
4491         (gst_clock_init), (gst_clock_finalize),
4492         (gst_clock_get_internal_time), (gst_clock_get_time),
4493         (gst_clock_slave_callback), (gst_clock_set_master),
4494         (gst_clock_get_master), (do_linear_regression),
4495         (gst_clock_add_observation), (gst_clock_set_property),
4496         (gst_clock_get_property):
4497         * gst/gstclock.h:
4498         Implement master/slave. When setting a clock as a slave, a
4499         periodic timeout is scheduled to sample master and slave times.
4500         Then the slave clock is recalibrated to match offset and rate
4501         of the master clock.
4502         Update logging a bit.
4503         Add flag so that a clock can state that is cannot be slaved to
4504         another clock.
4505
4506         * gst/gstelement.c: (gst_element_set_clock):
4507         * gst/gstelement.h:
4508         The set clock returns a gboolean for when an element cannot
4509         deal with the selected clock in the pipeline. 
4510
4511         * gst/gstpipeline.c: (gst_pipeline_change_state),
4512         (gst_pipeline_set_clock):
4513         * gst/gstpipeline.h:
4514         Handle the case where the selected clock cannot be set on
4515         the pipeline.
4516
4517         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
4518         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4519         (gst_net_client_clock_set_property),
4520         (gst_net_client_clock_get_property),
4521         (gst_net_client_clock_observe_times):
4522         * gst/net/gstnetclientclock.h:
4523         Use regression code in GstClock parent, remove duplicated
4524         functionality.
4525
4526 2005-11-22  Michael Smith <msmith@fluendo.com>
4527
4528         * gst/gstutils.c: (gst_util_clock_time_scale):
4529         * gst/gstutils.h:
4530         * docs/gst/gstreamer-sections.txt:
4531           Rename method to have extra underscore.
4532
4533 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4534
4535         * gst/elements/Makefile.am:
4536         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
4537         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4538         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4539         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
4540         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
4541         * gst/elements/gstfakesrc.h:
4542         * gst/gstqueue.c: (queue_leaky_get_type):
4543           correctly fix GEnumValues so that nick is the short lowercase
4544           dashed tag
4545         * tools/gst-inspect.c: (print_element_properties_info):
4546           also show the nick, since it's useful to use from parse_launch
4547           syntax
4548           Fixes #322139
4549
4550 2005-11-22  Michael Smith <msmith@fluendo.com>
4551
4552         * gst/gstutils.c: (gst_util_clocktime_scale):
4553         * gst/gstutils.h:
4554         * docs/gst/gstreamer-sections.txt:
4555           Add util method for scaling a clocktime by a fraction. Useful 
4556           implementation is left as an exercise for the reader.
4557
4558 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4559
4560         * gst/gstvalue.c: (gst_value_collect_fraction_range):
4561         If needed, allocate storage in the destination value during
4562         collection.
4563
4564 2005-11-22  Edward Hervey  <edward@fluendo.com>
4565
4566         * docs/gst/gstreamer-sections.txt:
4567         * gst/Makefile.am:
4568         * gst/gst.h:
4569         * gst/gsturitype.c:
4570         * gst/gsturitype.h:
4571         * gst/gstutils.c: (gst_util_set_object_arg):
4572         * tools/gst-compprep.c: (main):
4573         * tools/gst-inspect.c: (print_element_properties_info):
4574         Removed GstURI, closes bug #321061
4575
4576 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4577
4578         * check/gst/gststructure.c: (GST_START_TEST):
4579         * gst/gststructure.c: (gst_structure_parse_value):
4580           Oops, broke automatic string type parsing.
4581           Add a test to catch it in future.
4582
4583 2005-11-22  Andy Wingo  <wingo@pobox.com>
4584
4585         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
4586         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
4587         Actually rename the function implementations. Grr.
4588
4589 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4590
4591         * check/gst/capslist.h:
4592           Comment test cases
4593         * check/gst/gststructure.c: (GST_START_TEST),
4594         (gst_structure_suite):
4595           Test automatic value type detection in gst_structure_from_string.
4596         * gst/gststructure.c: (gst_structure_parse_value):
4597           Add fraction as a type we try and guess automatically in
4598           caps/structure strings.
4599
4600 2005-11-22  Andy Wingo  <wingo@pobox.com>
4601
4602         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4603
4604         * gst/gsttagsetter.h:
4605         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4606         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4607         (gst_tag_setter_add_tag_valist)
4608         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4609         _add_values, _add_valist, and _add_valist_values. Since this is an
4610         interface the function suffixes should be more explicit so
4611         language binding don't end up with element.add_valist ->
4612         gst_tag_setter_add_valist, for example. Fixes #322069.
4613
4614 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4615
4616         * check/gst/gstcaps.c: (GST_START_TEST):
4617           Extend caps string tests to check that a caps to string
4618           conversion is reversible and produces the same caps.
4619
4620         * gst/gststructure.c: (gst_structure_value_get_generic_type):
4621           Output "fraction" as the generic type fraction range, so caps
4622           serialisation and deserialisation works.
4623         * check/gst/capslist.h:
4624         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4625           Support 'MIN' and 'MAX' for deserialising fractions.
4626
4627 2005-11-22  Andy Wingo  <wingo@pobox.com>
4628
4629         * gst/gstevent.h (gst_event_new_new_segment)
4630         (gst_event_parse_new_segment, gst_event_new_buffer_size)
4631         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4632         Renamed from *_newsegment, *_buffersize, *_notarget.
4633
4634         * scripts/update-funcnames: New script, performs the changes
4635         listed above.
4636
4637 2005-11-22  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4640         Make sure the GstFlowReturn is returned.
4641
4642         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
4643         (gst_bus_add_signal_watch):
4644         * gst/gstbus.h:
4645         add gst_bus_add_signal_watch_full.
4646
4647         * gst/gstplugin.c: (gst_plugin_load_file):
4648         Small style cleanup.
4649
4650 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4651
4652         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
4653           Block the fakesrc srcpad when we send an event, to avoid
4654           contention on the stream_lock causing random test failures.
4655
4656 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4657
4658         * check/gst/gstvalue.c: (GST_START_TEST):
4659         * gst/gstvalue.c: (gst_value_fraction_subtract):
4660           Fix subtraction.
4661
4662 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
4663
4664         * gst/gst.h:
4665           include "gstchildproxy.h"
4666         * gst/gstchildproxy.h:
4667         * libs/gst/controller/gstcontroller.h:
4668           use G_GNUC_NULL_TERMINATED
4669
4670 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4671
4672         * check/gst/capslist.h:
4673         * check/gst/gstcaps.c: (GST_START_TEST):
4674         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4675         * gst/gststructure.c: (gst_structure_parse_range),
4676         (gst_structure_fixate_field_nearest_fraction):
4677         * gst/gststructure.h:
4678         * gst/gstvalue.c: (gst_value_init_fraction_range),
4679         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
4680         (gst_value_collect_fraction_range),
4681         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
4682         (gst_value_set_fraction_range_full),
4683         (gst_value_get_fraction_range_min),
4684         (gst_value_get_fraction_range_max),
4685         (gst_value_serialize_fraction_range),
4686         (gst_value_transform_fraction_range_string),
4687         (gst_value_compare_fraction_range),
4688         (gst_value_deserialize_fraction_range),
4689         (gst_value_intersect_fraction_fraction_range),
4690         (gst_value_intersect_fraction_range_fraction_range),
4691         (gst_value_subtract_fraction_fraction_range),
4692         (gst_value_subtract_fraction_range_fraction),
4693         (gst_value_subtract_fraction_range_fraction_range),
4694         (gst_value_collect_fraction), (gst_value_fraction_multiply),
4695         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
4696         (gst_value_transform_string_fraction), (_gst_value_initialize):
4697         * gst/gstvalue.h:
4698           Implement fraction ranges and extend GstFraction to support
4699           arithmetic subtraction, as well as deserialization from integer
4700           strings such as "100"
4701           Add a testsuite as for int and double range set operations
4702
4703 2005-11-21  Andy Wingo  <wingo@pobox.com>
4704
4705         * gst/gsttaglist.h: 
4706         * gst/gstcaps.h: 
4707         * gst/gststructure.h: Add glib-compat.h.
4708
4709 2005-11-21  Wim Taymans  <wim@fluendo.com>
4710
4711         * gst/gstbin.c: (gst_bin_change_state_func):
4712         Fix for #321595
4713
4714 2005-11-21  Wim Taymans  <wim@fluendo.com>
4715
4716         * gst/gstsegment.h:
4717         And add a nice define too.
4718
4719 2005-11-21  Wim Taymans  <wim@fluendo.com>
4720
4721         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
4722         (gst_segment_new), (gst_segment_free), (gst_segment_init),
4723         (gst_segment_set_duration), (gst_segment_set_last_stop),
4724         (gst_segment_set_seek), (gst_segment_set_newsegment),
4725         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4726         (gst_segment_clip):
4727         * gst/gstsegment.h:
4728         Make binding friendly.
4729
4730 2005-11-21  Andy Wingo  <wingo@pobox.com>
4731
4732         * gst/gsttagsetter.h: 
4733         * gst/gsttaglist.h: 
4734         * gst/gststructure.h: 
4735         * gst/gstcaps.h: 
4736         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
4737         #319940.
4738
4739         * gst/gsterror.c (_gst_core_errors_init):
4740         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
4741         category.
4742
4743         * gst/Makefile.am (gst_headers): Add glib-compat.h.
4744         (noinst_HEADERS): noinst the -private.
4745
4746 2005-11-21  Michael Smith <msmith@fluendo.com>
4747
4748         * gst/gstplugin.h:
4749         * gst/gstregistry.h:
4750           Remove unimplemented declarations for which we can see no sensible
4751           use.
4752
4753 2005-11-21  Andy Wingo  <wingo@pobox.com>
4754
4755         * gst/gst.h: Include glib-compat.h.
4756
4757         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
4758
4759         * gst/glib-compat.c: Include the public and the private header.
4760
4761         * gst/glib-compat-private.h: Copied here from glib-compat.h.
4762
4763         * gst/gstvalue.c: 
4764         * gst/gstpad.c: 
4765         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
4766
4767         * check/gst/gstevent.c (create_custom_events): Check that
4768         FLUSH_STOP is serialized.
4769
4770         * check/elements/identity.c (event_func): 
4771         * check/elements/fakesrc.c (event_func): No stream lock, the core
4772         takes it.
4773
4774         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
4775         stream lock taking, yay.
4776
4777         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
4778         ensure that core takes the stream lock.
4779
4780         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
4781         lock name change.
4782
4783         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
4784         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
4785         it already. For the flush start we do take it though so we get the
4786         right preroll state change messages.
4787
4788         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
4789         the stream lock here, the core does it for us.
4790
4791         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
4792         GST_STREAM_GET_LOCK.
4793         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
4794         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
4795         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
4796         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
4797         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
4798         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
4799
4800         * gst/gstpad.c: Update for stream lock name change.
4801
4802         * gst/base/gstbasesink.c: Update for preroll lock name change.
4803
4804 2005-11-21  Wim Taymans  <wim@fluendo.com>
4805
4806         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
4807         (gst_clock_get_master):
4808         * gst/gstclock.h:
4809         * gst/gstsystemclock.c: (gst_system_clock_init):
4810         Convert Clock flags to object flags.
4811         Added methods to manage master/slave clocks.
4812
4813 2005-11-21  Wim Taymans  <wim@fluendo.com>
4814
4815         * check/gst/gstsegment.c: (GST_START_TEST):
4816         * docs/design/part-TODO.txt:
4817         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4818         (gst_base_sink_event), (gst_base_sink_do_sync),
4819         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4820         (gst_base_sink_query), (gst_base_sink_change_state):
4821         * gst/base/gstbasesink.h:
4822         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4823         (gst_base_src_default_newsegment),
4824         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4825         (gst_base_src_get_range), (gst_base_src_loop),
4826         (gst_base_src_change_state):
4827         * gst/base/gstbasesrc.h:
4828         * gst/base/gstbasetransform.c:
4829         (gst_base_transform_prepare_output_buf),
4830         (gst_base_transform_event), (gst_base_transform_change_state):
4831         * gst/base/gstbasetransform.h:
4832         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4833         (gst_collect_pads_event):
4834         * gst/base/gstcollectpads.h:
4835         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
4836         (gst_fake_src_create):
4837         * gst/elements/gstfakesrc.h:
4838         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4839         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4840         (gst_segment_set_last_stop), (gst_segment_set_seek),
4841         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4842         (gst_segment_to_running_time), (gst_segment_clip):
4843         * gst/gstsegment.h:
4844         More segment updates, replace code in plugins with segment
4845         helper functions.
4846
4847 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4848
4849         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
4850         Don't ignore sscanf results
4851
4852 2005-11-21  Andy Wingo  <wingo@pobox.com>
4853
4854         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
4855
4856         * *.h:
4857         * *.c: Ran scripts/update-macros. Oh yes.
4858
4859         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
4860         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
4861         GST_GET_LOCK, etc.
4862
4863         * scripts/update-macros: New script. Run it on your files to
4864         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
4865         well.
4866
4867 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4868
4869         * docs/gst/Makefile.am:
4870         * docs/gst/gstreamer-docs.sgml:
4871         * docs/gst/gstreamer-sections.txt:
4872         * docs/gst/gstreamer.types:
4873         * gst/gstinfo.h:
4874           more docs fixes, add new api to the docs
4875
4876 2005-11-21  Andy Wingo  <wingo@pobox.com>
4877
4878         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
4879         state_broadcast call.
4880
4881         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
4882
4883 2005-11-21  Julien MOUTTE  <julien@moutte.net>
4884
4885         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
4886         function calls for arrays.
4887
4888 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4889
4890         * docs/random/ensonic/media-device-daemon.txt:
4891           wild idea, can this be done?
4892         * docs/gst/gstreamer-sections.txt:
4893         * gst/gsterror.h:
4894         * gst/gstfilter.c:
4895         * gst/gstfilter.h:
4896         * gst/gstplugin.h:
4897         * gst/gstpluginfeature.c:
4898         * gst/gsttrace.c:
4899         * gst/gstvalue.c:
4900         * gst/gstvalue.h:
4901           doc fixes and additions
4902
4903 2005-11-21  Andy Wingo  <wingo@pobox.com>
4904
4905         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
4906         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
4907         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
4908         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
4909         private to the basesrc implementation.
4910
4911         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
4912         behalf of event function if necessary. It should no longer be
4913         necessary to take the stream lock in pad's event functions. Fixes
4914         #320299.
4915
4916 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4917         * docs/gst/gstreamer-sections.txt:
4918         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
4919         (gst_structure_fixate_field_nearest_double),
4920         (gst_structure_fixate_field_boolean):
4921         * gst/gststructure.h:
4922         * win32/common/libgstreamer.def:
4923         * win32/gstreamer.def:
4924
4925         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
4926         (#322027)
4927
4928 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4929
4930         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
4931         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
4932         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
4933         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
4934         (gst_fdsrc_uri_handler_init):
4935         * gst/elements/gstfdsrc.h:
4936           Port fd:// URI handler from 0.8 to fdsrc
4937
4938 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4939
4940         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
4941         (gst_value_serialize_fourcc):
4942         * gst/gstvalue.h:
4943           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
4944           consistent with our other format defines (#320324).
4945
4946 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4947
4948         * gst/gstvalue.c: (gst_value_is_fixed):
4949           Revert previous commit. Value lists are by definition
4950           not fixed, as they are a list of possible values.
4951
4952 2005-11-21  Andy Wingo  <wingo@pobox.com>
4953
4954         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
4955         during the stable series if we need it. Fixes #319178.
4956
4957         * gst/gstevent.c (gst_event_new_filler): Removed.
4958
4959         * check/gst/gstevent.c: Update comment about filler events.
4960
4961 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4962
4963         * gst/gstvalue.c: (gst_value_is_fixed):
4964           Should handle both value arrays and value lists.
4965
4966 2005-11-21  Andy Wingo  <wingo@pobox.com>
4967
4968         patch by: Alessandro Dessina <alessandro nnva org>
4969
4970         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
4971         functions to access arrays. Fixes #321962.
4972
4973 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4974
4975         * docs/gst/gstreamer.types:
4976           gst_collectpads_get_type => gst_collect_pads_get_type.
4977           
4978         * gst/base/gstbasetransform.c:
4979           Remove unused SIGNAL_HANDOFF enum.
4980
4981 2005-11-21  Andy Wingo  <wingo@pobox.com>
4982
4983         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
4984         the event type (upstream, downstream, serialized). Renamed
4985         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
4986         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
4987         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
4988
4989         * gst/gstevent.c: Update for new CUSTOM event names.
4990
4991         * check/gst/gstevent.c: Update check for new CUSTOM event names.
4992
4993         * gst/gstevent.h:
4994         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
4995         bug #319392.
4996
4997 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4998
4999         * docs/gst/gstreamer-sections.txt:
5000         * win32/common/libgstbase.def:
5001         * win32/libgstbase.def:
5002         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5003         (gst_collect_pads_class_init), (gst_collect_pads_init),
5004         (gst_collect_pads_finalize), (gst_collect_pads_new),
5005         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
5006         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
5007         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
5008         (gst_collect_pads_start), (gst_collect_pads_stop),
5009         (gst_collect_pads_peek), (gst_collect_pads_pop),
5010         (gst_collect_pads_available), (gst_collect_pads_read),
5011         (gst_collect_pads_flush), (gst_collect_pads_event),
5012         (gst_collect_pads_chain):
5013         * gst/base/gstcollectpads.h:
5014           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
5015           unimplemented functions as unimplemented. Add padding to
5016           GstCollectData. (#320766, #320423)
5017
5018 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
5019
5020         * gst/gstmessage.c:
5021           Improve docs for DURATION message (usage of duration parameter)
5022           (#320113)
5023
5024 2005-11-20  Wim Taymans  <wim@fluendo.com>
5025
5026         * check/Makefile.am:
5027         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
5028         (main):
5029         * gst/Makefile.am:
5030         * gst/gst.h:
5031         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5032         (gst_segment_set_seek), (gst_segment_set_newsegment),
5033         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5034         (gst_segment_clip):
5035         * gst/gstsegment.h:
5036         Added segment helper structure and methods. Not fully implemented
5037         yet.
5038         Added segment check.
5039
5040 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
5041
5042         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5043           Add a deserialisation test for fractions
5044         * examples/metadata/read-metadata.c: (message_loop),
5045         (make_pipeline), (main):
5046           Fix up metadata reading sample.
5047         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5048           Debug format fix
5049         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5050           Don't try and fixate empty caps
5051         * gst/gst_private.h:
5052           Wrap in G_BEGIN_DECLS/G_END_DECLS
5053         * gst/gstvalue.c: (gst_value_collect_fraction),
5054         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
5055         (gst_value_transform_string_fraction),
5056         (gst_value_compare_fraction):
5057           Add some extra guards to ensure that we don't end up 
5058           with an invalid denominator of 0 in a gstfraction and
5059           that fractions always get reduced.
5060
5061 2005-11-20  Wim Taymans  <wim@fluendo.com>
5062
5063         * docs/gst/gstreamer-sections.txt:
5064         * gst/gstbuffer.h:
5065         * gst/gstelement.c:
5066         * gst/gstformat.c:
5067         * gst/gstformat.h:
5068         * gst/gstindex.h:
5069         * gst/gstquery.c:
5070         * gst/gstquery.h:
5071         * gst/gstvalue.c:
5072         Doc fixes.
5073
5074 2005-11-20  Wim Taymans  <wim@fluendo.com>
5075
5076         * docs/design/part-TODO.txt:
5077         * gst/gstcaps.h:
5078         Make a proper enum of the flag.
5079
5080 2005-11-19  Wim Taymans  <wim@fluendo.com>
5081
5082         * docs/design/part-TODO.txt:
5083         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
5084         (gst_format_to_quark), (gst_format_register):
5085         * gst/gstformat.h:
5086         * gst/gstquery.c: (_gst_query_initialize),
5087         (gst_query_type_get_name), (gst_query_type_to_quark),
5088         (gst_query_type_register):
5089         * gst/gstquery.h:
5090         Add type to quark and type to string conversions.
5091
5092 2005-11-19  Andy Wingo  <wingo@pobox.com>
5093
5094         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
5095         #320097.
5096
5097 2005-11-19  Wim Taymans  <wim@fluendo.com>
5098
5099         * docs/design/part-TODO.txt:
5100         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5101         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5102         (gst_bin_handle_message_func):
5103         * gst/gstbin.h:
5104         Make message handling overridable.
5105
5106 2005-11-19  Andy Wingo  <wingo@pobox.com>
5107
5108         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5109
5110         * gst/gstclock.h:
5111         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5112         be a GstClockTime.
5113         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5114         is a GstClockTime. Fixes #321710.
5115
5116         * gst/gstclock.h (GstClock): Remove offset property. Add
5117         internal_calibration and external_calibration. Fix padding. Pad
5118         also by GstClockTime so we don't run into problems.
5119
5120         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5121         (gst_clock_get_rate_offset): Remove.
5122         (gst_clock_set_time_adjust): Remove. Fixes #321712.
5123
5124         * gst/gstutils.h:
5125         * gst/gstutils.c (g_static_rec_cond_wait)
5126         (g_static_rec_cond_timed_wait): Removed, no longer needed.
5127
5128         * gst/gstbin.c: Remove terrible continue_state prototype.
5129
5130         * gst/gstelement.h (gst_element_continue_state): Make public.
5131
5132         * gst/gstelement.h:
5133         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5134         by continue_state. Fixes #319389.
5135
5136         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5137         Really fixes #168438. However I don't see anywhere where the
5138         filter function is called... stupid GStreamer...
5139         
5140         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5141         don't have a dispose function, so it won't get called when the
5142         object is unreffed, but oh well!
5143
5144         * gst/gstindex.c (gst_index_set_filter_full): New API function,
5145         allows a destroy function to be set so user_data can be freed.
5146         Fixes #168438.
5147         (gst_index_set_filter): Call gst_index_set_filter_full.
5148
5149         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5150
5151         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5152         string should produce an error, given the lack of a way to
5153         represent NULL strings. Fixes #165650.
5154         
5155         * gst/gstvalue.h: 
5156         * gst/gstvalue.c (gst_value_array_append_value) 
5157         (gst_value_array_prepend_value, gst_value_array_get_size) 
5158         (gst_value_array_get_value): New API, copied from
5159         gst_value_list_*, only operates on arrays.
5160         (gst_value_list_append_value, gst_value_list_prepend_value) 
5161         (gst_value_list_concat, gst_value_list_get_size) 
5162         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5163
5164         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5165         init_list, because it works on both.
5166         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5167         (gst_value_copy_list_or_array): Renamed from copy_list.
5168         (gst_value_free_list_or_array): Renamed from free_list.
5169         (gst_value_collect_list_or_array): Renamed from collect_list.
5170         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5171         (gst_value_list_or_array_peek_pointer): Renamed from
5172         list_peek_pointer.
5173         (_gst_value_array_value_table, _gst_value_list_value_table):
5174         Update value table functions.
5175         (gst_value_compare_list_or_array): Renamed from compare_list.
5176
5177         * gsttaglist.h: Whoops, foreach function returns void. Also fix
5178         some constness.
5179
5180         * gst/gsttaglist.c:
5181         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5182         GstTagList*. Fixes #143472.
5183
5184         * gst/gststructure.h: Clarify what the foreach/map functions can
5185         or can't do to their arguments.
5186
5187 2005-11-18  Wim Taymans  <wim@fluendo.com>
5188
5189         * gst/gstclock.c: (gst_clock_set_calibration),
5190         (gst_clock_get_calibration):
5191         Doc and API fixes.
5192         Calibration can be set with internal time equal to current
5193         internal time too.
5194
5195 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5196
5197         * gst/gsterror.c:
5198         * gst/gsterror.h:
5199           document
5200
5201 2005-11-18  Andy Wingo  <wingo@pobox.com>
5202
5203         * configure.ac: 
5204         * pkgconfig/gstreamer-net.pc.in:
5205         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5206         * pkgconfig/Makefile.am: Add net pkgconfig files.
5207
5208 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
5209
5210         * gst/gstcaps.c:
5211         * gst/gstghostpad.c:
5212         * gst/gsttrace.c:
5213         * gst/gstvalue.c:
5214         * gst/gstvalue.h:
5215           docs fixes
5216
5217 2005-11-18  Andy Wingo  <wingo@pobox.com>
5218
5219         * gst/net/gstnetclientclock.c: Turn off debugging.
5220
5221         * check/net/gstnetclientclock.c (test_functioning): Assert that the
5222         times connverge somewhat. Can't make a real test.
5223
5224         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5225         integer arithmetic. Return the minimum of the domain, which can be
5226         set as "internal" for gst_clock_set_calibration.
5227         (gst_net_client_clock_observe_times): Call _set_calibration.
5228         (gst_net_client_clock_new): Call _set_calibration instead of
5229         rate_offset.
5230
5231         * check/net/gstnetclientclock.c (test_functioning): Use the right
5232         adjustment api.
5233
5234         * gst/gstclock.h:
5235         * gst/gstclock.c (gst_clock_get_calibration) 
5236         (gst_clock_set_calibration): New functions, obsolete the ones I
5237         added yesterday. Doh. Precision issues mean we have to extrapolate
5238         from a point in the more recent past than 1970.
5239         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5240         obsolete.
5241         (gst_clock_adjust_unlocked): Use the right calibration data.
5242
5243 2005-11-18  Edward Hervey  <edward@fluendo.com>
5244
5245         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
5246         Also reset the ->current_* values in READY->PAUSED
5247
5248 2005-11-18  Andy Wingo  <wingo@pobox.com>
5249
5250         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5251         Whoops, check the right fd. Also add some debugging.
5252         (gst_net_client_clock_observe_times): Adjust for int64 offset.
5253         (do_linear_regression): Add a crapload of debugging. Subtract off
5254         the minimum values from the input series to discard unneeded bits.
5255         Use only int arithmetic. There is still double arithmetic when
5256         calculating the intercept that needs fixing. Return boolean to
5257         indicate success; FALSE would mean the domain or range is too
5258         great. Still needs fixes.
5259
5260 2005-11-18  Wim Taymans  <wim@fluendo.com>
5261
5262         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5263         For the current position in stream time, we need to subtract
5264         accumulated time.
5265         
5266         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5267         Release lock before calling the callback function of async
5268         entries.
5269
5270 2005-11-18  Andy Wingo  <wingo@pobox.com>
5271
5272         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
5273         Port goes all the way to MAXUINT16.
5274
5275         * gst/net/gstnettimeprovider.c: Make the port range the same as
5276         for the kernel: 0 assigns, otherwise ports are less than
5277         MAXUINT16.
5278
5279         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
5280         port change.
5281
5282         * check/net/gstnetclientclock.c (test_functioning): Add the start
5283         of another test. 
5284
5285 2005-11-18  Wim Taymans  <wim@fluendo.com>
5286
5287         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5288         (gst_bin_remove_func), (bin_bus_handler):
5289         * gst/gstbin.h:
5290         Removing a clock provider from a bin, triggers a clock lost message
5291         so that a new clock will be selected.
5292         Adding a clock to a bin triggers a clock provider message.
5293         Make sure we reselect a clock when we received a clock lost message.
5294         Keep a reference to the element that provided the clock.
5295
5296 2005-11-18  Andy Wingo  <wingo@pobox.com>
5297
5298         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
5299         the clock initially so it produces values around the base time.
5300         (gst_net_client_clock_class_init): Typo fix.
5301         (gst_net_client_clock_thread): Add note on when the socket gets
5302         closed.
5303
5304 2005-11-17  Wim Taymans  <wim@fluendo.com>
5305
5306         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
5307         Free remote and local time arrays.
5308
5309 2005-11-17  Wim Taymans  <wim@fluendo.com>
5310
5311         * gst/net/gstnetclientclock.c: (do_linear_regression),
5312         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
5313         Fix compilation, uninitialized vars and a forgotten continue.
5314
5315 2005-11-17  Andy Wingo  <wingo@pobox.com>
5316
5317         * check/Makefile.am (check_PROGRAMS): 
5318         * check/net/gstnetclientclock.c: Add a most minimal test for the
5319         net client clock. More to come later.
5320
5321         * gst/net/gstnet.h: 
5322         * gst/net/Makefile.am: Add netclientclock.
5323
5324         * gst/net/gstnetclientclock.h:
5325         * gst/net/gstnetclientclock.c: New files, implement an untested
5326         GstClock that takes its time from a network time provider.
5327         Implements the algorithm in network-clock.scm.
5328
5329         * tests/network-clock.scm (*window-size*): Rename from
5330         *queue-length*.
5331         * tests/network-clock.scm (network-time): 
5332         * tests/network-clock-utils.scm (q-push): Update callers.
5333
5334 2005-11-17  Wim Taymans  <wim@fluendo.com>
5335
5336         * gst/gstbin.c: (gst_bin_provide_clock_func),
5337         (gst_bin_sort_iterator_new):
5338         And unref the child too..
5339
5340 2005-11-17  Wim Taymans  <wim@fluendo.com>
5341
5342         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5343         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
5344         Refactor the sort iterator so it can be used while holding the
5345         LOCK too.
5346         Make clock selection select a clock closest to the source.
5347
5348 2005-11-17  Michael Smith <msmith@fluendo.com>
5349
5350         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
5351         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
5352         * gst/gstclock.h:
5353           Anonymous structs are a gcc (and some other compilers) extension, so
5354           don't use them. Since this is only for ABI-compatibility, and our
5355           API/ABI freeze is over in a few days, this whole thing will only
5356           last a few days, so don't bother trying to think up a meaningful
5357           name for the struct.
5358
5359 2005-11-17  Andy Wingo  <wingo@pobox.com>
5360
5361         * gst/gstclock.h (GstClock): Add rate and offset properties,
5362         preserving ABI stability. Add rate/offset accessors. Will file bug
5363         for the freeze break.
5364
5365         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
5366         and offset, trying to keep precision and avoiding
5367         underflow/overflow.
5368         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
5369         functions. Make gst_clock_set_time_adjust obsolete.
5370         (gst_clock_set_time_adjust): Note that this function is obsolete.
5371         Will file bug soon.
5372
5373         * gst/base/gstbasetransform.h: Make the ABI-stability hack
5374         greppable by using GST_PADDING-1+1.
5375
5376 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
5377
5378         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         * gst/gstmessage.c: (gst_message_parse_clock_lost):
5381           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
5382
5383         * gst/gstpadtemplate.h:
5384         * gst/gstpluginfeature.h:
5385           Don't use c++ style comments in headers (#321638).
5386
5387 2005-11-16  Andy Wingo  <wingo@pobox.com>
5388
5389         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
5390         buffer.
5391
5392         * check/net/gstnettimeprovider.c: Check to see that the time
5393         provider actually provides times. Works, yo!
5394
5395 2005-11-16  Wim Taymans  <wim@fluendo.com>
5396
5397         * check/Makefile.am:
5398         Enable more tests.
5399
5400         * check/elements/fakesrc.c: (GST_START_TEST):
5401         Set element to NULL before disposing it.
5402
5403 2005-11-16  Andy Wingo  <wingo@pobox.com>
5404
5405         * gst/net/Makefile.am:
5406         * gst/net/gstnet.h:
5407         * gst/net/gstnettimeprovider.c: 
5408         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
5409         provider, include it from gstnet.h, and add it to the build.
5410
5411         * gst/net/gstnettimepacket.h: 
5412         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
5413         sending and receiving.
5414
5415 2005-11-16  Wim Taymans  <wim@fluendo.com>
5416
5417         * check/Makefile.am:
5418         Enable valgrind check.
5419
5420         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
5421         (gst_fake_src_alloc_buffer):
5422         Fix memleak.
5423
5424 2005-11-16  Wim Taymans  <wim@fluendo.com>
5425
5426         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
5427         Call parent finalize too.
5428
5429 2005-11-16  Wim Taymans  <wim@fluendo.com>
5430
5431         * check/Makefile.am:
5432         Enable valgrind check that should work fine now.
5433
5434         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5435         * gst/gstqueue.c: (gst_queue_init):
5436         Fix memleaks in pad allocation.
5437
5438 2005-11-16  Andy Wingo  <wingo@pobox.com>
5439
5440         * gst/net/Makefile.am:
5441         * gst/net/gstnet.h: New part of core to hold network elements and
5442         objects. Put in core because it exposes API that applications want
5443         to use. The library is named libgstnet-tempname right now because
5444         of the existing libgstnet in gst-plugins-base. Solution is
5445         probably to rename the one in plugins-base; will file a bug for
5446         the freeze break.
5447
5448         * gst/net/gstnettimeprovider.c: 
5449         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
5450         get_time call over the network.
5451
5452         * configure.ac: 
5453         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
5454
5455         * check/Makefile.am:
5456         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
5457         get additions shortly.
5458
5459 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5460
5461         * gst/gstpad.c: (gst_pad_new_from_static_template):
5462         * gst/gstpad.h:
5463           add gst_pad_new_from_static_template functions
5464         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
5465         (gst_check_setup_sink_pad):
5466         * gst/elements/gsttee.c: (gst_tee_init):
5467           and use them
5468
5469 2005-11-16  Wim Taymans  <wim@fluendo.com>
5470
5471         * gst/gstpad.c: (gst_pad_pause_task):
5472         Removed warning, it's not really an error either.
5473
5474 2005-11-16  Wim Taymans  <wim@fluendo.com>
5475
5476         * gst/base/gstbasetransform.c:
5477         (gst_base_transform_prepare_output_buf),
5478         (gst_base_transform_event):
5479         Check if the caps are NULL, this can happen if the element
5480         is shutting down and the pad caps are set to NULL.
5481
5482 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5483
5484         * gst/elements/gsttee.c: (gst_tee_init):
5485           fix pad template leak in tee
5486
5487 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5488
5489         * gst/glib-compat.c: (g_value_dup_gst_object):
5490         * gst/glib-compat.h:
5491         * gst/gstpad.c: (gst_pad_set_property):
5492           use gst_object_ref when setting the pad template; this will
5493           trigger the pad template leaks on GLib 2.6 and the slaves
5494
5495 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5496
5497         * gst/glib-compat.c: (gst_flags_get_first_value):
5498         * gst/glib-compat.h:
5499         * gst/gstregistryxml.c:
5500           remove functions copied from GLib 2.6
5501
5502 2005-11-16  Michael Smith <msmith@fluendo.com>
5503
5504         * gst/Makefile.am:
5505           Don't link against VALGRIND_LIBS. That was always the wrong thing to
5506           do, but only breaks with newer valgrind versions. We're not a
5507           valgrind tool, we have no link-time dependencies on libcoregrind.
5508
5509 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5512           some debug changes
5513         * gst/gstmessage.h:
5514           typo fixes
5515
5516 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5517
5518         * gst/base/gstbasesrc.c: (gst_base_src_init):
5519         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5520         * gst/gstqueue.c: (gst_queue_init):
5521         * gst/gstregistryxml.c: (load_feature):
5522           Revert all these unrefs, they don't even pass make check !
5523
5524 2005-11-15  Johan Dahlin  <johan@gnome.org>
5525
5526         * gst/base/gstbasesrc.c: (gst_base_src_init):
5527         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5528         * gst/gstqueue.c: (gst_queue_init): 
5529         Free pad templates, fixes a couple of leaks.
5530
5531 2005-11-15  Daniel Fischer  <dan at f3c dot com>
5532
5533         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5534
5535         * gst/gstpad.c: (gst_pad_get_property):
5536           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
5537           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
5538           (#321452)
5539
5540 2005-11-15  Wim Taymans  <wim@fluendo.com>
5541
5542         * gst/gstevent.c:
5543         Small doc update.
5544
5545 2005-11-15  Andy Wingo  <wingo@pobox.com>
5546
5547         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
5548
5549         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
5550         using GST_CLOCK_TIME_NONE to disable base time management.
5551         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
5552         time if it was NONE before.
5553         (gst_pipeline_change_state): Only munge the base time if
5554         stream_time != GST_CLOCK_TIME_NONE.
5555
5556         * check/gst/gstpipeline.c (test_base_time): Punt around the
5557         problem of the probe not being called, because that's not the
5558         issue I'm looking at. Add a check that setting stream_time to NONE
5559         disables base time management.
5560         
5561 2005-11-15  Wim Taymans  <wim@fluendo.com>
5562
5563         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5564         segment_stop == -1 at startup.
5565
5566         * gst/base/gstbasetransform.c: (gst_base_transform_event),
5567         (gst_base_transform_change_state):
5568         Init segment values at start.
5569
5570 2005-11-15  Wim Taymans  <wim@fluendo.com>
5571
5572         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5573         0 segment values are 0 in any format.
5574
5575         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5576         * gst/base/gstbasetransform.h:
5577         Parse newsegment correctly in basetransform
5578
5579         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5580         Sync to clock using updated segment values.
5581
5582 2005-11-15  Andy Wingo  <wingo@pobox.com>
5583
5584         * check/gst/gstpipeline.c (test_base_time): Add check that the
5585         base time and stream time are reset correctly.
5586
5587 2005-11-15  Wim Taymans  <wim@fluendo.com>
5588
5589         * docs/design/part-TODO.txt:
5590         Some more TODO items.
5591
5592 2005-11-15  Andy Wingo  <wingo@pobox.com>
5593
5594         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
5595         error if the user selected "no clock" as the clocking method.
5596
5597         * check/gst/gstpipeline.c (test_base_time): New test for buffer
5598         timestamps with live capture.
5599
5600         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5601         is 0 but we are a live source, timestamp the buffers using the
5602         element's clock.
5603
5604 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
5605
5606         * docs/gst/gstreamer-sections.txt:
5607         * gst/gsterror.c:
5608         * gst/gstghostpad.c:
5609         * gst/gstobject.h:
5610         * gst/gstxml.c:
5611           more section docs
5612
5613 2005-11-14  Wim Taymans  <wim@fluendo.com>
5614
5615         * common/gst.supp:
5616           add suppressions from Wim's Debian machine
5617
5618 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5619
5620         * common/gst.supp:
5621           add suppressions from Andy's AMD64 Ubuntu machine
5622
5623 2005-11-14  Andy Wingo  <wingo@pobox.com>
5624
5625         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5626         STATE_LOCK not necessary. Fixes #311489.
5627
5628         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5629         #305291.
5630
5631         * gst/gstindex.c (gst_index_add_object): Note in the docs that
5632         this function is not implemented.
5633
5634 2005-11-14  Julien MOUTTE  <julien@moutte.net>
5635
5636         * gst/base/gstbasetransform.c:
5637         (gst_base_transform_prepare_output_buf):
5638         Ref the source pad caps while we need them.
5639         Fixes (#321386)
5640
5641 2005-11-11  Wim Taymans  <wim@fluendo.com>
5642
5643         * docs/gst/gstreamer-sections.txt:
5644         Added some docs for GstCollectData.
5645
5646         * gst/base/gstadapter.c:
5647         Some small code example fix.
5648
5649         * gst/base/gstcollectpads.c:
5650         * gst/base/gstcollectpads.h:
5651         Document some more.
5652
5653 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5654
5655         * configure.ac: back to HEAD
5656
5657 === release 0.9.5 ===
5658
5659 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
5660
5661         * configure.ac:
5662           releasing 0.9.5, "Bike Lunch Day"
5663
5664 2005-11-11  Wim Taymans  <wim@fluendo.com>
5665
5666         * gst/gstbuffer.c: (_gst_buffer_copy):
5667         Copy more flags.
5668
5669         * gst/gstcaps.c: (gst_caps_is_equal):
5670         Fix some docs.
5671         Make _is_equal fast in the trivial cases.
5672
5673         * gst/gstminiobject.c:
5674         * gst/gstminiobject.h:
5675         More docs. Spifify .h file.
5676
5677         * gst/gstutils.c:
5678         Small doc update.
5679
5680 2005-11-11  Wim Taymans  <wim@fluendo.com>
5681
5682         * gst/base/gstbasetransform.c:
5683         (gst_base_transform_prepare_output_buf),
5684         (gst_base_transform_handle_buffer):
5685         Small cleanups.
5686         If we're processing a buffer and need to allocate an output
5687         buffer, we cannot accept a format change. If we did get a 
5688         format change, we have to alloc a buffer ourselves of the 
5689         right size.
5690
5691 2005-11-11  Wim Taymans  <wim@fluendo.com>
5692
5693         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
5694         While checking the flag for reentrancy in the gstcaps function
5695         is nice to detect recursive invocations, it also makes it 
5696         impossible to call getcaps from multiple threads, which must be
5697         possible. So, checking for recursive calls has to go.
5698
5699 2005-11-11  Michael Smith <msmith@fluendo.com>
5700
5701         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5702           Don't sync on buffers that fall partially outside our current
5703           segment. Prevents an assertion failure/abort playing some files.
5704
5705 2005-11-10  Andy Wingo  <wingo@pobox.com>
5706
5707         * check/gst/gstbin.c (test_message_state_changed_children): Style
5708         fix..
5709
5710         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
5711         gst_bus_poll with the signal watch. Ensures that poll and a signal
5712         watch see the same messages.
5713
5714         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
5715         a poll and a watch at the same time get the same messages.
5716
5717 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5718
5719         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
5720         * gst/gstcaps.c: (gst_caps_intersect):
5721           Don't call gst_caps_do_simplify - it doesn't respect order of caps
5722           and it's not needed.
5723
5724 2005-11-10  Wim Taymans  <wim@fluendo.com>
5725
5726         * docs/design/part-TODO.txt:
5727         Updated todo.
5728
5729 2005-11-10  Wim Taymans  <wim@fluendo.com>
5730
5731         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5732         * gst/base/gstbasesrc.c: (gst_base_src_wait),
5733         (gst_base_src_do_sync), (gst_base_src_get_range):
5734         Implement clock sync in base class.
5735
5736 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5737
5738         patch by: Tim-Philipp Müller <tim at centricular dot net>
5739
5740         * gst/gststructure.c: (gst_structure_parse_field),
5741         (gst_structure_from_string):
5742           Forward-port a 0.8 patch to handle escaped spaces in structure string,
5743           so that gst_parse_launch() can deal with spaces in filtered link
5744           caps (fixes #164479)
5745         * check/gst/capslist.h:
5746         * check/gst/gststructure.c: (GST_START_TEST):
5747           add unit tests for this change
5748
5749 2005-11-10  Wim Taymans  <wim@fluendo.com>
5750
5751         * docs/gst/gstreamer-sections.txt:
5752         * gst/gstelement.c:
5753         * gst/gstelement.h:
5754         Fix docs, move some STATE macros to private.
5755
5756 2005-11-10  Wim Taymans  <wim@fluendo.com>
5757
5758         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5759         Added check for bug #317341
5760
5761         * gst/gstbuffer.c:
5762         * gst/gstbuffer.h:
5763         Some more spiffifying.
5764
5765         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
5766         Call peer linkfunction if we are a source pad. Totally fixes
5767         #317341
5768
5769         * gst/gstpad.c:
5770         Update docs, source pads should call the peer linkfunction
5771         so they can atomically perform the pad link.
5772
5773 2005-11-09  Wim Taymans  <wim@fluendo.com>
5774
5775         * gst/gstbuffer.c:
5776         * gst/gstbuffer.h:
5777         Uber-spiffy-spiffify some more.
5778
5779 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
5780
5781         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
5782         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5783         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5784         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
5785         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
5786         * gst/gstpad.c: (gst_pad_init):
5787           Use GST_DEBUG_FUNCPTR() more extensively.
5788
5789 2005-11-09  Wim Taymans  <wim@fluendo.com>
5790
5791         * gst/gstobject.c: (gst_object_class_init):
5792         * gst/gstobject.h:
5793         Documentation fixes.
5794
5795 2005-11-09  Edward Hervey  <edward@fluendo.com>
5796
5797         * gst/gsttypefindfactory.c:
5798         Fix docs.
5799         
5800 2005-11-09  Edward Hervey  <edward@fluendo.com>
5801
5802         * gst/base/gsttypefindhelper.c:
5803         * gst/gsttypefind.c:
5804         * gst/gsttypefind.h:
5805         Fix docs.
5806
5807 2005-11-09  Wim Taymans  <wim@fluendo.com>
5808
5809         * gst/gstiterator.c:
5810         Fix revision data.
5811
5812         * gst/gsttask.c:
5813         * gst/gsttask.h:
5814         Fix docs.
5815
5816 2005-11-09  Wim Taymans  <wim@fluendo.com>
5817
5818         * gst/gstevent.h:
5819         * gst/gsturi.h:
5820         Fix docs.
5821
5822 2005-11-09  Wim Taymans  <wim@fluendo.com>
5823
5824         * docs/gst/gstreamer-sections.txt:
5825         Moved the message async delivery private lock and cond
5826         to the private section.
5827
5828         * gst/gstmessage.c:
5829         * gst/gstmessage.h:
5830         Fixed docs.
5831
5832 2005-11-09  Edward Hervey  <edward@fluendo.com>
5833
5834         * docs/gst/gstreamer-sections.txt:
5835         * gst/gsturi.c:
5836         * gst/gsturi.h:
5837         Document GstURIHandler
5838
5839 2005-11-09  Wim Taymans  <wim@fluendo.com>
5840
5841         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
5842         (gst_iterator_find_custom):
5843         * gst/gstiterator.h:
5844         Fix iterator docs.
5845
5846 2005-11-09  Wim Taymans  <wim@fluendo.com>
5847
5848         * gst/gstbin.h:
5849         Document another field.
5850
5851         * gst/gststructure.c:
5852         * gst/gststructure.h:
5853         Document.
5854
5855 2005-11-09  Wim Taymans  <wim@fluendo.com>
5856
5857         * gst/gstbin.h:
5858         Documented structs.
5859
5860 2005-11-09  Wim Taymans  <wim@fluendo.com>
5861
5862         * docs/gst/gstreamer-sections.txt:
5863         Added some new macros.
5864
5865         * gst/gstclock.c:
5866         * gst/gstclock.h:
5867         * gst/gstobject.h:
5868         Docs updates.
5869
5870 2005-11-09  Wim Taymans  <wim@fluendo.com>
5871
5872         * docs/design/part-TODO.txt:
5873         Some more items for the TODO
5874
5875         * gst/gstcaps.c:
5876         * gst/gstcaps.h:
5877         Document GstCaps.
5878
5879 2005-11-09  Andy Wingo  <wingo@pobox.com>
5880
5881         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
5882         to work on something else now tho...
5883
5884         * gst/base/gstadapter.c: More adapter docs.
5885
5886         * gst/elements/gstfilesink.c (gst_file_sink_start) 
5887         (gst_file_sink_stop): New functions, replace the state change
5888         handler.
5889         (gst_file_sink_class_init): Hook up the start and stop functions.
5890         (gst_file_sink_base_init): Don't set the state change handler any
5891         more. It was a bit ugly too, being set from here...
5892         (gst_file_sink_get_property, gst_file_sink_set_property):
5893         Cleanups...
5894         (gst_file_sink_set_location): More robust check that doesn't call
5895         GST_STATE. Ugggggg.
5896
5897 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5898
5899         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5900           Hold STREAM_LOCK while pushing newsegment or tag events as well.
5901
5902 2005-11-08  Wim Taymans  <wim@fluendo.com>
5903
5904         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5905         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5906         (gst_base_sink_chain), (gst_base_sink_change_state):
5907         * gst/base/gstbasesink.h:
5908         * gst/base/gstbasesrc.h:
5909         * gst/gstelement.h:
5910         * gst/gstevent.h:
5911         Avoid excessive typechecking in macros.
5912
5913         * gst/gstminiobject.c: (gst_mini_object_get_type),
5914         (gst_mini_object_init), (gst_mini_object_new),
5915         (gst_mini_object_free):
5916         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5917         (gst_object_finalize):
5918         Remove cruft code, optimize alloc_trace.
5919
5920 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5921
5922         * docs/faq/gst-uninstalled:
5923           fix up PS1 for systems that try to reset it
5924
5925 2005-11-07  Wim Taymans  <wim@fluendo.com>
5926
5927         * gst/base/gstbasesrc.c: (gst_base_src_init),
5928         (gst_base_src_get_range):
5929         Set the segment_end to -1 initially. Fixed typefind.
5930
5931 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5932
5933         * gst/base/gstadapter.c:
5934           Debug category should be 'adapter', not 'GstAdapter'.
5935           
5936         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
5937         (gst_collectpads_class_init), (gst_collectpads_init),
5938         (gst_collectpads_peek), (gst_collectpads_pop),
5939         (gst_collectpads_event), (gst_collectpads_chain):
5940           Add debug category and some debugging output. Use boilerplate
5941           macros. Remove some extraneous words from docs.
5942
5943 2005-11-05  Andy Wingo  <wingo@pobox.com>
5944
5945         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
5946         macro.
5947
5948 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5949
5950         * docs/gst/gstreamer-sections.txt:
5951         * gst/gstcaps.h:
5952         * gst/gstinfo.c:
5953         * gst/gstminiobject.h:
5954         * gst/gstobject.h:
5955         * gst/gstutils.h:
5956           more docs added
5957
5958 2005-11-04  Wim Taymans  <wim@fluendo.com>
5959
5960         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5961         Small update to stop at the configured segment_end
5962         position.
5963
5964 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5965
5966         * gst/gstregistry.c:
5967         * gst/gstregistry.h:
5968           added missing docs
5969
5970 2005-11-04  Edward Hervey  <edward@fluendo.com>
5971
5972         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5973         Check if we are doing a segment seek and have arrived at the
5974         end of that segment.
5975
5976 2005-11-04  Wim Taymans  <wim@fluendo.com>
5977
5978         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
5979         Don't leak a mutex unlock in case of an error.
5980
5981         * gst/gstbus.h:
5982         Doc fixes.
5983
5984 2005-11-04  Wim Taymans  <wim@fluendo.com>
5985
5986         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
5987         (gst_bus_post):
5988         Get the context to wake up only once.
5989
5990 2005-11-03  Wim Taymans  <wim@fluendo.com>
5991
5992         * check/states/sinks.c: (GST_START_TEST):
5993         Uncomment fixed check.
5994
5995         * docs/design/part-TODO.txt:
5996         Updated TODO.
5997
5998         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5999         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6000         (gst_base_sink_get_position):
6001         If we are going to PLAYING, post the right pending state
6002         when we post the intermediate paused message.
6003
6004         * gst/gstelement.c: (gst_element_continue_state),
6005         (gst_element_set_state_func), (gst_element_change_state):
6006         Don't post state changes that were between the same state
6007         and were not ASYNC.
6008
6009 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6010
6011         * docs/gst/gstreamer-sections.txt:
6012         * gst/gstcaps.h:
6013         * gst/gstinfo.c:
6014         * gst/gstminiobject.h:
6015         * gst/gstobject.h:
6016         * gst/gstutils.h:
6017           more docs and doc style fixes
6018
6019 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
6020
6021         * docs/gst/gstreamer-sections.txt:
6022         * gst/gstelement.c:
6023         * gst/gstminiobject.c:
6024         doc fixes
6025
6026 2005-11-03  Andy Wingo  <wingo@pobox.com>
6027
6028         * check/states/sinks.c (test_livesrc_sink): Add checks that the
6029         state-changed messages actually have the right order and the right
6030         values.
6031
6032 2005-11-03  Wim Taymans  <wim@fluendo.com>
6033
6034         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6035         Added some more checks. Specifically the case where NO_PREROLL
6036         elements are in the pipeline.
6037
6038         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6039         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6040         (gst_base_sink_get_position):
6041         Post READY->PAUSED state change messages too.
6042         Fix bug where VOID was posted as pending state...
6043
6044         * gst/gstbin.c: (gst_bin_recalc_state):
6045         use _element_continue_state() to continue the state change.
6046
6047         * gst/gstelement.c: (gst_element_continue_state),
6048         (gst_element_commit_state), (gst_element_set_state_func),
6049         (gst_element_change_state), (gst_element_change_state_func):
6050         Lots of state change cleanups, assign the STATE_RETURN in
6051         a new continue_state() function that also propagates the
6052         last return value from a state change to the app.
6053         Update some debug statements with proper category.
6054
6055 2005-11-03  Wim Taymans  <wim@fluendo.com>
6056
6057         * docs/design/part-events.txt:
6058         * docs/design/part-gstpipeline.txt:
6059         * docs/design/part-messages.txt:
6060         * docs/design/part-overview.txt:
6061         * docs/design/part-seeking.txt:
6062         * docs/design/part-states.txt:
6063         * docs/design/part-trickmodes.txt:
6064         * docs/manual/advanced-position.xml:
6065         Small docs updates.
6066
6067         * gst/gstobject.h:
6068         People think !! is ugly, this looks better.
6069
6070         * gst/gstpad.c: (gst_pad_set_blocked_async):
6071         Remove !! since it's fixed elsewhere now.
6072
6073 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6074
6075         * gst/gstminiobject.h:
6076         * gst/gstobject.h:
6077           Add !! to _FLAG_IS_SET macros to make the result boolean.
6078
6079 2005-11-03  Edward Hervey  <edward@fluendo.com>
6080
6081         * gst/gstpad.c: (gst_pad_set_blocked_async):
6082         comparing a flag and a gboolean rarely returns coherent results...
6083         Added two characters (!!) to make that work correctly.
6084         
6085 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6086
6087         * gst/gstbus.c: (gst_bus_class_init):
6088           Fix some typos.
6089           
6090         * gst/gstqueue.c: (gst_queue_loop):
6091           Don't assume a miniobject that isn't a buffer is an
6092           event (it could be that there is a refcounting
6093           problem somewhere and the pointer is stale and
6094           refers to an already destroyed miniobject).
6095
6096 2005-11-03  Julien MOUTTE  <julien@moutte.net>
6097
6098         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
6099
6100 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6101
6102         * docs/manual/advanced-position.xml:
6103           Update seek example and explanations to current 0.9 API.
6104
6105         * gst/elements/gsttypefindelement.c:
6106         (gst_type_find_element_activate):
6107           Remove FIXME comment now that the found caps
6108           are unreffed.
6109
6110 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6111
6112         * gst/gstregistryxml.c: (load_feature):
6113           Add another GST_STR_NULL instance
6114
6115 2005-11-02  Edward Hervey  <edward@fluendo.com>
6116
6117         * gst/gstpad.c: (handle_pad_block):
6118         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6119         
6120 2005-11-02  Wim Taymans  <wim@fluendo.com>
6121
6122         * gst/gstbin.c:
6123         Fix typo in docs.
6124
6125         * gst/gstelement.c: (gst_element_commit_state):
6126         Remove unused value.
6127
6128         * gst/gstiterator.c:
6129         Mention that the returned element is reffed in the docs.
6130
6131 2005-11-02  Wim Taymans  <wim@fluendo.com>
6132
6133         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6134         (gst_pad_push), (gst_pad_push_event):
6135         Unlock blocked pads when they are flushed.
6136
6137 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6138
6139         * docs/README:
6140         * docs/gst/gstreamer-sections.txt:
6141         * gst/gstbin.c:
6142           doc updates
6143         * gst/gstregistry.c: (gst_registry_scan_path_level):
6144           fix for a nasty little missed situation where an installed plug-in
6145           which was in the cache did not get overridden by an uninstalled one
6146           which was earlier in the plugin path because the newly created plugin
6147           for the uninstalled one (not in the registry) didn't get its
6148           ->registered set to TRUE
6149
6150 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6151
6152         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6153         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6154         (gst_collectpads_is_active), (gst_collectpads_collect),
6155         (gst_collectpads_collect_range), (gst_collectpads_start),
6156         (gst_collectpads_stop), (gst_collectpads_peek),
6157         (gst_collectpads_pop), (gst_collectpads_available),
6158         (gst_collectpads_read), (gst_collectpads_flush):
6159           Guard public API with assertions.
6160         
6161         * gst/gstpad.c:
6162           Fix docs for gst_pad_set_link_function().
6163
6164 2005-11-02  Johan Dahlin  <johan@gnome.org>
6165
6166         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
6167         Unref found_caps after we used it.
6168
6169 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6170
6171         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6172           Don't try to ref NULL.
6173
6174 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6175
6176         * win32/common/config.h.in:
6177           provide a GST_FUNCTION that just gives a string for now
6178
6179 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6180
6181         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6182         (gst_object_flags_get_type), (register_gst_bin_flags),
6183         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6184         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6185         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6186         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6187         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6188         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6189         (gst_clock_flags_get_type), (register_gst_state),
6190         (gst_state_get_type), (register_gst_state_change_return),
6191         (gst_state_change_return_get_type), (register_gst_state_change),
6192         (gst_state_change_get_type), (register_gst_element_flags),
6193         (gst_element_flags_get_type), (register_gst_core_error),
6194         (gst_core_error_get_type), (register_gst_library_error),
6195         (gst_library_error_get_type), (register_gst_resource_error),
6196         (gst_resource_error_get_type), (register_gst_stream_error),
6197         (gst_stream_error_get_type), (register_gst_event_type),
6198         (gst_event_type_get_type), (register_gst_seek_type),
6199         (gst_seek_type_get_type), (register_gst_seek_flags),
6200         (gst_seek_flags_get_type), (register_gst_format),
6201         (gst_format_get_type), (register_gst_index_certainty),
6202         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6203         (gst_index_entry_type_get_type),
6204         (register_gst_index_lookup_method),
6205         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6206         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6207         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6208         (gst_index_flags_get_type), (register_gst_debug_level),
6209         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6210         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6211         (gst_iterator_result_get_type), (register_gst_iterator_item),
6212         (gst_iterator_item_get_type), (register_gst_message_type),
6213         (gst_message_type_get_type), (register_gst_mini_object_flags),
6214         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6215         (gst_pad_link_return_get_type), (register_gst_flow_return),
6216         (gst_flow_return_get_type), (register_gst_activate_mode),
6217         (gst_activate_mode_get_type), (register_gst_pad_direction),
6218         (gst_pad_direction_get_type), (register_gst_pad_flags),
6219         (gst_pad_flags_get_type), (register_gst_pad_presence),
6220         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6221         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6222         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6223         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6224         (gst_plugin_flags_get_type), (register_gst_rank),
6225         (gst_rank_get_type), (register_gst_query_type),
6226         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6227         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6228         (gst_tag_flag_get_type), (register_gst_task_state),
6229         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6230         (gst_alloc_trace_flags_get_type),
6231         (register_gst_type_find_probability),
6232         (gst_type_find_probability_get_type), (register_gst_uri_type),
6233         (gst_uri_type_get_type), (register_gst_parse_error),
6234         (gst_parse_error_get_type):
6235         * win32/common/gstversion.h:
6236           update win32 copies
6237
6238 2005-11-01  Luca Ognibene  <luogni@tin.it>
6239
6240         * gst/gst.c:
6241           fix docs. popt is dead, long live GOption.
6242
6243 2005-10-31  Wim Taymans  <wim@fluendo.com>
6244
6245         * gst/gstbuffer.h:
6246         Small doc fix.
6247
6248 2005-10-31  Andy Wingo  <wingo@pobox.com>
6249
6250         * Boo!
6251
6252         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
6253
6254         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
6255         need to serialize property notifications on GLib 2.8. GLib 2.6 has
6256         the possibility of deadlocks here if code calling notify() or
6257         set() has a lock that can be taken in another notify handler (ABBA
6258         with class lock and e.g. python GIL state lock).
6259
6260 2005-10-28  Julien MOUTTE  <julien@moutte.net>
6261
6262         * gst/gstbus.c: Doc updates.
6263
6264 2005-10-28  Wim Taymans  <wim@fluendo.com>
6265
6266         * docs/design/part-TODO.txt:
6267         * gst/gstiterator.c:
6268         * gst/gstsystemclock.c:
6269         * gst/gstsystemclock.h:
6270         Doc updates.
6271
6272 2005-10-28  Edward Hervey  <edward@fluendo.com>
6273
6274         * docs/gst/gstreamer-docs.sgml:
6275         * docs/gst/gstreamer-sections.txt:
6276         the GstURIType documentation page is private, it only defines GstURIType
6277         which should be defined in the GstURIHandler page
6278         
6279 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6280
6281         * gst/gstbin.c: (gst_bin_class_init):
6282         * gst/gstbin.h:
6283         * gst/gstutils.c:
6284         Documentation updates.
6285
6286 2005-10-28  Wim Taymans  <wim@fluendo.com>
6287
6288         * docs/gst/gstreamer-sections.txt:
6289         * gst/gstclock.c:
6290         * gst/gstclock.h:
6291         Documented the clocks.
6292
6293 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
6294
6295         * docs/gst/gstreamer-sections.txt:
6296           move some macros to private sections
6297         * gst/gstminiobject.c:
6298         * gst/gstminiobject.h:
6299           add descriptions provided by ds and some more
6300         * gst/gstpad.h:
6301           mark macro as to be removed
6302
6303 2005-10-28  Wim Taymans  <wim@fluendo.com>
6304
6305         * docs/design/part-TODO.txt:
6306         Add an item to TODO.
6307
6308         * gst/gstiterator.c: (gst_iterator_fold),
6309         (gst_iterator_find_custom):
6310         * gst/gstiterator.h:
6311         Add iterator docs.
6312
6313 2005-10-28  Wim Taymans  <wim@fluendo.com>
6314
6315         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6316         (gst_base_transform_init):
6317         Don't leak class.
6318
6319         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
6320         An EOS event marks the queue as completely filled.
6321
6322 2005-10-27  Wim Taymans  <wim@fluendo.com>
6323
6324         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6325         (gst_base_sink_do_sync), (gst_base_sink_get_position):
6326         Some more debugging.
6327
6328         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
6329         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
6330         (gst_base_transform_event), (gst_base_transform_getrange),
6331         (gst_base_transform_chain):
6332         * gst/base/gstbasetransform.h:
6333         Fix debugging,
6334         Protect transform and concurrent buffer alloc with a new lock.
6335         Try not to break ABI/API.
6336
6337 2005-10-27  Wim Taymans  <wim@fluendo.com>
6338
6339         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6340         (gst_base_src_init), (gst_base_src_query),
6341         (gst_base_src_default_newsegment),
6342         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6343         (gst_base_src_send_event), (gst_base_src_event_handler),
6344         (gst_base_src_pad_get_range), (gst_base_src_loop),
6345         (gst_base_src_unlock), (gst_base_src_default_negotiate),
6346         (gst_base_src_start), (gst_base_src_deactivate),
6347         (gst_base_src_activate_push), (gst_base_src_change_state):
6348         Move some stuff around and cleanup things.
6349
6350 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
6351
6352         * gst/base/gstbasesrc.c: (gst_base_src_query):
6353           Add missing break statements.
6354
6355 2005-10-27  Wim Taymans  <wim@fluendo.com>
6356
6357         * check/gst/gstbin.c: (GST_START_TEST):
6358         An extra refcount is taken in basesrc.
6359
6360         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6361         (gst_base_src_get_range), (gst_base_src_pad_get_range),
6362         (gst_base_src_loop):
6363         Small cleanups, check for flushing after being unlocked from the 
6364         LIVE_LOCK. take refcounts correctly (not yet everywhere).
6365         Don't send out EOS when going to READY.
6366
6367 2005-10-27  Wim Taymans  <wim@fluendo.com>
6368
6369         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6370         (gst_base_sink_get_position):
6371         Some more debug.
6372
6373         * gst/gstbin.c: (message_check), (bin_replace_message),
6374         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6375         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6376         (bin_query_duration_init), (bin_query_duration_fold),
6377         (bin_query_duration_done), (bin_query_generic_fold),
6378         (gst_bin_query):
6379         * tools/gst-launch.c: (main):
6380         Remove old option.
6381
6382 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
6383
6384         * examples/controller/audio-example.c: (main):
6385         * examples/queue/queue.c: (event_loop):
6386         * gst/base/gstbasetransform.h:
6387         * gst/gstelement.c: (gst_element_send_event):
6388         * gst/gstevent.h:
6389         * gst/gstpad.c: (gst_pad_send_event):
6390           fixing examples
6391           fixing docs typos
6392           changing log priority in error situations
6393
6394 2005-10-25  Wim Taymans  <wim@fluendo.com>
6395
6396         * gst/gstbin.c: (message_check), (bin_replace_message),
6397         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6398         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6399         (bin_query_duration_init), (bin_query_duration_fold),
6400         (bin_query_duration_done), (bin_query_generic_fold),
6401         (gst_bin_query):
6402         Some doc and debug updates.
6403         Cache previously requested query DURATION for speed. invalidate
6404         cached duration if element posts a DURATION message.
6405
6406 2005-10-25  Wim Taymans  <wim@fluendo.com>
6407
6408         * docs/design/part-TODO.txt:
6409         Update TODO.
6410
6411         * gst/gstbin.c: (message_check), (bin_replace_message),
6412         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6413         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6414         (bin_query_duration_init), (bin_query_duration_fold),
6415         (bin_query_duration_done), (bin_query_generic_fold),
6416         (gst_bin_query):
6417         Handle SEGMENT_START/DONE messages correctly.
6418         More evolved query algorithm that handles duration queries
6419         correctly.
6420
6421         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
6422         (gst_element_get_state_func), (gst_element_abort_state),
6423         (gst_element_commit_state), (gst_element_lost_state):
6424         Some more debugging.
6425
6426         * gst/gstmessage.h:
6427         Added doc.
6428
6429 2005-10-25  Wim Taymans  <wim@fluendo.com>
6430
6431         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6432         Don't use invalid stream_time.
6433
6434         * gst/gstevent.c: (gst_event_new_newsegment):
6435         stream_time in newsegment cannot be undefined.
6436
6437 2005-10-24  Wim Taymans  <wim@fluendo.com>
6438
6439         * gst/gstbus.c:
6440         Doc fix.
6441
6442         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6443         (gst_queue_loop):
6444         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
6445
6446 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
6447
6448         * docs/libs/tmpl/gstdparam.sgml:
6449         * docs/libs/tmpl/gstdplinint.sgml:
6450         * docs/libs/tmpl/gstdpman.sgml:
6451         * docs/libs/tmpl/gstdpsmooth.sgml:
6452         * docs/libs/tmpl/gstunitconvert.sgml:
6453           these are obsolete
6454
6455 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6456
6457         * configure.ac:
6458           back to HEAD
6459
6460 === release 0.9.4 ===
6461
6462 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6463
6464         * configure.ac:
6465           releasing 0.9.4, "Tyrannosaurus Rex"
6466
6467 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
6468
6469         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6470         (gst_file_sink_get_current_offset):
6471           Use fseeko() and ftello() if available. When falling back on
6472           lseek() to get the current offset, fflush() first to make sure
6473           everything is up-to-date and we get the right offset.
6474
6475 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6476
6477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6478         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6479         * gst/gsterror.c: (_gst_stream_errors_init):
6480         * gst/gsterror.h:
6481         * gst/gstqueue.c: (gst_queue_loop):
6482         * po/POTFILES.in:
6483           remove prematurely added error category and clean up the instances
6484
6485 2005-10-21  Wim Taymans  <wim@fluendo.com>
6486
6487         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6488         (gst_base_sink_get_position), (gst_base_sink_query),
6489         (gst_base_sink_change_state):
6490         Simply set the right flag when going to playing, that's all
6491         we need to do instead of calling a function inside the object
6492         lock (that could take the lock as well and deadlock)
6493
6494 2005-10-21  Wim Taymans  <wim@fluendo.com>
6495
6496         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
6497         (gst_base_src_loop):
6498         Don't warn, the peer element knows what to do best when
6499         the seek failed, it might try something else.
6500
6501 2005-10-21  Wim Taymans  <wim@fluendo.com>
6502
6503         * gst/base/gstbasesrc.c: (gst_base_src_init),
6504         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6505         Fix seeking.
6506
6507 2005-10-21  Wim Taymans  <wim@fluendo.com>
6508
6509         * docs/design/part-segments.txt:
6510         More docs.
6511
6512         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6513         Correctly set caps, even on the subbufer.
6514
6515 2005-10-21  Wim Taymans  <wim@fluendo.com>
6516
6517         * docs/gst/gstreamer-docs.sgml:
6518         * docs/gst/gstreamer-sections.txt:
6519         * gst/gstelement.h:
6520         * gst/gstevent.c:
6521         * gst/gstevent.h:
6522         * gst/gstmessage.h:
6523         * gst/gstpad.h:
6524         * gst/gstparse.h:
6525         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
6526         * gst/gsttask.h:
6527         * gst/gstutils.c:
6528         * gst/gstutils.h:
6529         And 2% more doc coverage.
6530
6531 2005-10-21  Andy Wingo  <wingo@pobox.com>
6532
6533         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
6534         position reporting.
6535
6536 2005-10-20  Wim Taymans  <wim@fluendo.com>
6537
6538         * gst/gsterror.c: (gst_error_get_message):
6539         * gst/gstparse.h:
6540         * gst/gstquery.h:
6541         * gst/gststructure.c:
6542         * gst/gsttrace.c:
6543         * gst/gstutils.c:
6544         More docs.
6545
6546 2005-10-20  Wim Taymans  <wim@fluendo.com>
6547
6548         * gst/gstbuffer.h:
6549         * gst/gstpad.c:
6550         * gst/gstparse.c:
6551         Another 1% more coverage.
6552
6553 2005-10-20  Wim Taymans  <wim@fluendo.com>
6554
6555         * docs/gst/gstreamer-sections.txt:
6556         * gst/gstelement.c: (gst_element_get_state_func),
6557         (gst_element_abort_state), (gst_element_commit_state),
6558         (gst_element_lost_state):
6559         * gst/gstevent.h:
6560         * gst/gstquery.c: (gst_query_set_position),
6561         (gst_query_parse_position), (gst_query_set_duration),
6562         (gst_query_parse_duration), (gst_query_new_convert):
6563         * gst/gstutils.c:
6564         Yay! 1% more docs coverage.
6565
6566 2005-10-20  Wim Taymans  <wim@fluendo.com>
6567
6568         * gst/gstpad.h:
6569         * gst/gstquery.c: (gst_query_set_position),
6570         (gst_query_parse_position), (gst_query_set_duration),
6571         (gst_query_parse_duration), (gst_query_new_convert):
6572         * gst/gstquery.h:
6573         * gst/gstutils.c: (gst_element_query_convert):
6574         * gst/gstutils.h:
6575         Docs and consistency fixes.
6576
6577 2005-10-20  Wim Taymans  <wim@fluendo.com>
6578
6579         * gst/gsttask.c:
6580         * gst/gsttask.h:
6581         More docs.
6582
6583 2005-10-20  Wim Taymans  <wim@fluendo.com>
6584
6585         * gst/gstbin.c: (message_check), (bin_replace_message),
6586         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6587         (update_degree), (gst_bin_sort_iterator_next),
6588         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
6589         Reworked the message handling a bit, cache the messages instead of
6590         only the senders. alows us to do more in the future.
6591
6592 2005-10-20  Wim Taymans  <wim@fluendo.com>
6593
6594         * docs/design/part-TODO.txt:
6595         Update TODO
6596
6597         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6598         (gst_base_sink_query):
6599         Don't use clock time to report position when in EOS.
6600
6601 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
6602
6603         * tools/gst-inspect.c: (print_interfaces),
6604         (print_element_properties_info), (print_element_info):
6605           Fix interface output with gst-inspect -a; don't print
6606           newlines after double/float properties.
6607
6608 2005-10-20  Wim Taymans  <wim@fluendo.com>
6609
6610         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6611         (gst_base_sink_query):
6612         Speed up current position calculation.
6613
6614         * gst/base/gstbasesrc.c: (gst_base_src_query),
6615         (gst_base_src_default_newsegment):
6616         Correctly set stream position in newsegment.
6617
6618         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6619         (update_degree), (gst_bin_sort_iterator_next),
6620         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6621         * gst/gstmessage.c: (gst_message_new_custom):
6622         Clean up debugging info
6623
6624         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6625         (gst_queue_loop), (gst_queue_handle_src_query):
6626         Pause task faster.
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         Fix query handling again.
6633
6634 2005-10-19  Wim Taymans  <wim@fluendo.com>
6635
6636         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6637         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6638         * gst/base/gstbasesrc.c: (gst_base_src_query):
6639         * gst/elements/gstfilesink.c: (gst_file_sink_query):
6640         * gst/elements/gsttypefindelement.c:
6641         (gst_type_find_handle_src_query), (find_element_get_length),
6642         (gst_type_find_element_activate):
6643         API change fix.
6644
6645         * gst/gstquery.c: (gst_query_new_position),
6646         (gst_query_set_position), (gst_query_parse_position),
6647         (gst_query_new_duration), (gst_query_set_duration),
6648         (gst_query_parse_duration), (gst_query_set_segment),
6649         (gst_query_parse_segment):
6650         * gst/gstquery.h:
6651         Bundling query position/duration is not a good idea since duration
6652         does not change much and we don't want to recalculate it for every
6653         position query, so they are separated again..
6654         Base value in segment query is not needed.
6655
6656         * gst/gstqueue.c: (gst_queue_handle_src_query):
6657         * gst/gstutils.c: (gst_element_query_position),
6658         (gst_element_query_duration), (gst_pad_query_position),
6659         (gst_pad_query_duration):
6660         * gst/gstutils.h:
6661         Updates for query API change.
6662         Added some docs here and there.
6663
6664 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6665
6666         * check/gst/gstbin.c: (GST_START_TEST):
6667         * check/gst/gstghostpad.c: (GST_START_TEST):
6668         * check/pipelines/cleanup.c: (GST_START_TEST):
6669           wait on thread to die so we can check refcount correctly
6670
6671 2005-10-18  Wim Taymans  <wim@fluendo.com>
6672
6673         * check/pipelines/stress.c: (GST_START_TEST):
6674         Make check a little more time consuming.
6675
6676 2005-10-18  Wim Taymans  <wim@fluendo.com>
6677
6678         * check/Makefile.am:
6679         * check/pipelines/stress.c: (GST_START_TEST),
6680         (simple_launch_lines_suite), (main):
6681         Small state change torture test.
6682
6683         * docs/design/part-states.txt:
6684         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6685         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
6686         (gst_base_sink_change_state):
6687         Never take state lock from streaming thread, clean up ugly
6688         hacks. Unfortunatly core does not yet support nice ways to
6689         async commit state.
6690         
6691         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
6692         (bin_bus_handler):
6693         Start state recalc if a STATE_DIRTY message is posted, but only
6694         on the toplevel bin.
6695
6696         * gst/gstelement.c: (gst_element_sync_state_with_parent),
6697         (gst_element_get_state_func), (gst_element_abort_state),
6698         (gst_element_commit_state), (gst_element_lost_state),
6699         (gst_element_set_state_func), (gst_element_change_state):
6700         * gst/gstelement.h:
6701         State variables are now protected with the LOCK, the state
6702         lock is only used to serialize _set_state().
6703
6704 2005-10-18  Wim Taymans  <wim@fluendo.com>
6705
6706         * check/gst/gstbin.c: (GST_START_TEST):
6707         * check/gst/gstmessage.c: (GST_START_TEST):
6708         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6709         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
6710         (bin_bus_handler):
6711         * gst/gstelement.c: (gst_element_abort_state),
6712         (gst_element_commit_state), (gst_element_lost_state):
6713         * gst/gstmessage.c: (gst_message_new_state_changed),
6714         (gst_message_new_state_dirty), (gst_message_new_segment_start),
6715         (gst_message_new_segment_done), (gst_message_new_duration),
6716         (gst_message_parse_state_changed),
6717         (gst_message_parse_segment_start),
6718         (gst_message_parse_segment_done), (gst_message_parse_duration):
6719         * gst/gstmessage.h:
6720         * tools/gst-launch.c: (event_loop):
6721         Seriously, this is better than a previous commit as we only need
6722         to notify the fact that an element changed state in a streaming
6723         thread, marking the state of the parents dirty, hence the 
6724         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
6725         message.
6726
6727 2005-10-18  Wim Taymans  <wim@fluendo.com>
6728
6729         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6730         (gst_bin_recalc_func):
6731         * gst/gstelement.c: (gst_element_set_clock),
6732         (gst_element_abort_state), (gst_element_lost_state):
6733         Cleanups, prepare for state change fixes.
6734
6735 2005-10-18  Wim Taymans  <wim@fluendo.com>
6736
6737         * gst/gstbin.h:
6738         * gst/gstelement.c: (gst_element_class_init),
6739         (gst_element_set_state), (gst_element_set_state_func):
6740         * gst/gstelement.h:
6741         Pending ABI changes.
6742         GThreadPool in GstBinClass to monitor async state changes.
6743         state_cookie in GstElement to detect concurrent gst/set state.
6744         set_state is now virtual too in case a very complicated element
6745         has to be constructed.
6746
6747 2005-10-18  Wim Taymans  <wim@fluendo.com>
6748
6749         * check/gst/gstbin.c: (GST_START_TEST):
6750         * check/gst/gstmessage.c: (GST_START_TEST):
6751         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6752         * gst/gstbin.c: (bin_bus_handler):
6753         * gst/gstelement.c: (gst_element_commit_state),
6754         (gst_element_lost_state):
6755         * gst/gstmessage.c: (gst_message_new_state_changed),
6756         (gst_message_new_segment_start), (gst_message_new_segment_done),
6757         (gst_message_new_duration), (gst_message_parse_state_changed),
6758         (gst_message_parse_segment_start),
6759         (gst_message_parse_segment_done), (gst_message_parse_duration):
6760         * gst/gstmessage.h:
6761         * tools/gst-launch.c: (event_loop):
6762         Make messages future proof.
6763         state-change gets a flag if it was a message comming from the
6764         streaming thread.
6765         segment-start/stop can also be specified in other formats.
6766         A message to notify an app that a pipeline changed playback 
6767         duration.
6768         Also fix a GstMessage leak in -launch
6769
6770 2005-10-18  Andy Wingo  <wingo@pobox.com>
6771
6772         * gst/gstelement.c (gst_element_dispose): More helpful message.
6773
6774 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6775
6776         reviewed by: <delete if not using a buddy>
6777
6778         * common/gtk-doc.mak:
6779
6780 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6781
6782         * gst/gstregistry.c: (gst_registry_scan_path_level):
6783           unref a plug-in we get that was already initialized
6784
6785 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
6786
6787         * docs/gst/gstreamer-sections.txt:
6788         * docs/libs/gstreamer-libs-sections.txt:
6789         * gst/gstelement.h:
6790           add new api entries
6791           hide internal macro
6792
6793 2005-10-17  Andy Wingo  <wingo@pobox.com>
6794
6795         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
6796         cleanup.
6797
6798         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
6799
6800         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
6801
6802         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
6803         (gst_element_get_state_func): Better debug message.
6804         (gst_element_commit_state): s/INFO/DEBUG/.
6805         (gst_element_lost_state, gst_element_change_state): 
6806
6807         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
6808         (gst_message_new_custom): s/INFO/LOG/.
6809
6810 2005-10-17  Michael Smith <msmith@fluendo.com>
6811
6812         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6813           Check if end time is valid using end time, not start time.
6814
6815 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
6816
6817         * check/gst-libs/controller.c: (GST_START_TEST),
6818         (gst_controller_suite):
6819         * libs/gst/controller/gstcontroller.c:
6820         (gst_controlled_property_set_interpolation_mode):
6821         * libs/gst/controller/gstcontroller.h:
6822         * libs/gst/controller/gstinterpolation.c:
6823         * testsuite/controller/.cvsignore:
6824         * testsuite/controller/Makefile.am:
6825         * testsuite/controller/interpolator.c:
6826           merge controller testsuites
6827           fix broken tests
6828           remove mem-chunk from docs
6829
6830 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6831
6832         * gst/gstmemchunk.c:
6833         * gst/gstmemchunk.h:
6834         * gst/gsttrashstack.c:
6835         * gst/gsttrashstack.h:
6836           out.  get out.  you're fired.  to the Attic !
6837
6838 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6839
6840         * gst/gstcaps.c: (gst_caps_intersect):
6841           fix signedness issues in a (hopefully) correct way
6842         * gst/gstelement.c: (gst_element_pads_activate):
6843           some debugging
6844         * gst/gstobject.c: (gst_object_set_parent):
6845           some debugging
6846
6847 2005-10-17  Julien MOUTTE  <julien@moutte.net>
6848
6849         * gst/gstvalue.h: Fix prototypes.
6850
6851 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6852
6853         * docs/gst/gstreamer-sections.txt:
6854         * gst/gst.c: (gst_version_string):
6855         * gst/gst.h:
6856         * gst/gstversion.h.in:
6857         * win32/common/libgstreamer.def:
6858           add gst_version_string ()
6859
6860 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6861
6862         * configure.ac:
6863           clean up further
6864         * gst/gst.c: (init_post):
6865         * win32/common/config.h.in:
6866           it's PLUGINDIR now
6867         * gst/gstcaps.c: (gst_caps_intersect):
6868           use gint64, the range could be bigger than a guint
6869
6870 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6871
6872         * gst/gstclock.h:
6873           document potential problem in 2038
6874
6875 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         * gst/gstcaps.c: (gst_caps_intersect):
6878           Fix guint j diving under 0
6879
6880 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6881
6882         * configure.ac:
6883         * win32/common/config.h:
6884         * win32/common/config.h.in:
6885           check for process.h, declares getpid() on Windows
6886         * gst/gstinfo.c:
6887           include process.h if we have it
6888         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
6889         * gst/gstmemchunk.h:
6890           fix signedness issues
6891         * win32/common/libgstreamer.def:
6892           fix get_type's
6893
6894 2005-10-16  Julien MOUTTE  <julien@moutte.net>
6895
6896         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
6897         fix. Because of unsigned ints, caps intersection was going nuts and
6898         trying to access structures with G_MAXUINT index. That fixes
6899         videotestsrc ! ffmpegcolorspace ! fakesink
6900         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
6901         consistency.
6902
6903 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6904
6905         * configure.ac:
6906           use the gettext macro
6907         * gst/elements/gstelements.c:
6908         * gst/gst.c:
6909         * gst/indexers/gstindexers.c:
6910           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
6911         * win32/common/config.h:
6912           updated config.h
6913         * win32/common/config.h.in:
6914           add the template to generate config.h
6915         * win32/common/gstenumtypes.c:
6916         * win32/common/gstversion.h:
6917           updated copies
6918
6919 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6920
6921         * gst/gst.c: (gst_version):
6922         * gst/gstversion.h.in:
6923           add the nano
6924
6925 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6926
6927         * gst/gstevent.h:
6928           Oops, add missing closing bracket.
6929
6930 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6931
6932         * configure.ac:
6933           use common m4's for argument checking
6934
6935 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6936
6937         * docs/gst/gstreamer-sections.txt:
6938         * gst/gstevent.h:
6939           Add GST_EVENT_TYPE_NAME() macro.
6940
6941 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6942
6943         * gst/gstinfo.c:
6944         * gst/gstpluginfeature.c:
6945         * gst/gsttask.c:
6946           privatize more symbols
6947
6948 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6949
6950         * configure.ac:
6951           add srcdir, builddir includes to GST_ALL_CFLAGS, since
6952           everything that uses GStreamer API should have the includes
6953
6954 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6955
6956         * docs/gst/gstreamer-sections.txt:
6957         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6958         * gst/gstvalue.h:
6959           give each value a _get_type, removes the DATA exports
6960
6961 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6962
6963         * gst/gst.c:
6964         * gst/gst.h:
6965           remove _gst_registry_auto_load, not used anymore
6966         * gst/gstbin.c: (gst_bin_get_type):
6967         * gst/gstbin.h:
6968         * gst/gstelement.c: (gst_element_get_type):
6969         * gst/gstelement.h:
6970         * gst/gstobject.c: (gst_object_get_type):
6971         * gst/gstobject.h:
6972         * gst/gstpad.c: (gst_pad_get_type):
6973         * gst/gstpad.h:
6974           make _get_type functions similar, fixes data export from library
6975
6976 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6977
6978         * configure.ac:
6979           correctly make conditionals
6980         * gst/elements/Makefile.am:
6981         * gst/elements/gstelements.c:
6982           fix typo causing fdsrc not to build
6983
6984 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6985
6986         * testsuite/Makefile.am:
6987         * testsuite/bytestream/.cvsignore:
6988         * testsuite/bytestream/Makefile.am:
6989         * testsuite/bytestream/filepadsink.c:
6990         * testsuite/bytestream/gstbstest.c:
6991         * testsuite/bytestream/test1.c:
6992         * testsuite/bytestream/testfile1:
6993         * testsuite/caps/normalisation.c:
6994         * testsuite/caps/random.c: (main):
6995         * testsuite/cleanup/.cvsignore:
6996         * testsuite/cleanup/Makefile.am:
6997         * testsuite/cleanup/cleanup1.c:
6998         * testsuite/cleanup/cleanup2.c:
6999         * testsuite/cleanup/cleanup3.c:
7000         * testsuite/cleanup/cleanup4.c:
7001         * testsuite/cleanup/cleanup5.c:
7002         * testsuite/controller/interpolator.c:
7003         * testsuite/debug/printf_extension.c: (main):
7004         * testsuite/elements/tee.c:
7005         * testsuite/negotiation/.cvsignore:
7006         * testsuite/negotiation/Makefile.am:
7007         * testsuite/negotiation/pad_link.c:
7008         * testsuite/pad/Makefile.am:
7009         * testsuite/pad/chainnopull.c:
7010         * testsuite/pad/getnopush.c:
7011         * testsuite/pad/link.c:
7012         * testsuite/refcounting/sched.c: (create_pipeline):
7013         * testsuite/registry/Makefile.am:
7014         * testsuite/registry/gst-print-formats.c:
7015         * testsuite/schedulers/.cvsignore:
7016         * testsuite/schedulers/142183-2.c:
7017         * testsuite/schedulers/142183.c:
7018         * testsuite/schedulers/143777-2.c:
7019         * testsuite/schedulers/143777.c:
7020         * testsuite/schedulers/147713.c:
7021         * testsuite/schedulers/147819.c:
7022         * testsuite/schedulers/147894-2.c:
7023         * testsuite/schedulers/147894.c:
7024         * testsuite/schedulers/Makefile.am:
7025         * testsuite/schedulers/group_link.c:
7026         * testsuite/schedulers/queue_link.c:
7027         * testsuite/schedulers/relink.c:
7028         * testsuite/schedulers/unlink.c:
7029         * testsuite/schedulers/unref.c:
7030         * testsuite/schedulers/useless_iteration.c:
7031         * testsuite/states/bin.c:
7032           clean out/remove some stuff from the testsuite directories
7033
7034 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7035
7036         * configure.ac:
7037           check for some headers
7038         * gst/elements/Makefile.am:
7039         * gst/elements/gstelements.c:
7040           don't compile fdsrc without sys/socket.h
7041         * gst/indexers/Makefile.am:
7042         * gst/indexers/gstindexers.c: (plugin_init):
7043           don't compile fileindex without mmap
7044
7045 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7046
7047         * configure.ac:
7048           reorganize
7049           clean up
7050           document more
7051           remove cruft
7052         * check/Makefile.am:
7053         * docs/gst/Makefile.am:
7054         * examples/helloworld/Makefile.am:
7055         * gst/Makefile.am:
7056         * gst/base/Makefile.am:
7057         * gst/check/Makefile.am:
7058         * gst/elements/Makefile.am:
7059         * gst/indexers/Makefile.am:
7060         * gst/parse/Makefile.am:
7061         * libs/gst/controller/Makefile.am:
7062         * libs/gst/dataprotocol/Makefile.am:
7063         * examples/helloworld/helloworld.c: (event_loop):
7064           compile fixes, though it's not being compiled currently
7065
7066 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7067
7068         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
7069           Add some simple tests for the new taglist date API.
7070
7071 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7072
7073         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
7074         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
7075           Beautify 'last-message' output: print 'none' for buffer timestamps
7076           and durations if none is set; improve alignment with next messages.
7077
7078 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
7079
7080         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
7081         * gst/gstpluginfeature.h:
7082         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
7083         * gst/gstregistry.h:
7084         * docs/gst/gstreamer-sections.txt:
7085           Add new API to check plugin feature version requirements.
7086
7087         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
7088           Some basic tests for the above.         
7089
7090 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7091
7092         * gst/gststructure.c: (gst_structure_to_string):
7093           guard against NULL printf - happens when for example
7094           a message structure with GstClock gets serialized
7095
7096 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7097
7098         * gst/base/gstcollectpads.c: (gst_collectpads_event):
7099           Fix presumable copy'n'pasto.
7100
7101 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7102
7103         * gst/elements/gstfakesrc.h:
7104         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7105         * gst/elements/gsttypefindelement.c:
7106           fix some signedness
7107         * gst/elements/gstfilesink.c: (gst_file_sink_render):
7108           I wonder if this could actually write +2GB files before
7109
7110 2005-10-13  Andy Wingo  <wingo@pobox.com>
7111
7112         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7113         Fix Timmeke Waymans bug.
7114         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7115         string of the proper length to gst_caps_from_string. There's a
7116         potential for, before this fix, that this could cause someone
7117         connecting over the network to cause a segfault if the payload is
7118         not NUL-terminated.
7119
7120 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7121
7122         * docs/design/draft-push-pull.txt:
7123         * docs/design/part-overview.txt:
7124         * docs/random/TODO-pre-0.9:
7125         * docs/random/old/ChangeLog.gstreamer:
7126         * gst/base/gstpushsrc.c:
7127         * gst/gstclock.c:
7128           fixed typos
7129
7130 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7131
7132         * gst/glib-compat.c: (gst_flags_get_first_value):
7133         * gst/glib-compat.h:
7134         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7135         (gst_value_compare_double), (gst_value_serialize_flags):
7136           GLib 2.6 g_flags_get_first_value has a bug that triggers an
7137           infinite loop
7138
7139 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7140
7141         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7142         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7143           fix up debugging
7144         * tools/gst-launch.c: (event_loop):
7145           print out clock nicely
7146
7147 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7148
7149         * docs/gst/gstreamer-sections.txt:
7150         * gst/gsttaglist.h:
7151         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7152         (gst_tag_list_get_date_index):
7153           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7154           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7155
7156 2005-10-13  Julien MOUTTE  <julien@moutte.net>
7157
7158         * gst/base/gstcollectpads.c: (gst_collectpads_event),
7159         (gst_collectpads_chain):
7160         * gst/base/gstcollectpads.h: Handle newsegment and store informations
7161         in CollectData.
7162
7163 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7164
7165         * docs/gst/gstreamer-sections.txt:
7166         * gst/gst.c:
7167         * gst/gsterror.h:
7168         * tools/gst-inspect.c: (main):
7169         * tools/gst-launch.c: (main):
7170         * tools/gst-run.c: (main):
7171         * tools/gst-xmlinspect.c: (main):
7172           fix GOption context leaks
7173           doc fixes
7174
7175 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7176
7177         * gst/gstbus.c:
7178           use HAVE_UNISTD_H
7179         * win32/common/config.h:
7180           update config
7181         * win32/vs6/grammar.dsp:
7182         * win32/vs6/libgstelements.dsp:
7183         * win32/vs6/libgstreamer.dsp:
7184           update vs6 files
7185
7186 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7187
7188         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7189         * gst/base/gstbasesrc.c: (gst_base_src_query):
7190           fix more guint64<->gdouble conversions
7191
7192 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7193
7194         * Makefile.am:
7195           add win32-update target
7196         * win32/common/gstconfig.h:
7197         * win32/common/gstenumtypes.c:
7198         * win32/common/gstenumtypes.h:
7199         * win32/common/gstversion.h:
7200           add files that visual studio can't generate
7201
7202 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7203
7204         * Makefile.am:
7205           add a win32-update target
7206         * configure.ac:
7207
7208 2005-10-12  Wim Taymans  <wim@fluendo.com>
7209
7210         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7211         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7212         * gst/gstelement.c: (gst_element_commit_state),
7213         (gst_element_set_state):
7214         Protect flags with proper lock.
7215         unref provided cached clock in dispose.
7216
7217 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7218
7219         * gst/gst.c:
7220         * gst/gstminiobject.h:
7221         * gst/gstpad.h:
7222         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7223           removed unused flags from miniobject
7224           doc fixes
7225
7226 2005-10-12  Wim Taymans  <wim@fluendo.com>
7227
7228         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7229         (gst_file_sink_event), (gst_file_sink_render):
7230         Flush before seeking.
7231
7232 2005-10-12  Andy Wingo  <wingo@pobox.com>
7233
7234         * gst/gst.c (gst_init_check): Ignore unknown options, as has
7235         always been the case.
7236
7237 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7238
7239         * check/gst/gstbin.c: (GST_START_TEST):
7240         * docs/gst/gstreamer-sections.txt:
7241         * gst/base/gstbasesink.c: (gst_base_sink_init):
7242         * gst/base/gstbasesrc.c: (gst_base_src_init),
7243         (gst_base_src_get_range), (gst_base_src_check_get_range),
7244         (gst_base_src_start), (gst_base_src_stop):
7245         * gst/base/gstbasesrc.h:
7246         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7247         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7248         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7249         (bin_bus_handler):
7250         * gst/gstbin.h:
7251         * gst/gstbuffer.h:
7252         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
7253         * gst/gstbus.h:
7254         * gst/gstelement.c: (gst_element_is_locked_state),
7255         (gst_element_set_locked_state), (gst_element_commit_state),
7256         (gst_element_set_state):
7257         * gst/gstelement.h:
7258         * gst/gstindex.c: (gst_index_init):
7259         * gst/gstindex.h:
7260         * gst/gstminiobject.h:
7261         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
7262         (gst_object_set_parent):
7263         * gst/gstobject.h:
7264         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
7265         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
7266         * gst/gstpad.h:
7267         * gst/gstpadtemplate.h:
7268         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
7269         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7270         * gst/gstpipeline.h:
7271         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7272         (gst_file_index_commit):
7273         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
7274         * testsuite/pad/link.c: (gst_test_src_init),
7275         (gst_test_filter_init), (gst_test_sink_init):
7276         * testsuite/states/locked.c: (main):
7277           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
7278           moved bitshift from macro to enum definition
7279
7280 2005-10-12  Wim Taymans  <wim@fluendo.com>
7281
7282         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
7283         * gst/elements/gstfilesink.c: (gst_file_sink_event),
7284         (gst_file_sink_render):
7285         Some more debugging info.
7286
7287 2005-10-12  Wim Taymans  <wim@fluendo.com>
7288
7289         * docs/design/part-states.txt:
7290         * tools/gst-launch.c: (main):
7291         Some doc updates.
7292         Revert non-intentional change.
7293
7294 2005-10-12  Wim Taymans  <wim@fluendo.com>
7295
7296         * check/gst/gstbin.c: (GST_START_TEST):
7297         * check/gst/gstelement.c: (GST_START_TEST):
7298         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
7299         * check/gst/gstghostpad.c: (GST_START_TEST):
7300         * check/gst/gstpipeline.c: (GST_START_TEST):
7301         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7302         * check/states/sinks.c: (GST_START_TEST):
7303         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7304         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7305         (gst_bin_remove_func), (gst_bin_get_state_func),
7306         (gst_bin_recalc_state), (gst_bin_change_state_func),
7307         (bin_bus_handler):
7308         * gst/gstelement.c: (gst_element_get_state_func),
7309         (gst_element_get_state), (gst_element_abort_state),
7310         (gst_element_commit_state), (gst_element_set_state),
7311         (gst_element_change_state), (gst_element_change_state_func):
7312         * gst/gstelement.h:
7313         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
7314         (gst_pipeline_provide_clock_func):
7315         * gst/gstutils.c: (gst_element_link_pads_filtered):
7316         * tools/gst-launch.c: (main):
7317         * tools/gst-typefind.c: (main):
7318         Use GstClockTime in _get_state() instead of GTimeVal.
7319         Remove old code in gstutils.c
7320
7321 2005-10-12  Andy Wingo  <wingo@pobox.com>
7322
7323         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
7324         removed.
7325
7326         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
7327         there is no task. Shouldn't affect any code, as nothing in our
7328         plugins checks this return value.
7329         (gst_pad_stop_task): Also take the stream lock if the pad has no
7330         task. Docs updated.
7331
7332 2005-10-12  Wim Taymans  <wim@fluendo.com>
7333
7334         * gst/gstpad.c: (pre_activate), (post_activate),
7335         (gst_pad_activate_pull), (gst_pad_activate_push):
7336         Cleanup activation code. Reset old state if
7337         activation failed.
7338
7339 2005-10-12  Wim Taymans  <wim@fluendo.com>
7340
7341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7342         (gst_base_sink_change_state):
7343         No need to prerol after receiving EOS.
7344
7345         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7346         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
7347         * gst/elements/gstidentity.c: (gst_identity_event):
7348         Print events more verbosely.
7349
7350 2005-10-12  Wim Taymans  <wim@fluendo.com>
7351
7352         * check/Makefile.am:
7353         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7354         * check/states/sinks2.c:
7355         Moved sinks2 testcode in sinks check.
7356
7357         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7358         (gst_bin_remove_func), (gst_bin_recalc_state),
7359         (gst_bin_change_state_func), (bin_bus_handler):
7360         Fix potential race condition when _get_state() iterated over an
7361         ASYNC element right before it posted a state completion.
7362
7363         * gst/gstclock.h:
7364         Do proper cast here.
7365
7366         * gst/gstevent.c: (gst_event_new_newsegment),
7367         (gst_event_parse_newsegment):
7368         A playback rate of 0.0 is not allowed.
7369
7370 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7371
7372         * win32/common/config.h:
7373         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7374         (_trewinddir), (_ttelldir), (_tseekdir):
7375         * win32/common/dirent.h:
7376         * win32/common/gtchar.h:
7377         * win32/common/libgstbase.def:
7378         * win32/common/libgstreamer.def:
7379         * win32/vs6/grammar.dsp:
7380         * win32/vs6/gst_inspect.dsp:
7381         * win32/vs6/gst_launch.dsp:
7382         * win32/vs6/gstreamer.dsw:
7383         * win32/vs6/libgstbase.dsp:
7384         * win32/vs6/libgstelements.dsp:
7385         * win32/vs6/libgstreamer.dsp:
7386           Visual Studio 6 project files, and a new common directory.
7387           Phear.
7388
7389 2005-10-11  Wim Taymans  <wim@fluendo.com>
7390
7391         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7392         (gst_base_sink_do_sync), (gst_base_sink_query),
7393         (gst_base_sink_change_state):
7394         * gst/base/gstbasesink.h:
7395         Correctly parse newsegment info.
7396
7397 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7398
7399         * gst/gst.c: (init_post):
7400           split plugin paths correctly
7401
7402 2005-10-11  Wim Taymans  <wim@fluendo.com>
7403
7404         * check/gst/gstevent.c: (GST_START_TEST):
7405         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7406         (gst_base_sink_change_state):
7407         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
7408         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7409         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7410         * gst/gstevent.c: (gst_event_new_newsegment),
7411         (gst_event_parse_newsegment):
7412         * gst/gstevent.h:
7413         Added extra flag to newsegment for future API freeze.
7414         Updated check and base elements.
7415
7416 2005-10-11  Julien MOUTTE  <julien@moutte.net>
7417
7418         * gst/base/gstcollectpads.c: (gst_collectpads_init),
7419         (gst_collectpads_add_pad), (gst_collectpads_pop),
7420         (gst_collectpads_event), (gst_collectpads_chain):
7421         * gst/base/gstcollectpads.h: Handle EOS correctly.
7422
7423 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7424
7425         * tools/gst-launch.c: (main):
7426           more null protecting
7427
7428 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7429
7430         * gst/gst-i18n-lib.h:
7431           check for ENABLE_NLS, not GETTEXT_PACKAGE
7432         * gst/gstregistry.c: (gst_registry_add_plugin),
7433         (gst_registry_scan_path_level),
7434         (_gst_registry_remove_cache_plugins):
7435           protect possibly NULL strings
7436         * gst/parse/types.h:
7437           config.h already included before
7438         * tools/gst-inspect.c: (main):
7439           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
7440           check for ENABLE_NLS, not GETTEXT_PACKAGE
7441         * tools/gst-launch.c: (main):
7442           check for ENABLE_NLS, not GETTEXT_PACKAGE
7443
7444 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7445
7446         * configure.ac:
7447           if we don't have glib, fail before testing 2.8
7448         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
7449           fix a leak, should fix plugins-base testsuite
7450
7451 2005-10-11  Andy Wingo  <wingo@pobox.com>
7452
7453         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
7454         take the mode we're going to as an arg. Go head and set the mode
7455         and flushing flags now, so that if the activate function starts a
7456         thread all the flags will be in the right state.
7457         (post_activate): Renamed also. Just handle making sure streaming
7458         finishes for the deactivation case, and setting the deactivated
7459         mode.
7460         (gst_pad_set_active): Complain loudly if deactivation fails.
7461         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
7462         (gst_pad_activate_push): Adapt to pre/post_activate changes,
7463         remove the terrible hack.
7464
7465 2005-10-11  Wim Taymans  <wim@fluendo.com>
7466
7467         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7468         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
7469         (gst_bin_recalc_state), (gst_bin_change_state_func),
7470         (gst_bin_dispose), (bin_bus_handler):
7471         * gst/gstbin.h:
7472         Prepare to make current EOS message queue more generic.
7473         Fix some typos.
7474
7475         * gst/gstevent.c: (gst_event_new_newsegment),
7476         (gst_event_parse_newsegment):
7477         * gst/gstevent.h:
7478         Rename base to stream_time.
7479
7480         * gst/gstmessage.h:
7481         Fix typo in docs.
7482
7483 2005-10-11  Wim Taymans  <wim@fluendo.com>
7484
7485         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7486         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
7487         (gst_bin_change_state_func), (bin_bus_handler):
7488         * gst/gstbin.h:
7489         Work on proper clock selection.
7490
7491 2005-10-11  Edward Hervey  <edward@fluendo.com>
7492
7493         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
7494         * libs/gst/controller/gstcontroller.h:
7495         Added GList* version of _remove_properties() in order to be able to wrap
7496         it in bindings.
7497
7498 2005-10-11  Wim Taymans  <wim@fluendo.com>
7499
7500         * docs/design/part-states.txt:
7501         Some more docs.
7502
7503         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
7504         (gst_bin_change_state_func), (bin_bus_handler):
7505         Doc updates. Don't distribute the same clock over and over again.
7506
7507         * gst/gstclock.c:
7508         * gst/gstclock.h:
7509         Doc updates.
7510
7511         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
7512         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
7513         (gst_pad_send_event):
7514         * gst/gstpad.h:
7515         Make probe emission threadsafe again.
7516         Register quarks and move _get_name() from utils.
7517         Doc updates.
7518
7519         * gst/gstpipeline.c: (gst_pipeline_class_init),
7520         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7521         Only redistribute the clock of it changed.
7522
7523         * gst/gstsystemclock.h:
7524         Doc updates. 
7525
7526         * gst/gstutils.c:
7527         * gst/gstutils.h:
7528         Moved the _flow_get_name() to GstPad.
7529
7530 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7531
7532         * check/gst-libs/gdp.c: (GST_START_TEST):
7533         * check/gst/gstcaps.c: (GST_START_TEST):
7534         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7535         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
7536         (gst_dp_packet_from_caps):
7537           fix more valgrind warnings before turning up the heat
7538
7539 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7540
7541         * gst/parse/grammar.y:
7542           some cleanup before the hacking
7543
7544 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7545
7546         * gst/base/gstbasesrc.c: (gst_base_src_query):
7547           use conversions
7548         * gst/gstutils.c: (gst_guint64_to_gdouble),
7549         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
7550         * gst/gstutils.h:
7551           externalize, basesrc uses it
7552           obviously the implementation needs testing
7553
7554 2005-10-10  Wim Taymans  <wim@fluendo.com>
7555
7556         * tests/sched/Makefile.am:
7557         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
7558         (make_pipeline3), (make_pipeline4), (print_elem), (main):
7559
7560 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7561
7562         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
7563           apparently converting from guint64 to double is not implemented
7564           on MSVC
7565
7566 2005-10-10  Wim Taymans  <wim@fluendo.com>
7567
7568         * check/Makefile.am:
7569         * check/generic/states.c: (GST_START_TEST):
7570         * check/gst/gstbin.c: (GST_START_TEST):
7571         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7572         * check/states/sinks.c: (GST_START_TEST):
7573         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
7574         (main):
7575         Check fixes, use API as stated in design docs, remove hacks.
7576
7577         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7578         (gst_base_sink_change_state):
7579         Catch stopping our task while we're shutting down.
7580
7581         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7582         (gst_bin_remove_func), (gst_bin_get_state_func),
7583         (gst_bin_recalc_state), (gst_bin_change_state_func),
7584         (bin_bus_handler):
7585         * gst/gstbin.h:
7586         * gst/gstelement.c: (gst_element_init),
7587         (gst_element_get_state_func), (gst_element_abort_state),
7588         (gst_element_commit_state), (gst_element_lost_state),
7589         (gst_element_set_state), (gst_element_change_state),
7590         (gst_element_change_state_func):
7591         * gst/gstelement.h:
7592         New state change algorithm (see #318116)
7593
7594         * gst/gstpipeline.c: (gst_pipeline_class_init),
7595         (gst_pipeline_init), (gst_pipeline_set_property),
7596         (gst_pipeline_get_property), (do_pipeline_seek),
7597         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7598         * gst/gstpipeline.h:
7599         Remove crude state change hacks.
7600
7601         * gst/gstutils.h:
7602         Remove crude hacks.
7603
7604         * tools/gst-launch.c: (main):
7605         Fixes for state change. Needs some more work to fully use the
7606         new stuff.
7607
7608 2005-10-10  Andy Wingo  <wingo@pobox.com>
7609
7610         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7611
7612         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7613         this flag, but it's not even in GLib 2.6. Odd. Hack around the
7614         issue.
7615
7616 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7617
7618         * gst/gstiterator.c: (gst_iterator_new):
7619           Fix my previous commit: GTypes passed to gst_iterator_new()
7620           can be fundamental types.
7621
7622 2005-10-10  Wim Taymans  <wim@fluendo.com>
7623
7624         * gst/gstelement.c: (gst_element_iterate_pad_list),
7625         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7626         (gst_element_iterate_sink_pads):
7627         Use src/sink pads lists for the respective iterators instead
7628         of filtering.
7629
7630 2005-10-10  Andy Wingo  <wingo@pobox.com>
7631
7632         Merged in popt removal + GOption addition patch from Ronald, bug
7633         #169772.
7634
7635         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7636         GstElement macros around, remove popt-related symbols, add goption
7637         stuff.
7638
7639         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7640         
7641         * docs/gst/Makefile.am:
7642         * docs/libs/Makefile.am: No POPT_CFLAGS.
7643         
7644         * examples/manual/Makefile.am:
7645         * docs/manual/basics-init.xml: Doc updates with an example.
7646         
7647         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7648         (gst_init), (parse_one_option), (parse_goption_arg):
7649         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
7650         bit of hand merging and debugging to get the GOption stuff working
7651         tho.
7652         
7653         * tests/Makefile.am:
7654         * tools/Makefile.am:
7655         * tools/gst-inspect.c: (main):
7656         * tools/gst-launch.c: (main):
7657         * tools/gst-run.c: (main):
7658         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
7659
7660 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7661
7662         * gst/gstiterator.c: (gst_iterator_new):
7663           Add assertions to make sure passed GType is likely to really
7664           be a GType (as the compiler won't catch it if the size and
7665           GType arguments get mixed up, see #318447).
7666
7667 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
7668
7669         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7670
7671         * gst/gstbin.c: (gst_bin_iterate_sorted):
7672           Pass GType and size arguments to gst_iterator_new() in the right
7673           order (maybe we should make _new() take the GType as first argument
7674           just like _new_list()?) (#318447).
7675           
7676
7677 2005-10-10  Wim Taymans  <wim@fluendo.com>
7678
7679         * gst/gstelement.c: (gst_element_finalize):
7680         And free the GStaticRecMutex too
7681
7682 2005-10-10  Andy Wingo  <wingo@pobox.com>
7683
7684         * gst/gstelement.c (gst_element_init, gst_element_finalize):
7685         Allocate and free the mutex properly.
7686
7687         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
7688         New macros.
7689         (GstElement): The state_lock is now recursive. Rebuild your
7690         plugins, suckers. Old macros adapted.
7691
7692         * docs/gst/gstreamer-sections.txt: Doc updates.
7693
7694         * gst/gstutils.h:
7695         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
7696         (g_static_rec_cond_wait): Ported from state changes patch, while
7697         we wait on bug #317802 to be solved in a well-distributed GLib.
7698
7699         * gst/gstelement.c (gst_element_change_state_func): Renamed from
7700         gst_element_change_state, variable name changes.
7701         (gst_element_change_state): Split out of gst_element_set_state in
7702         preparation for the state change merge. Doesn't pay attention to
7703         the 'transition' argument.
7704         (gst_element_set_state): Updates, hopefully purely cosmetic.
7705         (gst_element_sync_state_with_parent): MT-safety. Ported from the
7706         state change patch.
7707         (gst_element_get_state_func): Renamed from get_state, cosmetic
7708         changes.
7709
7710 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7711
7712         * gst/elements/gstelements.c:
7713         * win32/GStreamer.vcproj:
7714         * win32/config.h:
7715         * win32/dirent.c: (_tseekdir):
7716         * win32/gst-inspect.vcproj:
7717         * win32/gst-launch.vcproj:
7718         * win32/gstconfig.h:
7719         * win32/gstelements.vcproj:
7720         * win32/gstenumtypes.c: (gst_object_flags_get_type):
7721         * win32/gstreamer.def:
7722         * win32/msvc71.sln:
7723           updates for the win32 build (patch from Sebastien Moutte)
7724
7725 2005-10-10  Andy Wingo  <wingo@pobox.com>
7726
7727         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
7728         gst_bin_get_state, cleaned up (but no logic changes).
7729         (bin_element_is_sink): Comment updates.
7730         (sink_iterator_filter): Remove needless cast.
7731         (gst_bin_iterate_sinks): Doc update.
7732         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
7733         cleaned up (but no logic changes).
7734
7735         * check/states/sinks.c (test_src_sink): Cleanups from the state
7736         change patch.
7737         (test_livesrc_sink): Sync on the state.
7738
7739         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
7740         the state change patch.
7741
7742         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
7743         change patch.
7744
7745         * check/gst/gstbin.c: Merge in some style fixes and additional
7746         checks from Wim's state change patch.
7747
7748 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7749
7750         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7751         (gst_type_find_helper):
7752           Check whether we have the requested data already in our list of
7753           cached buffers before pulling a new buffer; also make the buffer
7754           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
7755
7756 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7757
7758         * gst/gstcaps.c:
7759         * gst/gstevent.c:
7760           doc updates
7761         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7762           don't use long long, it's not portable.  Replacing with
7763           gint64 seems to work; let's hope no skeletons fall out of the closet.
7764
7765 2005-10-10  Andy Wingo  <wingo@pobox.com>
7766
7767         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
7768
7769 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
7770
7771         * docs/gst/gstreamer-sections.txt:
7772         * gst/gstevent.c:
7773         * gst/gstevent.h:
7774         * gst/gstinfo.c:
7775         * gst/gstinfo.h:
7776         * gst/gstmessage.c: (gst_message_parse_state_changed):
7777         * gst/gstpad.c:
7778         * gst/gstpad.h:
7779           more docs, fix compilation
7780
7781 2005-10-09  Philippe Khalaf <burger@speedy.org>
7782         * gst/gstmessage.c:
7783           Fixed a few forgotten variables on previous commit
7784
7785 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7786
7787         * gst/base/gsttypefindhelper.c: (helper_find_peek):
7788           Fix evil typefind crasher: getrange() might return a short
7789           buffer at the end of a file, but gst_type_find_peek() must
7790           either return the full data as requested or NULL, but
7791           never a short buffer.
7792
7793 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7794
7795         * gst/gstmessage.c: (gst_message_new_state_changed),
7796         (gst_message_parse_state_changed):
7797         * gst/gstmessage.h:
7798           don't use "new", it's a C++ keyword
7799
7800 2005-10-08  Wim Taymans  <wim@fluendo.com>
7801
7802         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
7803         * gst/gstelement.c: (gst_element_post_message):
7804         * gst/gstpipeline.c: (gst_pipeline_change_state):
7805         Small docs and debug updates.
7806
7807 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7808
7809         * docs/gst/gstreamer-sections.txt:
7810         * gst/gstelementfactory.c:
7811         * gst/gstevent.c:
7812         * gst/gsttaglist.c:
7813           more docs
7814
7815 2005-10-08  Wim Taymans  <wim@fluendo.com>
7816
7817         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
7818         (gst_bin_dispose), (bin_bus_handler):
7819         Fix typos, add comments.
7820         Clear EOS list when going to PAUSED from any direction and do it
7821         in a threadsafe way.
7822         Get base time in a threadsafe way too.
7823         Fix confusing debug in the change_state function.
7824         Various other small cleanups.
7825         
7826         * gst/gstelement.c: (gst_element_post_message):
7827         Fix very verbose bus posting code.
7828
7829         * gst/gstpipeline.c: (gst_pipeline_class_init),
7830         (gst_pipeline_set_property), (gst_pipeline_get_property),
7831         (gst_pipeline_change_state):
7832         Small ARG_ -> PROP_ cleanup
7833
7834 2005-10-08  Wim Taymans  <wim@fluendo.com>
7835
7836         * gst/gstbin.c: (is_eos), (bin_bus_handler):
7837         Do a less CPU demanding EOS check because we can.
7838
7839 2005-10-08  Wim Taymans  <wim@fluendo.com>
7840
7841         * libs/gst/dataprotocol/dataprotocol.c:
7842         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7843         (gst_dp_packet_from_event):
7844         * libs/gst/dataprotocol/dataprotocol.h:
7845         * libs/gst/dataprotocol/dp-private.h:
7846         It's about time we bump the version number.
7847         Since event types don't fit in the guint8 anymore describing
7848         the payload type, make payload type 16 bits wide.
7849
7850 2005-10-08  Wim Taymans  <wim@fluendo.com>
7851
7852         * docs/design/part-TODO.txt:
7853         * docs/design/part-clocks.txt:
7854         * docs/design/part-events.txt:
7855         * docs/design/part-gstbin.txt:
7856         * docs/design/part-gstelement.txt:
7857         * docs/design/part-gstpipeline.txt:
7858         * docs/design/part-live-source.txt:
7859         * docs/design/part-messages.txt:
7860         * docs/design/part-overview.txt:
7861         * docs/design/part-states.txt:
7862         Many doc updates.
7863
7864 2005-10-08  Wim Taymans  <wim@fluendo.com>
7865
7866         * gst/gstevent.c:
7867         * gst/gstevent.h:
7868         Fix event quark registration.
7869         Add some space between events so we can insert them in the
7870         right groups.
7871
7872 2005-10-08  Wim Taymans  <wim@fluendo.com>
7873
7874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7875         (gst_base_sink_handle_buffer):
7876         Better log message.
7877
7878         * gst/gstbus.h:
7879         * gst/gstelement.h:
7880         More docs.
7881
7882         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7883         (gst_queue_set_property), (gst_queue_get_property):
7884         * gst/gstqueue.h:
7885         Remove old unused properties.
7886
7887 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7888         * docs/gst/gstreamer-sections.txt:
7889         * gst/gstmessage.c:
7890         * gst/gstmessage.h:
7891         * gst/gstminiobject.c:
7892         * gst/gstminiobject.h:
7893         * gst/gstobject.h:
7894         * gst/gstpad.h:
7895         * gst/gstutils.h:
7896           lots of new docs and doc fixes
7897
7898 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7899
7900         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
7901         * gst/gstplugin.h:
7902         * gst/gstregistry.c: (gst_registry_lookup_locked),
7903         (gst_registry_scan_path_level):
7904         * gst/gstregistryxml.c: (load_plugin):
7905           Only ever load one plugin for a given plugin basename.
7906           This ensures correct overriding of GST_PLUGIN_PATH over
7907           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
7908           system installed plugins.
7909
7910 2005-10-08  Wim Taymans  <wim@fluendo.com>
7911
7912         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7913         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
7914         Prepare for doing QOS.
7915
7916 2005-10-08  Wim Taymans  <wim@fluendo.com>
7917
7918         * check/gst/gstbin.c: (GST_START_TEST):
7919         * check/pipelines/cleanup.c: (GST_START_TEST):
7920         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7921         Allow new clock message too.
7922
7923 2005-10-08  Wim Taymans  <wim@fluendo.com>
7924
7925         * gst/gstmessage.c: (gst_message_new_error),
7926         (gst_message_new_warning), (gst_message_new_tag),
7927         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7928         (gst_message_new_clock_lost), (gst_message_new_new_clock),
7929         (gst_message_new_segment_start), (gst_message_new_segment_done),
7930         (gst_message_parse_state_changed),
7931         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
7932         (gst_message_parse_new_clock):
7933         * gst/gstmessage.h:
7934         Also carry the clock in question.
7935
7936 2005-10-08  Wim Taymans  <wim@fluendo.com>
7937
7938         * gst/gstmessage.c: (gst_message_new_custom),
7939         (gst_message_new_eos), (gst_message_new_error),
7940         (gst_message_new_warning), (gst_message_new_tag),
7941         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7942         (gst_message_new_new_clock), (gst_message_new_segment_start),
7943         (gst_message_new_segment_done), (gst_message_parse_state_changed),
7944         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
7945         * gst/gstmessage.h:
7946         Clean up.
7947         Added clock related messages.
7948
7949         * gst/gstpipeline.c: (gst_pipeline_change_state):
7950         Post message when the clock changed.
7951
7952         * tools/gst-launch.c: (event_loop):
7953         Print new clock.
7954
7955 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7956
7957         * tools/gst-inspect.c: (print_element_properties_info):
7958           Can't pass NULL strings to g_print() on windows.
7959
7960 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7961
7962         * docs/Makefile.am:
7963         * docs/gst/Makefile.am:
7964         * docs/gst/gstreamer-docs.sgml:
7965         * docs/gst/running.xml:
7966         * docs/version.entities.in:
7967           add a chapter on running GStreamer.
7968           document GST_DEBUG and GST_PLUGIN* env vars
7969
7970 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7971
7972         * Makefile.am:
7973           remove include dir
7974         * configure.ac:
7975           remove PLUGINS_BUILDDIR stuff
7976         * gst/gst.c: (init_post):
7977           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
7978         * idiottest.mak:
7979           remove, it was condescending and not needed
7980
7981 2005-10-08  Wim Taymans  <wim@fluendo.com>
7982
7983         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7984         (gst_base_sink_handle_object), (gst_base_sink_event),
7985         (gst_base_sink_wait), (gst_base_sink_handle_event),
7986         (gst_base_sink_change_state):
7987         * gst/base/gstbasesink.h:
7988         Repost EOS message while going to PLAYING if still EOS.
7989         Make sure that when receiving a FLUSH_START we don't attempt
7990         to sync on the clock anymore.
7991
7992 2005-10-08  Wim Taymans  <wim@fluendo.com>
7993
7994         * tools/gst-launch.c: (event_loop):
7995         Better message printout.
7996
7997 2005-10-08  Wim Taymans  <wim@fluendo.com>
7998
7999         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
8000         (gst_bin_child_proxy_get_children_count):
8001         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8002         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
8003         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
8004         (gst_child_proxy_set_valist):
8005         * gst/parse/grammar.y:
8006         Make ChildProxy threadsafe and fix mem leaks.
8007
8008 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8009
8010         * gst/gst.c: (init_post):
8011           debug the GST_PLUGIN_ env vars
8012
8013 2005-10-08  Wim Taymans  <wim@fluendo.com>
8014
8015         * check/gst/gstbin.c: (GST_START_TEST):
8016         * check/gst/gstmessage.c: (GST_START_TEST):
8017         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8018         * gst/gstelement.c: (gst_element_commit_state),
8019         (gst_element_lost_state):
8020         * gst/gstmessage.c: (gst_message_new_state_changed),
8021         (gst_message_parse_state_changed):
8022         * gst/gstmessage.h:
8023         * tools/gst-launch.c: (event_loop):
8024         Added extra field to STATE_CHANGE message with the pending
8025         state, which will be different from the new state soon.
8026
8027 2005-10-08  Wim Taymans  <wim@fluendo.com>
8028
8029         * gst/gstbus.c: (gst_bus_pop):
8030         * gst/gstclock.c:
8031         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8032         Small cleanups and doc updates.
8033
8034 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8035
8036         * gst/gst.c: (init_pre):
8037         * gst/gstbin.c: (gst_bin_add_func):
8038           log distributing clocks and base time
8039         * gst/gstregistry.c: (gst_registry_add_plugin),
8040         (gst_registry_scan_path_level), (gst_registry_scan_path):
8041           clean up the debugging output a little
8042         * gst/gstutils.c: (gst_element_state_get_name):
8043           warn about a memleak (I've actually seen this be used, though
8044           it was probably a bug)
8045
8046 2005-10-07  Wim Taymans  <wim@fluendo.com>
8047
8048         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8049         (gst_base_src_init), (gst_base_src_default_newsegment),
8050         (gst_base_src_newsegment), (gst_base_src_do_seek),
8051         (gst_base_src_loop), (gst_base_src_start):
8052         * gst/base/gstbasesrc.h:
8053         Make the newsegment event customizable by subclasses.
8054
8055 2005-10-07  Wim Taymans  <wim@fluendo.com>
8056
8057         * gst/gstevent.c: (gst_event_new_buffersize),
8058         (gst_event_parse_buffersize):
8059         * gst/gstevent.h:
8060         New event for future idea.
8061
8062 2005-10-07  Andy Wingo  <wingo@pobox.com>
8063
8064         * gst/gstelement.c (gst_element_post_message): Doc update.
8065
8066         * docs/gst/gstreamer-sections.txt: Update.
8067
8068         * gst/gstmessage.c (gst_message_new_application): Made into a
8069         function like honest API calls.
8070         (gst_message_new_element): New message type.
8071
8072         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
8073
8074         * check/elements/fakesrc.c (test_no_preroll): New check, checks
8075         that setting a live fakesrc to PAUSED returns NO_PREROLL both
8076         times.
8077
8078         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
8079         NO_PREROLL from gst_element_change_state to fall through.
8080
8081 2005-10-07  Wim Taymans  <wim@fluendo.com>
8082
8083         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
8084         (gst_ghost_pad_do_activate_push):
8085         Activating a ghostpad with no internal pad in push mode
8086         is ok.
8087
8088 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8089
8090         * gst/gstobject.h:
8091           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
8092           Fixes compilation on Windows.
8093
8094 2005-10-07  Michael Smith <msmith@fluendo.com>
8095
8096         * tools/gst-inspect.c:
8097           Print out feature and plugin count at the end when printing out
8098           all features.
8099
8100 2005-10-04  Michael Smith <msmith@fluendo.com>
8101
8102         * gst/gsterror.c: (_gst_stream_errors_init):
8103           Add another error string used in a few existing plugins.
8104
8105         * gst/gstplugin.c:
8106         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8107         * tools/gst-inspect.c: (print_element_info):
8108           When a feature disappears from a plugin (and the feature exists in
8109           the cached registry file), things went horribly wrong. This isn't a
8110           complete fix, we should actually be removing the 'missing' features
8111           from the features list when we load the actual plugin. That's not
8112           yet implemented. 
8113
8114 2005-10-04  Johan Dahlin  <johan@gnome.org>
8115
8116         * check/gst/gstiterator.c: (GST_START_TEST):
8117         * gst/gstbin.c: (gst_bin_iterate_elements),
8118         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8119         * gst/gstelement.c: (gst_element_iterate_pads):
8120         * gst/gstformat.c: (gst_format_iterate_definitions):
8121         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8122         (gst_iterator_new_list), (gst_iterator_filter):
8123         * gst/gstiterator.h:
8124         * gst/gstquery.c: (gst_query_type_iterate_definitions):
8125         Add a GType to GstIterator, update callsites and tests.
8126
8127 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8128
8129         * gst/gstpad.c: (gst_pad_event_default_dispatch):
8130           give events a chance to be handled by event probes when the pad
8131           is not linked
8132
8133 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8134
8135         * gst/gstevent.c: (gst_event_type_get_name),
8136         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8137         * gst/gstevent.h:
8138           add string representations for event types
8139
8140 2005-10-06  Wim Taymans  <wim@fluendo.com>
8141
8142         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8143         Don't use NULL pointers.
8144
8145 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8146
8147         * gst/gst_private.h:
8148         * gst/gstbus.c:
8149         * gst/gstelement.c:
8150         * gst/gstinfo.c:
8151         * gst/gstpluginfeature.c:
8152           widen the debug category in output to fit the biggest one we have
8153           add a bus category and use it
8154           play with the colors
8155           fix up some categories
8156
8157 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8158
8159         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8160           add push activation of sink ghost pads.
8161           Andye, please verify
8162
8163 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8164
8165         * gst/gstutils.c: (gst_element_link_pads):
8166           fix a bug in the case where neither element has a pad
8167         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8168           add a test for that case
8169
8170 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8171
8172         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8173           emit have-data before checking for peers.  This allows
8174           for probe handlers to connect elements.  This helps autopluggers.
8175         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8176         (gst_pad_suite):
8177           add six checks, linked/unlinked with no/true/false probe
8178
8179 2005-10-04  Wim Taymans  <wim@fluendo.com>
8180
8181         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8182         (gst_fake_sink_event), (gst_fake_sink_preroll),
8183         (gst_fake_sink_render), (gst_fake_sink_change_state):
8184         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8185         (gst_fake_src_get_property), (gst_fake_src_create),
8186         (gst_fake_src_stop):
8187         * gst/elements/gstidentity.c: (gst_identity_stop):
8188         Protect last_message with lock.
8189
8190 2005-10-04  Edward Hervey  <edward@fluendo.com>
8191
8192         * gst/gstformat.h: 
8193         Added precision in the comments for GST_FORMAT_DEFAULT
8194
8195 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
8196
8197         * tools/gst-launch.c: (main):
8198           Don't try to run erroneous pipelines.
8199
8200 2005-10-04  Julien MOUTTE  <julien@moutte.net>
8201
8202         * gst/gstbus.c: We don't need this header.
8203
8204 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8205
8206         * configure.ac:
8207           back to development
8208
8209 === release 0.9.3 ===
8210
8211 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8212
8213         * README:
8214         * configure.ac:
8215           Releasing 0.9.3, "Unregistered"
8216
8217 2005-10-03  Andy Wingo  <wingo@pobox.com>
8218
8219         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8220         whereby calling a pad's activatepush() function can start a thread
8221         that starts to push or pull before the pad gets the FLUSHING flag
8222         unset. Hack around it by holding the stream lock until the flag is
8223         set. Need to replace this with a proper solution. Together with
8224         the ghost pad fixes, this fixes mp3 playing/tagreading.
8225
8226         * docs/design/part-gstghostpad.txt: Add a note about activation of
8227         proxy pads outside of ghost pads.
8228
8229         * gst/gstghostpad.c: Implement the ghost pad activation design.
8230
8231 2005-10-02  Andy Wingo  <wingo@pobox.com>
8232
8233         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8234         It is volatile, after all.
8235
8236         * docs/design/part-gstghostpad.txt: Flesh out activation with
8237         ghost pads.
8238
8239         * gst/base/gstbasesrc.c (gst_base_src_init): Use
8240         GST_DEBUG_FUNCPTR.
8241
8242 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8243
8244         * configure.ac:
8245           Fix (unused) AM_CONDITIONAL tests.
8246
8247 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
8248
8249         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8250
8251         * gst/gstutils.c: (gst_pad_query_convert):
8252           Add assertion that makes sure src_val is >=0, just like
8253           gst_query_new_convert() has. (#315895)
8254
8255 2005-09-30  Edward Hervey  <edward@fluendo.com>
8256
8257         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
8258         Let's not iterate pads we're not interested in, it avoids getting 
8259         sky-high refcounts on sinkpad.
8260
8261 2005-09-30  Wim Taymans  <wim@fluendo.com>
8262
8263         * gst/gstelement.c: (gst_element_set_state),
8264         (gst_element_change_state):
8265         Small tweak, element in ASYNC remains ASYNC.
8266
8267 2005-09-30  Wim Taymans  <wim@fluendo.com>
8268
8269         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8270         Only error is an error.
8271
8272         * gst/gstbin.c: (gst_bin_change_state):
8273         Better debugging.
8274
8275         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
8276         Also call pad_block in pad alloc.
8277
8278         * gst/gstutils.c: (gst_flow_get_name):
8279         Better debugging.
8280
8281 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8282
8283         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8284         (gst_base_src_get_range):
8285           Fix documentation typos. Add some more debug info.
8286
8287 2005-09-29  David Schleef  <ds@schleef.org>
8288
8289         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
8290           more end-user friendly.
8291         * tools/gst-inspect.c: (main): Check if command-line argument is
8292           a file and attempt to load that file as a plugin.
8293
8294 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8295
8296         * check/gst/gstbin.c:
8297         * check/states/sinks.c:
8298           fix tests for the new warning
8299         * check/gst/gstpipeline.c:
8300           add a test for pipeline and bus interaction
8301         * gst/gstelement.c:
8302           elements should be NULL if they get disposed; add a warning if not
8303
8304 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8305
8306         * gst/gstobject.c:
8307           for 2.6 refcounting, make debug log more correct by printing
8308           the actual refcounts at the time of swap (Wim)
8309
8310 2005-09-29  Andy Wingo  <wingo@pobox.com>
8311
8312         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
8313         removes signal watches previously added via
8314         gst_bus_add_signal_watch.
8315         (gst_bus_add_signal_watch): Don't return the source id, just store
8316         it on the bus if there wasn't an id already.
8317
8318         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
8319         add_signal_watch and remove_signal_watch.
8320
8321 2005-09-29  Edward Hervey  <edward@fluendo.com>
8322
8323         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
8324         Better if we actually iterate the list :)
8325
8326 2005-09-29  Wim Taymans  <wim@fluendo.com>
8327
8328         * check/gst/gstbin.c: (GST_START_TEST):
8329         Change for new bus API.
8330
8331         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8332         (send_messages), (GST_START_TEST), (gstbus_suite):
8333         Change for new bus signal API.
8334
8335         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
8336         (gst_bus_source_prepare), (gst_bus_source_check),
8337         (gst_bus_create_watch), (gst_bus_add_watch_full),
8338         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
8339         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
8340         * gst/gstbus.h:
8341         Remove support for multiple GSources operating on different
8342         message types as it is too complex and unneeded when using
8343         signals.
8344         Added support for receiving signals from the bus.
8345
8346 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8347
8348         * docs/libs/tmpl/gstdataprotocol.sgml:
8349         * docs/manual/advanced-dataaccess.xml:
8350         * gst/elements/gstcapsfilter.c:
8351         * gst/gstutils.c:
8352           rename filter-caps to caps property
8353
8354 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8355
8356         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8357           More robust fraction string parsing.
8358
8359         * docs/pwg/appendix-porting.xml:
8360           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
8361
8362 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8363
8364         * gst/gstcaps.c: (gst_caps_do_simplify):
8365           Thou shalt not free a structure and then continue using it
8366           in the next loop iteration.
8367
8368         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
8369         (gst_caps_suite):
8370           Add test case for caps simplification.
8371
8372 2005-09-29  Wim Taymans  <wim@fluendo.com>
8373
8374         * check/gst/gstbin.c: (GST_START_TEST):
8375         Oops.
8376
8377 2005-09-29  Wim Taymans  <wim@fluendo.com>
8378
8379         * check/gst/gstbin.c: (GST_START_TEST):
8380         Add bus to bin.
8381
8382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8383         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8384         (find_element), (gst_bin_sort_iterator_next),
8385         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8386         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8387         (gst_bin_change_state), (gst_bin_dispose):
8388         A bin does not have a bus, it gets the bus from the parent.
8389
8390         * gst/gstelement.c: (gst_element_requires_clock),
8391         (gst_element_provides_clock), (gst_element_is_indexable),
8392         (gst_element_is_locked_state), (gst_element_change_state),
8393         (gst_element_set_bus_func):
8394         Small cleanups.
8395
8396         * gst/gstpipeline.c: (gst_pipeline_class_init),
8397         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
8398         The pipeline provides a bus.
8399
8400 2005-09-28  Johan Dahlin  <johan@gnome.org>
8401
8402         * gst/gstmessage.c (gst_message_parse_state_changed): Use
8403         gst_structure_get_enum instead of gst_structure_get_int
8404
8405         * gst/gststructure.c (gst_structure_get_enum): Impl.
8406
8407         * gst/gststructure.h (gst_structure_get_enum): Add
8408
8409         * docs/gst/gstreamer-sections.txt: Ditto
8410
8411         * gst/gstmessage.c (gst_message_new_state_changed): Use
8412         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
8413         which does introspection.
8414         Reviewed by Christian Schaller
8415
8416 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8417
8418         * gst/gstinfo.c: (gst_debug_log_default):
8419           don't do dummy g_strdup()s
8420         * libs/gst/controller/gstcontroller.c:
8421         (on_object_controlled_property_changed),
8422         (gst_controlled_property_new), (gst_controller_new_valist),
8423         (gst_controller_new_list),
8424         (gst_controller_remove_properties_valist), (gst_controller_set),
8425         (gst_controller_get), (gst_controller_sync_values),
8426         (gst_controller_get_value_array), (_gst_controller_class_init),
8427         (gst_controller_get_type):
8428         * libs/gst/controller/gstcontroller.h:
8429         * libs/gst/controller/gstinterpolation.c:
8430         (gst_controlled_property_find_timed_value_node):
8431           convert // to /**/ comments
8432
8433 2005-09-28  Wim Taymans  <wim@fluendo.com>
8434
8435         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
8436         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
8437         (gst_bus_sync_signal_handler):
8438         * gst/gstbus.h:
8439         Added async-message and sync-message signals to the bus.
8440         Added helper BusFunc to emit signals for all posted messages.
8441
8442         * gst/gstmessage.c: (gst_message_type_get_name),
8443         (gst_message_type_to_quark), (gst_message_get_type):
8444         * gst/gstmessage.h:
8445         Register quarks for message names.
8446
8447 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8448
8449         * docs/libs/gstreamer-libs-sections.txt:
8450         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8451         (gst_controller_new_list):
8452         * libs/gst/controller/gstcontroller.h:
8453           added another constructor for language bindings
8454
8455 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8458           add another check
8459         * gst/gstbus.c:
8460           add some doc
8461         * gst/gstinfo.c: (_gst_debug_init):
8462           slightly more readable color for refcount debugging
8463
8464 2005-09-28  Wim Taymans  <wim@fluendo.com>
8465
8466         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8467         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8468         (find_element), (gst_bin_sort_iterator_next),
8469         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8470         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8471         (gst_bin_change_state), (gst_bin_dispose):
8472         Small doc fixes. get_clock -> provide_clock.
8473
8474         * gst/gstelement.c: (gst_element_class_init),
8475         (gst_element_provides_clock), (gst_element_provide_clock),
8476         (gst_element_get_clock), (gst_element_commit_state),
8477         (gst_element_lost_state):
8478         * gst/gstelement.h:
8479         Make get/set_clock() symetric. Add provide_clock vmethod since
8480         that is actually what this function does.
8481
8482         * gst/gstpipeline.c: (gst_pipeline_class_init),
8483         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
8484         (gst_pipeline_get_clock):
8485         get_clock -> provide_clock.
8486
8487 2005-09-28  Andy Wingo  <wingo@pobox.com>
8488
8489         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
8490         lieu of real docs...
8491
8492         * gst/elements/gstfdsrc.c: Cleaned up a bit.
8493
8494 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
8495
8496         * gst/elements/gstcapsfilter.c:
8497         * gst/elements/gstfakesink.c:
8498         * gst/elements/gstfakesrc.c:
8499         * gst/elements/gstfdsink.c:
8500         * gst/elements/gstfdsrc.c:
8501         * gst/elements/gstfilesink.c:
8502         * gst/elements/gstfilesrc.c:
8503         * gst/elements/gstidentity.c:
8504         * gst/elements/gsttee.c:
8505         * gst/elements/gsttypefindelement.c:
8506           Make element details static.
8507
8508 2005-09-28  Wim Taymans  <wim@fluendo.com>
8509
8510         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8511         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8512         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8513         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8514         (gst_bin_change_state), (gst_bin_dispose):
8515         Some documentation updates.
8516         Clean up dispose handlers.
8517
8518         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
8519         * gst/gstpad.c: (gst_pad_dispose):
8520         Clean up dispose handler.
8521
8522         * gst/gstpipeline.c: (gst_pipeline_change_state):
8523         Removed spurious UNLOCK.
8524
8525 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
8526
8527         * docs/gst/gstreamer-sections.txt:
8528         * gst/base/gstbasesrc.h:
8529         * gst/gstelement.h:
8530         * gst/gstevent.h:
8531         * gst/gstobject.h:
8532         * gst/gstpad.h:
8533         * gst/gstpipeline.c:
8534         * gst/gstpipeline.h:
8535         * gst/gstutils.h:
8536         * gst/gstxml.h:
8537           added two new functions to the docs
8538                 documents all undocumented GstXXXFlags
8539                 completed some incomplete docs 
8540
8541 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8542
8543         * gst/gstbin.c: (gst_bin_dispose):
8544         * gst/gstelement.c: (gst_element_dispose):
8545           remove now useless and leaky resurrection code in dispose
8546         * gst/base/gstbasesrc.c: (gst_base_src_init):
8547         * gst/gstelementfactory.c: (gst_element_factory_create):
8548         * gst/gstobject.c: (gst_object_set_parent):
8549           add some debugging
8550
8551 2005-09-27  Wim Taymans  <wim@fluendo.com>
8552
8553         * docs/design/part-TODO.txt:
8554         Update TODO.
8555
8556         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8557         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8558         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8559         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8560         (gst_bin_change_state):
8561         * gst/gstelement.h:
8562         Remove element variable, we keep element info in the iterator now.
8563
8564 2005-09-27  Andy Wingo  <wingo@pobox.com>
8565
8566         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
8567         values.
8568
8569 2005-09-27  Wim Taymans  <wim@fluendo.com>
8570
8571         * check/gst/gstbin.c: (GST_START_TEST):
8572         Enable check that works now.
8573
8574         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8575         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8576         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8577         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8578         (gst_bin_change_state):
8579         * gst/gstbin.h:
8580         Redid the state change algorithm using a topological sort algo.
8581         Handles all cases correctly.
8582         Exposed iterator for state change order.
8583
8584         * gst/gstelement.h:
8585         Temp storage for state changes. Need to get rid of this soon.
8586
8587 2005-09-27  Wim Taymans  <wim@fluendo.com>
8588
8589         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
8590         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
8591         (link_fold_func), (gst_pad_proxy_setcaps):
8592         Leak fixes, the fold functions need to unref the passed object and
8593         _get_parent_*() returns ref to parent.
8594
8595 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8596
8597         * check/gst/gstbuffer.c: (test_make_writable):
8598           Plug leak in test case and fix 'make check-valgrind'
8599
8600 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8601
8602         * gst/gstbuffer.c: (gst_subbuffer_init):
8603           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8604           works correctly in all circumstances (we could have just copied
8605           the parent buffer's readonly flag, but conceptually it seems
8606           cleaner to mark all subbuffers as read-only). (based on patch
8607           by Alessandro Decina, #314710).
8608         
8609         * check/gst/gstbuffer.c: (create_read_only_buffer),
8610         (test_make_writable), (test_subbuffer_make_writable),
8611         (gst_test_suite):
8612           Add some tests for gst_buffer_make_writable().
8613
8614 2005-09-27  Wim Taymans  <wim@fluendo.com>
8615
8616         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8617         use gst_object_has_ancestor().
8618
8619         * gst/gstobject.c: (gst_object_has_ancestor):
8620         * gst/gstobject.h:
8621         gst_object_has_ancestor() copied from gstbin.c as it is a
8622         usefull function.
8623
8624         * tests/instantiate/create.c: (create_all_elements):
8625         * tests/lat.c: (handoff_src), (handoff_sink):
8626         * tests/sched/runxml.c: (main):
8627         * tests/seeking/seeking1.c: (main):
8628         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8629         (main):
8630         Fix compilation of some tests.
8631
8632 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8633
8634         * gst/gsterror.h:
8635           Remove comment. GST_TYPE_G_ERROR is here to stay,
8636           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8637           (#316961, #300610).
8638
8639 2005-09-26  Wim Taymans  <wim@fluendo.com>
8640
8641         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8642         Added check that shows error in state change order.
8643
8644 2005-09-26  Wim Taymans  <wim@fluendo.com>
8645
8646         * gst/gstbin.c: (gst_bin_change_state):
8647         Make state change function use 3 queues again, we were
8648         adding elements in the wrong order.
8649
8650         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8651         Some debug info,
8652
8653         * gst/gstpad.c: (gst_pad_dispose):
8654         Added some debug info first.
8655
8656 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
8657
8658         * docs/design/draft-push-pull.txt:
8659         * docs/design/part-events.txt:
8660         * docs/design/part-overview.txt:
8661         * docs/design/part-scheduling.txt:
8662           Replace all _pull_region() with _pull_range()
8663           
8664 2005-09-26  Andy Wingo  <wingo@pobox.com>
8665
8666         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
8667
8668         * check/gst-libs/controller.c: Update for controller api change.
8669
8670         * configure.ac: 
8671         * tests/Makefile.am:
8672         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
8673         over by GLib bug 118439.
8674         
8675         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
8676         routines to a function.
8677
8678         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
8679
8680         * libs/gst/controller/gsthelper.c:
8681         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
8682         (gst_object_sync_values): Renamed from sink_values. Ugh.
8683
8684         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
8685
8686         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
8687         Renamed from controller_key, as it is exported.
8688
8689         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
8690
8691 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8692
8693         * gst/Makefile.am:
8694         * gst/gst.h:
8695         * gst/gstpad.h:
8696         * gst/gstpadtemplate.h:
8697         * gst/gstquery.c:
8698         * gst/gstquery.h:
8699         * gst/gstqueryutils.c:
8700         * gst/gstqueryutils.h:
8701           remove queryutils headers after moving the two used functions
8702           to gstquery.  also fixes build problem for gstsiddec
8703
8704 2005-09-26  Michael Smith <msmith@fluendo.com>
8705
8706         * tools/gst-launch.1.in:
8707         Correct documentation in manpage of debug syntax
8708
8709 2005-09-26  Wim Taymans  <wim@fluendo.com>
8710
8711         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8712         (gst_base_src_is_seekable), (gst_base_src_change_state):
8713         Some more debugging info.
8714
8715 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8716
8717         * docs/gst/gstreamer-sections.txt:
8718         * gst/base/gstbasetransform.h:
8719         * gst/gstindex.h:
8720           added more docs
8721
8722 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8723
8724         * docs/gst/.cvsignore:
8725         * docs/gst/tmpl/.cvsignore:
8726         * docs/gst/tmpl/gstpipeline.sgml:
8727         * docs/gst/tmpl/gstplugin.sgml:
8728         * gst/gstpipeline.c:
8729         * gst/gstplugin.c:
8730         * gst/gstplugin.h:
8731           inlined the last two docs files
8732           removed the tmpl directory from cvs (no more conflicts here!)
8733
8734 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8735
8736         * docs/gst/gstreamer-sections.txt:
8737         * docs/gst/tmpl/.cvsignore:
8738         * docs/gst/tmpl/gstpad.sgml:
8739         * docs/gst/tmpl/gstpadtemplate.sgml:
8740         * gst/Makefile.am:
8741         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8742         (gst_pad_finalize), (gst_pad_set_pad_template):
8743         * gst/gstpad.h:
8744         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8745         (gst_pad_template_class_init), (gst_pad_template_init),
8746         (gst_pad_template_dispose), (name_is_valid),
8747         (gst_static_pad_template_get), (gst_pad_template_new),
8748         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
8749         (gst_pad_template_pad_created):
8750         * gst/gstpadtemplate.h:
8751           inlined two more docs
8752           factored gstpadtemplate out of gstpad
8753
8754 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
8755
8756         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8757         (test_children_state_change_order_semi_sink):
8758           Fix test case: we can't rely on a fixed state change order when
8759           going from READY => PAUSED because the sink might commit its 
8760           new state first when the first buffer created by the source 
8761           reaches the sink before the source has finished its change state.
8762           (Test case still fails at times, see #316856, comment 5 onwards)
8763
8764 2005-09-24  Wim Taymans  <wim@fluendo.com>
8765
8766         * docs/design/part-events.txt:
8767         * docs/design/part-gstbus.txt:
8768         * docs/design/part-gstpipeline.txt:
8769         * docs/design/part-messages.txt:
8770         * docs/design/part-overview.txt:
8771         * docs/design/part-segments.txt:
8772         * gst/gstbin.c:
8773         * gst/gstbuffer.c:
8774         * gst/gstclock.c:
8775         * gst/gstelement.c:
8776         * gst/gstevent.c:
8777         * gst/gstfilter.c:
8778         * gst/gstiterator.c:
8779         Various documentation updates.
8780
8781 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8782
8783         * gst/gstclock.h:
8784           Well, that's embarassing.  Luckily we weren't using
8785           GST_CLOCK_DIFF anywhere.
8786
8787 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * common/gtk-doc.mak:
8790           don't fail on building XML, FC4 slave shows a bunch of doc
8791           missing bits that I don't get
8792         * gst/gstpad.c:
8793         * gst/gstpipeline.c:
8794         * gst/gststructure.c:
8795           some doc updates
8796
8797 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8798
8799         * docs/design/part-gstbin.txt:
8800         * docs/design/part-gstbus.txt:
8801         * gst/gstbus.c:
8802           Add blurb about how the bus goes into flushing mode and
8803           drops all messages when its bin goes from READY into NULL 
8804           state.
8805
8806 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8807
8808         * docs/gst/gstreamer-sections.txt:
8809         * gst/gststructure.c: (gst_structure_get_clock_time):
8810         * gst/gststructure.h:
8811           add a method to get a GstClockTime out of a structure
8812
8813 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8814
8815         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8816         (test_children_state_change_order_semi_sink), (gst_bin_suite):
8817           Added test to check state change order in bins (can still be made
8818           to fail here under heavy disk load; bails out with 'Push on pad
8819           fakesink:sink0, but it was not activated in push mode').
8820
8821         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
8822           Fix state change order when there is only a semi sink (#316856)
8823
8824         * gst/gstbus.c: (gst_bus_class_init):
8825           Use _class_peek_parent(), not _class_ref(); fix docs to say
8826           'default main context' instead of 'mainloop' where that is
8827           what's meant.
8828
8829         * gst/gstelement.c: (gst_element_commit_state),
8830         (gst_element_set_state):
8831           Fix typos in debug messages
8832
8833 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8834
8835         * docs/README:
8836         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
8837         * gst/gstpluginfeature.c:
8838         * gst/gstutils.c:
8839           various doc updates
8840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8841           change an assert into an error until it gets fixed properly
8842
8843 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
8844
8845         * docs/gst/gstreamer-sections.txt:
8846         * docs/gst/tmpl/.cvsignore:
8847         * docs/gst/tmpl/gstelement.sgml:
8848         * docs/gst/tmpl/gstinfo.sgml:
8849         * docs/gst/tmpl/gstobject.sgml:
8850         * gst/gstelement.c:
8851         * gst/gstelement.h:
8852         * gst/gstinfo.c:
8853         * gst/gstinfo.h:
8854         * gst/gstobject.c: (gst_object_class_init):
8855         * gst/gstobject.h:
8856           inlined 3 more biiiig doc files and added some missing docs on the fly
8857
8858 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8859
8860         * check/gst/.cvsignore:
8861         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
8862         * gst/gstregistryxml.c: (load_plugin),
8863         (gst_registry_xml_save_plugin):
8864           put back source in registry.  add checks for find_plugin.
8865         * testsuite/states/bin.c: (assert_state), (empty_bin),
8866         (test_adding_one_element), (main):
8867         * testsuite/states/locked.c: (main):
8868           some compile/run fixes
8869
8870 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8871
8872         * check/gst/gstvalue.c: (GST_START_TEST):
8873           fix leaks in the test itself
8874
8875 2005-09-22  Wim Taymans  <wim@fluendo.com>
8876
8877         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8878         (gst_base_sink_send_event), (gst_base_sink_peer_query),
8879         (gst_base_sink_query):
8880         Prepare for more accurate position reporting and query
8881         handling.
8882
8883         * gst/gstelement.c: (gst_element_send_event),
8884         (gst_element_set_state):
8885         Add some comment.
8886
8887 2005-09-22  Wim Taymans  <wim@fluendo.com>
8888
8889         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
8890         (gst_query_parse_segment):
8891         * gst/gstquery.h:
8892         More documentation.
8893         Add segment query for future use.
8894
8895 2005-09-22  Wim Taymans  <wim@fluendo.com>
8896
8897         * gst/gstbin.c: (gst_bin_add_func):
8898         Some more debug info.
8899
8900         * gst/gstelement.c: (gst_element_send_event):
8901         Simplify send_event
8902
8903         * gst/gstelement.h:
8904         Don't know how flags got broken.
8905
8906         * gst/gstquery.h:
8907         Added new query.
8908
8909 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8910
8911         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
8912           Add simplistic test suite for GST_TYPE_DATE serialisation and
8913           deserialisation.
8914
8915 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8916
8917         * docs/gst/gstreamer-sections.txt:
8918         * gst/gststructure.c: (gst_structure_set_valist),
8919         (gst_structure_get_date):
8920         * gst/gststructure.h:
8921         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
8922         (gst_date_copy), (gst_value_compare_date),
8923         (gst_value_serialize_date), (gst_value_deserialize_date),
8924         (gst_value_transform_date_string),
8925         (gst_value_transform_string_date), (_gst_value_initialize):
8926         * gst/gstvalue.h:
8927           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
8928           bunch of utility functions along with a hack that checks that
8929           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
8930           is required. Part of the grand scheme in #170777.
8931
8932 2005-09-22  Andy Wingo  <wingo@pobox.com>
8933
8934         * gst/gstconfig.h.in: Psych out gtk-doc.
8935
8936         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
8937
8938         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
8939
8940         * tools/gst-inspect.c (print_element_list): Plug some
8941         inconsequential leaks.
8942
8943         * gst/gstregistry.c (gst_registry_get_default): Doc.
8944
8945         * check/gst/gstplugin.c: 
8946         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
8947         * gst/gstelementfactory.c (gst_element_factory_create): 
8948         * gst/gstindexfactory.c (gst_index_factory_create): Update for
8949         refcount changes.
8950
8951         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
8952         (gst_plugin_feature_load): Doc, don't eat refs.
8953
8954         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
8955         (gst_plugin_list_free): Doc.
8956         (gst_plugin_load_file): Doc updates.
8957
8958         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
8959         accessors returning refcounted objects, return a ref.
8960
8961         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
8962         accessor for caps. IDEMPOTENCE. Oh yes.
8963
8964 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
8965
8966         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8967
8968         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8969         (_gst_debug_register_funcptr):
8970           Add mutex to serialise access to the hash table with
8971           the function pointer => function name string mapping;
8972           make that hash table static scope (#316809).
8973
8974         * gst/registries/.cvsignore:
8975           Remove left-over file.
8976
8977 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8978
8979         * docs/pwg/appendix-porting.xml:
8980           And something about newsegment events and caps-on-buffers to
8981           the porting guide (feel free to improve).
8982
8983 2005-09-21  Andy Wingo  <wingo@pobox.com>
8984
8985         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
8986         data and event probes on the same pad.
8987         (test_buffer_probe_once): Test that removing probes from within
8988         the probe functions works.
8989
8990 2005-09-21  Andy Wingo  <wingo@pobox.com>
8991
8992         * check/gst/gstutils.c: New file.
8993         (test_buffer_probe_n_times): A simple buffer probe test. More to
8994         come, foolios.
8995
8996         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
8997         have-data::buffer, not have-data.
8998         (gst_pad_add_event_probe): Likewise for have-data::event.
8999         (gst_pad_add_data_probe): More docs. The part about 'resolving the
9000         peer' isn't quite right yet though.
9001         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
9002         (gst_pad_remove_data_probe): Change to take the guint handler_id
9003         as their arg, not the function+data, which is more glib-like.
9004
9005         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
9006         the signal emission to indicate if the data is a buffer or an
9007         event.
9008         (gst_pad_get_type): Initialize buffer and event quarks.
9009         (gst_pad_class_init): have-data is now a detailed signal, yes it
9010         is.
9011
9012 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
9013
9014         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9015         * gst/gstutils.c: (gst_util_set_value_from_string),
9016         (gst_util_set_object_arg):
9017           Don't put functional code in g_return_if_fail() or
9018           g_return_val_if_fail() statements, otherwise things will 
9019           break when G_DISABLE_CHECKS is defined during compilation.
9020
9021 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9022
9023         * docs/gst/tmpl/.cvsignore:
9024         * docs/gst/tmpl/gstvalue.sgml:
9025         * gst/gstvalue.c:
9026         * gst/gstvalue.h:
9027           inlied another one and added  some obvious docs
9028
9029 2005-09-21  Wim Taymans  <wim@fluendo.com>
9030
9031         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9032         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
9033         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
9034         (gst_fdsrc_get_property), (gst_fdsrc_create):
9035         * gst/elements/gstfdsrc.h:
9036         Properly implement fdsrc. Removed signal and timeout,
9037         better implemented somewhere else.
9038
9039 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9040
9041         * docs/gst/tmpl/.cvsignore:
9042         * docs/gst/tmpl/gstimplementsinterface.sgml:
9043         * gst/gstinterface.c:
9044           inlined more docs
9045
9046 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9047
9048         * docs/gst/gstreamer-sections.txt:
9049         * docs/gst/tmpl/.cvsignore:
9050         * docs/gst/tmpl/gstenumtypes.sgml:
9051           remove obsolete doc file
9052
9053 2005-09-21  David Schleef  <ds@schleef.org>
9054
9055         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
9056         little beer, fix a little leak.
9057
9058 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
9059
9060         * docs/gst/gstreamer-docs.sgml:
9061         * docs/gst/gstreamer-sections.txt:
9062         * docs/gst/tmpl/.cvsignore:
9063         * gst/Makefile.am:
9064         * gst/gst.h:
9065         * gst/gstbin.c:
9066         * gst/gstelement.h:
9067         * gst/gstindex.c: (gst_index_class_init):
9068         * gst/gstindex.h:
9069         * gst/gstindexfactory.c: (gst_index_factory_get_type),
9070         (gst_index_factory_class_init), (gst_index_factory_init),
9071         (gst_index_factory_finalize), (gst_index_factory_new),
9072         (gst_index_factory_destroy), (gst_index_factory_find),
9073         (gst_index_factory_create), (gst_index_factory_make):
9074         * gst/gstindexfactory.h:
9075         * gst/gstpluginfeature.c:
9076         * gst/gstpluginfeature.h:
9077         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9078           more docs inlined, splitted gstindex.{c,h}
9079
9080 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9081
9082         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9083           fix a leak
9084
9085 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9086
9087         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9088           Set sync to FALSE by default.
9089
9090 2005-09-20  Wim Taymans  <wim@fluendo.com>
9091
9092         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9093         (gst_base_sink_init):
9094         Make sync property settable from subclass.
9095
9096         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9097         (gst_fake_sink_change_state):
9098         Set sync to FALSE by default.
9099
9100 2005-09-20  Wim Taymans  <wim@fluendo.com>
9101
9102         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9103         * tools/gst-launch.c: (main):
9104         The timeout handler should have lower priority than the source
9105         so we don't timeout before popping a message with 0 timeout.
9106         Dump error messages after failed state change.
9107
9108 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9109
9110         * tools/gst-inspect.c: (print_element_properties_info):
9111           Fix two typos.
9112
9113 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9114
9115         * check/gst/gstevent.c:
9116         * gst/elements/gstfakesink.c:
9117         * gst/elements/gstfakesink.h:
9118           remove the sync property from fakesink.
9119           has the side effect of setting sync TRUE
9120           for fakesink, which is a change.  Anyone who knows how
9121           to fix this nicely in a GObject-y way, feel free.
9122
9123 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9124
9125         * docs/gst/gstreamer-docs.sgml:
9126           remove probe refsection
9127
9128 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9129
9130         * check/Makefile.am:
9131           disable valgrinding the controller test again
9132         * docs/gst/gstreamer-sections.txt:
9133           update for api-changes
9134
9135 2005-09-20  Wim Taymans  <wim@fluendo.com>
9136
9137         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9138         (gst_base_sink_set_property), (gst_base_sink_get_property),
9139         (gst_base_sink_do_sync):
9140         * gst/base/gstbasesink.h:
9141         Added sync property to basesink to disable clock sync.
9142
9143 2005-09-20  Andy Wingo  <wingo@pobox.com>
9144
9145         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9146         eating the caller's refcount.
9147
9148         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
9149         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9150         refcount.
9151
9152         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9153         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9154         of GLib 2.8 public, so we can know which refcount to check in
9155         tests.
9156
9157         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9158         (gst_object_init): Only set the gst refcount if we're going ahead
9159         with the refcount hack.
9160
9161 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9162
9163         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9164         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9165           more leaks plumbed, added more debug-logging
9166         * gst/gstmacros.h:
9167           whitespace fix
9168
9169 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * gst/gstmessage.c:
9172           remove include of gstmemchunk.h
9173
9174 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9175
9176         * gst/gstclock.c: (_gst_clock_id_free):
9177           Commit from the Political Party For More Atomic CVS Commits,
9178           so that people don't waste too much of their day fishing
9179           out obvious leaks out of massive commits.
9180           Oh, and fix a pretty damn obvious leak in the memchunk
9181           removal code.
9182
9183 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9184
9185         * check/Makefile.am:
9186         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9187           plug mem-leak, re-add to valgrindable tests
9188
9189 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9190
9191         * gst/gstplugin.h:
9192           unbreak the build for those who have chronic arthritis
9193           and typing "make check" is just too taxing on the hands
9194
9195 2005-09-20  Andy Wingo  <wingo@pobox.com>
9196
9197         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9198         really want it out, you should fix plugins at the same time.
9199
9200 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
9201
9202         * configure.ac:
9203         * docs/gst/gstreamer-sections.txt:
9204         * gst/gstobject.c:
9205           added missing symbols to api docs
9206           disable ref-count hack if we have glib >= 2.8
9207
9208 2005-09-19  David Schleef  <ds@schleef.org>
9209
9210         * docs/gst/Makefile.am: Ignore a few more internal headers
9211         * docs/gst/gstreamer-docs.sgml: Remove old sections
9212         * docs/gst/gstreamer-sections.txt: Remove old sections
9213         * docs/gst/tmpl/gstobject.sgml: update
9214         * docs/gst/tmpl/gstplugin.sgml: update
9215         * docs/gst/tmpl/gstpluginfeature.sgml: update
9216         * docs/random/ds/0.9-suggested-changes: update.
9217         * gst/Makefile.am: remove memchunk and trashstack, since they're
9218           not used.
9219         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9220         * gst/gst.h: don't include some headers
9221         * gst/gstchildproxy.c: add gstmarshal.h
9222         * gst/gstclock.c: Don't use memchunks
9223         * gst/gstminiobject.c: Add some docs
9224         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9225         * gst/gstobject.h: same
9226         * gst/gstplugin.c: include gstmacros.h
9227         * gst/gstplugin.h: don't include gstmacros.h, since it's private
9228         * gst/gstquery.c: don't use memchunks
9229         * gst/gstregistry.c: rename gst_registry_deinit()
9230         * gst/gstregistry.h: same
9231
9232 2005-09-19  David Schleef  <ds@schleef.org>
9233
9234         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9235         * docs/libs/gstreamer-libs-sections.txt:
9236         * docs/libs/tmpl/gstgetbits.sgml:
9237         * docs/libs/tmpl/gstputbits.sgml:
9238
9239 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
9240
9241         * win32/gstenumtypes.c:
9242         * win32/gstenumtypes.h:
9243           Update.
9244
9245 2005-09-19  Wim Taymans  <wim@fluendo.com>
9246
9247         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9248         Automatically PAUSE and RESUME a pipeline when a flushing seek
9249         is performed.
9250
9251 2005-09-19  Andy Wingo  <wingo@pobox.com>
9252
9253         * gst/gstregistry.h: Spacing fixen.
9254
9255 2005-09-19  Wim Taymans  <wim@fluendo.com>
9256
9257         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
9258         Handle state change failure more correctly.
9259
9260 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * check/Makefile.am:
9263         * check/pipelines/cleanup.c: (run_pipeline):
9264         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9265         (GST_START_TEST):
9266           enable cleanup again after fixing the leak
9267         * docs/README:
9268           some more info on docs
9269
9270 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9271
9272         * check/Makefile.am:
9273           re-enable tests now that leaks are plugged
9274         * check/gst/gst.c:
9275         * check/gst/gstbin.c:
9276         * check/gst/gstpipeline.c:
9277           add some more tests while fixing leaks
9278         * common/check.mak:
9279           make sure binaries are uptodate when valgrinding/gdbing
9280         * gst/gst.c:
9281         * gst/gstelementfactory.c:
9282           remove a ref too many, and add a FIXME for when we get
9283           round to disposing of classes
9284         * gst/gstplugin.c:
9285           fix the refcounting when loading a plugin from a file and
9286           the code pretends that the pointer is the same even though
9287           of course it can change
9288         * gst/gstpluginfeature.c:
9289           unref plugins marked cached (a bit confusing as a name)
9290           as the docs state should be done
9291           various doc additions to explain refcounting
9292         * gst/gstregistry.c:
9293         * gst/gstregistryxml.c:
9294           debugging
9295
9296 2005-09-19  Wim Taymans  <wim@fluendo.com>
9297
9298         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9299         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9300         (send_messages), (GST_START_TEST), (gstbus_suite):
9301         * check/gst/gstpipeline.c: (GST_START_TEST):
9302         * check/pipelines/cleanup.c: (run_pipeline):
9303         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9304         (GST_START_TEST):
9305         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
9306         (gst_bus_source_check), (gst_bus_source_dispatch),
9307         (gst_bus_create_watch), (gst_bus_add_watch_full),
9308         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
9309         * gst/gstbus.h:
9310         * tools/gst-launch.c: (event_loop):
9311         * tools/gst-md5sum.c: (event_loop):
9312         GstBusHandler -> GstBusFunc, return value has the same meaning as
9313         any other GSource (FALSE == remove source).
9314         _add_watch() and _add_watch_full() now take a MessageType mask to
9315         only handle specific types of messages.
9316         _poll() returns the GstMessage instead of the message type to avoid
9317         race conditions.
9318         _have_pending() takes a MessageType mask now too.
9319         Added testsuite for multiple bus watches.
9320         Fix testsuites and applications for new bus API.
9321
9322 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9323
9324         * check/Makefile.am:
9325           mark a bunch of the tests as to fix until we fix them
9326
9327 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9328
9329         * common/check.mak:
9330           use GST_PLUGIN settings for valgrind tests as well, so we're
9331           valgrinding the correct thing
9332         * gst/gst.c: (init_post):
9333           plug another leak
9334
9335 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9336
9337         * gst/gst.c: (init_post), (gst_deinit):
9338         * gst/gstelementfactory.c: (gst_element_factory_class_init),
9339         (gst_element_factory_finalize), (gst_element_factory_cleanup):
9340         * gst/gstindex.c: (gst_index_factory_class_init),
9341         (gst_index_factory_finalize):
9342         * gst/gstobject.c: (gst_object_dispose):
9343         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9344         (gst_plugin_load_file), (gst_plugin_desc_free):
9345         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
9346         (gst_plugin_feature_finalize):
9347         * gst/gstregistry.c: (gst_registry_class_init),
9348         (gst_registry_init), (gst_registry_finalize),
9349         (gst_registry_get_default), (gst_registry_deinit):
9350         * gst/gstregistry.h:
9351         * gst/gstregistryxml.c: (load_feature), (load_plugin):
9352           various cleanups and memleak plugging.  make valgrind is happy now.
9353
9354 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9355
9356         * common/check.mak:
9357           add a check-valgrind target
9358
9359 2005-09-18  David Schleef  <ds@schleef.org>
9360
9361         * tools/gst-inspect.c: Revert the GOption code.
9362
9363 2005-09-17  David Schleef  <ds@schleef.org>
9364
9365         * check/Makefile.am: Fix environment variables.
9366         * check/gst/gstplugin.c: Fix for API changes.
9367         * tools/gst-inspect.c: Fix for API changes.
9368         * tools/gst-xmlinspect.c: Fix for API changes.
9369         * gst/gstelementfactory.c:
9370         * gst/gstplugin.c:
9371         * gst/gstplugin.h:
9372         * gst/gstpluginfeature.c:
9373         * gst/gstpluginfeature.h:
9374         * gst/gstregistry.c:
9375         * gst/gstregistry.h:
9376         * gst/gstregistryxml.c:
9377         * gst/gsttypefind.c:
9378         * gst/gsttypefindfactory.c:
9379         * gst/indexers/gstfileindex.c:
9380         * gst/indexers/gstmemindex.c:
9381         * gst/schedulers/Makefile.am:
9382           Change registry to keep track of both plugins and features,
9383           removing the feature tracking from plugins themselves.
9384
9385 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9386
9387         * check/Makefile.am:
9388         * tools/gst-register.1.in:
9389           remove gst-register
9390
9391 2005-09-15  David Schleef  <ds@schleef.org>
9392
9393         * check/gst/gstplugin.c:
9394         * gst/gstelementfactory.c:
9395         * gst/gstplugin.c:
9396         * gst/gstpluginfeature.c:
9397         * gst/gstregistry.c:
9398           Getting tired of debugging.  Disabled all the unreffing of
9399           plugins and features, which fixes the segfaults, but of
9400           course leaks like crazy.  At least playbin works.
9401
9402 2005-09-15  David Schleef  <ds@schleef.org>
9403
9404         * check/gst/gstplugin.c: (register_check_elements),
9405         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
9406         More testing
9407         * gst/elements/gsttypefindelement.c: Fix refcounting.
9408         * gst/gsttypefind.c:
9409         * gst/gsttypefindfactory.c:
9410         * gst/gsttypefindfactory.h:
9411
9412 2005-09-15  David Schleef  <ds@schleef.org>
9413
9414         * gst/gstindex.c: get refcounting correct.
9415         * gst/gstregistry.c: Handle the case where a feature/plugin is
9416           not found.
9417
9418 2005-09-15  David Schleef  <ds@schleef.org>
9419
9420         * check/Makefile.am:
9421         * check/gst/gstplugin.c: Add test
9422         * gst/gstplugin.c: Fix problems noticed by testsuite
9423         * gst/gstplugin.h:
9424         * gst/gstregistry.c: 
9425         * gst/gstregistry.h:
9426
9427 2005-09-15  David Schleef  <ds@schleef.org>
9428
9429         * gst/gstplugin.c: Implement semi-decent recounting and locking
9430           in plugins and plugin features.
9431         * gst/gstplugin.h:
9432         * gst/gstpluginfeature.c:
9433         * gst/gstpluginfeature.h:
9434         * gst/gstregistry.c:
9435
9436 2005-09-15  Michael Smith <msmith@fluendo.com>
9437
9438         * gst/gstregistry.c: (gst_registry_get_feature_list):
9439           Implement this. Makes oggdemux work; decodebin still broken.
9440
9441 2005-09-14  David Schleef  <ds@schleef.org>
9442
9443         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
9444           #316076)
9445         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
9446         * gst/check/Makefile.am:
9447         * libs/gst/controller/Makefile.am:
9448         * libs/gst/dataprotocol/Makefile.am:
9449
9450 2005-09-14  David Schleef  <ds@schleef.org>
9451
9452         * configure.ac: Remove getbits library.  Nothing uses it, and
9453           it should be in something like liboil if someone did want
9454           to use it.
9455         * libs/gst/Makefile.am:
9456         * libs/gst/getbits/Makefile.am:
9457         * libs/gst/getbits/gbtest.c:
9458         * libs/gst/getbits/getbits.c:
9459         * libs/gst/getbits/getbits.h:
9460         * libs/gst/getbits/gstgetbits_generic.c:
9461         * libs/gst/getbits/gstgetbits_i386.s:
9462         * libs/gst/getbits/gstgetbits_inl.h:
9463
9464 2005-09-14  David Schleef  <ds@schleef.org>
9465
9466         * gst/Makefile.am: Dist glib-compat.h
9467
9468 2005-09-14  David Schleef  <ds@schleef.org>
9469
9470         * configure.ac: Remove gst/registries, since it's no longer used.
9471         * gst/registries/Makefile.am:
9472         * gst/registries/gstlibxmlregistry.c:
9473         * gst/registries/gstlibxmlregistry.h:
9474         * gst/registries/gstxmlregistry.c:
9475         * gst/registries/gstxmlregistry.h:
9476         * gst/registries/registrytest.c:
9477
9478 2005-09-14  David Schleef  <ds@schleef.org>
9479
9480         * gst/glib-compat.h:
9481         * gst/gstregistryxml.c:
9482           Convergence is near.  Seriously.
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         * gst/glib-compat.h:
9488           Attempt #4 to appease the buildbots.
9489
9490 2005-09-14  David Schleef  <ds@schleef.org>
9491
9492         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9493           Attempt #3.
9494
9495 2005-09-14  David Schleef  <ds@schleef.org>
9496
9497         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9498         Attempt #2.
9499
9500 2005-09-14  David Schleef  <ds@schleef.org>
9501
9502         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
9503           the new functions.
9504
9505 2005-09-14  David Schleef  <ds@schleef.org>
9506
9507         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9508         * gst/glib-compat.h: Add some functions that are in newer versions
9509           of glib than we care to require.
9510         * gst/gstregistryxml.c: Use them.
9511
9512 2005-09-14  David Schleef  <ds@schleef.org>
9513
9514         * po/POTFILES.in: remove gst-register.c
9515
9516 2005-09-14  David Schleef  <ds@schleef.org>
9517
9518         * docs/gst/gstreamer-docs.sgml:
9519         * docs/gst/gstreamer-sections.txt:
9520         * docs/gst/gstreamer.types:
9521         * docs/gst/tmpl/gstelement.sgml:
9522         * docs/gst/tmpl/gstplugin.sgml:
9523         * docs/gst/tmpl/gstpluginfeature.sgml:
9524           Documentation updates for registry changes.
9525
9526 2005-09-14  David Schleef  <ds@schleef.org>
9527
9528         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
9529           because we don't require glib-2.8.
9530
9531 2005-09-14  David Schleef  <ds@schleef.org>
9532
9533         * gst/gstregistryxml.c: Added.  Essentially moved out of the
9534           registries directory.
9535
9536 2005-09-14  David Schleef  <ds@schleef.org>
9537
9538         * check/Makefile.am:
9539         * check/generic/states.c:
9540         * gst/Makefile.am:
9541         * gst/gst.c:
9542         * gst/gst.h:
9543         * gst/gst_private.h:
9544         * gst/gstelementfactory.c:
9545         * gst/gstindex.c:
9546         * gst/gstinfo.c:
9547         * gst/gstplugin.c:
9548         * gst/gstplugin.h:
9549         * gst/gstpluginfeature.c:
9550         * gst/gstpluginfeature.h:
9551         * gst/gstregistry.c:
9552         * gst/gstregistry.h:
9553         * gst/gstregistrypool.c: remove
9554         * gst/gstregistrypool.h: remove
9555         * gst/gsttypefind.c:
9556         * gst/gsttypefindfactory.c:
9557         * gst/gsturi.c:
9558         * tools/Makefile.am:
9559         * tools/gst-compprep.c:
9560         * tools/gst-inspect.c:
9561         * tools/gst-register.c: remove
9562         * tools/gst-xmlinspect.c:
9563           Registry rewrite.  Changes registry from being a file created
9564           by a tool into a simple cache file created automatically by 
9565           libgstreamer.  Removed gst-register (because it's no longer
9566           needed).  Remove registry pools, because we only have one
9567           registry implementation (XML).  Fix up other subsystems as
9568           necessary.
9569
9570 2005-09-13  Michael Smith <msmith@fluendo.com>
9571
9572         * gst/gstconfig.h.in:
9573           Don't Use windows linking attributes for MinGW. Fixes #316157
9574
9575 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9576
9577         * gst/gstutils.c: (set_state_async_thread_func),
9578         (gst_element_set_state_async):
9579           Apparently people think it's better if this function doesn't
9580           try to set the state to whatever state was asked for on the first
9581           call to this function for any object.  Seriously.
9582
9583 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9584
9585         * check/gst/gstpipeline.c: (GST_START_TEST):
9586         * docs/gst/gstreamer-sections.txt:
9587         * gst/gstutils.c: (set_state_async_thread_func),
9588         (gst_element_set_state_async):
9589         * gst/gstutils.h:
9590           add a "gst_element_set_state_async" method that
9591           sets the state and starts a thread to make sure the state
9592           change completes as best as it can
9593
9594 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9595
9596         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9597           codify design+behaviour in testsuite after discussion
9598
9599 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9600
9601         * docs/gst/tmpl/gstelement.sgml:
9602         * docs/manual/appendix-quotes.xml:
9603           add a quote
9604         * gst/gstelement.c: (gst_element_set_state):
9605           add some debug
9606
9607 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
9608
9609         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9610         (gst_base_transform_prepare_output_buf),
9611         (gst_base_transform_handle_buffer):
9612         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9613         (gst_capsfilter_prepare_buf):
9614           Remove the requirement for sub-classes to call the parent
9615           implementation of prepare_output_buffer with a wrapper function.
9616           
9617         * gst/gsttaglist.h:
9618         * gst/gsttagsetter.h:
9619           Fix #define wrapper
9620
9621 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
9622
9623         * docs/gst/gstreamer-sections.txt:
9624           more doc cleanups
9625
9626 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9627
9628         * docs/gst/gstreamer-sections.txt:
9629         * docs/gst/tmpl/gstelement.sgml:
9630         * docs/gst/tmpl/gstplugin.sgml:
9631         * gst/gstminiobject.c:
9632         * gst/gstvalue.h:
9633           docs now stop throwing warnings
9634
9635 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9636
9637         * docs/gst/gstreamer-sections.txt:
9638         * docs/gst/gstreamer.types:
9639         * docs/gst/tmpl/gstpad.sgml:
9640         * docs/gst/tmpl/gsttypes.sgml:
9641         * gst/base/gstadapter.h:
9642         * gst/base/gstbasesink.h:
9643         * gst/base/gstbasesrc.h:
9644         * gst/gstbin.h:
9645         * gst/gstbuffer.h:
9646         * gst/gstbus.h:
9647         * gst/gstcaps.h:
9648         * gst/gstclock.h:
9649         * gst/gstelement.h:
9650         * gst/gstevent.h:
9651         * gst/gstmessage.h:
9652         * gst/gstpad.h:
9653         * gst/gststructure.c:
9654         * gst/registries/gstlibxmlregistry.h:
9655           various documentation fixes
9656
9657 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9658
9659         * docs/gst/gstreamer-sections.txt:
9660         * docs/gst/tmpl/gstvalue.sgml:
9661           rearrange gstvalue section
9662         * gst/gstutils.c: (gst_element_state_get_name):
9663           NONE -> VOID
9664         * gst/gstvalue.c: (_gst_value_initialize):
9665         * gst/gstvalue.h:
9666           doc updates
9667
9668 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
9669
9670         * check/gst-libs/controller.c:
9671           Header include fix.
9672         * gst/base/gstbasetransform.c:
9673         (gst_base_transform_default_prepare_buf),
9674         (gst_base_transform_handle_buffer):
9675         * gst/base/gstbasetransform.h:
9676           Some more basetransform changes and fixes to enable sub-classes
9677           that modify buffer metadata only.
9678         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9679         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
9680         (gst_capsfilter_prepare_buf):
9681           If the output pad has fixed allowed caps and input buffers 
9682           don't have any, set the fixed caps on outgoing buffers.
9683
9684 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
9685         * check/elements/identity.c: (GST_START_TEST):
9686           Make the error a little clearer when the test fails because
9687           identity made a copy of the buffer.
9688         * docs/gst/gstreamer-sections.txt:
9689           New symbols in gstbasetransform.h
9690         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9691         (gst_base_transform_init), (gst_base_transform_transform_size),
9692         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9693         (gst_base_transform_default_prepare_buf),
9694         (gst_base_transform_get_unit_size),
9695         (gst_base_transform_buffer_alloc),
9696         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9697         (gst_base_transform_change_state),
9698         (gst_base_transform_set_passthrough),
9699         (gst_base_transform_set_in_place),
9700         (gst_base_transform_is_in_place):
9701         * gst/base/gstbasetransform.h:
9702           Change BaseTransform to separate in_place operate from same_caps
9703           output. in_place implies that the element can perform the transform
9704           on incoming buffers in-place, even if the caps on the output are
9705           different.
9706           Sub-class elements can now implement special buffer allocation
9707           methods for outgoing buffers if they wish to.
9708           Big documentation addition.
9709         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
9710         * gst/elements/gstelements.c:
9711           Changes for basetransform modifications.
9712         * gst/elements/Makefile.am:
9713         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
9714           Compile fix. Extra debug output.
9715
9716 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
9719         (gst_pad_suite):
9720           add tests for valid pad naming
9721         * gst/check/gstcheck.c: (gst_check_log_message_func),
9722         (gst_check_log_critical_func):
9723           add ASSERT_WARNING
9724           remove printing of code, it is fragile when the code contains
9725           % and the line number is enough info
9726         * gst/check/gstcheck.h:
9727         * gst/gstpad.c: (gst_pad_template_new):
9728           fix memleaks
9729
9730 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * configure.ac:
9733           say what CHECK flags we use
9734         * docs/libs/gstreamer-libs.types:
9735         * libs/gst/controller/Makefile.am:
9736         * libs/gst/controller/gst-controller.c:
9737         * libs/gst/controller/gst-controller.h:
9738         * libs/gst/controller/gst-helper.c:
9739         * libs/gst/controller/gst-interpolation.c:
9740         * libs/gst/controller/gstcontroller.c:
9741         * libs/gst/controller/gsthelper.c:
9742         * libs/gst/controller/gstinterpolation.c:
9743         * tools/gst-inspect.c: (print_plugin_info):
9744           we don't use dashes in header names
9745
9746 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9747
9748         * check/Makefile.am:
9749         * check/gst/.cvsignore:
9750         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
9751         (gst_pipeline_suite), (main):
9752           adding a test for pipelines and state changes
9753         * gst/gstutils.c: (get_state_func):
9754           add some debugging
9755         * gstreamer.spec.in:
9756           fix up spec file
9757
9758 2005-09-08  Michael Smith <msmith@fluendo.com>
9759
9760         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
9761         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
9762         (gst_file_src_is_seekable), (gst_file_src_get_size),
9763         (gst_file_src_start):
9764         * gst/elements/gstfilesrc.h:
9765           Various fixes for unseekable, unmmapable, and non-normal files, so
9766           that fallback to read() rather than mmap() works.
9767         * gst/gstevent.c: (gst_event_new_newsegment):
9768           Allow newsegment events with segment_start == segment_end, as will
9769           correctly happen if you use filesrc on a zero-size file, for
9770           example.
9771
9772 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9773
9774         * gst/gstplugin.c: (gst_plugin_load_file):
9775           Call g_module_close when we don't load the module
9776
9777         * gst/registries/gstlibxmlregistry.c:
9778         (gst_xml_registry_get_property):
9779           Port leak fix from 0.8
9780
9781 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9782
9783         * docs/gst/gstreamer-docs.sgml:
9784         * docs/gst/tmpl/.cvsignore:
9785         * docs/gst/tmpl/gsttrace.sgml:
9786         * docs/gst/tmpl/gsttrashstack.sgml:
9787         * gst/Makefile.am:
9788         * gst/gst.h:
9789         * gst/gstelement.h:
9790         * gst/gstevent.h:
9791         * gst/gstmessage.c:
9792         * gst/gstmessage.h:
9793         * gst/gsttag.c:
9794         * gst/gsttag.h:
9795         * gst/gsttaginterface.c:
9796         * gst/gsttaginterface.h:
9797         * gst/gsttaglist.c:
9798         * gst/gsttaglist.h:
9799         * gst/gsttagsetter.c:
9800         * gst/gsttagsetter.h:
9801         * gst/gsttrace.c:
9802         * gst/gsttrace.h:
9803         * gst/gsttrashstack.c:
9804           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
9805           inlined docs for gsttrace, gsttrashstack
9806
9807 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9808
9809         * gst/Makefile.am:
9810         * gst/elements/gstbufferstore.h:
9811         * gst/elements/gsttypefindelement.c:
9812         * gst/elements/gsttypefindelement.h:
9813         * gst/gst.h:
9814         * gst/gsttypefind.c:
9815         * gst/gsttypefind.h:
9816         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
9817         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
9818         (gst_type_find_factory_dispose),
9819         (gst_type_find_factory_unload_thyself),
9820         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
9821         (gst_type_find_factory_get_caps),
9822         (gst_type_find_factory_get_extensions),
9823         (gst_type_find_factory_call_function):
9824         * gst/gsttypefindfactory.h:
9825         * gst/registries/gstlibxmlregistry.c:
9826         * gst/registries/gstxmlregistry.c:
9827           splitted gsttypefind into gsttypefind, gsttypefindfactory
9828
9829 2005-09-07  Andy Wingo  <wingo@pobox.com>
9830
9831         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
9832         condition whereby the pad's task function is entered before the
9833         pad_mode variable was set.
9834
9835 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9836
9837         * gst/gstpad.c: (gst_pad_alloc_buffer):
9838           Catch misbehaving pad_alloc functions that don't
9839           set up caps and do it for them.
9840
9841 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9842
9843         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9844           test for pipe!=NULL
9845         * docs/gst/tmpl/.cvsignore:
9846         * docs/gst/tmpl/gstmemchunk.sgml:
9847         * docs/gst/tmpl/gstparse.sgml:
9848         * docs/gst/tmpl/gsttaglist.sgml:
9849         * docs/gst/tmpl/gsttagsetter.sgml:
9850         * docs/gst/tmpl/gsttypefind.sgml:
9851         * docs/gst/tmpl/gsttypefindfactory.sgml:
9852         * gst/gstmemchunk.c:
9853         * gst/gstparse.c:
9854         * gst/gsttag.c:
9855         * gst/gsttaginterface.c:
9856         * gst/gsttypefind.c:
9857         * gst/gsttypefind.h:
9858           inlined more docs
9859
9860 === release 0.9.2 ===
9861
9862 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9863
9864         * NEWS:
9865         * RELEASE:
9866         * configure.ac:
9867           releasing 0.9.2, "South"
9868
9869 2005-09-05  Andy Wingo  <wingo@pobox.com>
9870
9871         * gst/registries/gstxmlregistry.h:
9872         * gst/registries/gstxmlregistry.c: Um... resurrect...
9873         
9874         * gst/registries/gstxmlregistry.h:
9875         * gst/registries/gstxmlregistry.c: and update to newer API.
9876         Incidentally they should be a bit faster now that they don't have
9877         to parse the caps.
9878         
9879 2005-09-05  Andy Wingo  <wingo@pobox.com>
9880
9881         * gst/registries/gstxmlregistry.h:
9882         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
9883         replaced by the libxml registry a while back
9884
9885 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9886
9887         * docs/gst/tmpl/gstplugin.sgml:
9888         * gst/elements/gstelements.c:
9889         * gst/gst.c:
9890         * gst/gstplugin.c: (gst_plugin_register_func),
9891         (gst_plugin_desc_copy), (gst_plugin_desc_free),
9892         (gst_plugin_get_source):
9893         * gst/gstplugin.h:
9894         * gst/registries/gstlibxmlregistry.c: (load_plugin),
9895         (gst_xml_registry_save_plugin):
9896         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
9897         (gst_xml_registry_save_plugin):
9898         * tools/gst-inspect.c: (print_plugin_info):
9899           add a "source" plugin description field, to represent the source
9900           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
9901           will set it to PACKAGE, which is automake's idea of the name of
9902           the source project.
9903
9904 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9905
9906         * Makefile.am:
9907         * autogen.sh:
9908         * configure.ac:
9909         * docs/Makefile.am:
9910         * docs/faq/Makefile.am:
9911         * docs/gst/tmpl/gstelement.sgml:
9912         * docs/gst/tmpl/gsttypes.sgml:
9913         * docs/htmlinstall.mak:
9914         * docs/manual/Makefile.am:
9915         * docs/pwg/Makefile.am:
9916           reorganize doc build a little
9917           split out docbook and gtk-doc stuff
9918           have two separate --enable's and enable them through autogen
9919           but disable by default in configure (to be similar to other
9920           projects)
9921         * gstreamer.spec.in:
9922           clean up docs install
9923         * po/af.po:
9924         * po/az.po:
9925         * po/ca.po:
9926         * po/cs.po:
9927         * po/de.po:
9928         * po/en_GB.po:
9929         * po/fr.po:
9930         * po/it.po:
9931         * po/nb.po:
9932         * po/nl.po:
9933         * po/ru.po:
9934         * po/sq.po:
9935         * po/sr.po:
9936         * po/sv.po:
9937         * po/tr.po:
9938         * po/uk.po:
9939         * po/vi.po:
9940           translation updates
9941
9942 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
9943
9944         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
9945           Add comment.
9946           
9947         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9948         (gst_fake_sink_change_state):
9949           Make state change function thread-safe.
9950           
9951         * gst/gstpad.c: (gst_pad_alloc_buffer):
9952           Set offset on generic buffer allocated by fallback.
9953
9954 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
9955
9956         * docs/gst/gstreamer-sections.txt:
9957         * docs/gst/tmpl/gstelement.sgml:
9958         * gst/gstpad.c:
9959         * libs/gst/controller/gst-controller.c:
9960         (gst_controlled_property_set_interpolation_mode),
9961         (gst_controlled_property_new),
9962         (gst_controller_find_controlled_property):
9963          run the wingo-magic script against the docs
9964
9965 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9966
9967         * docs/gst/gstreamer-docs.sgml:
9968         * docs/gst/gstreamer-sections.txt:
9969         * docs/gst/tmpl/.cvsignore:
9970         * docs/gst/tmpl/gstelementdetails.sgml:
9971         * docs/gst/tmpl/gstelementfactory.sgml:
9972         * gst/gst.c:
9973         * gst/gstbus.c:
9974         * gst/gstelementfactory.c:
9975         * gst/gstelementfactory.h:
9976           merged elementdetails docs into elementfactory docs
9977           inlined both
9978
9979 2005-09-02  Andy Wingo  <wingo@pobox.com>
9980
9981         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
9982         consider this enum an enum and not a flags.
9983
9984 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9985
9986         * docs/gst/gstreamer-docs.sgml:
9987         * docs/gst/tmpl/.cvsignore:
9988         * docs/gst/tmpl/gstghostpad.sgml:
9989         * docs/gst/tmpl/gstiterator.sgml:
9990         * docs/gst/tmpl/gstmacros.sgml:
9991         * docs/gst/tmpl/gstrealpad.sgml:
9992         * docs/gst/tmpl/gstregistry.sgml:
9993         * docs/gst/tmpl/gstregistrypool.sgml:
9994         * docs/gst/tmpl/gststructure.sgml:
9995         * docs/gst/tmpl/gstsystemclock.sgml:
9996         * docs/gst/tmpl/gsttrace.sgml:
9997         * gst/gstghostpad.c:
9998         * gst/gstmacros.h:
9999         * gst/gstmemchunk.c:
10000         * gst/gstmemchunk.h:
10001         * gst/gstqueue.c:
10002         * gst/gstregistry.c:
10003         * gst/gstregistrypool.c:
10004         * gst/gststructure.c:
10005         * gst/gstsystemclock.c:
10006           more docs inlined
10007
10008 2005-09-02  Andy Wingo  <wingo@pobox.com>
10009
10010         * gst/gstelement.h (GstState): Renamed from GstElementState,
10011         changed to be a normal enum instead of flags.
10012         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
10013         munged to be GST_STATE_CHANGE_*.
10014         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
10015         work with the new state representation.
10016         (GstStateChange): New enumeration of possible state transitions.
10017         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
10018         (GstElementClass::change_state): Pass the GstStateChange along as
10019         an argument. Helps language bindings, so they don't have to use
10020         tricky lock-needing macros like GST_STATE_CHANGE ().
10021
10022         * scripts/update-states (file): New script. Run it on a file to
10023         update it for state naming and API changes. Updates files in
10024         place.
10025
10026         * All files updated for the new API.
10027
10028 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10029
10030         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
10031         * gst/gstutils.c: (gst_util_set_value_from_string),
10032         (gst_util_set_object_arg):
10033           fix a bunch of unchecked return values
10034         * tools/gst-complete.c: (main):
10035         * gstreamer.spec.in:
10036           clean up a little
10037
10038 2005-09-01  Wim Taymans  <wim@fluendo.com>
10039
10040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10041         (gst_base_sink_event), (gst_base_sink_do_sync),
10042         (gst_base_sink_handle_event):
10043         * gst/base/gstbasesink.h:
10044         Handle newsegments more correctly.
10045
10046         * gst/gstbus.c:
10047         Fix docs.
10048
10049         * gst/gstevent.c: (gst_event_new_newsegment):
10050         A newsegment cannot have a start_time of -1
10051
10052 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10053
10054         * win32/gstenumtypes.c:
10055         * win32/gstenumtypes.h:
10056           Update
10057
10058 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10059
10060         * libs/gst/controller/gst-controller.c:
10061         (gst_controlled_property_set_interpolation_mode),
10062         (gst_controlled_property_new):
10063          fixed boolean again
10064
10065 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10066
10067         * docs/faq/gst-uninstalled:
10068           add -good
10069         * gst/gstevent.c:
10070         * gst/gstevent.h:
10071           remove wrong docs
10072         * gst/gstutils.c: (gst_element_link_filtered):
10073         * gst/gstutils.h:
10074           add gst_element_link_filtered
10075
10076 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10077
10078         * docs/gst/gstreamer-docs.sgml:
10079         * docs/gst/gstreamer-sections.txt:
10080         * docs/gst/tmpl/.cvsignore:
10081         * docs/gst/tmpl/gsterror.sgml:
10082         * docs/gst/tmpl/gstfilter.sgml:
10083         * docs/gst/tmpl/gsturihandler.sgml:
10084         * docs/gst/tmpl/gsturitype.sgml:
10085         * docs/gst/tmpl/gstutils.sgml:
10086         * docs/gst/tmpl/gstxml.sgml:
10087         * gst/gsterror.c:
10088         * gst/gsterror.h:
10089         * gst/gstfilter.c:
10090         * gst/gsturi.c:
10091         * gst/gsturitype.c:
10092         * gst/gstutils.c:
10093         * gst/gstxml.c:
10094           inlined more docs, fixed double id-ref
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):
10100         Passthrough elements don't need the caps as they don't care.
10101
10102 2005-08-31  Wim Taymans  <wim@fluendo.com>
10103
10104         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10105         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10106         Don't leak refcounts on buffers.
10107
10108 2005-08-31  Wim Taymans  <wim@fluendo.com>
10109
10110         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10111         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10112         (gst_base_transform_chain), (gst_base_transform_change_state):
10113         * gst/base/gstbasetransform.h:
10114         Handle the case where we are not negotiated more gracefully.
10115
10116 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
10117
10118         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10119         (gst_file_src_map_region):
10120           Set READONLY flag on mmap'ed buffers, otherwise
10121           gst_buffer_make_writable() won't work properly (#314708).
10122
10123 2005-08-31  Wim Taymans  <wim@fluendo.com>
10124
10125         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10126         passthrough elements can even do inplace on non writable
10127         buffers (as they don't touch them).
10128
10129 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10130
10131         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10132         (gst_test_mono_source_set_property),
10133         (gst_test_mono_source_class_init), (GST_START_TEST),
10134         (gst_controller_suite):
10135           more tests (hehe I have the most)
10136         * gst/gstbus.c:
10137           describe popping messages whenusing mulltiple sources
10138         * libs/gst/controller/gst-controller.c:
10139         (gst_controlled_property_set_interpolation_mode),
10140         (gst_controlled_property_new):
10141         * libs/gst/controller/gst-controller.h:
10142         * libs/gst/controller/gst-interpolation.c:
10143           implement boolean properties
10144
10145 2005-08-31  Wim Taymans  <wim@fluendo.com>
10146
10147         * gst/gstminiobject.c: (gst_mini_object_ref):
10148         Cannot assert that the refcount has to be positive
10149         since a disposed object can be resurrected.
10150
10151 2005-08-31  Wim Taymans  <wim@fluendo.com>
10152
10153         * gst/gstpad.c: (gst_pad_init):
10154         Revert change, need to first fix badly behaving 
10155         apps.
10156
10157 2005-08-30  Wim Taymans  <wim@fluendo.com>
10158
10159         * check/elements/fakesrc.c: (setup_fakesrc):
10160         * check/elements/identity.c: (setup_identity):
10161         Activate pads before using them.
10162
10163 2005-08-30  Wim Taymans  <wim@fluendo.com>
10164
10165         * gst/base/gstadapter.c: (gst_adapter_flush):
10166         Flushing out 0 bytes is ok for this function.
10167
10168         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10169         no newsegment gives a warning and sets the start/stop to 
10170         invalid.
10171
10172         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10173         (gst_base_transform_set_passthrough):
10174         Some debug info.
10175
10176         * gst/gstminiobject.c: (gst_mini_object_ref):
10177         Check refcount here too.
10178
10179         * gst/gstpad.c: (gst_pad_init):
10180         Pads are initially flushing and refusing data.
10181
10182         * gst/gstutils.c: (gst_element_link_pads_filtered):
10183         When adding a capsfilter element make sure it has the
10184         same state as the parent bin.
10185
10186 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10187
10188         * docs/gst/tmpl/.cvsignore:
10189         * docs/gst/tmpl/gstformat.sgml:
10190         * docs/gst/tmpl/gstversion.sgml:
10191         * gst/gstbus.h:
10192         * gst/gstformat.c:
10193         * gst/gstformat.h:
10194         * gst/gstversion.h.in:
10195           more docs and two more inlined
10196
10197 2005-08-30  Wim Taymans  <wim@fluendo.com>
10198
10199         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10200         Don't sync to clock.
10201
10202 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10203
10204         * docs/gst/gstreamer-sections.txt:
10205           ultral33t func10ns deserve to appear in the docs actually
10206         * docs/gst/tmpl/.cvsignore:
10207         * docs/gst/tmpl/gstcompat.sgml:
10208         * docs/gst/tmpl/gstconfig.sgml:
10209         * gst/check/gstcheck.c:
10210         * gst/gstcompat.h:
10211         * gst/gstconfig.h.in:
10212           inlined more docs
10213
10214 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10215
10216         * docs/gst/tmpl/.cvsignore:
10217         * docs/gst/tmpl/gstquery.sgml:
10218         * docs/gst/tmpl/gstutils.sgml:
10219         * gst/gstquery.c:
10220         * gst/gstquery.h:
10221           inlined and extended docs
10222
10223 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10224
10225         * check/gst-libs/controller.c: (GST_START_TEST),
10226         (gst_controller_suite):
10227           more tests
10228         * docs/gst/tmpl/gstutils.sgml:
10229         * docs/libs/gstreamer-libs-sections.txt:
10230         * docs/libs/tmpl/gstdataprotocol.sgml:
10231           include path fixes
10232         * examples/controller/audio-example.c: (main):
10233           controller example works now
10234         * gst/gstclock.h:
10235           doc fixes
10236         * tools/gst-inspect.c: (print_element_properties_info):
10237           show param spec flags
10238
10239 2005-08-29  Andy Wingo  <wingo@pobox.com>
10240
10241         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10242
10243 2005-08-28  Andy Wingo  <wingo@pobox.com>
10244
10245         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10246         as having two arguments instead of just one. Allows superclasses
10247         to access information on subclasses -- see the terrible for() loop
10248         in gtype.c:g_type_create_instance for the reason why. All callers
10249         changed.
10250
10251 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10252
10253         * docs/design/part-messages.txt:
10254           update info
10255         * docs/gst/tmpl/.cvsignore:
10256         * docs/gst/tmpl/gstcaps.sgml:
10257         * docs/gst/tmpl/gstclock.sgml:
10258         * gst/gstbus.c:
10259         * gst/gstcaps.c:
10260         * gst/gstcaps.h:
10261         * gst/gstclock.c:
10262         * gst/gstclock.h:
10263         * gst/gstmessage.c:
10264           added descriptions for bus and message
10265           inline caps and clock docs
10266
10267 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10268
10269         * gst/gstmessage.c:
10270         * gst/gstmessage.h:
10271           doc fixes
10272
10273 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10274
10275         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10276           fix div-by-zero
10277
10278 2005-08-26  Andy Wingo  <wingo@pobox.com>
10279
10280         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
10281         element_set_state's return val.
10282         (test_2_elements): Add test that's been disabled for months.
10283
10284         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
10285         can-activate-pull properties.
10286
10287         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
10288         can-activate-pull properties. Implement is_seekable so fakesrc can
10289         operate in pull mode.
10290
10291         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
10292         properties.
10293         (gst_base_sink_activate, gst_base_sink_activate_pull)
10294         (gst_base_sink_activate_push): Make activation mode choosing work.
10295         Cleanups.
10296         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
10297         is right. Make pull mode work. Post an eos before pausing in pull
10298         mode.
10299         (gst_base_sink_change_state): Pay attention to the core's
10300         change_state() return val.
10301         
10302         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
10303         has-getrange properties. Cleanups.
10304         
10305         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
10306         has_getrange and replace with can_activate_pull and
10307         can_activate_push.
10308
10309         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
10310         locking comments. Remove has_loop, has_chain and replace with
10311         can_activate_pull and can_activate_push.
10312
10313 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
10314
10315         * configure.ac:
10316         * examples/Makefile.am:
10317         * examples/metadata/Makefile.am:
10318         * examples/metadata/read-metadata.c: (message_loop),
10319         (have_pad_handler), (make_pipeline), (print_tag), (main):
10320           Add metadata reading example that loops over a list of filenames,
10321           dumping any tags found.
10322
10323         * gst/gstbus.c: (gst_bus_dispose):
10324         * gst/gstelement.c: (gst_element_dispose):
10325           Release a few potentially-held references in dispose.
10326
10327 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10328
10329         * docs/gst/tmpl/gstminiobject.sgml:
10330           do *not* add tmpl/*.sgml files to CVS!
10331
10332 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10333
10334         * libs/gst/bytestream/.cvsignore:
10335         * libs/gst/bytestream/Makefile.am:
10336         * libs/gst/bytestream/adapter.c:
10337         * libs/gst/bytestream/adapter.h:
10338         * libs/gst/bytestream/bytestream.c:
10339         * libs/gst/bytestream/bytestream.h:
10340         * libs/gst/bytestream/filepad.c:
10341         * libs/gst/bytestream/filepad.h:
10342           removing obsolete files
10343
10344 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10345
10346         * docs/gst/gstreamer-docs.sgml:
10347         * docs/libs/gstreamer-libs-docs.sgml:
10348           disabed additional index entries again, as this makes docs-gen just
10349           slow and they aren't useful yet
10350         * docs/libs/gstreamer-libs-sections.txt:
10351           little -section.txt cleanup for libs
10352
10353 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10356         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
10357           fix up some debugging
10358         (gst_base_transform_get_unit_size),
10359         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10360         (gst_base_transform_handle_buffer):
10361         * gst/base/gstbasetransform.h:
10362           handle and store timed NEWSEGMENT events so that subclasses that
10363           calculate time by counting samples have a segment_start time they
10364           need to add to their timestamps - see audioresample
10365
10366 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10367
10368         * gst/gstbin.h:
10369           removed ';' from the end of macro defs
10370         * docs/gst/gstreamer-docs.sgml:
10371         * docs/gst/gstreamer-sections.txt:
10372         * docs/gst/tmpl/.cvsignore:
10373         * gst/gstbus.h:
10374         * gst/gstelement.c: (gst_element_class_init),
10375         (gst_element_set_state), (activate_pads),
10376         (gst_element_save_thyself):
10377         * gst/gstevent.c: (gst_event_new_newsegment):
10378         * gst/gstevent.h:
10379         * gst/gstiterator.c:
10380         * gst/gstiterator.h:
10381         * gst/gstpad.c:
10382         * gst/gstprobe.h:
10383         * gst/gstutils.c: (gst_pad_query_convert):
10384         * gst/gstutils.h:
10385           fixed parameter name mismatches between source, header and docs
10386           added some more docs, resolved the last batch of unused elements in
10387           docs (now someone needs to doc them)
10388
10389 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10390
10391         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
10392         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
10393           don't walk through the plugins backwards.  Where is all this
10394           reversed logic coming from ?
10395
10396 2005-08-25  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10399         (gst_base_transform_transform_size),
10400         (gst_base_transform_configure_caps),
10401         (gst_base_transform_get_unit_size),
10402         (gst_base_transform_buffer_alloc),
10403         (gst_base_transform_change_state):
10404         * gst/base/gstbasetransform.h:
10405         Cache caps unit_size.
10406         Make sure we cannot negotiate up and downstream at the
10407         same time.
10408
10409 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * gst/gst.c: (init_pre), (init_post):
10412           register the installed plugin path after the env var
10413         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
10414         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
10415           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
10416           directories, so the tests can prefer uninstalled over installed
10417
10418 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10419
10420         * gst/base/gstbasetransform.h:
10421           comment
10422         * gst/gstpad.c:
10423           add to docs
10424
10425 2005-08-25  Wim Taymans  <wim@fluendo.com>
10426
10427         * gst/gstbin.c: (bin_bus_handler):
10428         Be a bit more conservative about the posted message.
10429         
10430         * gst/gstbus.c: (gst_bus_post):
10431         Some cleanups, warn wrong return values.
10432
10433 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
10434
10435         * check/gst/gstbin.c: (GST_START_TEST):
10436         * gst/gstbin.c: (bin_bus_handler):
10437         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10438         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10439         (gst_message_new_warning), (gst_message_new_tag),
10440         (gst_message_new_state_changed), (gst_message_new_segment_start),
10441         (gst_message_new_segment_done), (gst_message_new_custom):
10442         * gst/gstmessage.h:
10443         * tools/gst-launch.c: (event_loop):
10444         * tools/gst-md5sum.c: (event_loop):
10445           Revert unpopular change for GST_MESSAGE_SRC to GObject.
10446
10447 2005-08-25  Wim Taymans  <wim@fluendo.com>
10448
10449         * check/generic/states.c: (GST_START_TEST):
10450         Cleanup can be done at the end.
10451
10452         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
10453         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10454         (gst_task_get_state), (gst_task_start), (gst_task_pause):
10455         Oh boy.. Thanks for finding this, Thomas. 
10456
10457 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10458
10459         * docs/gst/gstreamer.types:
10460           added missing types
10461
10462 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10463
10464         * docs/gst/gstreamer-docs.sgml:
10465         * docs/gst/gstreamer-sections.txt:
10466         * docs/gst/tmpl/.cvsignore:
10467         * gst/gstbin.c:
10468         * gst/gstiterator.c:
10469         * gst/gstutils.c:
10470         * gst/registries/gstxmlregistry.h:
10471           added missing classes and symbols (123 more to go)
10472           removed removed symbols from section file
10473           fixed many doc-comments
10474
10475 2005-08-24  Wim Taymans  <wim@fluendo.com>
10476
10477         * check/generic/states.c: (GST_START_TEST):
10478         Make sure all tasks are stopped.
10479
10480         * check/gst/gstbin.c: (GST_START_TEST):
10481         Unref after usage for proper valgrinding.
10482
10483         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
10484         Really wait for the task to stop before destroying the
10485         mutex.
10486
10487         * gst/gstqueue.c: (gst_queue_sink_activate_push),
10488         (gst_queue_src_activate_push):
10489         Small cleanups. Don't stop the task when we did not start
10490         it.
10491
10492         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
10493         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10494         (gst_task_get_state), (gst_task_start), (gst_task_pause),
10495         (gst_task_join):
10496         * gst/gsttask.h:
10497         Protect the stream lock with the object lock.
10498         Disallow setting the stream lock when running.
10499         Add cleanup_all to wait for the threadpool to finish.
10500         Remove code to autoallocate a mutex if none was provided.
10501         Add _join() to wait for a task to stop.
10502         Protect the thread pool with a global lock.
10503
10504 2005-08-24  Wim Taymans  <wim@fluendo.com>
10505
10506         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10507         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10508         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
10509         * gst/base/gstbasesink.h:
10510         Handle newsegment events correctly.
10511         Drop buffers out of the segment range.
10512
10513 2005-08-22  Andy Wingo  <wingo@pobox.com>
10514
10515         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
10516         macro, implements an interface and gstimplementsinterface for a
10517         new type.
10518
10519 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10520
10521         * check/Makefile.am:
10522         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
10523           add a test that does a bunch of state changes on elements
10524           needs some fixing for valgrind
10525         * check/states/sinks.c: (gst_object_suite):
10526           whitespace
10527         * gst/gstcaps.h:
10528           add prototype for gst_caps_is_equal_fixed
10529         * gst/gstplugin.c:
10530         * gst/gstregistrypool.c:
10531           doc fixes
10532
10533 2005-08-24  Andy Wingo  <wingo@pobox.com>
10534
10535         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
10536         convert a negative value. Doesn't make much sense. Mostly this is
10537         here to force callers to ensure -1 maps to -1.
10538
10539 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10540
10541         * docs/pwg/advanced-types.xml:
10542           Well done to Michael for catching my deliberate introduction
10543           of this spelling mistake. 
10544         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
10545         * gst/gstelement.h:
10546           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
10547           unlink pads before removing the element from the bin.
10548
10549 2005-08-24  Andy Wingo  <wingo@pobox.com>
10550
10551         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
10552         the same thing as GST_DEBUG=*:4.
10553         (parse_debug_level, parse_debug_category): New helper parsers.
10554
10555 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10556
10557         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10558         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
10559         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
10560         (gst_base_transform_buffer_alloc),
10561         (gst_base_transform_handle_buffer):
10562           use gboolean return values and pointers to size so we can use the
10563           full GST_BUFFER_SIZE range (guint) for buffer sizes
10564           use GstPadDirection for transform_caps
10565         * gst/base/gstbasetransform.h:
10566           rename get_size to get_unit_size since that's what it is
10567         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
10568           use GstPadDirection for transform_caps
10569         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10570         * gst/gstutils.h:
10571           cleanup and debugging
10572
10573 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10574
10575         * gst/gstelement.c: (gst_element_class_init),
10576         (gst_element_set_state), (activate_pads),
10577         (gst_element_save_thyself):
10578         * tools/gst-compprep.c: (main):
10579         * tools/gst-inspect.c: (print_element_properties_info):
10580         * tools/gst-xmlinspect.c: (print_element_properties):
10581           Fixed long standing mem-leak
10582
10583 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10584
10585         * check/gst/gstbin.c: (GST_START_TEST):
10586         * gst/gstbin.c: (bin_bus_handler):
10587         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10588         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10589         (gst_message_new_warning), (gst_message_new_tag),
10590         (gst_message_new_state_changed), (gst_message_new_segment_start),
10591         (gst_message_new_segment_done), (gst_message_new_custom):
10592         * gst/gstmessage.h:
10593         * tools/gst-launch.c: (event_loop):
10594         * tools/gst-md5sum.c: (event_loop):
10595           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
10596           that applications can sensibly post custom messages with references
10597           to their own objects.
10598
10599 2005-08-24  Andy Wingo  <wingo@pobox.com>
10600
10601         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10602         already.
10603
10604 2005-08-24  Wim Taymans  <wim@fluendo.com>
10605
10606         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10607         (gst_base_transform_transform_caps),
10608         (gst_base_transform_transform_size),
10609         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10610         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10611         (gst_base_transform_handle_buffer):
10612         * gst/base/gstbasetransform.h:
10613         Many fixes and new features added by Thomas. Can now also do
10614         transforms with variable sizes and a custom fixate_caps function.
10615
10616 2005-08-24  Wim Taymans  <wim@fluendo.com>
10617
10618         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10619         Some debugging.
10620
10621         * gst/gstclock.h:
10622         Cast to ClockTime before formatting to time.
10623
10624         * gst/gstutils.h:
10625         Cleanups.
10626
10627 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10628
10629         * check/gst-libs/controller.c: (GST_START_TEST),
10630         (gst_controller_suite):
10631         * docs/gst/tmpl/gstcaps.sgml:
10632         * docs/gst/tmpl/gstghostpad.sgml:
10633         * docs/gst/tmpl/gstquery.sgml:
10634         * docs/gst/tmpl/gstutils.sgml:
10635         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10636         (gst_object_sink_values), (gst_object_get_value_arrays),
10637         (gst_object_get_value_array):
10638           gracefully handle helper method calls to objects that are not beeing
10639           controlled, added test case for that          
10640
10641 2005-08-23  Wim Taymans  <wim@fluendo.com>
10642
10643         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
10644         (gst_event_new_newsegment), (gst_event_parse_newsegment),
10645         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
10646         (gst_event_parse_qos), (gst_event_new_seek),
10647         (gst_event_parse_seek):
10648         * gst/gstevent.h:
10649         Some more debugging output and doc cleanups.
10650
10651         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10652         Fix possible deadlock.
10653
10654 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10655
10656         * docs/gst/gstreamer-docs.sgml:
10657         * docs/gst/gstreamer-sections.txt:
10658         * docs/gst/gstreamer.types:
10659         * docs/gst/tmpl/.cvsignore:
10660         * gst/gstbin.h:
10661         * gst/gstbus.c:
10662         * gst/gstelement.c:
10663         * gst/gstevent.h:
10664           added 100 symbols from gstreamer-unused.txt to the right sections
10665           fixed more broken comments
10666           added GstBus to docs
10667
10668 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10669
10670         * docs/gst/gstreamer-sections.txt:
10671         * docs/gst/tmpl/.cvsignore:
10672         * docs/gst/tmpl/gstbin.sgml:
10673         * docs/gst/tmpl/gstbuffer.sgml:
10674         * gst/base/gstbasesrc.c:
10675         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
10676         * gst/gstbuffer.c:
10677         * gst/gstbuffer.h:
10678         * tools/gst-launch.1.in:
10679           inlined more doc comments, added missing comments and fixed comments
10680           fixed typos
10681
10682 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10683
10684         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10685           some debugging
10686         * gst/gstcaps.h:
10687           whitespace fixes
10688         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
10689           more debugging
10690         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
10691         * gst/gststructure.h:
10692           add a fixate function for booleans; add a FIXME that these func
10693           names should probably be gst_structure_fixate_*
10694
10695 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10696
10697         * docs/gst/gstreamer-docs.sgml:
10698         * docs/gst/gstreamer-sections.txt:
10699         * gst/Makefile.am:
10700         * gst/gstbin.c: (gst_bin_get_type),
10701         (gst_bin_child_proxy_get_child_by_index),
10702         (gst_bin_child_proxy_get_children_count),
10703         (gst_bin_child_proxy_init):
10704         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10705         (gst_child_proxy_get_child_by_index),
10706         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
10707         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
10708         (gst_child_proxy_get), (gst_child_proxy_set_property),
10709         (gst_child_proxy_set_valist), (gst_child_proxy_set),
10710         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
10711         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
10712         * gst/gstchildproxy.h:
10713         * gst/parse/grammar.y:
10714         * tools/gst-inspect.c: (print_interfaces),
10715         (print_element_properties_info), (print_element_info):
10716           ported gstchildproxy over from 0.8
10717           ported gst-inspect fixes and enhancements over from 0.8
10718
10719 2005-08-22  Wim Taymans  <wim@fluendo.com>
10720
10721         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10722         (gst_base_transform_handle_buffer):
10723         Also call the transform function if we have ANY caps.
10724
10725         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
10726         Fix debug info.
10727
10728 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10729
10730         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
10731           Don't pretend to handle seek events if the source is not seekable
10732
10733 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10734
10735         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10736           Remove extra parameter to debug output
10737
10738         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10739         (gst_base_src_do_seek), (gst_base_src_activate_push):
10740           Fix seek event handling.
10741
10742         * gst/gstpipeline.c: (gst_pipeline_change_state):
10743         * gst/gstqueue.c: (gst_queue_handle_sink_event),
10744         (gst_queue_src_activate_push):
10745           Don't start the src pad task on FLUSH_STOP if the pad
10746           isn't linked.
10747           Debug changes.
10748
10749 2005-08-22  Wim Taymans  <wim@fluendo.com>
10750
10751         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10752         Added check for gst_static_caps_get() refcounting.
10753
10754 2005-08-22  Wim Taymans  <wim@fluendo.com>
10755
10756         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
10757         Make _static_caps_get() refcounting sane.
10758         
10759         * gst/gstelement.c: (gst_element_set_state):
10760         Add g_return_val_if_fail() to protect against segfaults.
10761
10762 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
10763
10764         * docs/gst/tmpl/gstevent.sgml:
10765         * gst/gstevent.c:
10766         * gst/gstevent.h:
10767           inlined remaining docs, added missing doc comments
10768
10769 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10770
10771         * check/gst/gstbin.c: (GST_START_TEST):
10772           since we don't know when preroll is done, use refcount range
10773           check for the sink
10774         * gst/check/gstcheck.h:
10775           add macro for checking refcount range
10776
10777 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10778
10779         * check/Makefile.am:
10780           clean up environment for when registry gets built versus
10781           when actual tests are run; valgrind seems to not report
10782           leaks if GST_PLUGIN_PATH is set to some specific values
10783         * check/gst/gstbin.c: (GST_START_TEST):
10784           add more refcounting checks; maybe this exposes a
10785           preroll lock bug ?
10786         * common/check.mak:
10787         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10788         * gst/check/gstcheck.h:
10789         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
10790         (gst_bin_change_state):
10791         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
10792           add/fix debugging/whitespace
10793
10794 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10795
10796         * check/gst/gstevent.c: (event_probe), (test_event),
10797         (GST_START_TEST):
10798          Er, don't call gst_bin_watch_for_state_change you idiot.
10799
10800 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10801
10802         * check/Makefile.am:
10803           Use CHECK_CFLAGS and CHECK_LIBS
10804         * check/gst/gstevent.c: (event_probe), (test_event),
10805         (GST_START_TEST):
10806           Don't leak events.
10807         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10808         (gst_base_src_start), (gst_base_src_stop),
10809         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10810         (gst_base_src_change_state):
10811           Sprinkle gst_base_src_stop liberally around error paths to fix
10812           problems reusing a source after failed state changes.
10813         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10814         (helper_find_suggest), (gst_type_find_helper):
10815           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
10816         * gst/gstevent.h:
10817         * docs/gst/tmpl/gstevent.sgml:
10818           Migrate part of the docs from the SGML file. Wait for ensonic to
10819           tell me how I did it wrong ;)
10820         * tools/gst-typefind.c: (main):
10821           Extra robustness to state changes between files.
10822
10823 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10824
10825         * check/Makefile.am:
10826           don't valgrind the controller test - it's leaking - Stefan, HELP
10827         * gst/check/gstcheck.c: (gst_check_message_error),
10828         (gst_check_chain_func), (gst_check_setup_element),
10829         (gst_check_teardown_element), (gst_check_setup_src_pad),
10830         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10831         (gst_check_teardown_sink_pad):
10832         * gst/check/gstcheck.h:
10833           add a bunch of methods to set up elements, and src and sink pads
10834         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
10835         * check/elements/identity.c: (setup_identity), (cleanup_identity),
10836         (GST_START_TEST):
10837           use them
10838         * gst/gstmessage.c:
10839         * gst/gsttag.h:
10840           whitespace/doc fixes
10841
10842 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * gst/gstelement.h:
10845           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
10846           be handled by the application and not always printed as well
10847
10848 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10849
10850         * check/Makefile.am:
10851           set GST_TOOLS_DIR
10852         * gst/check/gstcheck.c: (gst_check_message_error):
10853         * gst/check/gstcheck.h:
10854           add a fail_unless_equals_int
10855           add fail_unless for error messages
10856
10857 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10858
10859         * check/Makefile.am:
10860         * check/gst.supp:
10861         * common/Makefile.am:
10862         * common/check.mak:
10863         * common/gst.supp:
10864           factor out some of the common stuff so we can use it
10865
10866 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10867
10868         * check/Makefile.am:
10869         * check/gst/gstiterator.c: (GST_START_TEST):
10870         * check/gst/gstsystemclock.c: (GST_START_TEST),
10871         (gst_systemclock_suite):
10872         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10873         * gst/gstclock.c:
10874           valgrind more tests
10875
10876 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10877
10878         * check/elements/.cvsignore:
10879         * check/elements/gstfakesrc.c:
10880           rename to name of element
10881         * check/elements/identity.c: (chain_func), (event_func),
10882         (setup_identity), (cleanup_identity), (GST_START_TEST),
10883         (identity_suite), (main):
10884           add a test for identity
10885         * check/Makefile.am:
10886         * pkgconfig/Makefile.am:
10887         * pkgconfig/gstreamer-check.pc.in:
10888         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10889         * gst/check:
10890         * gst/Makefile.am:
10891         * configure.ac:
10892           move the check stuff to a library that gets installed
10893         * check/gst-libs/controller.c: (GST_START_TEST):
10894         * check/gst-libs/gdp.c:
10895         * check/gst/gst.c: (GST_START_TEST):
10896         * check/gst/gstbin.c:
10897         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10898         * check/gst/gstbus.c:
10899         * check/gst/gstcaps.c: (GST_START_TEST):
10900         * check/gst/gstelement.c:
10901         * check/gst/gstghostpad.c:
10902         * check/gst/gstiterator.c:
10903         * check/gst/gstmessage.c:
10904         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
10905         * check/gst/gstobject.c:
10906         * check/gst/gstpad.c: (GST_START_TEST):
10907         * check/gst/gststructure.c: (GST_START_TEST):
10908         * check/gst/gstsystemclock.c: (GST_START_TEST),
10909         (gst_systemclock_suite):
10910         * check/gst/gsttag.c: (gst_tag_suite):
10911         * check/gst/gstvalue.c:
10912         * check/pipelines/cleanup.c:
10913         * check/pipelines/simple_launch_lines.c:
10914         * check/states/sinks.c:
10915           change include statement
10916
10917         * docs/gst/gstreamer-sections.txt:
10918         * docs/gst/tmpl/gstpad.sgml:
10919           document more pad stuff
10920         * gst/gstminiobject.c: (gst_mini_object_ref),
10921         (gst_mini_object_unref):
10922           debug refcounting
10923
10924 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
10925
10926         * docs/gst/tmpl/gst.sgml:
10927         * gst/gst.c:
10928           eliminate another tmpl file, fix spelling in the long-description
10929
10930 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10931
10932         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10933         (test_event), (timediff), (gstevents_suite):
10934           Should fix build on 64-bit arch's
10935
10936 2005-08-18  Andy Wingo  <wingo@pobox.com>
10937
10938         Make sure that when a pipeline goes to PLAYING, that data has
10939         actually hit the sink.
10940
10941         * check/states/sinks.c (test_sink): A sink that doesn't get any
10942         data shouldn't return SUCCESS for going to either PLAYING or
10943         PAUSED. Test also the return values on the way back down.
10944
10945         * gst/gstelement.c (gst_element_set_state): When changing the
10946         state of an element currently changing state asynchronously, go to
10947         lost-state after commiting the pending state. Makes future calls
10948         to get_state continue to return ASYNC.
10949
10950         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
10951         ASYNC when going to PLAYING if we still don't have preroll, as can
10952         happen with live sources.
10953
10954 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10955
10956         * docs/pwg/advanced-types.xml:
10957           Hack long paragraph into 2 chunks as a workaround for buggy
10958           jadetex version in sid and breezy that loops infinitely and
10959           eats all RAM.
10960
10961 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10962
10963         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10964         (test_event), (timediff), (gstevents_suite):
10965           Provide more error margin in clock measurements to allow for 
10966           g_get_current_time inaccuracies.
10967
10968 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10969
10970         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10971         (test_event), (timediff), (gstevents_suite):
10972            Fix error message output so I might be able to tell why the
10973            test works here but fails on the build farm.
10974
10975 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10976
10977         * check/Makefile.am:
10978         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10979         (test_event), (timediff), (gstevents_suite), (main):
10980           I wrote a test!
10981
10982         * docs/design/part-seeking.txt:
10983           Spelling correction
10984
10985         * docs/gst/tmpl/gstevent.sgml:
10986         * docs/gst/tmpl/gstfakesrc.sgml:
10987           Docs updates.
10988
10989         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10990           Treat a buffer-without-newsegment the same as a receiving 
10991           a newsegment not in time format, and disable syncing to the clock
10992           with a warning.
10993
10994         * gst/gstbus.c: (gst_bus_set_sync_handler):
10995           Assert if anyone tries to replace the existing sync_handler for bus, 
10996           as only the owner should be setting it.
10997
10998         * gst/gstevent.h:
10999           Have a fixed set of custom event enums with events identified by
11000           their structure name (as in 0.8), rather than a free-for-all
11001           allowing collisions between enum values from different plugins.
11002
11003         * gst/gstpad.c: (gst_pad_class_init):
11004           Docs change.
11005           
11006         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11007           Handle out-of-band downstream events from the sending thread.
11008
11009 2005-08-17  Andy Wingo  <wingo@pobox.com>
11010
11011         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
11012         play-timeout==0 to mean no timeout at all. In that case, don't
11013         bother with a get_state or a warning, just return directly, even
11014         if it's ASYNC.
11015
11016         * gst/base/gstbasetransform.c: Debug changes.
11017
11018         * gst/gstutils.h:
11019         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
11020         ensure bins post state change messages. A bit of a hack but I can't
11021         think of a way to avoid it.
11022
11023         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
11024
11025 2005-08-16  Andy Wingo  <wingo@pobox.com>
11026
11027         * gst/base/gstadapter.h:
11028         * gst/base/gstadapter.c (gst_adapter_take): New function, like
11029         peek() but you own the data. Not terribly efficient atm.
11030
11031 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11032
11033         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
11034         (gst_element_found_tags):
11035         * gst/gstutils.h:
11036           Add two utility functions for tag handling.
11037
11038 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11039
11040         * docs/manual/advanced-dataaccess.xml:
11041         * docs/manual/basics-helloworld.xml:
11042           Fix docs to use _bin_add() before _link(), which fixes the examples
11043           with recent core versions (reported by Madhan Raj M
11044           <raj_madan@rediffmail.com>, #313199).
11045
11046 2005-08-16  Wim Taymans  <wim@fluendo.com>
11047
11048         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11049         Added subtract checks.
11050
11051         * docs/design/part-events.txt:
11052         Some more docs about newsegment
11053
11054         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11055         Fix FIXME
11056
11057         * gst/gstcaps.c: (gst_caps_to_string):
11058         Add comments, cleanups.
11059         
11060         * gst/gstelement.c: (gst_element_save_thyself):
11061         cleanups
11062         
11063         * gst/gstvalue.c: (gst_value_collect_int_range),
11064         (gst_string_unwrap), (gst_value_union_int_int_range),
11065         (gst_value_union_int_range_int_range),
11066         (gst_value_intersect_int_int_range),
11067         (gst_value_intersect_int_range_int_range),
11068         (gst_value_intersect_double_double_range),
11069         (gst_value_intersect_double_range_double_range),
11070         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
11071         (gst_value_subtract_int_range_int),
11072         (gst_value_subtract_double_range_double),
11073         (gst_value_subtract_double_range_double_range),
11074         (gst_value_subtract_from_list), (gst_value_subtract_list),
11075         (gst_value_can_compare), (gst_value_compare_fraction):
11076         Cleanups, add comments, remove unneeded asserts.
11077
11078 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11079
11080         * tools/gst-launch.c: (event_loop):
11081           don't convert NULL structures to strings
11082
11083 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
11084
11085         * docs/gst/gstreamer-sections.txt:
11086           made some defines private
11087         * docs/gst/tmpl/gstconfig.sgml:
11088         * docs/gst/tmpl/gstqueue.sgml:
11089         * docs/gst/tmpl/gsttaglist.sgml:
11090         * docs/gst/tmpl/gsttypes.sgml:
11091         * docs/gst/tmpl/gstutils.sgml:
11092         * docs/pwg/appendix-porting.xml:
11093         * gst/base/gstbasesink.h:
11094         * gst/base/gstbasesrc.c:
11095         * gst/base/gstbasesrc.h:
11096         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
11097         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
11098         * gst/gstelement.c: (gst_element_class_init):
11099         * gst/gstpad.c: (gst_pad_class_init):
11100         * gst/gstqueue.c: (gst_queue_class_init):
11101         * gst/gstxml.c: (gst_xml_class_init):
11102           documented all undocumented signal inline
11103         * libs/gst/controller/gst-controller.h:
11104           added padding
11105
11106 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11107
11108         * docs/pwg/appendix-porting.xml:
11109           Document _set_link_function -> _set_setcaps_function.
11110
11111 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11112
11113         * check/Makefile.am:
11114           add a .check target for running the check
11115         * check/gst-libs/controller.c: (GST_START_TEST):
11116           cosmetic fixups
11117         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11118           complete checks for gstbuffer; would be nice if I could get the
11119           gcov stuff to work so I can see if I actually completed gstbuffer.c
11120         * check/gstcheck.h:
11121           add ASSERT_BUFFER_REFCOUNT
11122
11123 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
11124
11125         * docs/gst/gstreamer-sections.txt:
11126         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11127         * gst/gsttag.h:
11128           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11129           spew out a warning if a tag that is already registered
11130           is re-registered, unless it is re-registered with a 
11131           different type (#308438).
11132
11133 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
11134
11135         * docs/pwg/appendix-porting.xml:
11136         * docs/pwg/building-state.xml:
11137           Add some paragraphs about state changes in 0.9 to the PWG
11138           and the porting guide, in particular about the new meaning
11139           of GST_STATE_PAUSED and how to write state change functions
11140           with concurrent access by multiple threads in mind.
11141
11142 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
11143
11144         * docs/gst/gstreamer-docs.sgml:
11145         * docs/libs/gstreamer-libs-docs.sgml:
11146           added deprecation and since indexes
11147         * libs/gst/controller/gst-controller.c:
11148         * libs/gst/controller/gst-helper.c:
11149           added since tags
11150
11151
11152 2005-08-11  Wim Taymans  <wim@fluendo.com>
11153
11154         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11155         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11156         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11157         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11158         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11159         (gst_ghost_pad_set_target):
11160         Actually implement (re)setting the target on a ghostpad
11161         as described in the docs.
11162
11163 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11164
11165         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11166           Check whether GST_DEBUG_NO_COLOR environment variable is
11167           set and disable coloured debug output if that is the case.
11168
11169 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11170
11171         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11172         (gst_type_find_helper):
11173           The memory returned by gst_type_find_peek() needs to
11174           stay valid until the end of a typefind function, and
11175           typefind functions may keep results from different 
11176           offsets around, so we can't just unref the buffer from
11177           the previous _peek(), but have to save all buffers 
11178           returned by _peek() until typefinding is done and only
11179           free them then.
11180
11181 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11182
11183         * docs/gst/gstreamer-sections.txt:
11184         * gst/gstutils.h:
11185           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11186
11187 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11188
11189         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11190           Fix a pretty good memleak.
11191
11192 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11193
11194         * gst/gstiterator.h:
11195           Fix wrong include and 'make distcheck'.
11196
11197 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11198
11199         * gst/gstbin.c: (bin_bus_handler):
11200           Use gst_element_post_message() instead.
11201
11202 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11203
11204         * gst/base/gstadapter.h:
11205         * gst/base/gstbasesink.h:
11206         * gst/base/gstbasesrc.h:
11207         * gst/base/gstbasetransform.h:
11208         * gst/base/gstcollectpads.h:
11209         * gst/base/gstpushsrc.h:
11210         * gst/gstiterator.h:
11211           Add padding to our base elements' class and instance structs and
11212           to GstIterator (you will need to rebuild all plugins and apps!)
11213
11214 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11215
11216         * gst/gstbin.c: (bin_bus_handler):
11217           Make default message forwarding from child->bus to bin->bus
11218           threadsafe and make it not emit warnings if the parent has no bus.
11219
11220 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11221
11222         * gst/gstelement.c: (activate_pads):
11223           On paused->ready, set pad->caps to NULL, as is the documented
11224           behaviour in this state change. Fixes playback of series of
11225           media files when visualization is enabled in Totem.
11226
11227 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11228
11229         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11230           Allow NULL as filter-caps (which means "any").
11231
11232 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11233
11234         * docs/libs/gstreamer-libs-sections.txt:
11235         * libs/gst/controller/gst-controller.c:
11236         * libs/gst/controller/gst-controller.h:
11237         * libs/gst/controller/gst-helper.c:
11238           adding more entries to the docs and fix small doc-bugs
11239
11240 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11241
11242         * docs/gst/gstreamer-docs.sgml:
11243         * docs/gst/gstreamer-sections.txt:
11244         * docs/gst/gstreamer.types:
11245         * docs/gst/tmpl/gstbasesink.sgml:
11246         * docs/gst/tmpl/gstbasesrc.sgml:
11247         * docs/gst/tmpl/gstbasetransform.sgml:
11248         * docs/gst/tmpl/gstfakesrc.sgml:
11249         * gst/base/gstcollectpads.c:
11250         * gst/base/gstcollectpads.h:
11251         * libs/gst/controller/gst-controller.c:
11252         * libs/gst/controller/gst-controller.h:
11253         * libs/gst/controller/gst-helper.c:
11254         * libs/gst/controller/gst-interpolation.c:
11255         * libs/gst/controller/lib.c:
11256           added long/short desc for controller docs
11257           added collectpads base class docs
11258           added correct includes to base-class docs
11259
11260 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11261
11262         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11263         (gst_test_mono_source_set_property),
11264         (gst_test_mono_source_class_init), (GST_START_TEST),
11265         (gst_controller_suite):
11266         * docs/gst/gstreamer-docs.sgml:
11267         * docs/gst/gstreamer-sections.txt:
11268         * docs/gst/gstreamer.types:
11269         * docs/libs/gstreamer-libs-docs.sgml:
11270         * docs/libs/gstreamer-libs-sections.txt:
11271         * gst/base/gstadapter.c:
11272         * libs/gst/controller/gst-controller.c:
11273         (gst_controlled_property_new), (gst_controlled_property_free),
11274         (gst_controller_new_valist),
11275         (gst_controller_remove_properties_valist),
11276         (gst_controller_sink_values), (_gst_controller_finalize):
11277         * libs/gst/controller/gst-controller.h:
11278         * libs/gst/controller/gst-helper.c:
11279         (gst_object_control_properties), (gst_object_uncontrol_properties),
11280         (gst_object_get_controller), (gst_object_set_controller),
11281         (gst_object_sink_values), (gst_object_get_value_arrays),
11282         (gst_object_get_value_array):
11283           more tests (and fixes) for the controller
11284           more docs for the controller
11285           integrated companies docs for the adapter 
11286
11287 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11288
11289         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
11290         (GST_START_TEST), (fakesrc_suite):
11291           add tests for sizetype
11292
11293 2005-08-04  Andy Wingo  <wingo@pobox.com>
11294
11295         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
11296         fixes buffer_alloc proxying among other things.
11297
11298         * gst/base/gstbasetransform.c:
11299         * gst/base/gstbasetransform.h:
11300         Revert patch to gstbasetransform from 7-28 removing
11301         delay_configure.
11302
11303         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
11304         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
11305         Semantics changed, should return not the size of the output buffer
11306         but the byte size of a buffer with a given caps.
11307
11308         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
11309         debug object.
11310         (gst_base_transform_configure_caps): Don't set out_size here: (in,
11311         out) are not the pad caps until setcaps finishes.
11312         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
11313         not-in-place case as well. Deal with changing from in-place to
11314         not-in-place within calling pad_alloc_buffer. Still a bit
11315         concerned about the overhead here...
11316
11317 2005-08-03  Andy Wingo  <wingo@pobox.com>
11318
11319         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
11320         fixating is an error.
11321
11322 2005-08-04  Edward Hervey  <edward@fluendo.com>
11323
11324         * gst/base/gstadapter.h: 
11325         Added gst_adapter_get_type() to the header
11326
11327 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11328
11329         * check/Makefile.am:
11330         * check/gst-libs/controller.c:
11331         * libs/gst/controller/gst-controller.c:
11332         (gst_controller_new_valist):
11333           added check test suite for the controller
11334         * gst/base/gstpushsrc.c:
11335           fixed a doc typo
11336
11337 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11338
11339         * docs/gst/Makefile.am:
11340         * docs/gst/gstreamer-docs.sgml:
11341         * docs/gst/gstreamer-sections.txt:
11342         * docs/gst/gstreamer.types:
11343         * docs/gst/tmpl/gstfakesrc.sgml:
11344         * gst/base/README:
11345         * gst/base/gstbasesink.c:
11346         * gst/base/gstbasesink.h:
11347         * gst/base/gstbasesrc.c:
11348         * gst/base/gstbasesrc.h:
11349         * gst/base/gstbasetransform.c:
11350         * gst/base/gstpushsrc.c:
11351         * gst/base/gstpushsrc.h:
11352           add short/long description docs to base classes
11353           add pushsrc to the docs
11354           remove consolidated doc fragments
11355
11356 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11357
11358         * configure.ac:
11359         * docs/libs/Makefile.am:
11360         * docs/libs/gstreamer-libs-docs.sgml:
11361         * docs/libs/gstreamer-libs-sections.txt:
11362         * docs/libs/gstreamer-libs.types:
11363         * examples/Makefile.am:
11364         * examples/controller/.cvsignore:
11365         * examples/controller/Makefile.am:
11366         * examples/controller/audio-example.c: (main):
11367         * libs/gst/Makefile.am:
11368         * libs/gst/controller/.cvsignore:
11369         * libs/gst/controller/Makefile.am:
11370         * libs/gst/controller/gst-controller.c:
11371         (on_object_controlled_property_changed), (gst_timed_value_compare),
11372         (gst_timed_value_find),
11373         (gst_controlled_property_set_interpolation_mode),
11374         (gst_controlled_property_new), (gst_controlled_property_free),
11375         (gst_controller_find_controlled_property),
11376         (gst_controller_new_valist), (gst_controller_new),
11377         (gst_controller_remove_properties_valist),
11378         (gst_controller_remove_properties), (gst_controller_set),
11379         (gst_controller_set_from_list), (gst_controller_unset),
11380         (gst_controller_get), (gst_controller_get_all),
11381         (gst_controller_sink_values), (gst_controller_get_value_arrays),
11382         (gst_controller_get_value_array),
11383         (gst_controller_set_interpolation_mode),
11384         (_gst_controller_finalize), (_gst_controller_init),
11385         (_gst_controller_class_init), (gst_controller_get_type):
11386         * libs/gst/controller/gst-controller.h:
11387         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
11388         (g_object_uncontrol_properties), (g_object_get_controller),
11389         (g_object_set_controller), (g_object_sink_values),
11390         (g_object_get_value_arrays), (g_object_get_value_array):
11391         * libs/gst/controller/gst-interpolation.c:
11392         (gst_controlled_property_find_timed_value_node),
11393         (interpolate_none_get), (interpolate_trigger_get),
11394         (interpolate_trigger_get_value_array):
11395         * libs/gst/controller/lib.c: (gst_controller_init):
11396         * pkgconfig/Makefile.am:
11397         * pkgconfig/gstreamer-control-uninstalled.pc.in:
11398         * pkgconfig/gstreamer-control.pc.in:
11399         * testsuite/Makefile.am:
11400         * testsuite/controller/.cvsignore:
11401         * testsuite/controller/Makefile.am:
11402         * testsuite/controller/interpolator.c: (main):
11403           added controller code
11404           removed dparam pc files
11405
11406 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11407         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
11408         (gst_collectpads_stop):
11409           Broadcast the condition when shutting down, to make sure we wake all
11410           threads up. Shut down pads on finalize, for safety.
11411
11412 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11413         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11414         (gst_base_transform_handle_buffer),
11415         (gst_base_transform_change_state):
11416           Handle PAUSED->READY->PAUSED transition after negotiation
11417           occurred already.
11418         * gst/gstmessage.c: (gst_message_init):
11419           Extra piece of debug for new messages.
11420
11421 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
11422
11423         * configure.ac:
11424         * docs/gst/tmpl/gstbasesrc.sgml:
11425         * docs/gst/tmpl/gstelement.sgml:
11426         * docs/gst/tmpl/gstevent.sgml:
11427         * docs/gst/tmpl/gstfakesrc.sgml:
11428         * docs/gst/tmpl/gstformat.sgml:
11429         * docs/gst/tmpl/gstghostpad.sgml:
11430         * docs/gst/tmpl/gstpad.sgml:
11431         * docs/gst/tmpl/gstquery.sgml:
11432         * docs/gst/tmpl/gststructure.sgml:
11433         * docs/gst/tmpl/gsttaglist.sgml:
11434         * docs/gst/tmpl/gstvalue.sgml:
11435         * docs/libs/gstreamer-libs-docs.sgml:
11436         * docs/libs/gstreamer-libs-sections.txt:
11437         * docs/libs/gstreamer-libs.types:
11438         * libs/gst/Makefile.am:
11439         * libs/gst/control/.cvsignore:
11440         * libs/gst/control/Makefile.am:
11441         * libs/gst/control/control.c:
11442         * libs/gst/control/control.h:
11443         * libs/gst/control/dparam.c:
11444         * libs/gst/control/dparam.h:
11445         * libs/gst/control/dparam_smooth.c:
11446         * libs/gst/control/dparam_smooth.h:
11447         * libs/gst/control/dparamcommon.h:
11448         * libs/gst/control/dparammanager.c:
11449         * libs/gst/control/dparammanager.h:
11450         * libs/gst/control/dplinearinterp.c:
11451         * libs/gst/control/dplinearinterp.h:
11452         * libs/gst/control/unitconvert.c:
11453         * libs/gst/control/unitconvert.h:
11454         * testsuite/Makefile.am:
11455         * testsuite/dynparams/.cvsignore:
11456         * testsuite/dynparams/Makefile.am:
11457         * testsuite/dynparams/dparamstest.c:
11458         * tools/Makefile.am:
11459         * tools/gst-inspect.c: (print_element_info), (main):
11460         * tools/gst-xmlinspect.c: (print_element_info), (main):
11461           deactivate and remove dparams (libgstcontrol)
11462
11463 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11464
11465         * gst/elements/gsttypefindelement.c:
11466         (gst_type_find_element_have_type), (gst_type_find_element_init),
11467         (stop_typefinding), (gst_type_find_element_handle_event),
11468         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11469         * gst/elements/gsttypefindelement.h:
11470           Set caps on all outgoing buffers, not just the first one.
11471
11472 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11473
11474         * gst/elements/gsttypefindelement.c:
11475         (gst_type_find_element_have_type),
11476         (gst_type_find_element_check_set_buffer_caps),
11477         (gst_type_find_element_init), (stop_typefinding),
11478         (gst_type_find_element_handle_event),
11479         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11480         * gst/elements/gsttypefindelement.h:
11481           Set caps on first outgoing buffer when we've found the type.
11482
11483 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11484
11485         * docs/gst/gstreamer-docs.sgml:
11486         * docs/gst/gstreamer-sections.txt:
11487         * docs/gst/tmpl/gstscheduler.sgml:
11488         * docs/gst/tmpl/gstschedulerfactory.sgml:
11489           Remove some old cruft from docs.
11490
11491 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
11492
11493         * gst/gstpad.h:
11494           Fix inline docs for GstPadLinkReturn.
11495           
11496         * gst/gststructure.c: (gst_structure_has_name):
11497         * gst/gststructure.h:
11498         * docs/gst/gstreamer-sections.txt:
11499           New API: gst_structure_has_name().
11500
11501 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
11502
11503         * configure.ac:
11504           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
11505           and _LARGEFILE_SOURCE in config.h as required. Do not 
11506           export those flags in our .pc files any longer (#142209).
11507
11508           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
11509
11510         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
11511         (gst_file_sink_do_seek), (gst_file_sink_event),
11512         (gst_file_sink_get_current_offset), (gst_file_sink_render):
11513           Redo seek/tell calls with large file support in mind; add some
11514           debugging messages; add log message that tells us when large
11515           file support is unavailable or not enabled for some reason.
11516
11517         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
11518           Add log message that tells us when large file support 
11519           is unavailable or not enabled for some reason.
11520
11521 2005-07-29  Wim Taymans  <wim@fluendo.com>
11522
11523         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11524         Added test for removing an element with ghostpad from a bin.
11525         Fixed test as current implementation does the right thing.
11526
11527         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
11528         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
11529         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
11530         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
11531         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
11532         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11533         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11534         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11535         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
11536         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
11537         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
11538         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
11539         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11540         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
11541         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
11542         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11543         * gst/gstghostpad.h:
11544         Clean up ghostpads, remove properties for internal stuff.
11545         Make threadsafe.
11546         Fix refcounting.
11547         Prepare for switching targets, not all use cases work yet.
11548
11549 2005-07-29  Wim Taymans  <wim@fluendo.com>
11550
11551         * docs/design/part-gstghostpad.txt:
11552         Small update.
11553
11554         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11555         (gst_bin_remove_func):
11556         Unlinking pads while holding the bin LOCK is not a good
11557         idea.
11558
11559         * gst/gstpad.c: (gst_pad_class_init),
11560         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
11561         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
11562         No prob setting template after creating the pad.
11563
11564 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
11565
11566         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
11567         (gst_bus_peek), (gst_bus_source_dispatch),
11568         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
11569         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
11570           gst_bus_poll may be called from other threads. Handle
11571           this nicely by not making poll_data disappear off the
11572           stack once gst_bus_poll returns.
11573           gst_bus_peek now increments the refcount on the returned
11574           message.
11575
11576 2005-07-29  Wim Taymans  <wim@fluendo.com>
11577
11578         * docs/design/part-gstghostpad.txt:
11579         Overview of current GhostPad datastructures and use
11580         cases for changing the target.
11581
11582 2005-07-28  Wim Taymans  <wim@fluendo.com>
11583
11584         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11585         Added checks for hierarchy consistency whan adding linked
11586         elements to bins.
11587
11588         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11589         Added check to test element scheduling without bin/pipeline.
11590
11591         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11592         First add elements to bin, then link.
11593         
11594         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11595         (gst_bin_remove_func):
11596         Unlink pads from elements added/removed from bin to maintain
11597         hierarchy consistency.
11598
11599 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11600
11601         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11602         (gst_base_transform_handle_buffer):
11603         * gst/base/gstbasetransform.h:
11604           Remove broken delay_configure (fixes renegotiation of software
11605           scaling pipelines); remove some leftover printf()s.
11606
11607 2005-07-28  Wim Taymans  <wim@fluendo.com>
11608
11609         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11610         Added some more tests for wrong hierarchy
11611
11612         * docs/design/part-overview.txt:
11613         Some updates.
11614
11615         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11616         Cleanups.
11617
11618         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11619         (gst_element_dispose):
11620         Some more cleanups.
11621
11622         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11623         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11624         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11625         (gst_pad_set_caps), (gst_pad_send_event):
11626         Check for correct hierarchy when linking pads. Moving to
11627         strict requirement for ghostpads when linking elements in
11628         different bins.
11629
11630         * gst/gstpad.h:
11631         Clean ups. Added WRONG_HIERARCHY return value.
11632
11633 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11634
11635         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11636           Better debug if no transform is possible.
11637
11638 2005-07-27  Wim Taymans  <wim@fluendo.com>
11639
11640         * docs/random/wtay/network-transp:
11641         Some old doc I had.
11642
11643 2005-07-27  Wim Taymans  <wim@fluendo.com>
11644
11645         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11646         (gst_dp_event_from_packet):
11647         Fix serialization of seek events.
11648
11649 2005-07-27  Wim Taymans  <wim@fluendo.com>
11650
11651         * check/gst-libs/gdp.c: (GST_START_TEST):
11652         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11653         Fix compilation and fix event serialization.
11654
11655 2005-07-27  Wim Taymans  <wim@fluendo.com>
11656
11657         * CHANGES-0.9:
11658         * docs/design/part-TODO.txt:
11659         * docs/design/part-events.txt:
11660         Some docs updates
11661
11662         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11663         (gst_base_sink_event), (gst_base_sink_do_sync),
11664         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11665         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11666         (gst_base_src_do_seek), (gst_base_src_event_handler),
11667         (gst_base_src_loop):
11668         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11669         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11670         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11671         (gst_base_transform_event), (gst_base_transform_handle_buffer),
11672         (gst_base_transform_set_passthrough),
11673         (gst_base_transform_is_passthrough):
11674         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11675         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11676         Event updates.
11677
11678         * gst/gstbuffer.h:
11679         Use faster casts.
11680
11681         * gst/gstelement.c: (gst_element_seek):
11682         * gst/gstelement.h:
11683         Update gst_element_seek.
11684
11685         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
11686         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
11687         (gst_event_new_flush_start), (gst_event_new_flush_stop),
11688         (gst_event_new_eos), (gst_event_new_newsegment),
11689         (gst_event_parse_newsegment), (gst_event_new_tag),
11690         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
11691         (gst_event_parse_qos), (gst_event_new_seek),
11692         (gst_event_parse_seek), (gst_event_new_navigation):
11693         * gst/gstevent.h:
11694         Make GstEvent use GstStructure. Add parsing code, make sure the
11695         API is sufficiently generic.
11696         Mark possible directions of events and serialization.
11697
11698         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
11699         (_gst_message_copy), (gst_message_new_segment_start),
11700         (gst_message_new_segment_done), (gst_message_new_custom),
11701         (gst_message_parse_segment_start),
11702         (gst_message_parse_segment_done):
11703         Small cleanups.
11704
11705         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11706         (gst_pad_set_caps), (gst_pad_send_event):
11707         Update for new events. 
11708         Catch events sent in wrong directions.
11709
11710         * gst/gstqueue.c: (gst_queue_link_src),
11711         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11712         (gst_queue_handle_src_query):
11713         Event updates.
11714
11715         * gst/gsttag.c:
11716         * gst/gsttag.h:
11717         Remove event code from this file.
11718
11719         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11720         (gst_dp_event_from_packet):
11721         Event updates.
11722
11723 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11724
11725         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
11726         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11727         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
11728           Make debugging actually useful.
11729
11730 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11731
11732         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
11733         (gst_pad_fixate_caps):
11734           Implement default fixation once again, so that gst_pad_fixate()
11735           actually does anything at all. This probably needs to be some
11736           sort of a last resort, and use profile-based fixation first, but
11737           since that doesn't exist yet, this is the best we have. Fixes
11738           visualization in Totem.
11739
11740 2005-07-22  Wim Taymans  <wim@fluendo.com>
11741
11742         * docs/design/part-events.txt:
11743         Small update.
11744
11745         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11746         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
11747         (gst_base_sink_activate_pull):
11748         Some more comments.
11749
11750         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
11751         (gst_fake_src_create):
11752         Fix handoff marshall.
11753
11754         * gst/elements/gstidentity.c: (gst_identity_class_init),
11755         (gst_identity_transform_ip):
11756         We're a real inplace element.
11757
11758         * gst/gstbus.c: (gst_bus_post):
11759         Added some comments.
11760
11761         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
11762         * tests/muxing/case1.c: (main):
11763         * tests/sched/dynamic-pipeline.c: (main):
11764         * tests/sched/interrupt1.c: (main):
11765         * tests/sched/interrupt2.c: (main):
11766         * tests/sched/interrupt3.c: (main):
11767         * tests/sched/runxml.c: (main):
11768         * tests/sched/sched-stress.c: (main):
11769         * tests/seeking/seeking1.c: (event_received), (main):
11770         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11771         (main):
11772         * tests/threadstate/threadstate3.c: (main):
11773         * tests/threadstate/threadstate4.c: (main):
11774         * tests/threadstate/threadstate5.c: (main):
11775         Fix the tests.
11776
11777 2005-07-21  Wim Taymans  <wim@fluendo.com>
11778
11779         * docs/design/part-seeking.txt:
11780         Some small additions.
11781
11782         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11783         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11784         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11785         * gst/base/gstbasesink.h:
11786         discont values are gint64, handle the math correctly.
11787
11788         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11789         Make the basesrc report error if the source pad is not linked.
11790
11791         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
11792         (gst_queue_loop), (gst_queue_handle_src_query),
11793         (gst_queue_src_activate_push):
11794         Make queue collect data even if the srcpad is not linked.
11795         Start pushing out data as soon as it is linked.
11796
11797         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
11798         * gst/gstutils.h:
11799         Added gst_flow_get_name() to ease error reporting.
11800
11801 2005-07-20  Wim Taymans  <wim@fluendo.com>
11802
11803         * gst/gstmessage.c: (gst_message_new_segment_start),
11804         (gst_message_new_segment_done), (gst_message_parse_segment_start),
11805         (gst_message_parse_segment_done):
11806         * gst/gstmessage.h:
11807         Added a bunch of messages for advanced seeking.
11808
11809         * gst/parse/grammar.y:
11810         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
11811         (gst_dpman_state_changed):
11812         Fix some new-pad -> pad-added signals
11813
11814 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11815
11816         * docs/manual/appendix-porting.xml:
11817         * docs/pwg/appendix-porting.xml:
11818           Document new-pad/state-change signal renames and the FixedList
11819           type rename.
11820
11821 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11822
11823         * docs/manual/advanced-autoplugging.xml:
11824         * docs/manual/basics-helloworld.xml:
11825         * docs/manual/basics-pads.xml:
11826         * docs/random/ds/0.9-suggested-changes:
11827         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
11828         * gst/gstelement.h:
11829         * gst/gstevent.h:
11830         * gst/gstformat.h:
11831         * gst/gstquery.h:
11832         * gst/gststructure.c: (gst_structure_value_get_generic_type),
11833         (gst_structure_parse_array), (gst_structure_parse_value):
11834         * gst/gstvalue.c: (gst_type_is_fixed),
11835         (gst_value_list_prepend_value), (gst_value_list_append_value),
11836         (gst_value_list_get_size), (gst_value_list_get_value),
11837         (gst_value_transform_array_string), (gst_value_serialize_array),
11838         (gst_value_deserialize_array), (gst_value_intersect_array),
11839         (gst_value_is_fixed), (_gst_value_initialize):
11840         * gst/gstvalue.h:
11841           GstElement::new-pad -> pad-added, GstElement::state-change ->
11842           state-changed, GstValueFixedList -> GstValueArray, add format and
11843           flags as their own arguments in gst_element_seek() (should improve
11844           "bindeability"), remove function generators since they don't work
11845           under a whole bunch of compilers (they were deprecated already
11846           anyway).
11847
11848 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11849
11850         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11851         (_gst_debug_register_funcptr):
11852         * gst/gstinfo.h:
11853           Fix illegal cast on some platforms (#309253).
11854
11855 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11856
11857         * gst/gstmessage.c: (gst_message_new_custom):
11858         * gst/gstmessage.h:
11859           Add _new_custom, make _new_application a macro to _new_custom.
11860
11861 2005-07-20  Wim Taymans  <wim@fluendo.com>
11862
11863         * gst/base/gstbasesrc.c: (gst_base_src_init),
11864         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11865         * gst/base/gstbasesrc.h:
11866         Add a gboolean to decide when to push out a discont.
11867
11868         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11869         (gst_queue_loop), (gst_queue_handle_src_query),
11870         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
11871         (gst_queue_set_property), (gst_queue_get_property):
11872         Some cleanups.
11873
11874         * tests/threadstate/threadstate1.c: (main):
11875         Make a thread test compile and run... very silly..
11876
11877
11878 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11879
11880         * docs/manual/appendix-porting.xml:
11881           Mention removal of libgstgconf-0.9.la and existence of gconf
11882           elements.
11883
11884 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11885
11886         * docs/pwg/advanced-clock.xml:
11887         * docs/pwg/appendix-porting.xml:
11888         * docs/pwg/intro-preface.xml:
11889         * docs/pwg/other-base.xml:
11890         * docs/pwg/other-manager.xml:
11891         * docs/pwg/other-nton.xml:
11892         * docs/pwg/other-ntoone.xml:
11893         * docs/pwg/other-oneton.xml:
11894         * docs/pwg/pwg.xml:
11895           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
11896           demuxer), remove n-to-n (was never written), fix some code examples
11897           and links and update the porting section to include all this.
11898
11899 2005-07-19  Wim Taymans  <wim@fluendo.com>
11900
11901         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
11902         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
11903         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
11904         (gst_queue_src_activate_push), (gst_queue_change_state),
11905         (gst_queue_get_property):
11906         * gst/gstqueue.h:
11907         Propagate GstFlowReturn more intelligently upstream and output
11908         an ERROR/EOS when streaming stopped due to fatal error.
11909
11910 2005-07-19  Wim Taymans  <wim@fluendo.com>
11911
11912         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11913         Don't block forever for the state change to complete, the
11914         pipeline already did with a sensible timeout.
11915
11916 2005-07-19  Wim Taymans  <wim@fluendo.com>
11917
11918         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11919         Make sure we never call the create function is we
11920         got deactivated.
11921
11922 2005-07-19  Andy Wingo  <wingo@pobox.com>
11923
11924         * gst/parse/parse.l: Attempt to solve bug #172815.
11925
11926 2005-07-19  Wim Taymans  <wim@fluendo.com>
11927
11928         * docs/design/part-clocks.txt:
11929         * docs/design/part-events.txt:
11930         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
11931         Small docs updates.
11932         Only update the seeking values when we are not
11933         busy streaming.
11934
11935 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11936
11937         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11938           Oops, ignore the result of gst_pad_push_event here.
11939
11940 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11941
11942         * gst/base/gstbasesrc.c: (gst_base_src_loop),
11943         (gst_base_src_activate_push):
11944           Send discont event from the loop function, as pads
11945           aren't activated yet in the activate_push handler.
11946
11947         * gst/gstbin.c: (bin_bus_handler):
11948           Don't leak element name.
11949
11950 2005-07-18  Andy Wingo  <wingo@pobox.com>
11951
11952         * configure.ac: Use AS_LIBTOOL_TAGS.
11953
11954 2005-07-18  Wim Taymans  <wim@fluendo.com>
11955
11956         * docs/gst/gstreamer.types:
11957         Remove deleted types.
11958
11959 2005-07-18  Wim Taymans  <wim@fluendo.com>
11960
11961         * check/elements/gstfakesrc.c: (GST_START_TEST):
11962         * configure.ac:
11963         * gst/Makefile.am:
11964         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11965         (init_popt_callback):
11966         * gst/gst.h:
11967         * gst/gst_private.h:
11968         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
11969         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
11970         * gst/gstbin.h:
11971         * gst/gstbus.h:
11972         * gst/gstconfig.h.in:
11973         * gst/gstelement.c: (gst_element_class_init),
11974         (gst_element_set_base_time), (gst_element_get_base_time),
11975         (iterator_fold_with_resync), (gst_element_change_state),
11976         (gst_element_dispose), (gst_element_get_bus):
11977         * gst/gstelement.h:
11978         * gst/gstelementfactory.h:
11979         * gst/gsterror.c: (_gst_core_errors_init):
11980         * gst/gsterror.h:
11981         * gst/gstevent.h:
11982         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11983         * gst/gstindex.c:
11984         * gst/gstinfo.c: (_gst_debug_init):
11985         * gst/gstmessage.c: (_gst_message_copy):
11986         * gst/gstmessage.h:
11987         * gst/gstminiobject.h:
11988         * gst/gstobject.c:
11989         * gst/gstobject.h:
11990         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11991         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
11992         * gst/gstpad.h:
11993         * gst/gstparse.h:
11994         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11995         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11996         (gst_pipeline_get_last_stream_time):
11997         * gst/gstpipeline.h:
11998         * gst/gstpluginfeature.h:
11999         * gst/gstquery.h:
12000         * gst/gstscheduler.c:
12001         * gst/gstscheduler.h:
12002         * gst/gststructure.h:
12003         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12004         (gst_task_finalize), (gst_task_func), (gst_task_create),
12005         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
12006         (gst_task_stop), (gst_task_pause):
12007         * gst/gsttask.h:
12008         * gst/gsttypefind.h:
12009         * gst/gsttypes.h:
12010         * gst/registries/gstlibxmlregistry.c: (load_feature),
12011         (gst_xml_registry_load), (gst_xml_registry_save_feature):
12012         * gst/registries/gstxmlregistry.c:
12013         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
12014         * gst/schedulers/threadscheduler.c:
12015         * libs/gst/control/dparammanager.h:
12016         * tools/gst-inspect.c: (print_element_list),
12017         (print_plugin_features), (print_element_features):
12018         * tools/gst-xmlinspect.c: (print_element_list),
12019         (print_plugin_info), (main):
12020         Removed plugable schedulers.
12021         Removed Scheduler/Manager from elements.
12022         Removed gsttypes.h, rearranged includes.
12023         Removed dependency pad<->element, element<>pipeline, and
12024         various others,  fix includes.
12025         implement gst_pad_get_parent() with gst_object_get_parent()
12026         Make GstTask sefcontained.
12027         Fix _get_state() on GstBin, it did not return ASYNC with a 0
12028         timeout.
12029         Fix endless loop in iterator_fold_with_resync.
12030
12031
12032 2005-07-18  Wim Taymans  <wim@fluendo.com>
12033
12034         * gst/Makefile.am:
12035         * gst/gstarch.h:
12036         Remove old file.
12037
12038 2005-07-18  Wim Taymans  <wim@fluendo.com>
12039
12040         * gst/Makefile.am:
12041         No more cothreads.h
12042
12043 2005-07-18  Wim Taymans  <wim@fluendo.com>
12044
12045         * gst/cothreads.c:
12046         * gst/cothreads.h:
12047         Let's remove these.
12048
12049 2005-07-18  Wim Taymans  <wim@fluendo.com>
12050
12051         * docs/design/part-dynamic.txt:
12052         * docs/design/part-events.txt:
12053         * docs/design/part-seeking.txt:
12054         Some more docs in the works.
12055
12056         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12057         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
12058         (gst_base_transform_setcaps), (gst_base_transform_get_size),
12059         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12060         (gst_base_transform_handle_buffer),
12061         (gst_base_transform_sink_activate_push),
12062         (gst_base_transform_src_activate_pull),
12063         (gst_base_transform_set_passthrough),
12064         (gst_base_transform_is_passthrough):
12065         Refcounting fixes.
12066
12067         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
12068         Cleanups.
12069
12070         * gst/gstevent.c: (gst_event_finalize):
12071         Set SRC to NULL.
12072
12073         * gst/gstutils.c: (gst_element_unlink),
12074         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
12075         (gst_pad_proxy_setcaps):
12076         * gst/gstutils.h:
12077         Add _get_parent_element() to get a pads parent as an element.
12078
12079 2005-07-18  Wim Taymans  <wim@fluendo.com>
12080
12081         * check/gst/gstbin.c: (GST_START_TEST):
12082         Remove bogus test.
12083
12084 2005-07-18  Wim Taymans  <wim@fluendo.com>
12085
12086         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12087         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12088         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12089         (gst_base_sink_event), (gst_base_sink_do_sync),
12090         (gst_base_sink_chain), (gst_base_sink_loop),
12091         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
12092         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12093         Refcounting fixes.
12094         Fix logic for returning ASYNC when not prerolled.
12095
12096 2005-07-18  Wim Taymans  <wim@fluendo.com>
12097
12098         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12099         Fix nasty refcount bug.
12100
12101 2005-07-16 Philippe Khalaf <burger@speedy.org>
12102
12103         * gst/elements/gstfdsrc.c:
12104         * gst/elements/gstfdsrc.h:
12105         * gst/elements/gstelements.c:
12106         * gst/elements/Makefile.am:
12107         Ported fdsrc to 0.9.
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_do_sync):
12113         Fix compile error.
12114
12115 2005-07-16  Wim Taymans  <wim@fluendo.com>
12116
12117         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12118         (gst_base_sink_event), (gst_base_sink_get_times),
12119         (gst_base_sink_do_sync), (gst_base_sink_change_state):
12120         * gst/base/gstbasesink.h:
12121         Store and use discont values when syncing buffers as described
12122         in design docs.
12123         
12124         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12125         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12126         (gst_base_src_activate_push):
12127         Push discont event when starting.
12128
12129         * gst/elements/gstidentity.c: (gst_identity_transform):
12130         Small cleanups.
12131
12132         * gst/gstbin.c: (gst_bin_change_state):
12133         Small cleanups in base_time  distribution.
12134
12135         * gst/gstelement.c: (gst_element_set_base_time),
12136         (gst_element_get_base_time), (gst_element_change_state):
12137         * gst/gstelement.h:
12138         Added methods for the base_time of the element.
12139         Some MT fixes.
12140
12141         * gst/gstpipeline.c: (gst_pipeline_send_event),
12142         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12143         (gst_pipeline_get_last_stream_time):
12144         * gst/gstpipeline.h:
12145         MT fixes.
12146         Handle seeking as described in design doc, remove stream_time
12147         hack.
12148         Cleanups clock and stream_time selection code. Added accessors
12149         for the stream_time.
12150         
12151
12152 2005-07-16  Andy Wingo  <wingo@pobox.com>
12153
12154         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12155         (#305291).
12156
12157 2005-07-16  Wim Taymans  <wim@fluendo.com>
12158
12159         * check/gst/gstbin.c: (GST_START_TEST):
12160         Make elements silent as the deep_notify refs the
12161         parent, which might make the test fail.
12162
12163         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12164         Don't hold the lock for too long.
12165
12166 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
12167
12168         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12169           Don't unref the caps we passed to gst_caps_make_writable() after
12170           passing them. gst_caps_make_writable() will do that for us.
12171
12172 2005-07-15  Andy Wingo  <wingo@pobox.com>
12173
12174         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12175         (#157311).
12176
12177         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12178         own marshalling function for the handoff signal. Properly type the
12179         buffer as a buffer. Fixes some warnings. Should do a more general
12180         solution.
12181         (gst_identity_class_init): Plug into the right marshaller.
12182
12183 2005-07-15  Wim Taymans  <wim@fluendo.com>
12184
12185         * docs/design/part-TODO.txt:
12186         * docs/design/part-clocks.txt:
12187         * docs/design/part-element-sink.txt:
12188         * docs/design/part-events.txt:
12189         * docs/design/part-gstpipeline.txt:
12190         Updated docs, mostly DISCONT related.
12191
12192 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
12193
12194         * docs/pwg/building-pads.xml:
12195           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12196
12197 2005-07-15  Andy Wingo  <wingo@pobox.com>
12198
12199         * tools/gst-typefind.c: Update, add copyright block.
12200
12201         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12202         Normalize and truncate caps before fixation.
12203
12204         * gst/gstcaps.h:
12205         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12206         discards all but the first structure from its argument.
12207
12208 2005-07-15  Wim Taymans  <wim@fluendo.com>
12209
12210         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12211         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12212         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12213         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12214         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12215         (gst_base_transform_chain), (gst_base_transform_change_state),
12216         (gst_base_transform_set_passthrough),
12217         (gst_base_transform_is_passthrough):
12218         * gst/base/gstbasetransform.h:
12219         Make passthrough work using the bufferpools.
12220         Changed API a bit, subclasses have to write into a buffer
12221         provided by the base class.
12222         More debug info in nego functions.
12223         
12224         * gst/elements/gstidentity.c: (gst_identity_init),
12225         (gst_identity_transform):
12226         Port to new base class.
12227
12228 2005-07-15  Wim Taymans  <wim@fluendo.com>
12229
12230         * gst/gstmessage.c: (gst_message_new_state_changed):
12231         * tools/gst-launch.c: (event_loop), (main):
12232         Totally dump messages in -launch with the -m option.
12233         Fix message name for State messages,
12234
12235 2005-07-14  Wim Taymans  <wim@fluendo.com>
12236
12237         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12238         Post error messages on errors.
12239
12240 2005-07-14  Wim Taymans  <wim@fluendo.com>
12241
12242         * gst/gstcaps.c: (gst_caps_do_simplify):
12243         Remove debug info.
12244
12245         * gst/gsterror.h:
12246         Define error for stream stopped.
12247
12248         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12249         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12250         Do proper return values.
12251
12252         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12253         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
12254         (gst_pad_get_range):
12255         Better return values.
12256
12257         * gst/gstpad.h:
12258         Reorganise return values, add macro to check for fatal errors.
12259
12260         * gst/gstqueue.c: (gst_queue_chain):
12261         Return proper GstFlowReturn values,
12262
12263 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12264
12265         * docs/gst/gstreamer-sections.txt:
12266         * docs/gst/gstreamer.types:
12267         * docs/gst/tmpl/gst.sgml:
12268         * docs/gst/tmpl/gstbasesink.sgml:
12269         * docs/gst/tmpl/gstbasesrc.sgml:
12270         * docs/gst/tmpl/gstbasetransform.sgml:
12271         * docs/gst/tmpl/gstbin.sgml:
12272         * docs/gst/tmpl/gstbuffer.sgml:
12273         * docs/gst/tmpl/gstcaps.sgml:
12274         * docs/gst/tmpl/gstclock.sgml:
12275         * docs/gst/tmpl/gstcompat.sgml:
12276         * docs/gst/tmpl/gstconfig.sgml:
12277         * docs/gst/tmpl/gstelement.sgml:
12278         * docs/gst/tmpl/gstelementdetails.sgml:
12279         * docs/gst/tmpl/gstelementfactory.sgml:
12280         * docs/gst/tmpl/gstenumtypes.sgml:
12281         * docs/gst/tmpl/gsterror.sgml:
12282         * docs/gst/tmpl/gstevent.sgml:
12283         * docs/gst/tmpl/gstfakesink.sgml:
12284         * docs/gst/tmpl/gstfakesrc.sgml:
12285         * docs/gst/tmpl/gstfilesink.sgml:
12286         * docs/gst/tmpl/gstfilesrc.sgml:
12287         * docs/gst/tmpl/gstfilter.sgml:
12288         * docs/gst/tmpl/gstformat.sgml:
12289         * docs/gst/tmpl/gstghostpad.sgml:
12290         * docs/gst/tmpl/gstimplementsinterface.sgml:
12291         * docs/gst/tmpl/gstindex.sgml:
12292         * docs/gst/tmpl/gstindexfactory.sgml:
12293         * docs/gst/tmpl/gstinfo.sgml:
12294         * docs/gst/tmpl/gstiterator.sgml:
12295         * docs/gst/tmpl/gstmacros.sgml:
12296         * docs/gst/tmpl/gstmemchunk.sgml:
12297         * docs/gst/tmpl/gstminiobject.sgml:
12298         * docs/gst/tmpl/gstobject.sgml:
12299         * docs/gst/tmpl/gstpad.sgml:
12300         * docs/gst/tmpl/gstpadtemplate.sgml:
12301         * docs/gst/tmpl/gstparse.sgml:
12302         * docs/gst/tmpl/gstpipeline.sgml:
12303         * docs/gst/tmpl/gstplugin.sgml:
12304         * docs/gst/tmpl/gstpluginfeature.sgml:
12305         * docs/gst/tmpl/gstquery.sgml:
12306         * docs/gst/tmpl/gstqueue.sgml:
12307         * docs/gst/tmpl/gstregistry.sgml:
12308         * docs/gst/tmpl/gstregistrypool.sgml:
12309         * docs/gst/tmpl/gstscheduler.sgml:
12310         * docs/gst/tmpl/gstschedulerfactory.sgml:
12311         * docs/gst/tmpl/gststructure.sgml:
12312         * docs/gst/tmpl/gstsystemclock.sgml:
12313         * docs/gst/tmpl/gsttaglist.sgml:
12314         * docs/gst/tmpl/gsttagsetter.sgml:
12315         * docs/gst/tmpl/gsttrace.sgml:
12316         * docs/gst/tmpl/gsttrashstack.sgml:
12317         * docs/gst/tmpl/gsttypefind.sgml:
12318         * docs/gst/tmpl/gsttypefindfactory.sgml:
12319         * docs/gst/tmpl/gsttypes.sgml:
12320         * docs/gst/tmpl/gsturihandler.sgml:
12321         * docs/gst/tmpl/gsturitype.sgml:
12322         * docs/gst/tmpl/gstutils.sgml:
12323         * docs/gst/tmpl/gstvalue.sgml:
12324         * docs/gst/tmpl/gstversion.sgml:
12325         * docs/gst/tmpl/gstxml.sgml:
12326         * docs/libs/tmpl/gstcontrol.sgml:
12327         * docs/libs/tmpl/gstdataprotocol.sgml:
12328         * docs/libs/tmpl/gstdparam.sgml:
12329         * docs/libs/tmpl/gstdplinint.sgml:
12330         * docs/libs/tmpl/gstdpman.sgml:
12331         * docs/libs/tmpl/gstdpsmooth.sgml:
12332         * docs/libs/tmpl/gstgetbits.sgml:
12333         * docs/libs/tmpl/gstunitconvert.sgml:
12334         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
12335         (gst_push_src_base_init), (gst_push_src_class_init),
12336         (gst_push_src_init), (gst_push_src_create):
12337         * gst/base/gstpushsrc.h:
12338         * gst/elements/gstelements.c:
12339         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
12340         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
12341         (gst_fake_sink_init), (gst_fake_sink_set_property),
12342         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
12343         (gst_fake_sink_event), (gst_fake_sink_preroll),
12344         (gst_fake_sink_render), (gst_fake_sink_change_state):
12345         * gst/elements/gstfakesink.h:
12346         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12347         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12348         (gst_fake_src_base_init), (gst_fake_src_class_init),
12349         (gst_fake_src_init), (gst_fake_src_event_handler),
12350         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
12351         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
12352         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
12353         (gst_fake_src_create_buffer), (gst_fake_src_create),
12354         (gst_fake_src_start), (gst_fake_src_stop):
12355         * gst/elements/gstfakesrc.h:
12356         * gst/elements/gstfilesink.c: (_do_init),
12357         (gst_file_sink_base_init), (gst_file_sink_class_init),
12358         (gst_file_sink_init), (gst_file_sink_dispose),
12359         (gst_file_sink_set_location), (gst_file_sink_set_property),
12360         (gst_file_sink_get_property), (gst_file_sink_open_file),
12361         (gst_file_sink_close_file), (gst_file_sink_query),
12362         (gst_file_sink_event), (gst_file_sink_render),
12363         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
12364         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
12365         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
12366         * gst/elements/gstfilesink.h:
12367         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
12368         (gst_file_src_class_init), (gst_file_src_init),
12369         (gst_file_src_finalize), (gst_file_src_set_location),
12370         (gst_file_src_set_property), (gst_file_src_get_property),
12371         (gst_file_src_map_region), (gst_file_src_map_small_region),
12372         (gst_file_src_create_mmap), (gst_file_src_create_read),
12373         (gst_file_src_create), (gst_file_src_is_seekable),
12374         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
12375         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
12376         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
12377         (gst_file_src_uri_handler_init):
12378         * gst/elements/gstfilesrc.h:
12379           more autistic cleanliness in functions/names/defines
12380
12381 2005-07-13  Andy Wingo  <wingo@pobox.com>
12382
12383         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
12384         source couldn't negotiate.
12385
12386         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
12387         connections again.
12388
12389         * gst/gstutils.h:
12390         * gst/gstutils.c (gst_element_link_pads_filtered): New old
12391         function. I am channeling Hades. Put your boots on suckers!!!
12392
12393 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12394
12395         * testsuite/caps/Makefile.am:
12396         * testsuite/caps/value_compare.c:
12397         * testsuite/caps/value_intersect.c:
12398         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12399           move two testsuite apps over to the check dir
12400
12401 2005-07-12  Wim Taymans  <wim@fluendo.com>
12402
12403         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12404         Added more debug info in the negotiate process.
12405
12406         * gst/gstmessage.h:
12407         Prepare for segment playback.
12408
12409         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
12410         Better debugging.
12411
12412         * gst/gstutils.c:
12413         Some more docs.
12414
12415         * tools/gst-launch.c: (main):
12416         NULL pipeline on errors.
12417
12418 2005-07-12  Andy Wingo  <wingo@pobox.com>
12419
12420         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
12421         not it comes from a malloc region. Make sure our copy gets freed.
12422
12423 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12424
12425         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12426         * check/gst/gstmessage.c: (GST_START_TEST):
12427         * check/gst/gststructure.c: (GST_START_TEST),
12428         (gst_structure_suite), (main):
12429           more testing
12430         * gst/gstelement.c: (gst_element_message_full):
12431           clean up GError and debug string now that they get copied
12432         * gst/gstmessage.c: (gst_message_new_error),
12433         (gst_message_new_warning), (gst_message_parse_error),
12434         (gst_message_parse_warning):
12435           use GST_TYPE_G_ERROR for structure_new, and take copies of
12436           arguments, so that we don't mess up refcounting
12437
12438 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12439
12440         * check/Makefile.am:
12441           add per-test valgrind targets
12442         * check/gst-libs/gdp.c: (GST_START_TEST),
12443         (gst_data_protocol_suite), (main):
12444           clean up
12445
12446 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12447
12448         * check/Makefile.am:
12449           instate more valgrindable tests
12450         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12451         (GST_START_TEST), (fakesrc_suite):
12452         * check/gst/gstpad.c: (GST_START_TEST):
12453         * check/gst/gststructure.c: (GST_START_TEST):
12454           fix test leaks
12455         * docs/gst/tmpl/gstminiobject.sgml:
12456         * gst/gstpad.c: (gst_pad_finalize):
12457           fix the static mutex leak
12458
12459 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12460
12461         * check/Makefile.am:
12462           add two more tests for valgrinding
12463         * check/gst/gstvalue.c: (GST_START_TEST):
12464           test refcount of deserialized buffer, found a leak
12465         * docs/gst/gstreamer-docs.sgml:
12466         * docs/gst/gstreamer-sections.txt:
12467         * docs/gst/gstreamer.types:
12468         * docs/gst/tmpl/gstminiobject.sgml:
12469           add miniobject to docs
12470         * gst/gstminiobject.c:
12471           add some docs
12472         * gst/gstvalue.c: (gst_value_deserialize_buffer),
12473         (gst_string_unwrap):
12474           fix a hard-to-find invalid write for one of the tests
12475           fix a leak for deserialized buffers
12476
12477 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12478
12479         * docs/pwg/advanced-events.xml:
12480         * docs/pwg/advanced-request.xml:
12481         * docs/pwg/advanced-scheduling.xml:
12482         * docs/pwg/appendix-porting.xml:
12483         * docs/pwg/building-boiler.xml:
12484         * docs/pwg/intro-preface.xml:
12485         * docs/pwg/other-ntoone.xml:
12486           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
12487           of example code and explanation for pad activation, loop() and
12488           getrange() functions and a bit more. Remove old comments pointing
12489           to loop-functions.
12490         * examples/pwg/Makefile.am:
12491           Add loop/getrange examples.
12492
12493 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12494
12495         * configure.ac:
12496           check for valgrind binary + some fixes
12497         * check/gst.supp:
12498           valgrind suppressions for the tests
12499         * check/Makefile.am:
12500           add a valgrind: target that valgrinds the unit tests
12501         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
12502         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12503         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12504         * check/gst/gstghostpad.c:
12505           added some cleanup
12506         * check/gst/gstdata.c:
12507           removed
12508         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
12509         (thread_unref), (gst_mini_object_suite), (main):
12510           added
12511         * gst/gst.c: (gst_deinit):
12512         * gst/gst.h:
12513           add a method to clean up.
12514         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12515         (gst_system_clock_obtain):
12516           allow for disposing the system clock.
12517         * tools/gst-launch.c: (main):
12518           deinit
12519
12520 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12521
12522         * docs/gst/tmpl/gstbasesrc.sgml:
12523         * docs/gst/tmpl/gstfakesrc.sgml:
12524         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12525         (gst_base_src_init), (gst_base_src_set_property),
12526         (gst_base_src_get_property), (gst_base_src_get_range),
12527         (gst_base_src_start):
12528         * gst/base/gstbasesrc.h:
12529           add num-buffers property
12530         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12531         (gst_fakesrc_init), (gst_fakesrc_set_property),
12532         (gst_fakesrc_get_property), (gst_fakesrc_create),
12533         (gst_fakesrc_start):
12534           remove num-buffers property
12535
12536 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12537
12538         * docs/gst/gstreamer-sections.txt:
12539         * docs/gst/tmpl/gstbasesink.sgml:
12540         * docs/gst/tmpl/gstbasesrc.sgml:
12541         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12542         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12543         (gst_base_sink_finalize), (gst_base_sink_set_clock),
12544         (gst_base_sink_set_property), (gst_base_sink_get_property),
12545         (gst_base_sink_handle_object), (gst_base_sink_event),
12546         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12547         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
12548         (gst_base_sink_loop), (gst_base_sink_deactivate),
12549         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
12550         (gst_base_sink_change_state):
12551         * gst/base/gstbasesink.h:
12552         * gst/base/gstbasesrc.h:
12553         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
12554         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12555         (gst_filesink_init):
12556           more macro splitting
12557
12558 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12559
12560         * gst/gstelement.c: (gst_element_get_bus):
12561           add debug
12562         * tools/gst-launch.c: (check_intr), (event_loop):
12563           fix bus leaks
12564
12565 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12566
12567         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12568           fix a caps leak
12569
12570 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12571
12572         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12573         (gst_base_src_finalize):
12574           add finalize method and clean up properly
12575         * gst/gstpipeline.c: (gst_pipeline_dispose):
12576           add debug
12577
12578 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12579
12580         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
12581         (gst_bin_suite):
12582           add more things to check
12583         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12584         * gst/gstelement.c:
12585           more debug
12586
12587 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12588
12589         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12590         (GST_START_TEST), (fakesrc_suite):
12591         * check/gst-libs/gdp.c: (GST_START_TEST):
12592         * check/gst/gst.c: (GST_START_TEST):
12593         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12594         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12595         * check/gst/gstbus.c: (GST_START_TEST):
12596         * check/gst/gstcaps.c: (GST_START_TEST):
12597         * check/gst/gstdata.c: (GST_START_TEST):
12598         * check/gst/gstelement.c: (GST_START_TEST):
12599         * check/gst/gstghostpad.c: (GST_START_TEST):
12600         * check/gst/gstiterator.c: (GST_START_TEST):
12601         * check/gst/gstmessage.c: (GST_START_TEST):
12602         * check/gst/gstobject.c: (GST_START_TEST):
12603         * check/gst/gstpad.c: (GST_START_TEST):
12604         * check/gst/gststructure.c: (GST_START_TEST):
12605         * check/gst/gstsystemclock.c: (GST_START_TEST),
12606         (gst_systemclock_suite):
12607         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12608         * check/gst/gstvalue.c: (GST_START_TEST):
12609         * check/pipelines/cleanup.c: (GST_START_TEST):
12610         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12611         * check/states/sinks.c: (GST_START_TEST):
12612         * check/gstcheck.c: (gst_check_init):
12613         * check/gstcheck.h:
12614           add debugging category
12615           use GST_START_TEST now, so we add a debug line
12616
12617 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12618
12619         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12620           add test for state change message on a bin
12621         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12622           add another test
12623         * gst/gstbin.c: (gst_bin_init):
12624         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12625         * gst/gstelement.c: (gst_element_post_message),
12626         (gst_element_set_state):
12627         * gst/gstelementfactory.c: (gst_element_factory_create):
12628         * gst/gstmessage.c: (gst_message_new):
12629         * gst/gstscheduler.c:
12630           various debugging additions and cleanups
12631
12632 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12633
12634         * check/Makefile.am:
12635         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12636         (main):
12637           adding tests for elements
12638         * gst/gstelement.c: (gst_element_dispose):
12639
12640 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12641
12642         * gst/registries/gstlibxmlregistry.c: (load_feature):
12643           plug more leaks.  A simple gst_init() now is leakfree, yay.
12644
12645 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12646
12647         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
12648         (gst_xml_registry_load):
12649           plug another memleak
12650
12651 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12652
12653         * configure.ac:
12654           use GST_SET_ERROR_CFLAGS
12655         * docs/faq/cvs.xml:
12656           change to ERROR_CFLAGS
12657
12658 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12659
12660         * configure.ac:
12661           make GST_ERROR_CFLAGS overridable and re-enable Werror
12662         * docs/faq/cvs.xml:
12663           add a note about error CFLAGS
12664         * docs/gst/tmpl/gstfakesrc.sgml:
12665         * gst/elements/gstfakesrc.c:
12666           comment out some unused code
12667         * gst/gst.c: (split_and_iterate):
12668         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
12669         (load_feature):
12670           plug some memleaks
12671
12672 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12673
12674         * common/Makefile.am:
12675         * common/gtk-doc.mak:
12676         * docs/gst/Makefile.am:
12677           factor out gtk-doc.mak
12678
12679 2005-07-07  Wim Taymans  <wim@fluendo.com>
12680
12681         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
12682         (gst_thread_scheduler_dispose):
12683         Unlock the STREAM_LOCK completely.
12684
12685 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12686
12687         * check/Makefile.am:
12688         * check/elements/.cvsignore:
12689         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12690         (START_TEST), (fakesrc_suite), (main):
12691         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12692         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12693         (gst_fakesrc_create), (gst_fakesrc_start):
12694         * gst/elements/gstfakesrc.h:
12695           adding a first element test
12696
12697 2005-07-07  Andy Wingo  <wingo@pobox.com>
12698
12699         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
12700         debug message.
12701
12702 2005-07-07  Wim Taymans  <wim@fluendo.com>
12703
12704         * gst/gstquery.c:
12705         * gst/gstquery.h:
12706         Remove old types
12707
12708 2005-07-07  Wim Taymans  <wim@fluendo.com>
12709
12710         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12711         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
12712         Allow subclasses to implement their own negotiation.
12713
12714 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12715
12716         * docs/design/part-gstbin.txt:
12717         * docs/design/part-gstpipeline.txt:
12718           Update design notes to reflect the movement of
12719           responsibility for bus handling from GstPipeline to
12720           GstBin
12721
12722 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12723
12724         * configure.ac:
12725           Remove unnecessary queue2/3/4 examples.
12726
12727 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12728
12729         * examples/Makefile.am:
12730         * examples/helloworld/helloworld.c: (event_loop), (main):
12731         * examples/queue/queue.c: (event_loop), (main):
12732         * examples/queue2/queue2.c: (main):
12733           Update a couple of the examples to work again.
12734
12735         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12736         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
12737          Spelling corrections and extra debug.
12738         
12739         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
12740         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
12741         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
12742         * gst/gstbin.h:
12743         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12744         (gst_pipeline_change_state):
12745         * gst/gstpipeline.h:
12746           Move the bus handler for children to the GstBin, and create a
12747           separate bus for receiving messages from children to the one the
12748           bus sends 'upwards' on.
12749
12750 2005-07-06  Wim Taymans  <wim@fluendo.com>
12751
12752         * gst/base/README:
12753         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12754         (gst_base_sink_handle_object), (gst_base_sink_loop),
12755         (gst_base_sink_change_state):
12756         * gst/base/gstbasesink.h:
12757         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12758         (gst_base_src_init), (gst_base_src_setcaps),
12759         (gst_base_src_getcaps), (gst_base_src_loop),
12760         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
12761         (gst_base_src_start), (gst_base_src_change_state):
12762         * gst/base/gstbasesrc.h:
12763         Make basesrc negotiate.
12764         Handle the case where preroll fails in basesink.
12765         Update README.
12766
12767 2005-07-06  Wim Taymans  <wim@fluendo.com>
12768
12769         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
12770         Implement the fixate function.
12771         Clean up acceptcaps.
12772
12773 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12774
12775         * docs/pwg/building-filterfactory.xml:
12776         * docs/pwg/pwg.xml:
12777           Remove never-written filter-factory chapter; I'll add the various
12778           base classes to part 4 ("other element types") later on.
12779
12780 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12781
12782         * docs/pwg/advanced-negotiation.xml:
12783         * docs/pwg/building-boiler.xml:
12784         * docs/pwg/building-pads.xml:
12785         * docs/pwg/pwg.xml:
12786         * examples/pwg/Makefile.am:
12787           Add a chapter on caps negotiation, simplify the original code
12788           samples a bit w.r.t. caps negotiation, add link to the advanced
12789           section. Add a bunch of examples showing different use cases of
12790           different types of caps negotiation. Upstream renegotiation isn't
12791           fully documented yet since nobody knows how that works.
12792
12793 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12794
12795         * check/gst/gstpad.c:
12796         * check/gstcheck.c:
12797         * gst/gstpad.c: (gst_pad_get_internal_links_default):
12798           if pad has no parent, return NULL as list of internal links
12799
12800 2005-07-05  Andy Wingo  <wingo@pobox.com>
12801
12802         * gst/elements/gstfilesrc.c:
12803         * gst/elements/gstfakesrc.c: 
12804         * gst/base/gstpushsrc.c:
12805         * gst/base/gstbasesrc.h: 
12806         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
12807         
12808 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
12809
12810         * Makefile.am:
12811           better report generation target (lcov needs a patch)
12812
12813 2005-07-05  Andy Wingo  <wingo@pobox.com>
12814
12815         * gst/elements, testsuite: Null if we got it...
12816
12817 2005-07-05  Wim Taymans  <wim@fluendo.com>
12818
12819         * configure.ac:
12820         * libs/gst/dataprotocol/Makefile.am:
12821         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
12822         * libs/gst/dataprotocol/dataprotocol.h:
12823         * pkgconfig/Makefile.am:
12824         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
12825         * pkgconfig/gstreamer-dataprotocol.pc.in:
12826         Ported dataprotol to 0.9. 
12827         Added pkgconfig files.
12828
12829 2005-07-05  Andy Wingo  <wingo@pobox.com>
12830
12831         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
12832         Default to returning TRUE for the case when tranform_caps returns
12833         a fixed caps, like for identity or volume.
12834
12835         * check/gst/gstbus.c (pound_bus_with_messages): 
12836         * check/gst/gstmessage.c (START_TEST): 
12837         * check/pipelines/simple_launch_lines.c (got_handoff): Application
12838         message API change.
12839
12840         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
12841         logic weaks here: always run transform_caps, trying passthrough
12842         operation only if the original caps intersects with the transform.
12843
12844         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
12845         source and sink caps.
12846
12847         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
12848         Intersect the peer caps with the pad template before going into
12849         transform_caps.
12850         (gst_base_transform_transform_caps): More debugging.
12851
12852         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
12853         src argument.
12854
12855 2005-07-04  Edward Hervey  <edward@fluendo.com>
12856
12857         * gst/gstutils.c:
12858         * gst/gstutils.h:
12859         (gst_pad_add_*_probe): now returns the signal id for better wrapping
12860         in bindings.
12861
12862 2005-07-04  Andy Wingo  <wingo@pobox.com>
12863
12864         * check/gst/gstpad.c: Only set explicit caps on pads.
12865
12866 2005-07-01  Andy Wingo  <wingo@pobox.com>
12867
12868         * tests/network-clock.scm: Commentary update.
12869
12870         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
12871         Didn't really make sense, not implementable with basetransform,
12872         etc.
12873         (gst_identity_transform): Unref inbuf via make_writable. Feeble
12874         attempt at implementing the sync property, needs an unlock method.
12875
12876         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
12877         New func, by default returns the same caps (the identity
12878         transformation).
12879         (gst_base_transform_getcaps): Uses transform_caps to return
12880         something sensible.
12881         (gst_base_transform_setcaps): Complicated logic to get caps on
12882         both pads, even if they are different, and to call set_caps once
12883         for every time both pads get their caps set.
12884         (gst_base_transform_handle_buffer): Give the ref to the transform
12885         function. Allows in-place modification of the buffer.
12886
12887         * gst/base/gstbasetransform.h (transform_caps): New class method.
12888         Given caps on one side, what can I do on the other.
12889         (set_caps): Take two caps, one for each side of the element.
12890
12891         * gst/gstpad.h:
12892         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
12893         caps in place. This is safe because we can check the mutability of
12894         the caps, and a good idea because fixate functions are just called
12895         as a matter of last resort. (Not actually implemented.)
12896         (gst_pad_set_caps): If the caps we're setting is actually the same
12897         as the existing pad caps, just update the pointer without calling
12898         setcaps. Assert that caps is either NULL or fixed, as per the
12899         docs.
12900
12901         * gst/gstghostpad.c: Update for fixate changes.
12902
12903 2005-07-02  Andy Wingo  <wingo@pobox.com>
12904
12905         * gst/gstcaps.c:
12906         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
12907         two refcounts makes it immutable, which is enough. Doc more.
12908
12909 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
12910
12911         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
12912           Put the mini_object into GValue as a mini_object,
12913           not a gpointer, since that's how we declared
12914           the signal.
12915
12916 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12917
12918         * examples/pwg/Makefile.am:
12919           Fix buildbot again.
12920
12921 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12922
12923         * docs/pwg/building-testapp.xml:
12924           Add extra check.
12925         * examples/pwg/Makefile.am:
12926           Fix buildbot.
12927
12928 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12929
12930         * configure.ac:
12931         * examples/Makefile.am:
12932         * examples/pwg/Makefile.am:
12933         * examples/pwg/extract.pl:
12934           Enable building the PWG examples.
12935         * docs/pwg/advanced-interfaces.xml:
12936           Add URI interface stub.
12937         * docs/pwg/advanced-types.xml:
12938         * docs/pwg/other-autoplugger.xml:
12939         * docs/pwg/appendix-porting.xml:
12940         * docs/pwg/pwg.xml:
12941           Add porting guide (mostly stubs), remove autoplugging (see ADM).
12942         * docs/pwg/building-boiler.xml:
12943         * docs/pwg/building-chainfn.xml:
12944         * docs/pwg/building-pads.xml:
12945         * docs/pwg/building-props.xml:
12946         * docs/pwg/building-state.xml:
12947         * docs/pwg/building-testapp.xml:
12948           Update the building-*.xml parts for 0.9 changes. All examples
12949           code blocks compile in examples/pwg/*.
12950
12951 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12952
12953         * docs/manual/advanced-autoplugging.xml:
12954         * docs/manual/appendix-checklist.xml:
12955         * docs/manual/appendix-integration.xml:
12956         * docs/manual/highlevel-components.xml:
12957           Fix playbin/decodebin examples, update docs a bit, mention bus
12958           instead of signals in various places, mention kmplayer and
12959           kaffeine since they have a working GStreamer backend in the KDE
12960           section.
12961
12962 2005-06-30  Wim Taymans  <wim@fluendo.com>
12963
12964         * CHANGES-0.9:
12965         * docs/design/draft-ghostpads.txt:
12966         * docs/design/draft-push-pull.txt:
12967         * docs/design/draft-query.txt:
12968         * docs/design/part-TODO.txt:
12969         * docs/design/part-query.txt:
12970         Added CHANGES-0.9 doc, updated status of other docs.
12971         
12972         * gst/gstquery.h:
12973         Remove "hmm" macro
12974
12975 2005-06-30  Wim Taymans  <wim@fluendo.com>
12976
12977         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12978         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12979         (gst_base_sink_change_state):
12980         * gst/base/gstbasesink.h:
12981         Some tweaks, only EOS and a buffer complete a preroll.
12982
12983 2005-06-30  Andy Wingo  <wingo@pobox.com>
12984
12985         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
12986         activate_push down to the internal pad as well.
12987
12988 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
12989
12990         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12991
12992         * gst/gsttaginterface.c:
12993           Some documentation fixes (#307394 and #307397).
12994
12995 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
12996
12997         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12998
12999         * gst/gstvalue.c: (gst_value_intersect_list):
13000           Fix memleak (#309125).
13001
13002 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13003
13004         * docs/manual/advanced-dataaccess.xml:
13005           Fix fakesrc example to compile; doesn't work, bug somewhere...?
13006         * docs/manual/basics-pads.xml:
13007           Add reference for filtered caps to above chapter.
13008
13009 2005-06-30  Wim Taymans  <wim@fluendo.com>
13010
13011         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
13012         (gst_bin_change_state):
13013         Probes are gone.
13014         Lame attempt at making the state change function a bit
13015         more readable.
13016
13017 2005-06-30  Wim Taymans  <wim@fluendo.com>
13018
13019         * docs/design/part-clocks.txt:
13020         * docs/design/part-element-sink.txt:
13021         * docs/design/part-events.txt:
13022         * docs/design/part-preroll.txt:
13023         * docs/design/part-states.txt:
13024         Some more tweeks and additions to the docs.
13025
13026 2005-06-30  Wim Taymans  <wim@fluendo.com>
13027
13028         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13029         (default_have_data), (gst_pad_class_init), (gst_pad_init),
13030         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13031         (gst_pad_check_pull_range), (gst_pad_get_range),
13032         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
13033         * gst/gstpad.h:
13034         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
13035         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13036         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13037         (gst_pad_remove_buffer_probe):
13038         Removed atomic operations, use existing LOCK.
13039         Move exception handling out of main code path.
13040
13041 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13042
13043         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13044         (silly_return_true_function), (gst_pad_class_init),
13045         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13046         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
13047         (gst_pad_send_event):
13048           Fix accumulator, add default value by using _emitv() instead
13049           of _emit() for signal emission.
13050
13051 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13052
13053         * docs/manual/advanced-dataaccess.xml:
13054         * examples/manual/Makefile.am:
13055           Add probe example.
13056         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
13057           Make work (??).
13058
13059 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
13060
13061         * gst/elements/gstfilesink.c: (gst_filesink_render):
13062           Simplify code so that we don't have to handle short
13063           writes and return GST_FLOW_ERROR if an error occured.
13064
13065 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13066
13067         * docs/gst/gstreamer-docs.sgml:
13068           Remove probes more.
13069
13070 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13071
13072         * docs/gst/gstreamer-sections.txt:
13073         * docs/gst/tmpl/gstpad.sgml:
13074         * docs/gst/tmpl/gstprobe.sgml:
13075         * gst/Makefile.am:
13076         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13077         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
13078         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13079         (gst_pad_push_event), (gst_pad_send_event):
13080         * gst/gstpad.h:
13081         * gst/gstutils.c: (gst_pad_add_data_probe),
13082         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13083         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13084         (gst_pad_remove_buffer_probe):
13085         * gst/gstutils.h:
13086           Remove old probes, add new g-signal-based probes and some utility
13087           functions.
13088
13089 2005-06-29  Edward Hervey  <edward@fluendo.com>
13090
13091         * gst/gstelementfactory.c:
13092         * gst/gstutils.h:
13093         * gst/gstutils.c:
13094         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
13095         the definition to the header file.
13096
13097 2005-06-29  Andy Wingo  <wingo@pobox.com>
13098
13099         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13100         plugins from the source directory.
13101
13102 2005-06-29  Wim Taymans  <wim@fluendo.com>
13103
13104         * docs/gst/tmpl/gstbuffer.sgml:
13105         * docs/gst/tmpl/gstclock.sgml:
13106         Some fixings for blantently wrong text.
13107
13108 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13109
13110         * check/Makefile.am:
13111         * gst/gst.c: (add_path_func), (init_pre):
13112         * gst/gstregistry.c: (gst_registry_add_path):
13113           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13114           only scan the GST_PLUGIN_PATH locations, and not add
13115           system locations
13116
13117 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13118
13119         * docs/gst/gstreamer-sections.txt:
13120         * docs/gst/tmpl/gstbasesrc.sgml:
13121         * gst/gstelement.c:
13122         * gst/gstelement.h:
13123         * gst/gstevent.c:
13124         * gst/gstutils.c:
13125           doc fixes
13126
13127 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13128
13129         * docs/manual/advanced-autoplugging.xml:
13130           Fix autoplugging example.
13131
13132 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13133
13134         * docs/manual/advanced-autoplugging.xml:
13135         * docs/manual/mime-world.fig:
13136           Try to get autoplugging working, fix type detection. Fix text
13137           in hello-world image.
13138
13139 2005-06-29  Wim Taymans  <wim@fluendo.com>
13140
13141         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13142         (gst_base_sink_change_state):
13143         Small debug line.
13144
13145         * gst/gstclock.h:
13146         map SIGNAL and BROADCAST to the right function.
13147
13148         * gst/gstobject.h:
13149         Remove redundant braces.
13150
13151         * gst/gstpad.c: (gst_pad_set_caps):
13152         Don't call setcaps function when reseting caps to NULL.
13153
13154         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13155         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13156         (gst_system_clock_id_unschedule):
13157         Use BROADCAST as this is what we do.
13158
13159 2005-06-29  Wim Taymans  <wim@fluendo.com>
13160
13161         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13162         We are actually prerolling before commiting the state
13163         change. 
13164
13165 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13166
13167         * docs/manual/advanced-clocks.xml:
13168         * docs/manual/advanced-interfaces.xml:
13169         * docs/manual/advanced-metadata.xml:
13170         * docs/manual/advanced-position.xml:
13171         * docs/manual/advanced-schedulers.xml:
13172         * docs/manual/advanced-threads.xml:
13173         * docs/manual/appendix-porting.xml:
13174         * docs/manual/basics-bins.xml:
13175         * docs/manual/basics-bus.xml:
13176         * docs/manual/basics-elements.xml:
13177         * docs/manual/basics-helloworld.xml:
13178         * docs/manual/basics-pads.xml:
13179         * docs/manual/highlevel-components.xml:
13180         * docs/manual/manual.xml:
13181         * docs/manual/thread.fig:
13182           Update (until threads/scheduling) Application Development Manual;
13183           remove GstThread, add GstBus, add simple porting checklist, add
13184           documentation for tag writing, clocks, make all examples until this
13185           part compile and run.
13186         * examples/manual/Makefile.am:
13187           Update from changes to Application Development Manual; add bus
13188           example, remove thread example.
13189
13190 2005-06-28  Wim Taymans  <wim@fluendo.com>
13191
13192         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13193         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13194         (gst_bus_source_dispatch):
13195         Add debugging messages.
13196         Make internal methods static.
13197         Handle the case where the bus is flushed in the handler.
13198         
13199         * gst/gstelement.c: (gst_element_get_bus):
13200         Fix refcount in _get_bus();
13201
13202         * gst/gstpipeline.c: (gst_pipeline_change_state),
13203         (gst_pipeline_get_clock_func):
13204         Clock refcounting fixes.
13205         Handle the case where preroll timed out more gracefully.
13206         
13207         * gst/gstsystemclock.c: (gst_system_clock_dispose):
13208         Clean up the internal thread in dispose. This is needed
13209         for subclasses that actually get disposed.
13210         
13211         * gst/schedulers/threadscheduler.c:
13212         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13213         (gst_thread_scheduler_dispose):
13214         Free thread pool in dispose.
13215
13216 2005-06-28  Andy Wingo  <wingo@pobox.com>
13217
13218         * tests/network-clock-utils.scm (debug, print-event): New utils.
13219
13220         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13221         (*packet-loss*): Unified loss probability.
13222         (network-time): Report out-of-band events.
13223
13224         * tests/plot-data: Add support for out-of-band events. Hack it
13225         into this script instead of passing it down the pipe; should fix
13226         this later.
13227
13228 2005-06-28  Wim Taymans  <wim@fluendo.com>
13229
13230         * docs/gst/gstreamer.types:
13231         * docs/gst/tmpl/gstbasesrc.sgml:
13232         * docs/gst/tmpl/gstpad.sgml:
13233         Docs fixes.
13234
13235 2005-06-28  Wim Taymans  <wim@fluendo.com>
13236
13237         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13238         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13239         (gst_proxy_pad_do_fixatecaps):
13240         Correctly proxy the check_pull_range function.
13241
13242 2005-06-28  Andy Wingo  <wingo@pobox.com>
13243
13244         * tests/network-clock.scm: Removed need for slib.
13245         
13246 2005-06-28  Wim Taymans  <wim@fluendo.com>
13247
13248         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13249         (gst_basesink_preroll_queue_flush):
13250         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13251         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
13252         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13253         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13254         (gst_proxy_pad_set_property):
13255         * gst/gstpad.c:
13256         * gst/gstpad.h:
13257         * gst/gstqueue.c: (gst_queue_init):
13258         The deprecated pad loop function is removed now.
13259
13260 2005-06-28  Andy Wingo  <wingo@pobox.com>
13261
13262         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
13263         New parameters, simulate network packet loss.
13264
13265         * tests/network-clock-utils.scm: Initialize the RNG.
13266
13267 2005-06-28  Wim Taymans  <wim@fluendo.com>
13268
13269         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
13270         (gst_basesink_event), (gst_basesink_deactivate):
13271         Flushing the preroll queue always needs to unlock the waiters.
13272
13273 2005-06-28  Edward Hervey  <edward@fluendo.com>
13274
13275         * gst/gstpipeline.c: (gst_pipeline_send_event): 
13276         Wheen a seek was successful on a pipeline, set the stream_time to the
13277         seek offset in order to have a synchronized stream_time.
13278
13279 2005-06-28  Wim Taymans  <wim@fluendo.com>
13280
13281         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13282         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
13283         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
13284         (gst_proxy_pad_do_fixatecaps):
13285         Call wrapper function instead of just calling the function
13286         pointers. This takes care of any locking and whatmore.
13287
13288 2005-06-28  Wim Taymans  <wim@fluendo.com>
13289
13290         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
13291         (gst_pad_pull_range):
13292         * gst/gstpad.h:
13293         CONNECTED -> LINKED.
13294
13295 2005-06-28  Andy Wingo  <wingo@pobox.com>
13296
13297         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
13298         source-munging commit!!!
13299
13300         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
13301         (gst_object_sink): Take gpointer arguments, not GstObject --
13302         avoids casts. Like GLib.
13303
13304         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
13305         activate.
13306
13307 2005-06-27  Andy Wingo  <wingo@pobox.com>
13308
13309         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
13310         remaining buffer.
13311
13312         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
13313         returns a sorted copy of the trace list.
13314         (gst_alloc_trace_print_live): New API, only prints traces with
13315         live objects. Sort the list.
13316         (gst_alloc_trace_print_all): Sort the list.
13317         (gst_alloc_trace_print): Align columns.
13318
13319         * gst/elements/gstttypefindelement.c:
13320         * gst/elements/gsttee.c:
13321         * gst/base/gstbasesrc.c:
13322         * gst/base/gstbasesink.c:
13323         * gst/base/gstbasetransform.c:
13324         * gst/gstqueue.c: Adapt for pad activation changes.
13325
13326         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
13327         sched.
13328         (gst_pipeline_dispose): Drop ref on sched.
13329
13330         * gst/gstpad.c (gst_pad_init): Set the default activate func.
13331         (gst_pad_activate_default): Push mode by default.
13332         (pre_activate_switch, post_activate_switch): New stubs, things to
13333         do before and after switching activation modes on pads.
13334         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
13335         the pad's activate function to choose which mode to activate.
13336         Shortcut on deactivation and call the right function directly.
13337         (gst_pad_activate_pull): New API, (de)activates a pad in pull
13338         mode.
13339         (gst_pad_activate_push): New API, same for push mode.
13340         (gst_pad_set_activate_function) 
13341         (gst_pad_set_activatepull_function) 
13342         (gst_pad_set_activatepush_function): Setters for new API.
13343
13344         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
13345         Trace all miniobjects.
13346         (gst_mini_object_make_writable): Unref the arg if we copy, like
13347         gst_caps_make_writable.
13348
13349         * gst/gstmessage.c (_gst_message_initialize): No trace init.
13350
13351         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
13352         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
13353         Adapt for new pad API.
13354
13355         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
13356
13357         * gst/gstelement.h:
13358         * gst/gstelement.c (gst_element_iterate_src_pads) 
13359         (gst_element_iterate_sink_pads): New API functions.
13360         
13361         * gst/gstelement.c (iterator_fold_with_resync): New utility,
13362         should fold into gstiterator.c in some form.
13363         (gst_element_pads_activate): Simplified via use of fold and
13364         delegation of decisions to gstpad->activate.
13365
13366         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
13367         help in debugging.
13368
13369         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
13370         class once in init, like gstmessage. Didn't run into this issue
13371         but it seems correct. Don't initialize a trace, gstminiobject does
13372         that.
13373
13374         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
13375         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
13376         to the bus.
13377         (assert_live_count): New util function, uses alloc traces to check
13378         cleanup.
13379
13380         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
13381         To be modified when unlink drops the internal pad.
13382
13383 2005-06-27  Wim Taymans  <wim@fluendo.com>
13384
13385         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
13386         (gst_bin_change_state):
13387         Cleanup the get_state() function a little, make sure it
13388         iterates the same set of elements.
13389         Added stub iterate_state_order().
13390
13391 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13392
13393         * docs/gst/gstreamer-docs.sgml:
13394         * docs/gst/gstreamer-sections.txt:
13395         * docs/gst/gstreamer.types:
13396         * docs/gst/tmpl/gstbasesink.sgml:
13397         * docs/gst/tmpl/gstbasesrc.sgml:
13398         * docs/gst/tmpl/gstbasetransform.sgml:
13399         * docs/gst/tmpl/gstelement.sgml:
13400         * docs/gst/tmpl/gstiterator.sgml:
13401         * gst/base/gstbasesrc.c:
13402         * gst/base/gstbasesrc.h:
13403         * gst/base/gstbasetransform.h:
13404         * gst/gstelement.c:
13405         * gst/gstiterator.h:
13406           adding basetransform and iterator docs
13407
13408 2005-06-27  Andy Wingo  <wingo@pobox.com>
13409
13410         * docs/design/part-activation.txt: Notes on how activation should
13411         work -- not quite implemented yet.
13412
13413 2005-06-25  Wim Taymans  <wim@fluendo.com>
13414
13415         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
13416         At least get the chain function correct, needs more
13417         fixing.
13418
13419 2005-06-25  Wim Taymans  <wim@fluendo.com>
13420
13421         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13422         (gst_basesink_handle_object), (gst_basesink_event),
13423         (gst_basesink_do_sync), (gst_basesink_handle_event),
13424         (gst_basesink_change_state):
13425         * gst/gsttask.h:
13426         Right, two problems here: ghostpads don't take locks and
13427         glib _rec_mutex_lock_full() with depth==0 still locks.
13428         Catch illegal locking and g_warn them.
13429
13430 2005-06-25  Wim Taymans  <wim@fluendo.com>
13431
13432         * check/states/sinks.c: (START_TEST), (gst_object_suite):
13433         Have to check for completion now...
13434
13435 2005-06-25  Wim Taymans  <wim@fluendo.com>
13436
13437         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13438         (gst_basesink_handle_object), (gst_basesink_event),
13439         (gst_basesink_do_sync), (gst_basesink_handle_event),
13440         (gst_basesink_change_state):
13441         * gst/gstpad.h:
13442         Unlock STREAM_LOCK whatever the recursion was.
13443
13444 2005-06-25  Wim Taymans  <wim@fluendo.com>
13445
13446         * gst/base/gstbasesink.c: (gst_basesink_set_property),
13447         (gst_basesink_preroll_queue_empty),
13448         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
13449         (gst_basesink_event), (gst_basesink_do_sync),
13450         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
13451         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
13452         (gst_basesink_change_state):
13453         Reworked the base sink, handle event and buffer serialisation
13454         correctly and removed possible deadlock.
13455         Handle EOS correctly.
13456
13457 2005-06-25  Wim Taymans  <wim@fluendo.com>
13458
13459         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
13460         (gst_pipeline_change_state):
13461         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13462         Allow elements to post EOS in the state change function.
13463         Fix up -launch, make it exit the poll loop when the
13464         pipeline actually changed state.
13465         Fix up warning parsing in -launch.
13466
13467 2005-06-25  Wim Taymans  <wim@fluendo.com>
13468
13469         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
13470         (gst_tee_sink_activate):
13471         Core takes STREAM_LOCK for us now.
13472
13473 2005-06-25  Wim Taymans  <wim@fluendo.com>
13474
13475         * gst/gstelement.c: (gst_element_get_state_func),
13476         (gst_element_set_state):
13477         * gst/gstelement.h:
13478         * gst/gstmessage.c: (gst_message_parse_error),
13479         (gst_message_parse_warning):
13480         Keep track of current target state while performing a state
13481         change so that subclasses can do something interesting.
13482         Fix parsing of warning/error messages when GError is NULL.
13483
13484 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13485
13486         * docs/gst/Makefile.am:
13487         * docs/gst/gstreamer-docs.sgml:
13488         * docs/gst/gstreamer-sections.txt:
13489         * docs/gst/gstreamer.types:
13490         * docs/gst/tmpl/gstbasesink.sgml:
13491         * docs/gst/tmpl/gstbasesrc.sgml:
13492         * docs/gst/tmpl/gstbin.sgml:
13493         * docs/gst/tmpl/gstcompat.sgml:
13494         * docs/gst/tmpl/gstfakesink.sgml:
13495         * docs/gst/tmpl/gstfakesrc.sgml:
13496         * docs/gst/tmpl/gstfilesink.sgml:
13497         * docs/gst/tmpl/gstfilesrc.sgml:
13498         * docs/gst/tmpl/gstindex.sgml:
13499         * docs/manual/appendix-quotes.xml:
13500         * gst/base/gstbasesrc.h:
13501         * gst/elements/gstfakesrc.h:
13502         * gst/gstmessage.h:
13503           start pulling in base classes and elements in our docs
13504
13505 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
13506
13507         * docs/gst/Makefile.am:
13508         * docs/libs/Makefile.am:
13509           fixed make distcheck with gtk-doc 1.3
13510
13511 2005-06-23  Wim Taymans  <wim@fluendo.com>
13512
13513         * gst/gstelement.c: (gst_element_get_state_func),
13514         (gst_element_set_state), (gst_element_change_state):
13515         When the state did not change, also report NO_PREROLL
13516         when it matters.
13517
13518 2005-06-23  Wim Taymans  <wim@fluendo.com>
13519
13520         * gst/gstpad.c: (gst_pad_event_default):
13521         * gst/gstqueue.c: (gst_queue_loop):
13522         No unsafe task pausing please.
13523
13524 2005-06-23  Wim Taymans  <wim@fluendo.com>
13525
13526         * gst/schedulers/threadscheduler.c:
13527         (gst_thread_scheduler_task_start),
13528         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
13529         Ref the task before pushing it on the threadpool. This
13530         makes sure that we have a ref when the threadfunction is
13531         actually called.
13532
13533 2005-06-23  Andy Wingo  <wingo@pobox.com>
13534
13535         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
13536         offset is greater than the file's size.
13537
13538         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
13539         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
13540         * gst/gstobject.c (gst_object_class_init): Make the class lock
13541         recursive. Wim won't let me drop deep_notify. Decodebin works
13542         again, whoopdy doo.
13543
13544         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
13545         internal pad, and hacks accordingly. Doesn't do it on the target
13546         pad because we change its caps. Probably catches all cases of
13547         interest tho.
13548         (gst_ghost_pad_set_property): Connect to notify::caps as
13549         appropritate.
13550
13551         * tests/network-clock.scm (plot-simulation): Pipe data to the
13552         elite python skript.
13553
13554         * tests/network-clock-utils.scm (define-parameter): New macro,
13555         defines a parameter that can be set via the command line.
13556         (set-parameter!, parse-parameter-arguments): Command line args
13557         parser.
13558
13559         * tests/plot-data: Simple matplotlib-based plotter, takes input on
13560         stdin.
13561
13562 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
13563
13564         * gst/elements/gsttypefindelement.c:
13565         (gst_type_find_element_handle_event):
13566           Don't restart typefinding on a discont.
13567         * gst/gstelement.c: (gst_element_set_state):
13568           Debug spelling fix.
13569         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
13570           Allow changing mode of an active pad.
13571           Debug output fixes.
13572         * gst/registries/gstlibxmlregistry.c: (load_feature):
13573           Don't cast a static pad template to a normal pad template.
13574
13575 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13576
13577         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13578         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13579           remove gst_strtoll completely, since it didn't actually do
13580           anything more than what g_ascii_strtoull already does.
13581           check for range errors when deserializing
13582           do a cast for the unsigned cases; but further fixing needs
13583           a decision on what the interpretation of "(int)" and
13584           deserialization should be for values that fall outside the
13585           type's boundaries (ie, refuse, or interpret as casting)
13586
13587 2005-06-23  Wim Taymans  <wim@fluendo.com>
13588
13589         * check/Makefile.am:
13590         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
13591         * docs/design/part-live-source.txt:
13592         * docs/design/part-states.txt:
13593         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13594         (gst_basesrc_set_live), (gst_basesrc_is_live),
13595         (gst_basesrc_get_range), (gst_basesrc_activate),
13596         (gst_basesrc_change_state):
13597         * gst/base/gstbasesrc.h:
13598         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13599         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13600         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13601         * gst/gstelement.c: (gst_element_get_state_func),
13602         (gst_element_set_state):
13603         * gst/gstelement.h:
13604         * gst/gsttypes.h:
13605         * tools/gst-launch.c: (event_loop), (main):
13606         Added support for live sources and other elements that
13607         cannot do preroll.
13608         Updated design docs, added live-source design doc.
13609         Implemented live source functionality in basesrc
13610         Fix error condition in _bin_get_state()
13611         Implement live source handling in -launch.
13612         Added check for live sources.
13613         Fixed case in GstBin where elements were changed state
13614         multiple times.
13615
13616
13617 2005-06-23  Andy Wingo  <wingo@pobox.com>
13618
13619         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13620         borken refcounting.
13621
13622         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13623         gst_caps_replace takes care of this for us.
13624
13625         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13626         gst_pad_set_caps on the target, not just its setcaps() function.
13627
13628         * tests/network-clock.scm: 
13629         * tests/network-clock-utils.scm: A network clock simulator.
13630         Something of an algorithmic testbed before doing something in C.
13631
13632 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13633
13634         * check/Makefile.am:
13635         * check/gst/capslist.h:
13636           copy over from 0.8, and add two with bitmasks specified with
13637           (int) 0xFF...
13638         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13639           add test to parse everything from capslist.h
13640         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13641         (main):
13642           add test for structure deserialization
13643         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13644           add tests for deserialization of strings to int types
13645         * gst/gststructure.c: (gst_structure_nth_field_name):
13646         * gst/gststructure.h:
13647           add a way to get the name of a field referenced by index
13648         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13649           instead of checking if the resulting long long lies between
13650           min and max, we check if the long long would fit into
13651           a number of bytes for the final type.
13652           This fixes cases where a string represents 2^32 - 1, which
13653           when cast to int would be the (valid) -1, but is bigger than
13654           G_MAXINT
13655
13656 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13657
13658         * gst/parse/grammar.y:
13659           add a log line for type deserialization
13660
13661 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13662
13663         * check/gst/gstvalue.c: (START_TEST):
13664         * gst/gstvalue.c: (gst_value_deserialize):
13665           return long long, not int, so gint64 deserialization actually
13666           works.  Is there any flag that makes the compiler check this ?
13667           Fixes #308559
13668
13669 2005-06-22  Wim Taymans  <wim@fluendo.com>
13670
13671         * gst/gstbuffer.h:
13672         Added convenience macros for setting buffers in GValue.
13673
13674 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13675
13676         * check/gst/.cvsignore:
13677         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13678           add a test deserializing int64, and comment part out because
13679           it fails, yay !
13680
13681 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13682
13683         * check/Makefile.am:
13684         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
13685         * testsuite/Makefile.am:
13686         * testsuite/caps/Makefile.am:
13687         * testsuite/caps/value_serialize.c:
13688         * testsuite/test_gst_init.c:
13689           move a value_serialize test over
13690
13691 2005-06-20  Wim Taymans  <wim@fluendo.com>
13692
13693         * gst/gstpad.c:
13694         Small doc updates.
13695         
13696         * gst/gstvalue.c: (gst_value_compare_buffer),
13697         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
13698         (gst_value_compare_flags), (gst_value_serialize_flags),
13699         (gst_value_deserialize_flags), (_gst_value_initialize):
13700         Fix serialisation of buffers, they are not boxed types anymore
13701
13702 2005-06-20  Wim Taymans  <wim@fluendo.com>
13703
13704         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13705         Testcase to show error in buffer-on-caps serialisation.
13706
13707 2005-06-20  Andy Wingo  <wingo@pobox.com>
13708
13709         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
13710         will be adding to later.
13711
13712         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
13713         if its socks fill with rocks.
13714         (gst_system_clock_obtain): Set the name on object construction.
13715         Avoid double-checked locking.
13716
13717 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
13718
13719         * gst/gsturi.c: (gst_element_make_from_uri):
13720           Fix potential endless loop.
13721
13722 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13723
13724         * check/Makefile.am:
13725           add gsttag
13726         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
13727         (main):
13728           move over from testsuite dir and clean up
13729         * configure.ac:
13730         * gst/gsttag.c:
13731         * testsuite/Makefile.am:
13732         * testsuite/tags/.cvsignore:
13733         * testsuite/tags/Makefile.am:
13734         * testsuite/tags/merge.c:
13735           remove testsuite/tags
13736
13737 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13738
13739         * docs/gst/gstreamer-sections.txt:
13740         * docs/gst/tmpl/gstenumtypes.sgml:
13741         * win32/gstenumtypes.c:
13742           clean up documentation build a little
13743
13744 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13745
13746         * check/gstcheck.h:
13747           add macros for checking refcounts on objects and caps
13748         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
13749           add some more unit tests
13750         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13751         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
13752           fix leaked refcounts (I hope :)) so unittest works
13753         * gst/gstpad.h:
13754           whitespace removal
13755
13756 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13757
13758         * configure.ac: back to HEAD
13759
13760 === release 0.9.1 ===
13761
13762 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13763
13764         * NEWS:
13765         * RELEASE:
13766           updated
13767
13768 2005-06-17  Andy Wingo  <wingo@pobox.com>
13769
13770         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
13771         assert; it's always possible that the pad gets deactivated in
13772         between the checks in gstpad.c and the implementation. Rely on
13773         finish_preroll() to return a FLUSHING or similar instead of on the
13774         assert.
13775         
13776         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
13777         clock and post an EOS message if we come out of finish_preroll in
13778         the playing state.
13779
13780 2005-06-16  David Schleef  <ds@schleef.org>
13781
13782         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13783         (gst_capsfilter_set_property): Allow NULL as possible value
13784         for filter_caps property, indicating GST_CAPS_ANY.
13785
13786 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13787
13788         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
13789           fix debug output
13790         * gst/schedulers/Makefile.am:
13791           use libgst prefix
13792         * gstreamer.spec.in:
13793           fix spec for it
13794
13795 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13796
13797         * gstreamer.spec.in:
13798           clean up
13799
13800 2005-06-08  Andy Wingo  <wingo@pobox.com>
13801
13802         * gst/gstutils.c: RPAD fixes all around.
13803         (gst_element_link_pads): Refcounting fixes.
13804
13805         * tools/gst-inspect.c:
13806         * tools/gst-xmlinspect.c:
13807         * parse/grammar.y:
13808         * gst/base/gsttypefindhelper.c:
13809         * gst/base/gstbasesink.c:
13810         * gst/gstqueue.c: RPAD fixes.
13811
13812         * gst/gstghostpad.h:
13813         * gst/gstghostpad.c: New ghost pad implementation as full proxy
13814         pads. The tricky thing is they provide both source and sink
13815         interfaces, since they proxy the internal pad for the external
13816         pad, and vice versa. Implement with lower-level ProxyPad objects,
13817         with the interior proxy pad as a child of the exterior ghost pad.
13818         Should write a doc on this.
13819         
13820         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
13821         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
13822         gst_object API.
13823         
13824         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
13825         pads are real pads. No ghost pads in this file. Not documenting
13826         the myriad s/RPAD/PAD/ and REALIZE fixes.
13827         (gst_pad_class_init): Add properties for "direction" and
13828         "template". Both are construct-only, so they can't change during
13829         the life of the pad. Fixes properly deriving from GstPad.
13830         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
13831         derived objects, just set properties when creating the objects via
13832         g_object_new.
13833         (gst_pad_get_parent): Implement as a function, return NULL if the
13834         parent is not an element.
13835         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
13836         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
13837         
13838         * gst/gstobject.c (gst_object_class_init): Make name a construct
13839         property. Don't set it in the object init.
13840
13841         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
13842         with UNKNOWN direction.
13843         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
13844         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
13845         (gst_element_remove_pad): Remove ghost-pad special cases.
13846         (gst_element_pads_activate): Remove rpad cruft.
13847
13848         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
13849         catch the pad's-parent-not-an-element case.
13850
13851         * gst/gst.h: Include gstghostpad.h.
13852
13853         * gst/gst.c (init_post): No more real, ghost pads.
13854
13855         * gst/Makefile.am: Add gstghostpad.[ch].
13856
13857         * check/Makefile.am:
13858         * check/gst/gstbin.c:
13859         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
13860         into a bin creates ghost pads, and that the refcounts are right.
13861         Partly moved from gstbin.c.
13862
13863 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13864
13865         * check/gst-libs/.cvsignore:
13866         * check/gst/.cvsignore:
13867         * check/pipelines/.cvsignore:
13868           ignore more
13869         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
13870         (START_TEST), (cleanup_suite), (main):
13871           add some tests related to cleanup after running pipelines
13872
13873 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13874
13875         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
13876           add a testsuite for GstBuffer
13877
13878 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13879
13880         * gst/gstminiobject.h:
13881           add defines for accessing the refcount
13882
13883 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
13884
13885         * Makefile.am: added support for html unit test coverage reports
13886
13887 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
13888
13889         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13890           Free existing caps if the capsfilter changes. Add a FIXME about
13891           setting those caps on the pads.
13892
13893         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
13894           Before adding a ghost pad to a parent bin, check that there isn't
13895           already one for the element on the bin. Prevents infinite recursion
13896           when using decodebin in parse pipelines. Andy says he'll rewrite the
13897           way this works anyway, so ignore the hack.
13898
13899 2005-06-02  Andy Wingo  <wingo@pobox.com>
13900
13901         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
13902         file size, pass it on to the type find helper.
13903
13904         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
13905         segment_start and segment_end properly according to the seek
13906         method. Segment_end is still a bit flaky because offset can be
13907         negative for CUR and END cases, but it takes -1 as an "unset"
13908         value.
13909
13910 2005-06-02  Wim Taymans  <wim@fluendo.com>
13911
13912         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
13913         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
13914         (gst_basesink_activate):
13915         * gst/base/gstbasesink.h:
13916         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13917         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13918         (gst_pad_query), (gst_pad_start_task):
13919         * gst/gstpad.h:
13920         * gst/gstqueue.c: (gst_queue_bufferalloc),
13921         (gst_queue_handle_sink_event), (gst_queue_chain):
13922         Bufferalloc: return GstFlowReturn to more accuratly report
13923         why allocation failed.
13924
13925 2005-06-02  Wim Taymans  <wim@fluendo.com>
13926
13927         * gst/gstpipeline.c: (gst_pipeline_send_event):
13928         Take snapshot of state without blocking.
13929
13930 2005-06-02  Wim Taymans  <wim@fluendo.com>
13931
13932         * docs/design/part-TODO.txt:
13933         * docs/design/part-caps.txt:
13934         * docs/design/part-clocks.txt:
13935         * docs/design/part-negotiation.txt:
13936         * docs/design/part-preroll.txt:
13937         Small doc updates 
13938
13939 2005-05-30  Wim Taymans  <wim@fluendo.com>
13940
13941         * gst/elements/gstidentity.c: (gst_identity_event),
13942         (gst_identity_transform), (gst_identity_get_property):
13943         Protect last_message property as it is accessed from
13944         multiple threads.
13945
13946 2005-05-30  Wim Taymans  <wim@fluendo.com>
13947
13948         * gst/gstelement.c: (gst_element_init),
13949         (gst_element_pads_activate), (gst_element_change_state):
13950         Slicker pad activation code.
13951
13952 2005-05-30  Wim Taymans  <wim@fluendo.com>
13953
13954         * gst/Makefile.am:
13955         * gst/gstelement.h:
13956         * gst/gstelementfactory.h:
13957         * gst/gsttypes.h:
13958         Move elementfactory methods to separate .h file.
13959
13960 2005-05-30  Wim Taymans  <wim@fluendo.com>
13961
13962         * docs/design/part-overview.txt:
13963         * gst/gstsystemclock.h:
13964         Small typo fixes, doc updates.
13965
13966 2005-05-30  Wim Taymans  <wim@fluendo.com>
13967
13968         * gst/gst.c: (gst_init_get_popt_table), (init_post),
13969         (init_popt_callback):
13970         Remove cpu-opt flag.
13971
13972 2005-05-30  Wim Taymans  <wim@fluendo.com>
13973
13974         * gst/gstbuffer.c: (gst_subbuffer_finalize),
13975         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
13976         * gst/gstbuffer.h:
13977         Avoid typechecking in places where not needed.
13978         Added accessor for malloc_data.
13979
13980 2005-05-30  Wim Taymans  <wim@fluendo.com>
13981
13982         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
13983         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
13984         (gst_pad_configure_sink), (gst_pad_configure_src),
13985         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
13986         (gst_pad_start_task):
13987         Propagate errors from _set_caps() in configure_src/sink
13988         functions instead of returning TRUE.
13989         FLUSH events can travel up and downstream
13990
13991
13992 2005-05-30  Wim Taymans  <wim@fluendo.com>
13993
13994         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13995         (gst_basesink_activate):
13996         Handle EOS in preroll.
13997
13998 2005-05-30  Wim Taymans  <wim@fluendo.com>
13999
14000         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14001         (gst_queue_loop), (gst_queue_handle_src_event):
14002         Remove old pieces of code
14003         Flushing the queue in an upstream event is a very bad idea.
14004
14005 2005-05-26  Andy Wingo  <wingo@pobox.com>
14006
14007         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
14008         gst_value_set_mini_object so as to add a ref on the object (which
14009         will be removed when the value is unset).
14010
14011         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
14012         arg type in ::handoff.
14013
14014         * gst/gstelement.c (gst_element_change_state): Also deactivate
14015         pads in READY->NULL, just in case the element didn't make it to
14016         PAUSED. Wingo tested, Wim approved.
14017
14018 2005-05-26  Wim Taymans  <wim@fluendo.com>
14019
14020         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14021         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14022         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
14023         A flushing pad cannot be used to alloc_buffer from.
14024
14025 2005-05-26  Wim Taymans  <wim@fluendo.com>
14026
14027         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
14028         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
14029         (gst_bus_source_dispatch), (gst_bus_source_finalize),
14030         (gst_bus_create_watch), (gst_bus_add_watch_full):
14031         * gst/gstbus.h:
14032         Implement a real GSource and use g_main_context_wakeup() to
14033         signal new messages instead of the socketpair.
14034
14035 2005-05-25  Wim Taymans  <wim@fluendo.com>
14036
14037         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
14038         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
14039         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14040         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14041         (gst_pad_send_event), (gst_pad_start_task):
14042         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
14043         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14044         (gst_queue_sink_activate), (gst_queue_src_activate),
14045         (gst_queue_change_state):
14046         * gst/gstqueue.h:
14047         Fix state changes for non sinks. We now change sinks, then elements
14048         with unconnected srcpads, then the rest.
14049         More efficient queue unlocking in flush and state changes.
14050         Set the pad activate mode even if it does not have an activate
14051         function.
14052
14053 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14054
14055         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
14056           Don't go in pull mode for non-seekable sources.
14057         * gst/elements/gsttypefindelement.h:
14058         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14059         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
14060         (free_entry), (stop_typefinding),
14061         (gst_type_find_element_handle_event), (find_peek),
14062         (gst_type_find_element_chain), (do_pull_typefind),
14063         (gst_type_find_element_change_state):
14064           Allow typefinding (w/o seeking) in push-mode, simplified version
14065           of what was in 0.8.
14066         * gst/gstutils.c: (gst_buffer_join):
14067         * gst/gstutils.h:
14068           gst_buffer_join() from 0.8.
14069
14070 2005-05-25  Wim Taymans  <wim@fluendo.com>
14071
14072         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14073         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14074         (gst_pad_send_event), (gst_pad_start_task):
14075         Disable attempt at mode switching until it is figured out.
14076
14077 2005-05-25  Wim Taymans  <wim@fluendo.com>
14078
14079         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
14080         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14081         (gst_basesink_finish_preroll), (gst_basesink_chain),
14082         (gst_basesink_loop), (gst_basesink_activate),
14083         (gst_basesink_change_state):
14084         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
14085         (gst_basesrc_get_range), (gst_basesrc_loop),
14086         (gst_basesrc_activate):
14087         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14088         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14089         (gst_real_pad_init), (gst_real_pad_set_property),
14090         (gst_real_pad_get_property), (gst_pad_set_active),
14091         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
14092         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
14093         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
14094         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
14095         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14096         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
14097         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
14098         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14099         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14100         (gst_pad_stop_task):
14101         * gst/gstpad.h:
14102         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14103         (gst_queue_loop), (gst_queue_src_activate):
14104         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14105         (gst_task_get_state):
14106         * gst/gsttask.h:
14107         * gst/schedulers/threadscheduler.c:
14108         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14109         Implement gst_pad_pause/start/stop_task(), take STREAM lock
14110         in task function.
14111         Remove ACTIVE pad flag, use FLUSHING everywhere
14112         Added _pad_chain(), _pad_get_range() to call chain/getrange 
14113         functions.
14114         Add locks around IS_FLUSHING when reading.
14115         Take STREAM lock in chain(), get_range() functions so plugins
14116         don't need to take it anymore.
14117         
14118
14119
14120 2005-05-25  Wim Taymans  <wim@fluendo.com>
14121
14122         * tools/gst-launch.c: (event_loop):
14123         Unref message after using its contents instead of
14124         before.
14125
14126 2005-05-24  Wim Taymans  <wim@fluendo.com>
14127
14128         * docs/design/draft-ghostpads.txt:
14129         * docs/design/draft-push-pull.txt:
14130         * docs/design/draft-query.txt:
14131         * docs/design/part-overview.txt:
14132         Docs updates, added general overview doc.
14133
14134 2005-05-21  David Schleef  <ds@schleef.org>
14135
14136         * docs/gst/tmpl/old/GstBin.sgml:
14137         * docs/gst/tmpl/old/GstBuffer.sgml:
14138         * docs/gst/tmpl/old/GstCaps.sgml:
14139         * docs/gst/tmpl/old/GstClock.sgml:
14140         * docs/gst/tmpl/old/GstCompat.sgml:
14141         * docs/gst/tmpl/old/GstData.sgml:
14142         * docs/gst/tmpl/old/GstElement.sgml:
14143         * docs/gst/tmpl/old/GstEvent.sgml:
14144         * docs/gst/tmpl/old/GstIndex.sgml:
14145         * docs/gst/tmpl/old/GstStructure.sgml:
14146         * docs/gst/tmpl/old/GstTag.sgml:
14147         * docs/gst/tmpl/old/cothreads.sgml:
14148         * docs/gst/tmpl/old/cothreads_compat.sgml:
14149         * docs/gst/tmpl/old/gettext.sgml:
14150         * docs/gst/tmpl/old/gobject2gtk.sgml:
14151         * docs/gst/tmpl/old/grammar.tab.sgml:
14152         * docs/gst/tmpl/old/gst-i18n-app.sgml:
14153         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14154         * docs/gst/tmpl/old/gst_private.sgml:
14155         * docs/gst/tmpl/old/gstaggregator.sgml:
14156         * docs/gst/tmpl/old/gstarch.sgml:
14157         * docs/gst/tmpl/old/gstatomic_impl.sgml:
14158         * docs/gst/tmpl/old/gstbufferstore.sgml:
14159         * docs/gst/tmpl/old/gstdata_private.sgml:
14160         * docs/gst/tmpl/old/gstdisksink.sgml:
14161         * docs/gst/tmpl/old/gstdisksrc.sgml:
14162         * docs/gst/tmpl/old/gstelementfactory.sgml:
14163         * docs/gst/tmpl/old/gstextratypes.sgml:
14164         * docs/gst/tmpl/old/gstfakesink.sgml:
14165         * docs/gst/tmpl/old/gstfakesrc.sgml:
14166         * docs/gst/tmpl/old/gstfdsink.sgml:
14167         * docs/gst/tmpl/old/gstfdsrc.sgml:
14168         * docs/gst/tmpl/old/gstfilesink.sgml:
14169         * docs/gst/tmpl/old/gstfilesrc.sgml:
14170         * docs/gst/tmpl/old/gsthttpsrc.sgml:
14171         * docs/gst/tmpl/old/gstidentity.sgml:
14172         * docs/gst/tmpl/old/gstindexfactory.sgml:
14173         * docs/gst/tmpl/old/gstmarshal.sgml:
14174         * docs/gst/tmpl/old/gstmd5sink.sgml:
14175         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14176         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14177         * docs/gst/tmpl/old/gstpadtemplate.sgml:
14178         * docs/gst/tmpl/old/gstpipefilter.sgml:
14179         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14180         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14181         * docs/gst/tmpl/old/gstshaper.sgml:
14182         * docs/gst/tmpl/old/gstspider.sgml:
14183         * docs/gst/tmpl/old/gstspideridentity.sgml:
14184         * docs/gst/tmpl/old/gststatistics.sgml:
14185         * docs/gst/tmpl/old/gsttee.sgml:
14186         * docs/gst/tmpl/old/gsttimecache.sgml:
14187         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14188         * docs/gst/tmpl/old/gstxmlregistry.sgml:
14189         * docs/gst/tmpl/old/gthread-cothreads.sgml:
14190         * docs/gst/tmpl/old/types.sgml:
14191           I didn't intend to add these or check them in.
14192
14193 2005-05-19  David Schleef  <ds@schleef.org>
14194
14195         * configure.ac: Use -no-common everywhere.  In a sane world, it
14196           would be the default in libtool, because without it, you can't
14197           build DLLs on Windows.
14198         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14199         * docs/gst/gstreamer-sections.txt:
14200         * docs/gst/tmpl/gstcpu.sgml:
14201         * docs/gst/tmpl/gstdata.sgml:
14202         * docs/gst/tmpl/gstthread.sgml:
14203
14204 2005-05-19  David Schleef  <ds@schleef.org>
14205
14206         * gst/gstminiobject.c: (gst_value_set_mini_object),
14207         (gst_value_take_mini_object), (gst_value_get_mini_object):
14208         * gst/gstminiobject.h: Add GValue set/get functions.
14209
14210 2005-05-19  Wim Taymans  <wim@fluendo.com>
14211
14212         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14213         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14214         (gst_subbuffer_init), (gst_buffer_is_span_fast):
14215         * gst/gstbuffer.h:
14216         * gst/gstbus.c: (gst_bus_post):
14217         * gst/gstelement.c: (gst_element_get_random_pad):
14218         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14219         Make subbufer unref the parent in finalize.
14220         some more debugging info.
14221
14222
14223 2005-05-19  Wim Taymans  <wim@fluendo.com>
14224
14225         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14226         (gst_basesink_init), (gst_basesink_finalize),
14227         (gst_basesink_activate), (gst_basesink_change_state):
14228         Don't free preroll queue too early.
14229
14230 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14231
14232         * gst/Makefile.am:
14233         * gst/ROADMAP:
14234           Hi, I'm outdated. Please shoot me.
14235
14236 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14237
14238         * gst/gstpipeline.c: (gst_pipeline_send_event):
14239           Do not access variables after they have been deleted.
14240
14241 2005-05-19  Wim Taymans  <wim@fluendo.com>
14242
14243         * tools/gst-inspect.c: (print_plugin_features):
14244         A plugin feature does unfortunatly not use the
14245         object name yet...
14246
14247 2005-05-18  Wim Taymans  <wim@fluendo.com>
14248
14249         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14250         Port _span() functions to new subbuffers.
14251
14252 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14253
14254         * gst/gstbin.c: (gst_bin_add_func):
14255           Fix clock settery in bins when adding kids after the clock has
14256           been selected.
14257
14258 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14259
14260         * gst/elements/gstidentity.c: (gst_identity_class_init):
14261           Workaround until signals support GstMiniObject.
14262
14263 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14264
14265         * gst/gstbuffer.c:
14266         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
14267
14268 2005-05-18  Wim Taymans  <wim@fluendo.com>
14269
14270         * gst/base/Makefile.am:
14271         * gst/base/gstadapter.c: (gst_adapter_base_init),
14272         (gst_adapter_class_init), (gst_adapter_init),
14273         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
14274         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
14275         (gst_adapter_flush), (gst_adapter_available),
14276         (gst_adapter_available_fast):
14277         * gst/base/gstadapter.h:
14278         Ported and added adapter to the base classes.
14279
14280 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14281
14282         * gst/gst.c:
14283         * gst/gstmessage.c:
14284           Make sure the class is reffed/unreffed once before threads can be
14285           used.  Fixes #304551.
14286
14287 2005-05-17  Wim Taymans  <wim@fluendo.com>
14288
14289         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
14290         (gst_basesink_chain_unlocked), (gst_basesink_activate):
14291         * gst/gstminiobject.c: (gst_mini_object_get_type),
14292         (gst_mini_object_free):
14293         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
14294         (gst_pad_push), (gst_pad_push_event):
14295         * gst/gstqueue.c: (gst_queue_change_state):
14296         Don't queue buffers in basesink when we are flushing.
14297         Unref buffer when flushing in basesink.
14298         Flush queue when going to READY
14299         Unref buffer when _push() returns an error.
14300         Don't free MiniObject instance when refcount is incremented
14301         in _finalize() so that we can recover objects.
14302
14303 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14304
14305         * docs/manual/advanced-schedulers.xml:
14306         * docs/manual/appendix-checklist.xml:
14307         * docs/pwg/advanced-clock.xml:
14308         * docs/pwg/advanced-interfaces.xml:
14309         * docs/pwg/advanced-request.xml:
14310         * docs/pwg/advanced-types.xml:
14311         * docs/pwg/intro-preface.xml:
14312         * examples/plugins/example.c: (gst_example_get_type),
14313         (gst_example_class_init), (gst_example_chain),
14314         (gst_example_set_property), (gst_example_get_property),
14315         (gst_example_change_state), (plugin_init):
14316         * examples/plugins/example.h:
14317           small doc fixes
14318
14319 2005-05-17  Wim Taymans  <wim@fluendo.com>
14320
14321         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
14322         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
14323         * gst/gstqueue.c: (gst_queue_change_state):
14324         Clear queue when going to READY.
14325         Remove IN_SETCAPS flag too.
14326
14327 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
14328
14329         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
14330           Remove implicit cast from gboolean to GstElementStateReturn;
14331           make sure we still return failure in paused => ready case if
14332           the parent class fails to change state and our own stop 
14333           vfunc succeeds.
14334
14335 2005-05-17  Wim Taymans  <wim@fluendo.com>
14336
14337         * tools/gst-launch.c: (event_loop):
14338         Message was unreffed too soon.
14339
14340 2005-05-16  Andy Wingo  <wingo@pobox.com>
14341
14342         * gst/gstbin.c (sink_iterator_filter): Err... um...
14343
14344         * check/gst/gstbin.c (test_ghost_pads): New test for the
14345         ghosting-if-elements-not-in-same-bin behavior.
14346
14347 2005-05-16  David Schleef  <ds@schleef.org>
14348
14349         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
14350         accessing refcount directly.
14351
14352 2005-05-15  David Schleef  <ds@schleef.org>
14353
14354         * check/Makefile.am: remove GstData checks
14355         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
14356         * gst/Makefile.am: add miniobject, remove data
14357         * gst/gst.h: add miniobject, remove data
14358         * gst/gstdata.c: remove
14359         * gst/gstdata.h: remove
14360         * gst/gstdata_private.h: remove
14361         * gst/gsttypes.h: remove GstEvent and GstMessage
14362         * gst/gstelement.c: (gst_element_post_message): fix for API changes
14363         * gst/gstmarshal.list: change BOXED -> OBJECT
14364
14365         Implement GstMiniObject.
14366         * gst/gstminiobject.c:
14367         * gst/gstminiobject.h:
14368
14369         Modify to be subclasses of GstMiniObject.
14370         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
14371         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
14372         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
14373         (gst_subbuffer_get_type), (gst_subbuffer_init),
14374         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
14375         (gst_buffer_span):
14376         * gst/gstbuffer.h:
14377         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
14378         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
14379         (_gst_event_copy), (gst_event_new):
14380         * gst/gstevent.h:
14381         * gst/gstmessage.c: (_gst_message_initialize),
14382         (gst_message_get_type), (gst_message_class_init),
14383         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
14384         (gst_message_new), (gst_message_new_error),
14385         (gst_message_new_warning), (gst_message_new_tag),
14386         (gst_message_new_state_changed), (gst_message_new_application):
14387         * gst/gstmessage.h:
14388         * gst/gstprobe.c: (gst_probe_perform),
14389         (gst_probe_dispatcher_dispatch):
14390         * gst/gstprobe.h:
14391         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
14392         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
14393         (_gst_query_copy), (gst_query_new):
14394
14395         Update elements for GstData -> GstMiniObject changes
14396         * gst/gstquery.h:
14397         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
14398         (gst_queue_chain), (gst_queue_loop):
14399         * gst/elements/gstbufferstore.c:
14400         (gst_buffer_store_add_buffer_func),
14401         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
14402         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14403         (gst_fakesink_render):
14404         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14405         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
14406         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
14407         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
14408         (gst_filesrc_create_read):
14409         * gst/elements/gstidentity.c: (gst_identity_class_init):
14410         * gst/elements/gsttypefindelement.c:
14411         (gst_type_find_element_src_event), (free_entry_buffers),
14412         (gst_type_find_element_handle_event):
14413         * libs/gst/dataprotocol/dataprotocol.c:
14414         (gst_dp_header_from_buffer):
14415         * libs/gst/dataprotocol/dataprotocol.h:
14416         * libs/gst/dataprotocol/dp-private.h:
14417
14418 2005-05-15  David Schleef  <ds@schleef.org>
14419
14420         * gst/elements/gstelements.c: Don't include headers that were
14421         just removed.
14422
14423 2005-05-15  David Schleef  <ds@schleef.org>
14424
14425         * gst/elements/Makefile.am: Remove some elements that don't
14426         need to be in the core (or even exist at all).
14427         * gst/elements/gstaggregator.c:
14428         * gst/elements/gstaggregator.h:
14429         * gst/elements/gstmd5sink.c:
14430         * gst/elements/gstmd5sink.h:
14431         * gst/elements/gstmultifilesrc.c:
14432         * gst/elements/gstmultifilesrc.h:
14433         * gst/elements/gstpipefilter.c:
14434         * gst/elements/gstpipefilter.h:
14435         * gst/elements/gstshaper.c:
14436         * gst/elements/gstshaper.h:
14437         * gst/elements/gststatistics.c:
14438         * gst/elements/gststatistics.h:
14439         * po/POTFILES.in: Remove above files.
14440
14441 2005-05-14  Andy Wingo  <wingo@pobox.com>
14442
14443         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
14444         so as to get the refs right.
14445         (sink_iterator_filter): New function, wraps bin_element_is_sink,
14446         unreffing objects that don't pass the filter.
14447
14448         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
14449         gst_element_set_bus.
14450         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
14451         normal cases, this will destroy the bus.
14452
14453         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
14454         object.
14455
14456         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
14457         has no sinks.
14458
14459 2005-05-13  Andy Wingo  <wingo@pobox.com>
14460
14461         * gst/gstutils.c (gst_element_link_pads): Instead of calling
14462         gst_pad_link, call pad_link_maybe_ghosting,
14463         (pad_link_maybe_ghosting): Links pads, making sure that the
14464         elements being linked are in the same bin.
14465         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
14466         Helpers for pad_link_maybe_ghosting.
14467
14468 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14469
14470         * configure.ac:
14471           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
14472
14473 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14474
14475         * docs/design/part-element-source.txt:
14476           Mention GstPushSrc
14477
14478 2005-05-12  Wim Taymans  <wim@fluendo.com>
14479
14480         * gst/base/gstbasesink.c: (gst_basesink_init),
14481         (gst_basesink_activate):
14482         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
14483         (gst_basesrc_is_seekable):
14484         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14485         (bin_element_is_sink), (gst_bin_change_state):
14486         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14487         * gst/gstelement.h:
14488         Identify sinks by their flag to avoid overly complicated
14489         checks (fow now).
14490         Do state changes even for elements not reachable from the
14491         sinks.
14492         BaseSink is a sink now :)
14493         Some more debugging info in the basesrc.
14494
14495
14496 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14497
14498         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
14499           Implement _query on a bin, similar to _send_event.
14500
14501 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14502
14503         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
14504           Discont event offset format should be GST_FORMAT_BYTES,
14505           not GST_FORMAT_TIME.
14506
14507 2005-05-12  Wim Taymans  <wim@fluendo.com>
14508
14509         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
14510         Same fix as Ronald's but without the signal. 
14511
14512 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14513
14514         * gst/gstutils.c: (gst_element_query_position):
14515           No, an element is not a pad.
14516
14517 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14518
14519         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
14520         (gst_bin_get_state):
14521           If a child is removed from a bin while we remove the child from
14522           the bin and while we're retrieving its state, signal this to the
14523           get_state function so we abort the wait (instead of waiting for
14524           a timeout) and can immediately re-iterate over all other elements.
14525
14526 2005-05-12  Wim Taymans  <wim@fluendo.com>
14527
14528         * gst/base/Makefile.am:
14529         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
14530         (gst_basesrc_start):
14531         * gst/base/gstbasesrc.h:
14532         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
14533         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
14534         (gst_pushsrc_init), (gst_pushsrc_create):
14535         * gst/base/gstpushsrc.h:
14536         Added is_seekable to BaseSrc
14537         Added simple PushSrc.
14538
14539 2005-05-11  Wim Taymans  <wim@fluendo.com>
14540
14541         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14542         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14543         (gst_element_link_pads), (gst_element_query_position),
14544         (gst_element_query_convert), (intersect_caps_func),
14545         (gst_pad_query_position), (gst_pad_query_convert):
14546         Fix refcounting in utils function.
14547         No point in trying to activate a pad when it's added, it could
14548         be added from the state change function and then we deadlock, the
14549         element has to decide what to do.
14550
14551 2005-05-10  Andy Wingo  <wingo@pobox.com>
14552
14553         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
14554         *all* the arguments.
14555
14556         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
14557         stream lock if it's a FLUSH_DONE; normal flushes don't get the
14558         lock (according to the docs -- if this is wrong change the docs).
14559
14560         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
14561         flush messages in the NULL state.
14562
14563         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
14564         message immediately and return.
14565         (gst_bus_set_flushing): New function. If a bus is flushing, it
14566         flushes out any queued messages and immediately unrefs new
14567         messages. This is so when an element goes to NULL, all of the
14568         unhandled messages coming from it can be freed, and their
14569         references to the element dropped. In other words: message source
14570         ref considered harmful :P
14571
14572         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
14573         we're finished with it.
14574
14575         * gst/gstmessage.c (gst_message_new_state_changed): 
14576
14577 2005-05-10  Wim Taymans  <wim@fluendo.com>
14578
14579         * gst/gstvalue.c: (gst_value_compare_flags),
14580         (gst_value_serialize_flags), (gst_value_deserialize_flags),
14581         (_gst_value_initialize):
14582         Added flags serialize/deserialize/compare code.
14583
14584 2005-05-09  Andy Wingo  <wingo@pobox.com>
14585
14586         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
14587         Intersect the peer's caps with our caps.
14588
14589 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14590
14591         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14592         * gst/elements/gsttypefindelement.c: (find_peek):
14593           Handle negative offsets better. Fixes decodebin.
14594
14595 2005-05-09  Wim Taymans  <wim@fluendo.com>
14596
14597         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14598         (gst_base_transform_event):
14599         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14600         Implement accept_caps.
14601         Fix silly lock/unlock mismatch in base class.
14602
14603 2005-05-09  Wim Taymans  <wim@fluendo.com>
14604
14605         * docs/design/draft-push-pull.txt:
14606         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14607         * gst/elements/gstfilesink.c: (gst_filesink_init),
14608         (gst_filesink_query):
14609         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14610         (gst_type_find_handle_src_query), (find_element_get_length):
14611         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14612         * gst/gstelement.h:
14613         * gst/gstmessage.c:
14614         * gst/gstmessage.h:
14615         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14616         (gst_real_pad_get_caps_unlocked),
14617         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14618         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14619         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14620         (gst_real_pad_dispose), (gst_real_pad_finalize),
14621         (gst_pad_load_and_link), (gst_pad_save_thyself),
14622         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14623         (gst_pad_check_pull_range), (gst_pad_pull_range),
14624         (gst_pad_template_get_type), (gst_pad_template_class_init),
14625         (gst_pad_template_init), (gst_pad_template_dispose),
14626         (name_is_valid), (gst_static_pad_template_get),
14627         (gst_pad_template_new), (gst_static_pad_template_get_caps),
14628         (gst_pad_template_get_caps), (gst_pad_set_element_private),
14629         (gst_pad_get_element_private), (gst_pad_start_task),
14630         (gst_pad_pause_task), (gst_pad_stop_task),
14631         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14632         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14633         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14634         (gst_ghost_pad_new):
14635         * gst/gstpad.h:
14636         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14637         (gst_query_new_position), (gst_query_set_position),
14638         (gst_query_parse_position), (gst_query_new_convert),
14639         (gst_query_set_convert), (gst_query_parse_convert):
14640         * gst/gstquery.h:
14641         * gst/gstqueryutils.c:
14642         * gst/gstqueryutils.h:
14643         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14644         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14645         (gst_queue_handle_src_query):
14646         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14647         (gst_element_query_position), (gst_element_query_convert),
14648         (intersect_caps_func), (gst_pad_query_position),
14649         (gst_pad_query_convert):
14650         * gst/gstutils.h:
14651         * tools/gst-inspect.c: (print_pad_info):
14652         * tools/gst-xmlinspect.c: (print_element_info):
14653         Remove old query functions. Ported old code.
14654         Added position/convert helper functions to gstutils.
14655         Reordered gstpad.c code, grouping relevant things.
14656         Remove gst_message_new(), always need to speficy a specific
14657         message.
14658
14659
14660 2005-05-09  Andy Wingo  <wingo@pobox.com>
14661
14662         * gst/gstiterator.h: Add some includes.
14663
14664         * gst/gstqueryutils.h: Include more headers.
14665
14666         * gst/gstpad.h:
14667         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
14668         some uses of gst_pad_query.
14669
14670         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
14671         NULL out parameters.
14672         (gst_query_new_position): New proc, allocates a new position
14673         query.
14674
14675         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
14676         gstqueryutils.c to the build.
14677
14678         * gst/gststructure.c (gst_structure_set_valist): Implement with
14679         the generic G_VALUE_COLLECT.
14680         
14681 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
14682
14683         * gst/Makefile.am: (gst_headers):
14684         Added gstqueryutils.h to the list of headers to install, that was
14685         a 'nachty' move wingo :)
14686
14687 2005-05-06  Andy Wingo  <wingo@pobox.com>
14688
14689         * gst/gstquery.h
14690         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
14691         GstData, init a memchunk.
14692         (standard_definitions): Add a few query types, deprecate a few.
14693         (gst_query_get_type): New proc.
14694         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
14695         implementation.
14696         (gst_query_new_application, gst_query_get_structure): New public
14697         procs.
14698
14699         * docs/design/draft-query.txt: Removed LINKS from the query types,
14700         because all the rest can be dispatched to other pads -- seemed
14701         ugly to have a query that couldn't be dispatched. internal_links
14702         is fine as a pad method.
14703
14704         * gst/gstpad.h: Add query2 as a pad method, add the new functions
14705         in gstpad.c, but maintain binary compatibility for the moment.
14706         Will fix before 0.9 is out.
14707
14708         * gst/gstqueryutils.c: 
14709         * gst/gstqueryutils.h: New files, implement 3 methods for each
14710         query type: parse_query, parse_response, and set. Probably need an
14711         allocator as well.
14712
14713         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
14714
14715         * gst/elements/gstfilesink.c (gst_filesink_query2):
14716         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
14717         query_types, and formats methods.
14718
14719         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
14720         (gst_pad_set_query2_function): New functions.
14721         (gst_real_pad_init): Set query2_default as the default query2
14722         function. Basically just dispatches to internally linked pads.
14723
14724         Needs review!
14725         
14726         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
14727         without using the atomic operations. Only one thread can possibly
14728         be accessing the data at this point. Changed so as to avoid
14729         gst_atomic operations.
14730
14731 2005-05-06  Wim Taymans  <wim@fluendo.com>
14732
14733         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
14734         Also set caps if we use the fallback buffer alloc.
14735
14736 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
14737
14738         * docs/gst/Makefile.am:
14739         * docs/gst/gstreamer-docs.sgml:
14740         * docs/gst/gstreamer-sections.txt:
14741         * docs/gst/tmpl/gstatomic.sgml:
14742         * docs/gst/tmpl/gstmemchunk.sgml:
14743         * testsuite/elements/struct_i386.h:
14744         * win32/GStreamer.vcproj:
14745         * win32/Makefile:
14746           Purge GstAtomic stuff from docs and win32 makefiles as well
14747
14748 2005-05-06  Wim Taymans  <wim@fluendo.com>
14749
14750         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
14751         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
14752         * gst/gstpad.c: (gst_pad_peer_get_caps):
14753         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14754         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14755         (gst_queue_src_activate), (gst_queue_change_state):
14756         * gst/gstqueue.h:
14757         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14758         (intersect_caps_func):
14759         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
14760         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
14761         Some fixes for the peer_get_caps() change.
14762
14763 2005-05-06  Wim Taymans  <wim@fluendo.com>
14764
14765         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14766         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
14767         (gst_basesink_activate):
14768         Actually do something with error codes returned from the push
14769         functions.
14770
14771 2005-05-06  Wim Taymans  <wim@fluendo.com>
14772
14773         * docs/design/part-element-sink.txt:
14774         * docs/design/part-element-source.txt:
14775         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14776         (gst_basesink_event), (gst_basesink_activate):
14777         * gst/base/gstbasesink.h:
14778         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
14779         (gst_basesrc_activate):
14780         * gst/base/gstbasesrc.h:
14781         * gst/gstelement.c: (gst_element_pads_activate):
14782         Some more documentation.
14783         Fixed scheduling decision in _pads_activate().
14784
14785 2005-05-05  Andy Wingo  <wingo@pobox.com>
14786
14787         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
14788         the test suite.
14789
14790 2005-05-05  Wim Taymans  <wim@fluendo.com>
14791
14792         * gst/base/Makefile.am:
14793         * gst/base/gstbasesink.h:
14794         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14795         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
14796         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
14797         (gst_collectpads_class_init), (gst_collectpads_init),
14798         (gst_collectpads_finalize), (gst_collectpads_new),
14799         (gst_collectpads_set_function), (gst_collectpads_add_pad),
14800         (find_pad), (gst_collectpads_remove_pad),
14801         (gst_collectpads_is_active), (gst_collectpads_collect),
14802         (gst_collectpads_collect_range), (gst_collectpads_start),
14803         (gst_collectpads_stop), (gst_collectpads_peek),
14804         (gst_collectpads_pop), (gst_collectpads_available),
14805         (gst_collectpads_read), (gst_collectpads_flush),
14806         (gst_collectpads_chain):
14807         * gst/base/gstcollectpads.h:
14808         * gst/elements/Makefile.am:
14809         * gst/elements/gstelements.c:
14810         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14811         (gst_fakesink_get_times), (gst_fakesink_event),
14812         (gst_fakesink_preroll), (gst_fakesink_render):
14813         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14814         (gst_filesink_init), (gst_filesink_set_location),
14815         (gst_filesink_open_file), (gst_filesink_close_file),
14816         (gst_filesink_pad_query), (gst_filesink_event),
14817         (gst_filesink_render), (gst_filesink_change_state):
14818         * gst/elements/gstfilesink.h:
14819         Added object to help in making collect pad based elements.
14820         Ported filesink.
14821         Make event function in sink baseclass return gboolean.
14822
14823 2005-05-05  Wim Taymans  <wim@fluendo.com>
14824
14825         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
14826         (gst_bin_get_by_name):
14827         * gst/gstbuffer.h:
14828         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
14829         (gst_clock_finalize):
14830         * gst/gstdata.c: (gst_data_replace):
14831         * gst/gstdata.h:
14832         * gst/gstelement.c: (gst_element_request_pad),
14833         (gst_element_pads_activate):
14834         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14835         (gst_object_unref):
14836         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14837         (gst_pad_set_checkgetrange_function),
14838         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
14839         (gst_pad_check_pull_range), (gst_pad_pull_range),
14840         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14841         (gst_pad_pause_task), (gst_pad_stop_task):
14842         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14843         (gst_element_request_pad), (gst_pad_proxy_getcaps):
14844         Fix name lookup in GstBin.
14845         Added _data_replace() function and _buffer_replace()
14846         Use finalize method to clean up clock.
14847         Fix refcounting on request pads.
14848         Fix pad schedule mode error.
14849         Some more object refcounting debug info,
14850
14851
14852 2005-05-04  Andy Wingo <wingo@pobox.com>
14853
14854         * check/Makefile.am:
14855         * docs/gst/tmpl/gstatomic.sgml:
14856         * docs/gst/tmpl/gstplugin.sgml:
14857         * gst/base/gstbasesink.c: (gst_basesink_activate):
14858         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
14859         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
14860         (gst_basesrc_query), (gst_basesrc_set_property),
14861         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
14862         (gst_basesrc_activate):
14863         * gst/base/gstbasesrc.h:
14864         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
14865         (gst_base_transform_src_activate):
14866         * gst/elements/gstelements.c:
14867         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14868         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14869         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14870         * gst/elements/gsttypefindelement.c: (find_element_get_length),
14871         (gst_type_find_element_checkgetrange),
14872         (gst_type_find_element_activate):
14873         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
14874         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
14875         (gst_caps_load_thyself):
14876         * gst/gstelement.c: (gst_element_pads_activate),
14877         (gst_element_save_thyself), (gst_element_restore_thyself):
14878         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
14879         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
14880         * gst/gstpad.h:
14881         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
14882         (gst_xml_parse_file), (gst_xml_parse_memory),
14883         (gst_xml_get_element), (gst_xml_make_element):
14884         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14885         (_file_index_id_save_xml), (gst_file_index_commit):
14886         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
14887         (read_enum), (load_pad_template), (load_feature), (load_plugin),
14888         (load_paths):
14889         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
14890         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
14891         * tools/gst-complete.c: (main):
14892         * tools/gst-compprep.c: (main):
14893         * tools/gst-inspect.c: (print_element_properties_info):
14894         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
14895         * tools/gst-xmlinspect.c: (print_element_properties):
14896         GCC 4 fixen.
14897         
14898 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14899
14900         * gst/gstplugin.c: (gst_plugin_check_module),
14901         (gst_plugin_check_file), (gst_plugin_load_file):
14902             apply patch from #172526 to make register work on MacOSX
14903
14904 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14905
14906         * docs/gst/tmpl/gstconfig.sgml:
14907         * gst/gstconfig.h.in:
14908           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
14909         * testsuite/debug/printf_extension.c: (main):
14910           Do not use GST_PTR_FORMAT on pointers to types with
14911           sizeof < sizeof(gpointer).  Fixes test on 64-bit
14912         * testsuite/elements/property.h:
14913           use correct printf format
14914
14915 2005-05-02  Wim Taymans  <wim@fluendo.com>
14916
14917         * docs/design/draft-push-pull.txt:
14918         * docs/design/draft-query.txt:
14919         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
14920         (gst_basesrc_start):
14921         Added draft for new query API.
14922         Added draft for better selecting scheduling methods.
14923         Make basesrc ignore length if the subclass does not support
14924         it.
14925
14926 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14927
14928         * gst/Makefile.am:
14929           possible fixes for automake-1.5 - _LIBADD is reserved
14930
14931 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14932
14933         * docs/faq/Makefile.am:
14934         * docs/manual/Makefile.am:
14935         * docs/manuals.mak:
14936         * docs/pwg/Makefile.am:
14937         * gst/Makefile.am:
14938           possible fixes for automake-1.5
14939
14940 2005-04-28  Wim Taymans  <wim@fluendo.com>
14941
14942         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14943         (gst_basesink_pad_getcaps), (gst_basesink_init),
14944         (gst_basesink_do_sync):
14945         * gst/gstclock.c: (gst_clock_entry_new):
14946         * gst/gstevent.c: (gst_event_discont_get_value):
14947         * gst/gstpipeline.c: (pipeline_bus_handler),
14948         (gst_pipeline_change_state):
14949         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14950         Better debugging of clocking info.
14951         Allow NULL values when getting discont values.
14952
14953 2005-04-27  Wim Taymans  <wim@fluendo.com>
14954
14955         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14956         * check/gst/gstpad.c: (gst_pad_suite):
14957         Increase timeout for checks.
14958
14959 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14960
14961         * check/Makefile.am:
14962           fix the broken rule for cleanup.  Apparently this rule is
14963           only needed on FC2, so maybe this warrants further autotool
14964           inspection.
14965
14966 2005-04-26  Wim Taymans  <wim@fluendo.com>
14967
14968         * gst/gsttrashstack.h:
14969         Ooohh. a nasty one! After having a failed pop() from the stack,
14970         it's possible that the stack is empty. In that case, don't
14971         follow the NULL pointer.
14972
14973 2005-04-25  Wim Taymans  <wim@fluendo.com>
14974
14975         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14976         (gst_pad_set_checkgetrange_function),
14977         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
14978         (gst_pad_check_pull_range), (gst_pad_pull_range),
14979         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14980         (gst_pad_pause_task), (gst_pad_stop_task):
14981         * gst/gstplugin.c: (gst_plugin_load):
14982         * gst/gstplugin.h:
14983         Remove gst_library_load as it does more harm than good with
14984         the new g_module flags.
14985         Revert bogus caps template check in pad linking, pad caps
14986         are important when linking not the template, which is more
14987         general than the current caps.
14988
14989 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14990
14991         * gst/autoplug/.cvsignore:
14992         * gst/autoplug/Makefile.am:
14993         * gst/autoplug/gstsearchfuncs.c:
14994         * gst/autoplug/gstsearchfuncs.h:
14995         * gst/autoplug/gstspider.c:
14996         * gst/autoplug/gstspider.h:
14997         * gst/autoplug/gstspideridentity.c:
14998         * gst/autoplug/gstspideridentity.h:
14999         * gst/autoplug/spidertest.c:
15000           Die, spider, die.
15001
15002 2005-04-25  Wim Taymans  <wim@fluendo.com>
15003
15004         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15005         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15006         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
15007         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
15008         * gst/gstpad.h:
15009         Added stubs for unimplemented functions. 
15010
15011 2005-04-24  David Schleef  <ds@schleef.org>
15012
15013         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
15014         please fix.
15015
15016 2005-04-24  David Schleef  <ds@schleef.org>
15017
15018         Convert everything from GstAtomicInt to g_atomic_int_*, and
15019         remove gstatomic.
15020         * gst/Makefile.am:
15021         * gst/gstatomic.c:
15022         * gst/gstatomic.h:
15023         * gst/gstatomic_impl.h:
15024         * gst/gstbuffer.c:
15025         * gst/gstcaps.c:
15026         * gst/gstcaps.h:
15027         * gst/gstclock.c:
15028         * gst/gstclock.h:
15029         * gst/gstdata.c:
15030         * gst/gstdata.h:
15031         * gst/gstdata_private.h:
15032         * gst/gstevent.c:
15033         * gst/gstinfo.c:
15034         * gst/gstinfo.h:
15035         * gst/gstmessage.c:
15036         * gst/gstobject.c:
15037         * gst/gstobject.h:
15038         * gst/gststructure.c:
15039         * gst/gststructure.h:
15040         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
15041         * gst/gstutils.h:
15042
15043 2005-04-24  David Schleef  <ds@schleef.org>
15044
15045         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
15046         make the regressions tests work.  Remove some code that is no
15047         longer true.
15048         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
15049         Disable warning for pads without templates.
15050
15051 2005-04-24  David Schleef  <ds@schleef.org>
15052
15053         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
15054         functions that handle filtered links.
15055         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
15056         removed functions.
15057         * gst/gstutils.c: Fix/remove utility functions that handle
15058         filtered caps.
15059         * gst/gstutils.h:
15060         * gst/gstvalue.c: Add serialization/deserialization of caps
15061         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
15062         requires fixing so that the filter caps notation creates
15063         a capsfilter element and sets the filter_caps property.  I
15064         think everyone probably wants to keep the shorthand notation.
15065         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
15066         * docs/gst/tmpl/gstpad.sgml:
15067
15068         * gst/elements/gstelements.c: Register capsfilter element.
15069         * gst/Makefile.am: fix spacing
15070         * docs/random/ds/0.9-suggested-changes: random
15071
15072 2005-04-23  David Schleef  <ds@schleef.org>
15073
15074         * gst/elements/Makefile.am:
15075         * gst/elements/gstcapsfilter.c: New element that acts like an
15076         identity, but filters caps.  Will eventually replace filtered
15077         caps in pad linking.
15078         * gst/gstutils.c: (gst_element_create_all_pads): New function
15079         to create all the ALWAYS pads that are registered with an
15080         element class.  This functionality should eventually be
15081         merged in with GstElement initialization.
15082         * gst/gstutils.h:
15083         * testsuite/trigger/README: part of trigger test code that should
15084         have been checked in a long time ago.
15085
15086 2005-04-23  David Schleef  <ds@schleef.org>
15087
15088         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
15089         needed with new versions of libtool (nobody will confirm this),
15090         and hard to carry around.
15091         * gst/autoplug/Makefile.am:
15092         * gst/base/Makefile.am:
15093         * gst/elements/Makefile.am:
15094         * gst/indexers/Makefile.am:
15095         * gst/schedulers/Makefile.am:
15096         * libs/gst/bytestream/Makefile.am:
15097         * libs/gst/control/Makefile.am:
15098         * libs/gst/dataprotocol/Makefile.am:
15099         * libs/gst/getbits/Makefile.am:
15100
15101 2005-04-21  Wim Taymans  <wim@fluendo.com>
15102
15103         * docs/design/draft-push-pull.txt:
15104         * docs/design/part-MT-refcounting.txt:
15105         * docs/design/part-TODO.txt:
15106         * docs/design/part-caps.txt:
15107         * docs/design/part-events.txt:
15108         * docs/design/part-gstbus.txt:
15109         * docs/design/part-gstpipeline.txt:
15110         * docs/design/part-messages.txt:
15111         * docs/design/part-push-pull.txt:
15112         * docs/design/part-query.txt:
15113         Some more docs.
15114
15115 2005-04-21  Wim Taymans  <wim@fluendo.com>
15116
15117         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15118         (gst_message_new), (gst_message_new_error),
15119         (gst_message_new_warning), (gst_message_new_tag),
15120         (gst_message_new_state_changed), (gst_message_new_application),
15121         (gst_message_get_structure):
15122         * gst/gstmessage.h:
15123         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15124         (gst_structure_copy_conditional):
15125         Use parent refcount in GstMessage to ensure GstStructure
15126         consistency.
15127         Cleaned up headers a bit.
15128         
15129
15130 2005-04-20  Wim Taymans  <wim@fluendo.com>
15131
15132         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15133         (gst_basesink_pad_getcaps), (gst_basesink_init),
15134         (gst_basesink_chain_unlocked):
15135         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15136         (gst_type_find_helper):
15137         * gst/elements/gsttypefindelement.c:
15138         (gst_type_find_element_have_type), (gst_type_find_element_init),
15139         (stop_typefinding), (gst_type_find_element_handle_event),
15140         (find_suggest), (gst_type_find_element_chain),
15141         (gst_type_find_element_checkgetrange),
15142         (gst_type_find_element_getrange), (do_typefind),
15143         (gst_type_find_element_activate):
15144         * gst/gstbuffer.c: (_gst_buffer_sub_free),
15145         (gst_buffer_default_free), (gst_buffer_default_copy),
15146         (gst_buffer_set_caps):
15147         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15148         (gst_caps_replace):
15149         * gst/gstmessage.c: (gst_message_new),
15150         (gst_message_new_state_changed):
15151         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15152         (gst_pad_set_checkgetrange_function),
15153         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15154         (gst_pad_set_caps), (gst_pad_check_pull_range),
15155         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15156         * gst/gstpad.h:
15157         * gst/gsttypefind.c: (gst_type_find_register):
15158         Make gst_caps_replace() work like other _replace() functions.
15159         Use _caps_replace() where possible.
15160         Make sure _message_new() initialises its field.
15161         Add gst_static_pad_template_get_caps()
15162
15163
15164 2005-04-18  Andy Wingo  <wingo@pobox.com>
15165
15166         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15167         on the peer, not the pad. I think that was a typo. Pass an extra
15168         arg to see if random access is possible. Activate the pads as
15169         PULL_RANGE if possible.
15170
15171         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15172
15173         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
15174         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15175         to PROP_....
15176
15177 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15178
15179         * docs/faq/using.xml:
15180           Add note on gstreamer-properties (#154996).
15181
15182 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15183
15184         * docs/random/bbb/optional-properties:
15185           Some analysis on optional properties.
15186
15187 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15188
15189         * docs/gst/tmpl/gstelementfactory.sgml:
15190         * gst/gstelement.h:
15191         * gst/gstelementfactory.c: (gst_element_factory_init),
15192         (gst_element_factory_cleanup), (gst_element_register),
15193         (__gst_element_factory_add_static_pad_template),
15194         (gst_element_factory_get_static_pad_templates),
15195         (gst_element_factory_can_src_caps),
15196         (gst_element_factory_can_sink_caps):
15197         * gst/registries/Makefile.am:
15198         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15199         (gst_xml_registry_class_init), (gst_xml_registry_init),
15200         (gst_xml_registry_new), (gst_xml_registry_set_property),
15201         (gst_xml_registry_get_property), (get_time), (make_dir),
15202         (gst_xml_registry_get_perms_func),
15203         (plugin_times_older_than_recurse), (plugin_times_older_than),
15204         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15205         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15206         (add_to_char_array), (read_string), (read_uint), (read_enum),
15207         (load_pad_template), (load_feature), (load_plugin), (load_paths),
15208         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15209         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15210         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15211         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15212         (gst_xml_registry_rebuild):
15213         * gst/registries/gstlibxmlregistry.h:
15214         * tools/gst-compprep.c: (main):
15215         * tools/gst-inspect.c: (print_pad_templates_info):
15216         * tools/gst-xmlinspect.c: (print_element_info):
15217           Use libxml2 for registry parsing, use staticpadtemplates in
15218           elementfactories. Makes gst_init() +/- 10x faster.
15219
15220 2005-04-12  Wim Taymans  <wim@fluendo.com>
15221
15222         * gst/base/Makefile.am:
15223         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15224         (gst_basesink_pad_getcaps), (gst_basesink_init),
15225         (gst_basesink_event), (gst_basesink_change_state):
15226         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15227         (gst_basesrc_init), (gst_basesrc_query),
15228         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15229         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15230         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15231         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15232         (gst_basesrc_stop), (gst_basesrc_activate),
15233         (gst_basesrc_change_state):
15234         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15235         (helper_find_suggest), (gst_type_find_helper):
15236         * gst/base/gsttypefindhelper.h:
15237         * gst/elements/Makefile.am:
15238         * gst/elements/gstelements.c:
15239         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15240         (gst_fakesink_get_times), (gst_fakesink_event),
15241         (gst_fakesink_preroll), (gst_fakesink_render):
15242         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15243         (gst_fakesrc_init), (gst_fakesrc_event_handler),
15244         (gst_fakesrc_get_property), (gst_fakesrc_create),
15245         (gst_fakesrc_start), (gst_fakesrc_stop):
15246         * gst/elements/gstfakesrc.h:
15247         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15248         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15249         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15250         (gst_filesrc_create_read), (gst_filesrc_create),
15251         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
15252         (gst_filesrc_start):
15253         * gst/elements/gsttypefindelement.c:
15254         (gst_type_find_element_have_type), (gst_type_find_element_init),
15255         (start_typefinding), (stop_typefinding), (push_buffer_store),
15256         (gst_type_find_element_handle_event),
15257         (gst_type_find_element_chain),
15258         (gst_type_find_element_checkgetrange),
15259         (gst_type_find_element_getrange), (do_typefind),
15260         (gst_type_find_element_activate),
15261         (gst_type_find_element_change_state):
15262         * gst/elements/gsttypefindelement.h:
15263         * gst/gstpipeline.c: (pipeline_bus_handler):
15264         Added typefind helper.
15265         Small preroll fix in the base sink.
15266         Disable typefind code in basesrc.
15267         Crude port of typefindelement.
15268         Fakesrc cleanups.
15269
15270
15271 2005-04-11  Wim Taymans  <wim@fluendo.com>
15272
15273         * check/gst/gstbus.c: (gstbus_suite):
15274         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
15275         * check/gstcheck.h:
15276           Fix up the timeout so that the test does not fail.
15277
15278 2005-04-06  Wim Taymans  <wim@fluendo.com>
15279
15280         * gst/base/README:
15281         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15282         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
15283         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15284         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15285         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15286         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15287         (gst_basesrc_stop), (gst_basesrc_activate),
15288         (gst_basesrc_change_state), (basesrc_find_peek),
15289         (basesrc_find_suggest), (gst_basesrc_type_find):
15290         * gst/base/gstbasesrc.h:
15291         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
15292         (gst_filesrc_class_init), (gst_filesrc_init),
15293         (gst_filesrc_finalize), (gst_filesrc_set_location),
15294         (gst_filesrc_set_property), (gst_filesrc_get_property),
15295         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15296         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15297         (gst_filesrc_create_read), (gst_filesrc_create),
15298         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
15299         * gst/elements/gstfilesrc.h:
15300         * gst/gstelement.c: (gst_element_get_state_func),
15301         (gst_element_lost_state), (gst_element_pads_activate):
15302         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15303         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15304         (gst_pad_pull_range):
15305         * gst/gstpad.h:
15306         More work on the generic source base class, implement seeking,
15307         query.
15308         Make filesrc extend the base source class.
15309         Added gst_pad_set_checkgetrange_function to GstPad.
15310
15311 2005-04-06  Andy Wingo  <wingo@pobox.com>
15312
15313         * pkgconfig/gstreamer-base.pc.in:
15314         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
15315
15316         * pkgconfig/Makefile.am:
15317         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
15318
15319 2005-04-04  Wim Taymans  <wim@fluendo.com>
15320
15321         * gst/base/Makefile.am:
15322         * gst/base/README:
15323         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15324         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15325         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15326         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
15327         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15328         (gst_basesrc_base_init), (gst_basesrc_class_init),
15329         (gst_basesrc_init), (gst_basesrc_get_formats),
15330         (gst_basesrc_get_query_types), (gst_basesrc_query),
15331         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
15332         (gst_basesrc_set_property), (gst_basesrc_get_property),
15333         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
15334         (gst_basesrc_loop), (gst_basesrc_activate),
15335         (gst_basesrc_change_state):
15336         * gst/base/gstbasesrc.h:
15337         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
15338         (gst_fakesrc_class_init), (gst_fakesrc_init),
15339         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
15340         (gst_fakesrc_get_property), (gst_fakesrc_create):
15341         * gst/elements/gstfakesrc.h:
15342         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
15343         (gst_filesrc_open_file), (gst_filesrc_loop),
15344         (gst_filesrc_activate), (filesrc_find_peek),
15345         (gst_filesrc_type_find):
15346         Made base source class, make fakesrc extend it.
15347         Add comments to basesink class.
15348         Some filesrc cleanup.
15349
15350 2005-03-31  David Schleef  <ds@schleef.org>
15351
15352         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
15353         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
15354         expected to link against libgstreamer.
15355         * gst/base/Makefile.am: link against libgstreamer
15356         * gst/elements/Makefile.am: same
15357
15358 2005-03-31  Andy Wingo  <wingo@pobox.com>
15359
15360         * tests/instantiate/Makefile.am:
15361         * tests/instantiate/caps.c: Add test to test speed of caps copy
15362         and free.
15363
15364         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
15365         GMemChunk to be fair.
15366
15367         * gst/gsttrashstack.h: Remove warning about using the fallback
15368         trash stack implementation, it's still faster than malloc.
15369
15370 2005-03-30  Andy Wingo  <wingo@pobox.com>
15371
15372         * tests/complexity.c: Add a copyright.
15373
15374 2005-03-31  Wim Taymans  <wim@fluendo.com>
15375
15376         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
15377         (gst_base_transform_class_init), (gst_base_transform_init),
15378         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
15379         (gst_base_transform_get_property),
15380         (gst_base_transform_sink_activate),
15381         (gst_base_transform_src_activate),
15382         (gst_base_transform_change_state):
15383         * gst/base/gstbasetransform.h:
15384         * gst/elements/gstidentity.c: (gst_identity_class_init),
15385         (gst_identity_event), (gst_identity_check_perfect),
15386         (gst_identity_transform), (gst_identity_start),
15387         (gst_identity_stop):
15388         Added start/stop methods to transform base class so subclasses 
15389         don't need to deal with state changes even.
15390
15391 2005-03-31  Wim Taymans  <wim@fluendo.com>
15392
15393         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
15394         (gst_event_new_discontinuous), (gst_event_discont_get_value):
15395         * gst/gstevent.h:
15396         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15397         (gst_pad_pull_range):
15398         Added rate to the discont event to prepare for variable speed
15399         and reverse playback.
15400
15401 2005-03-29  David Schleef  <ds@schleef.org>
15402
15403         * configure.ac:
15404         * testsuite/trigger/Makefile.am:
15405         * testsuite/trigger/trigger.c: A little example program to show
15406         how trigger-based elements can work.
15407
15408 2005-03-29  Wim Taymans  <wim@fluendo.com>
15409
15410         * gst/base/Makefile.am:
15411         * gst/base/README:
15412         * gst/base/gstbasesink.c: (gst_basesink_get_type),
15413         (gst_basesink_base_init), (gst_basesink_class_init),
15414         (gst_basesink_pad_getcaps), (gst_basesink_init),
15415         (gst_basesink_activate), (gst_basesink_change_state):
15416         * gst/base/gstbasesink.h:
15417         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
15418         (gst_base_transform_base_init), (gst_base_transform_finalize),
15419         (gst_base_transform_class_init), (gst_base_transform_init),
15420         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
15421         (gst_base_transform_event), (gst_base_transform_getrange),
15422         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
15423         (gst_base_transform_set_property),
15424         (gst_base_transform_get_property),
15425         (gst_base_transform_sink_activate),
15426         (gst_base_transform_src_activate),
15427         (gst_base_transform_change_state):
15428         * gst/base/gstbasetransform.h:
15429         * gst/elements/gstidentity.c: (gst_identity_finalize),
15430         (gst_identity_class_init), (gst_identity_init),
15431         (gst_identity_event), (gst_identity_check_perfect),
15432         (gst_identity_transform), (gst_identity_set_property),
15433         (gst_identity_get_property), (gst_identity_change_state):
15434         * gst/elements/gstidentity.h:
15435         * gst/gstelement.c: (gst_element_get_state_func),
15436         (gst_element_lost_state), (gst_element_pads_activate):
15437         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15438         (gst_pad_check_pull_range), (gst_pad_pull_range):
15439         * gst/gstpad.h:
15440         Simplify pad activation.
15441         Added function to check if pull_range can be performed.
15442         Error out when pulling inactive or flushing pads.
15443         Removed const from refcounted types as it does not make sense.
15444         Simplify pad templates in basesink
15445         Added base class for simple 1-to-1 transforms.
15446         Make identity subclass the base transform.
15447
15448 2005-03-29  Andy Wingo  <wingo@pobox.com>
15449
15450         * docs/libs/gstreamer-libs-overrides.txt: 
15451         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
15452         really don't understand what's going on, but like whatever. I want
15453         green buildbot!
15454
15455         * docs/gst/Makefile.am:
15456         * docs/libs/Makefile.am: Dist the overrides files.
15457
15458         * check/Makefile.am (clean-local): Remove .libs directories.
15459
15460         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
15461         elements to EXTRA_DIST, so po/ files are happy.
15462
15463         * po/POTFILES.in: Er, remove it here.
15464
15465         * po/POTFILES: Remove gstspider.c.
15466
15467         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
15468
15469         * docs/libs/gstreamer-libs-docs.sgml: 
15470         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
15471         bytestream.
15472
15473         * tests/complexity.c (main): Set the length of the preroll queue
15474         on the sinks to prevent a lockup.
15475
15476         * libs/gst/dataprotocol/Makefile.am: 
15477         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
15478         the same as the one in check/gst-libs/gdp.c.
15479
15480         * po/, docs/gst/: Commit automatic changes to docs and po files.
15481
15482         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
15483         the versioned libgstbase.
15484
15485         * check/Makefile.am: Depend on an unversioned gst-register, seems
15486         to make autoconf happier.
15487
15488         * gst/base/Makefile.am: Make libgstbase a versioned lib.
15489
15490 2005-03-28  Wim Taymans  <wim@fluendo.com>
15491
15492         * configure.ac:
15493         * docs/design/part-gstelement.txt:
15494         * docs/design/part-negotiation.txt:
15495         * docs/design/part-preroll.txt:
15496         * docs/design/part-scheduling.txt:
15497         * docs/design/part-states.txt:
15498         * gst/Makefile.am:
15499         * gst/base/Makefile.am:
15500         * gst/base/README:
15501         * gst/base/gstbasesink.c: (gst_basesink_get_template),
15502         (gst_basesink_base_init), (gst_basesink_class_init),
15503         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15504         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15505         (gst_basesink_set_pad_functions),
15506         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
15507         (gst_basesink_set_property), (gst_basesink_get_property),
15508         (gst_base_sink_get_template), (gst_base_sink_get_caps),
15509         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
15510         (gst_basesink_preroll_queue_push),
15511         (gst_basesink_preroll_queue_empty),
15512         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
15513         (gst_basesink_event), (gst_basesink_get_times),
15514         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
15515         (gst_basesink_chain_unlocked), (gst_basesink_chain),
15516         (gst_basesink_loop), (gst_basesink_activate),
15517         (gst_basesink_change_state):
15518         * gst/base/gstbasesink.h:
15519         * gst/elements/Makefile.am:
15520         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
15521         (gst_fakesink_class_init), (gst_fakesink_init),
15522         (gst_fakesink_set_property), (gst_fakesink_get_property),
15523         (gst_fakesink_get_times), (gst_fakesink_event),
15524         (gst_fakesink_preroll), (gst_fakesink_render),
15525         (gst_fakesink_change_state):
15526         * gst/elements/gstfakesink.h:
15527         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15528         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
15529         * gst/gstelement.c: (gst_element_add_pad),
15530         (gst_element_get_state_func), (gst_element_abort_state),
15531         (gst_element_commit_state), (gst_element_lost_state),
15532         (gst_element_set_state), (gst_element_pads_activate):
15533         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
15534         * gst/gstpipeline.c: (gst_pipeline_send_event),
15535         (gst_pipeline_change_state):
15536         Added state change code.
15537         Added/updated docs.
15538         Added sink base class, make fakesink extend the base class.
15539         Small cleanups in GstPipeline.
15540
15541 2005-03-26  David Schleef  <ds@schleef.org>
15542
15543         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
15544         is broken and should be implemented in a different library.
15545         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
15546         * gst/gst.h: remove gstcpu.h
15547         * gst/gstcpu.c: remove
15548         * gst/gstcpu.h: remove
15549         * gst/Makefile.am.future: Remove this file.  It's ancient.
15550
15551 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15552
15553         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15554         (gst_bin_send_event):
15555           Add default event/set_manager handlers. The set_manager handler
15556           takes care that the manager is distributed over kids that were
15557           already in the bin before the manager was set. The event handler
15558           is a utility virtual function that sends the event over all sinks,
15559           so that gst_element_send_event (bin, event); has the expected
15560           behaviour.
15561         * gst/gstpad.c: (gst_pad_event_default):
15562           Re-install default event handling for discontinuities, so that
15563           seeking works without requiring hacks in applications or extra
15564           code in sinks.
15565         * gst/gstpipeline.c: (gst_pipeline_class_init),
15566         (gst_pipeline_send_event):
15567           Half hack, half utility: set a pipeline to PAUSED for seek events,
15568           since that is the only way we can guarantee a/v sync. Means that
15569           you can do gst_element_seek (pipeline, method, pos); on a pipeline
15570           and it "just works".
15571
15572 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15573
15574         * gst/gstpipeline.c: (gst_pipeline_use_clock):
15575           Lock/unlock mismatch.
15576
15577 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15578
15579         * docs/faq/gst-uninstalled:
15580           add gst-plugins-base
15581         * docs/gst/Makefile.am:
15582           don't error out until docs are fixed
15583         * docs/gst/gstreamer.types:
15584           remove thread
15585
15586 2005-03-22  Wim Taymans  <wim@fluendo.com>
15587
15588         * check/Makefile.am:
15589         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
15590         * gst/gststructure.c: (gst_structure_set_valist),
15591         (gst_structure_copy_conditional):
15592         Activated more tests.
15593         Added message test.
15594         Added G_TYPE_POINTER to GstStructure.
15595         
15596
15597 2005-03-22  Wim Taymans  <wim@fluendo.com>
15598
15599         * docs/design/part-TODO.txt:
15600         * docs/design/part-events.txt:
15601         * docs/design/part-gstbin.txt:
15602         * docs/design/part-gstbus.txt:
15603         * docs/design/part-gstpipeline.txt:
15604         * docs/design/part-messages.txt:
15605         * gst/gstbus.c:
15606         * gst/gstmessage.c:
15607         Docs updates
15608
15609 2005-03-21  Wim Taymans  <wim@fluendo.com>
15610
15611         * gst/gstbus.c: (gst_bus_post):
15612         Fix copy-and-paste error.
15613
15614 2005-03-21  Wim Taymans  <wim@fluendo.com>
15615
15616         * check/Makefile.am:
15617         * gst/Makefile.am:
15618         * gst/elements/Makefile.am:
15619         * gst/elements/gstelements.c:
15620         * gst/elements/gstfakesink.c: (gst_fakesink_init),
15621         (gst_fakesink_event), (gst_fakesink_chain):
15622         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15623         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15624         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15625         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15626         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15627         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15628         (gst_fakesrc_loop), (gst_fakesrc_activate),
15629         (gst_fakesrc_change_state):
15630         * gst/elements/gstfakesrc.h:
15631         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15632         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15633         (gst_filesrc_open_file), (gst_filesrc_loop),
15634         (gst_filesrc_activate), (gst_filesrc_change_state),
15635         (filesrc_find_peek), (filesrc_find_suggest),
15636         (gst_filesrc_type_find):
15637         * gst/elements/gstidentity.c: (gst_identity_finalize),
15638         (gst_identity_class_init), (gst_identity_init),
15639         (gst_identity_proxy_getcaps), (identity_queue_push),
15640         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15641         (gst_identity_getrange), (gst_identity_chain),
15642         (gst_identity_sink_loop), (gst_identity_src_loop),
15643         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
15644         (gst_identity_set_property), (gst_identity_get_property),
15645         (gst_identity_change_state):
15646         * gst/elements/gstidentity.h:
15647         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
15648         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
15649         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
15650         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
15651         (gst_tee_sink_activate):
15652         * gst/elements/gsttee.h:
15653         * gst/gst.c: (gst_register_core_elements), (init_post):
15654         * gst/gst.h:
15655         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
15656         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
15657         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
15658         (gst_bin_change_state):
15659         * gst/gstbin.h:
15660         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
15661         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
15662         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
15663         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
15664         (gst_bus_set_sync_handler), (gst_bus_create_watch),
15665         (bus_watch_callback), (bus_watch_destroy),
15666         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
15667         (poll_timeout), (gst_bus_poll):
15668         * gst/gstbus.h:
15669         * gst/gstcaps.h:
15670         * gst/gstdata.h:
15671         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15672         (gst_element_post_message), (gst_element_message_full),
15673         (gst_element_get_state_func), (gst_element_get_state),
15674         (gst_element_abort_state), (gst_element_commit_state),
15675         (gst_element_lost_state), (gst_element_set_state),
15676         (gst_element_pads_activate), (gst_element_change_state),
15677         (gst_element_dispose), (gst_element_set_manager_func),
15678         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
15679         (gst_element_set_manager), (gst_element_get_manager),
15680         (gst_element_set_bus), (gst_element_get_bus),
15681         (gst_element_set_scheduler), (gst_element_get_scheduler):
15682         * gst/gstelement.h:
15683         * gst/gstevent.c: (gst_event_new_segment_seek),
15684         (gst_event_new_flush):
15685         * gst/gstevent.h:
15686         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
15687         (_gst_message_free), (gst_message_get_type), (gst_message_new),
15688         (gst_message_new_eos), (gst_message_new_error),
15689         (gst_message_new_warning), (gst_message_new_tag),
15690         (gst_message_new_state_changed), (gst_message_new_application),
15691         (gst_message_get_structure), (gst_message_parse_tag),
15692         (gst_message_parse_state_changed), (gst_message_parse_error),
15693         (gst_message_parse_warning):
15694         * gst/gstmessage.h:
15695         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
15696         (gst_real_pad_set_property), (gst_pad_set_active),
15697         (gst_pad_is_active), (gst_pad_set_blocked_async),
15698         (gst_pad_set_blocked), (gst_pad_is_blocked),
15699         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
15700         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
15701         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
15702         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
15703         (gst_pad_link_filtered), (gst_pad_relink_filtered),
15704         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
15705         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
15706         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
15707         (gst_pad_set_caps), (gst_pad_configure_sink),
15708         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
15709         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
15710         (gst_real_pad_dispose), (gst_real_pad_finalize),
15711         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
15712         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15713         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
15714         * gst/gstpad.h:
15715         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
15716         (pipeline_bus_handler), (gst_pipeline_change_state),
15717         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
15718         * gst/gstpipeline.h:
15719         * gst/gstprobe.h:
15720         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15721         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
15722         (gst_queue_link_src), (gst_queue_bufferalloc),
15723         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15724         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
15725         (gst_queue_loop), (gst_queue_handle_src_event),
15726         (gst_queue_handle_src_query), (gst_queue_src_activate),
15727         (gst_queue_change_state):
15728         * gst/gstqueue.h:
15729         * gst/gstscheduler.c: (gst_scheduler_init),
15730         (gst_scheduler_dispose), (gst_scheduler_create_task),
15731         (gst_scheduler_factory_create):
15732         * gst/gstscheduler.h:
15733         * gst/gststructure.c: (gst_structure_get_type),
15734         (gst_structure_copy_conditional):
15735         * gst/gststructure.h:
15736         * gst/gsttaginterface.h:
15737         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15738         (gst_task_init), (gst_task_dispose), (gst_task_create),
15739         (gst_task_get_state), (gst_task_start), (gst_task_stop),
15740         (gst_task_pause):
15741         * gst/gsttask.h:
15742         * gst/gstthread.c:
15743         * gst/gstthread.h:
15744         * gst/gsttypes.h:
15745         * gst/schedulers/Makefile.am:
15746         * gst/schedulers/cothreads_compat.h:
15747         * gst/schedulers/entryscheduler.c:
15748         * gst/schedulers/faircothreads.c:
15749         * gst/schedulers/faircothreads.h:
15750         * gst/schedulers/fairscheduler.c:
15751         * gst/schedulers/gstbasicscheduler.c:
15752         * gst/schedulers/gstoptimalscheduler.c:
15753         * gst/schedulers/gthread-cothreads.h:
15754         * gst/schedulers/threadscheduler.c:
15755         (gst_thread_scheduler_task_get_type),
15756         (gst_thread_scheduler_task_class_init),
15757         (gst_thread_scheduler_task_init),
15758         (gst_thread_scheduler_task_start),
15759         (gst_thread_scheduler_task_stop),
15760         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
15761         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15762         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
15763         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
15764         (plugin_init):
15765         * libs/gst/Makefile.am:
15766         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
15767         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
15768         (gst_file_pad_parent_set):
15769         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15770         (gst_dp_event_from_packet):
15771         * tests/complexity.c: (main):
15772         * tests/mass_elements.c: (main):
15773         * testsuite/states/locked.c: (message_received), (main):
15774         * testsuite/states/parent.c: (main):
15775         * tools/gst-inspect.c: (print_element_flag_info),
15776         (print_implementation_info), (print_pad_info):
15777         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
15778         (main):
15779         * tools/gst-md5sum.c: (event_loop), (main):
15780         * tools/gst-typefind.c: (main):
15781         * tools/gst-xmlinspect.c: (print_element_info):
15782         Next big merge.
15783         Added GstBus for mainloop integration.
15784         Added GstMessage for sending notifications on the bus.
15785         Added GstTask as an abstraction for pipeline entry points.
15786         Removed GstThread.
15787         Removed Schedulers.
15788         Simplified GstQueue for multithreaded core.
15789         Made _link threadsafe, removed old capsnego.
15790         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
15791         Added pad blocking functions.
15792         Reworked scheduling functions in GstPad to prepare for
15793         scheduling updates soon.
15794         Moved events out of data stream.
15795         Simplified GstEvent types.
15796         Added return values to push/pull.
15797         Removed clocking from GstElement.
15798         Added prototypes for state change function for next merge.
15799         Removed iterate from bins and state change management.
15800         Fixed some elements, disabled others for now.
15801         Fixed -inspect and -launch.
15802         Added check for GstBus.
15803
15804 2005-03-10  Wim Taymans  <wim@fluendo.com>
15805
15806         * docs/design/part-MT-refcounting.txt:
15807         * docs/design/part-clocks.txt:
15808         * docs/design/part-gstelement.txt:
15809         * docs/design/part-gstobject.txt:
15810         * docs/design/part-standards.txt:
15811         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15812         (gst_bin_remove_func), (gst_bin_remove):
15813         * gst/gstbin.h:
15814         * gst/gstbuffer.c:
15815         * gst/gstcaps.h:
15816         * testsuite/clock/clock1.c: (main):
15817         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
15818         (main):
15819         * testsuite/dlopen/loadgst.c: (do_test):
15820         * testsuite/refcounting/bin.c: (add_remove_test1),
15821         (add_remove_test2), (main):
15822         * testsuite/refcounting/element.c: (main):
15823         * testsuite/refcounting/element_pad.c: (main):
15824         * testsuite/refcounting/pad.c: (main):
15825         * tools/gst-launch.c: (sigint_handler_sighandler):
15826         * tools/gst-typefind.c: (main):
15827         Doc updates.
15828         Added doc about clock.
15829         removed gst_bin_iterate_recurse_up(), marked methods
15830         for removal.
15831         Fix more testsuites.
15832
15833 2005-03-09  Wim Taymans  <wim@fluendo.com>
15834
15835         * gst/gstpad.c: (gst_pad_get_direction),
15836         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
15837         (gst_pad_collect_valist):
15838         * testsuite/bins/interface.c: (main):
15839         * testsuite/caps/audioscale.c: (test_caps):
15840         * testsuite/caps/caps.c: (test1), (test2), (test3):
15841         * testsuite/caps/deserialize.c: (main):
15842         * testsuite/caps/enumcaps.c: (main):
15843         * testsuite/caps/filtercaps.c: (main):
15844         * testsuite/caps/intersect2.c: (main):
15845         * testsuite/caps/random.c: (main):
15846         * testsuite/caps/renegotiate.c: (my_fixate), (main):
15847         * testsuite/caps/sets.c: (check_caps):
15848         * testsuite/caps/simplify.c: (check_caps), (main):
15849         * testsuite/caps/subtract.c: (check_caps):
15850         Fix _pad_get_direction wrt ghostpads.
15851         Fix caps testsuite.
15852
15853 2005-03-09  Wim Taymans  <wim@fluendo.com>
15854
15855         * check/Makefile.am:
15856         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
15857         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
15858         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
15859         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
15860         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
15861         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
15862         (gst_bin_remove), (gst_bin_iterate_recurse_up),
15863         (bin_element_is_sink), (gst_bin_iterate_sinks),
15864         (gst_bin_iterate_all_by_interface):
15865         * gst/gstbin.h:
15866         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
15867         (gst_element_change_state), (gst_element_dispose),
15868         (gst_element_finalize), (gst_element_set_loop_function):
15869         * gst/gstelement.h:
15870         * gst/gstiterator.c: (find_custom_fold_func):
15871         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15872         (gst_pad_collectv), (gst_pad_collect_valist),
15873         (gst_pad_template_new):
15874         * gst/gstpipeline.c: (gst_pipeline_class_init),
15875         (gst_pipeline_dispose), (gst_pipeline_set_property),
15876         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
15877         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
15878         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
15879         * gst/gstutils.h:
15880         * gst/schedulers/entryscheduler.c:
15881         * gst/schedulers/gstbasicscheduler.c:
15882         (gst_basic_scheduler_cothreaded_chain),
15883         (gst_basic_scheduler_chain_add_element):
15884         * testsuite/bins/interface.c: (main):
15885         Added GstBin test.
15886         Added GstSystemClock test.
15887         Implemented clock distribution code in GstBin.
15888         Implemented iterate sinks method for future use.
15889         Rearranged gstelement.h
15890         Fix GstIterator comparison bug.
15891         Moved some code to GstPipeline, mostly clocking related.
15892
15893 2005-03-09  Wim Taymans  <wim@fluendo.com>
15894
15895         * configure.ac:
15896         * gst/gst_private.h:
15897         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15898         (gst_bin_remove_func), (gst_bin_remove),
15899         (gst_bin_get_by_name_recurse_up):
15900         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
15901         (gst_clock_id_compare_func), (gst_clock_id_wait),
15902         (gst_clock_id_wait_async), (gst_clock_init),
15903         (gst_clock_adjust_unlocked), (gst_clock_get_time):
15904         * gst/gstelement.h:
15905         * gst/gstinfo.c: (_gst_debug_init):
15906         * gst/gstobject.h:
15907         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15908         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
15909         * gst/gstpad.h:
15910         Bump version number, we're now 0.9.0
15911         Add future debugging category.
15912         Fix NULL _unref() in _get_by_name_recurse_up
15913         Rearrange gstpad.h.
15914         Update some docs.
15915
15916 2005-03-08  Wim Taymans  <wim@fluendo.com>
15917
15918         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
15919         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
15920         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15921         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
15922         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
15923         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
15924         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
15925         * gst/elements/gstidentity.c: (gst_identity_class_init):
15926         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
15927         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
15928         * gst/elements/gstshaper.c: (gst_shaper_class_init):
15929         * gst/elements/gststatistics.c: (gst_statistics_class_init):
15930         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
15931         (gst_tee_link):
15932         * gst/gstelement.c: (gst_element_class_init),
15933         (gst_element_base_class_init), (gst_element_init),
15934         (gst_element_get_random_pad), (gst_element_wait_state_change),
15935         (gst_element_change_state), (gst_element_dispose),
15936         (gst_element_finalize), (gst_element_set_loop_function):
15937         * gst/gstelement.h:
15938         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
15939         * gst/gstthread.c: (gst_thread_class_init),
15940         (gst_thread_release_children_locks), (gst_thread_change_state):
15941         * gst/schedulers/gstbasicscheduler.c:
15942         (gst_basic_scheduler_loopfunc_wrapper),
15943         (gst_basic_scheduler_chain_wrapper),
15944         (gst_basic_scheduler_src_wrapper),
15945         (gst_basic_scheduler_remove_element):
15946         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
15947         Remove threadsafe properties. Fix elements because GObject
15948         complains when installing a property before declaring a
15949         set/get_property handler.
15950         Rearrange gstelement.h file, use STATE macros for state locks.
15951         Free mutexes in the finalize method instead of dispose.
15952
15953 2005-03-08  Wim Taymans  <wim@fluendo.com>
15954
15955         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15956         * gst/gstthread.c: (gst_thread_release_children_locks):
15957         Added parentage check.
15958         Fix build og GstThread again.
15959
15960 2005-03-08  Wim Taymans  <wim@fluendo.com>
15961
15962         * docs/design/part-MT-refcounting.txt:
15963         * docs/design/part-conventions.txt:
15964         * docs/design/part-gstobject.txt:
15965         * docs/design/part-relations.txt:
15966         * docs/design/part-standards.txt:
15967         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15968         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
15969         (gst_bin_get_by_name), (gst_bin_get_by_interface),
15970         (gst_bin_iterate_all_by_interface):
15971         * gst/gstbuffer.h:
15972         * gst/gstclock.h:
15973         * gst/gstelement.c: (gst_element_class_init),
15974         (gst_element_change_state), (gst_element_set_loop_function):
15975         * gst/gstelement.h:
15976         * gst/gstiterator.c:
15977         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
15978         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
15979         (gst_object_dispatch_properties_changed), (gst_object_set_name),
15980         (gst_object_set_parent), (gst_object_unparent),
15981         (gst_object_check_uniqueness):
15982         * gst/gstobject.h:
15983         Docs updates, clean up some headers.
15984
15985 2005-03-07  Wim Taymans  <wim@fluendo.com>
15986
15987         * check/.cvsignore:
15988         * check/Makefile.am:
15989         * check/gst-libs/.cvsignore:
15990         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
15991         * check/gst/.cvsignore:
15992         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
15993         (START_TEST), (gstbus_suite), (main):
15994         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
15995         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
15996         (gst_data_suite), (main):
15997         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
15998         (add_fold_func), (gstiterator_suite), (main):
15999         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
16000         (thread_name_object), (thread_name_object_default),
16001         (gst_object_name_compare), (gst_object_suite), (main):
16002         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
16003         (gst_pad_suite), (main):
16004         * check/gstcheck.c: (gst_check_log_message_func),
16005         (gst_check_log_critical_func), (gst_check_init):
16006         * check/gstcheck.h:
16007         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16008         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
16009         Added checks.
16010
16011 2005-03-07  Wim Taymans  <wim@fluendo.com>
16012
16013         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16014         (gst_list_iterator_next), (gst_list_iterator_resync),
16015         (gst_list_iterator_free), (gst_iterator_new_list),
16016         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
16017         (gst_iterator_free), (gst_iterator_push), (filter_next),
16018         (filter_resync), (filter_uninit), (filter_free),
16019         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
16020         (gst_iterator_foreach), (find_custom_fold_func),
16021         (gst_iterator_find_custom):
16022         * gst/gstiterator.h:
16023         Added missing files.
16024
16025 2005-03-07  Wim Taymans  <wim@fluendo.com>
16026
16027         * Makefile.am:
16028         * configure.ac:
16029         * docs/design/part-MT-refcounting.txt:
16030         * docs/design/part-conventions.txt:
16031         * docs/design/part-gstobject.txt:
16032         * docs/design/part-relations.txt:
16033         * examples/mixer/mixer.c: (main):
16034         * examples/thread/thread.c: (eos), (main):
16035         * gst/Makefile.am:
16036         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
16037         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
16038         (gst_spider_plug_from_srcpad):
16039         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
16040         (gst_spider_identity_change_state),
16041         (gst_spider_identity_sink_loop_type_finding):
16042         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
16043         * gst/elements/gstidentity.c: (gst_identity_init):
16044         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
16045         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
16046         * gst/elements/gsttypefindelement.c: (free_entry):
16047         * gst/gst.c:
16048         * gst/gst.h:
16049         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
16050         (gst_bin_set_clock_func), (gst_bin_auto_clock),
16051         (gst_bin_set_index), (gst_bin_set_element_sched),
16052         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
16053         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
16054         (gst_bin_iterate_elements), (iterate_child_recurse),
16055         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
16056         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
16057         (compare_interface), (gst_bin_get_by_interface),
16058         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
16059         * gst/gstbin.h:
16060         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
16061         (gst_buffer_default_free), (gst_buffer_default_copy),
16062         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
16063         (gst_buffer_create_sub):
16064         * gst/gstbuffer.h:
16065         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
16066         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
16067         (gst_caps_unref), (gst_static_caps_get),
16068         (gst_caps_remove_and_get_structure), (gst_caps_append),
16069         (gst_caps_append_structure), (gst_caps_remove_structure),
16070         (gst_caps_copy_nth), (gst_caps_set_simple),
16071         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
16072         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
16073         (gst_caps_structure_intersect_field), (gst_caps_intersect),
16074         (gst_caps_structure_subtract_field), (gst_caps_subtract),
16075         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
16076         (gst_caps_structure_figure_out_union),
16077         (gst_caps_switch_structures), (gst_caps_do_simplify),
16078         (gst_caps_replace), (gst_caps_from_string),
16079         (gst_caps_copy_conditional):
16080         * gst/gstcaps.h:
16081         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
16082         (_gst_clock_id_free), (gst_clock_id_unref),
16083         (gst_clock_id_compare_func), (gst_clock_id_wait),
16084         (gst_clock_id_wait_async), (gst_clock_class_init),
16085         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
16086         (gst_clock_get_time), (gst_clock_set_time_adjust),
16087         (gst_clock_set_property), (gst_clock_get_property):
16088         * gst/gstclock.h:
16089         * gst/gstcompat.h:
16090         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
16091         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
16092         * gst/gstdata.h:
16093         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16094         (gst_element_requires_clock), (gst_element_provides_clock),
16095         (gst_element_set_clock), (gst_element_clock_wait),
16096         (gst_element_wait), (gst_element_set_time_delay),
16097         (gst_element_is_indexable), (gst_element_add_pad),
16098         (gst_element_add_ghost_pad), (gst_element_remove_pad),
16099         (pad_compare_name), (gst_element_get_static_pad),
16100         (gst_element_request_pad), (gst_element_get_request_pad),
16101         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16102         (gst_element_class_get_pad_template_list),
16103         (gst_element_class_get_pad_template), (gst_element_error_func),
16104         (gst_element_get_random_pad), (gst_element_get_event_masks),
16105         (gst_element_send_event), (gst_element_seek),
16106         (gst_element_get_query_types), (gst_element_query),
16107         (gst_element_get_formats), (gst_element_convert),
16108         (gst_element_is_locked_state), (gst_element_set_locked_state),
16109         (gst_element_sync_state_with_parent), (gst_element_change_state),
16110         (gst_element_finalize), (gst_element_yield),
16111         (gst_element_interrupt), (gst_element_set_scheduler),
16112         (gst_element_get_scheduler), (gst_element_set_loop_function):
16113         * gst/gstelement.h:
16114         * gst/gstevent.h:
16115         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16116         (gst_format_get_by_nick), (gst_format_get_details),
16117         (gst_format_iterate_definitions):
16118         * gst/gstformat.h:
16119         * gst/gstindex.c: (gst_index_gtype_resolver):
16120         * gst/gstinfo.c:
16121         * gst/gstinfo.h:
16122         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16123         (gst_mem_chunk_free):
16124         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16125         (gst_object_ref), (gst_object_unref), (gst_object_sink),
16126         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16127         (gst_object_dispatch_properties_changed),
16128         (gst_object_set_name_default), (gst_object_set_name),
16129         (gst_object_get_name), (gst_object_set_name_prefix),
16130         (gst_object_get_name_prefix), (gst_object_set_parent),
16131         (gst_object_get_parent), (gst_object_unparent),
16132         (gst_object_check_uniqueness), (gst_object_save_thyself),
16133         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16134         (gst_object_set_property), (gst_object_get_property),
16135         (gst_object_get_path_string):
16136         * gst/gstobject.h:
16137         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16138         (gst_real_pad_init), (gst_real_pad_get_property),
16139         (gst_pad_custom_new), (gst_pad_get_direction),
16140         (gst_pad_set_active), (gst_pad_is_active),
16141         (gst_pad_set_event_function), (gst_pad_is_linked),
16142         (gst_pad_link_free), (gst_pad_link_intersect),
16143         (gst_pad_link_fixate), (gst_pad_set_caps),
16144         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16145         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16146         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16147         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16148         (gst_pad_get_caps), (gst_pad_peer_get_caps),
16149         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16150         (gst_pad_realize), (gst_pad_get_allowed_caps),
16151         (gst_real_pad_dispose), (gst_real_pad_finalize),
16152         (gst_pad_collectv), (gst_pad_collect_valist),
16153         (gst_pad_template_dispose), (gst_pad_template_new),
16154         (gst_pad_get_internal_links):
16155         * gst/gstpad.h:
16156         * gst/gstpipeline.c: (gst_pipeline_dispose),
16157         (gst_pipeline_change_state):
16158         * gst/gstpipeline.h:
16159         * gst/gstplugin.c:
16160         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16161         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16162         * gst/gstpluginfeature.h:
16163         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16164         * gst/gstquery.c: (_gst_query_type_initialize),
16165         (gst_query_type_register), (gst_query_type_get_by_nick),
16166         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16167         * gst/gstquery.h:
16168         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16169         * gst/gstscheduler.c: (gst_scheduler_add_element),
16170         (gst_scheduler_factory_create):
16171         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16172         (gst_structure_free), (gst_structure_set_name),
16173         (gst_structure_id_set_value), (gst_structure_set_value),
16174         (gst_structure_set_valist), (gst_structure_remove_field),
16175         (gst_structure_remove_fields),
16176         (gst_structure_remove_fields_valist),
16177         (gst_structure_remove_all_fields), (gst_structure_foreach),
16178         (gst_structure_map_in_place),
16179         (gst_caps_structure_fixate_field_nearest_int),
16180         (gst_caps_structure_fixate_field_nearest_double):
16181         * gst/gststructure.h:
16182         * gst/gstsystemclock.c: (gst_system_clock_class_init),
16183         (gst_system_clock_init), (gst_system_clock_dispose),
16184         (gst_system_clock_async_thread),
16185         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16186         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16187         * gst/gstsystemclock.h:
16188         * gst/gsttag.c: (gst_tag_list_add_value_internal),
16189         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16190         * gst/gsttaginterface.c:
16191         * gst/gstthread.c: (gst_thread_dispose),
16192         (gst_thread_release_children_locks), (gst_thread_change_state),
16193         (gst_thread_main_loop):
16194         * gst/gsttrashstack.h:
16195         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16196         * gst/gsttypes.h:
16197         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16198         (gst_element_request_pad), (gst_element_get_pad_from_template),
16199         (gst_element_request_compatible_pad),
16200         (gst_element_get_compatible_pad_filtered),
16201         (gst_element_get_compatible_pad), (gst_element_state_get_name),
16202         (gst_element_link_pads_filtered), (gst_element_link_filtered),
16203         (gst_element_link_many), (gst_element_link),
16204         (gst_element_link_pads), (gst_element_unlink_pads),
16205         (gst_element_unlink_many), (gst_element_unlink),
16206         (gst_pad_can_link_filtered), (gst_pad_can_link),
16207         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16208         (gst_object_default_error), (gst_bin_add_many),
16209         (gst_bin_remove_many), (gst_element_populate_std_props),
16210         (gst_element_class_install_std_props), (gst_buffer_merge),
16211         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16212         (link_fold_func), (gst_pad_proxy_setcaps):
16213         * gst/gstutils.h:
16214         * gst/gstvalue.c: (gst_value_deserialize_string):
16215         * gst/parse/grammar.y:
16216         * gst/schedulers/gstbasicscheduler.c:
16217         (gst_basic_scheduler_cothreaded_chain),
16218         (gst_basic_scheduler_chain_recursive_add),
16219         (gst_basic_scheduler_pad_link):
16220         * gst/schedulers/gstoptimalscheduler.c:
16221         (get_group_schedule_function),
16222         (gst_opt_scheduler_state_transition),
16223         (gst_opt_scheduler_add_element), (element_get_reachables_func):
16224         * libs/gst/bytestream/bytestream.c:
16225         * libs/gst/dataprotocol/dataprotocol.c:
16226         (gst_dp_header_from_buffer):
16227         * po/nb.po:
16228         * po/ru.po:
16229         * tests/threadstate/threadstate2.c: (eos):
16230         * tools/gst-compprep.c: (main):
16231         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16232         (print_pad_info), (print_children_info):
16233         * tools/gst-launch.c: (idle_func), (main):
16234         * tools/gst-md5sum.c: (idle_func), (main):
16235         * tools/gst-xmlinspect.c: (print_element_info):
16236         First THREADED backport attempt, focusing on adding locks and
16237         making sure the API is threadsafe. Needs more work. More docs
16238         follow this week.
16239
16240 2005-02-24  Andy Wingo  <wingo@pobox.com>
16241
16242         * tests/bench-complexity.scm:
16243         * tests/complexity.gnuplot: New files, good for running complexity
16244         benchmarks.
16245
16246         * tests/Makefile.am:
16247         * tests/complexity.c: New test, sets up N elements, at each level
16248         teeing into M streams per element. Eeeenteresting.
16249
16250         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16251         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
16252         running bench-mass_elements.scm.
16253
16254         * tests/bench-mass_elements.scm: New script, runs mass_elements
16255         for various numbers of identities, outputting the results to a
16256         file. Requires guile 1.6. Just for testing.
16257
16258 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16259
16260         * gst/schedulers/fairscheduler.c:
16261           compile with debug disabled
16262
16263 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16264
16265         * configure.ac:
16266           hunting season on 0.9 is now OPEN