libs/gst/base/gstbasesink.c: Initialize start and stop times, thanks valgrind.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-04-07  Wim Taymans  <wim@fluendo.com>
2
3         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4         Initialize start and stop times, thanks valgrind.
5
6 2006-04-07  Wim Taymans  <wim@fluendo.com>
7
8         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9         Be a bit nicer to badly behaving upstream elements that expect
10         us to deal with non TIME segments and timestamps (such as fakesrc
11         in the testsuite).
12
13 2006-04-07  Wim Taymans  <wim@fluendo.com>
14
15         * gst/gstbus.c:
16         Small documentation clarification about the signal watch.
17
18         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
19         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
20         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
21         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
22         (gst_base_sink_get_position_last),
23         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
24         Convert and store timestamps in stream time and running time, the
25         raw timestamps are not usefull, also document this better.
26         Use different window sizes for good and bad QoS observations so
27         we react to badness a little quicker.
28         Keep track of the amount of rendered and dropped buffers.
29         Send QoS timestamps in running time.
30
31         * libs/gst/base/gstbasetransform.c:
32         (gst_base_transform_sink_eventfunc),
33         (gst_base_transform_handle_buffer):
34         Compare QoS timestamps against running time.
35
36 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
37
38         * gst/gstpad.c:
39           Typo fixes in docs.
40
41 2006-04-06  Michael Smith  <msmith@fluendo.com>
42
43         * gst/gstpad.c: (gst_pad_set_property):
44           Use g_value_get_object() instead of g_value_dup_gst_object(),
45           to avoid double-reffing the pad template (which we then sink,
46           so this worked previously if (and only if) the pad template
47           was floating.
48
49         * gst/gstpadtemplate.c: (gst_pad_template_init),
50         (gst_pad_template_pad_created):
51           Never return floating references to pad templates, create
52           them as initially-sunken.
53
54           Document an extra function (and make this stop sinking our
55           pad template, since that is now guaranteed to do nothing,
56           since we created it sunken).
57
58         * gst/gstghostpad.c:
59           Fix docs typo.
60
61 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
62
63         * gst/gstinfo.c: (__gst_in_valgrind):
64           Add some newlines.
65
66         * plugins/elements/gsttypefindelement.c:
67         (gst_type_find_element_chain):
68           Don't leak buffer caps.
69
70 2006-04-06  Michael Smith  <msmith@fluendo.com>
71
72         * gst/parse/grammar.y:
73           Fix a leak in parse-launch for any source-or-sink named element 
74           references used.
75
76         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
77           Unref the pipeline if it exists after we've failed parsing.
78
79 2006-04-05  Michael Smith  <msmith@fluendo.com>
80
81         * gst/gstpipeline.c: (gst_pipeline_init):
82           When we create a pipeline bus, initially create it in flushing mode.
83           Fixes leaks in at least one test, and makes a new pipeline work the
84           same as one that has gone to READY and then back to NULL.
85
86         * gst/gstelement.c:
87           Typo fix in docs.
88
89 2006-04-05  Michael Smith  <msmith@fluendo.com>
90
91         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
92           Unref a pad we reffed.
93         * tests/check/gst/gstutils.c: (GST_START_TEST):
94           Unref bins
95
96 2006-04-05  Michael Smith  <msmith@fluendo.com>
97
98         * gst/gstquery.c: (gst_query_set_formats),
99         (gst_query_set_formatsv):
100           Fix leaking GValues in queries, as shown by valgrind/testsuite.
101
102 2006-04-05  Michael Smith  <msmith@fluendo.com>
103
104         * tests/check/generic/sinks.c: (GST_START_TEST):
105           Fix a variety of memleaks in sinks check, which are only sometimes 
106           shown by running the tests under valgrind (weird?).
107
108 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
109
110         * docs/version.entities.in:
111           Fix the substituted entity name after thomas' changes on the
112           weekend.
113
114 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
115
116         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
117         VALGRIND_PRINTF
118         
119 2006-04-05  Andy Wingo  <wingo@pobox.com>
120
121         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
122
123         * libs/gst/base/gstbasetransform.c
124         (gst_base_transform_sink_eventfunc): When resetting our segment on
125         FLUSH_STOP, also update the flag saying we haven't seen a
126         newsegment.
127
128 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
129
130         Patch by: Paolo Borelli  <pborelli at katamail dot com>
131
132         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
133         (gst_plugin_check_license):
134           minor clean-ups: G_DEFINE_TYPE already takes care of the
135           parent_class stuff, no need to do it twice. Mark array of
136           license strings as constant. (#337103)
137           
138 2006-04-04  Michael Smith  <msmith@fluendo.com>
139
140         * tools/gst-inspect.c: (print_element_list):
141           Free the right plugin list; fixes a memory leak.
142
143 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
144
145         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
146
147         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
148           Don't error out on empty buffers (#336945).
149           
150 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
151
152         * docs/libs/gstreamer-libs-sections.txt:
153         * gst/gsttaglist.c:
154         * libs/gst/base/gstbasesink.c:
155         * libs/gst/base/gstbasesink.h:
156         * libs/gst/base/gstbasesrc.c:
157         * libs/gst/base/gstbasesrc.h:
158           Documentation updates. Make BaseSink and BaseSrc docs contain the
159           class structure so that people can actually see the prototypes for
160           virtual functions they're supposed to be overriding.
161
162 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
163
164         * plugins/elements/gsttypefindelement.c:
165         (gst_type_find_element_chain):
166           More debug info; when skipping typefinding, send cached
167           events in all cases.
168
169 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
170
171         * configure.ac:
172           use new AS_VERSION and AS_NANO macros
173         * gst/gst-i18n-lib.h:
174         * gst/gst.c:
175         * gst/gsterror.c:
176         * gst/gstversion.h.in:
177         * win32/common/config.h:
178         * win32/common/config.h.in:
179           update accordingly
180
181 2006-03-31  Michael Smith  <msmith@fluendo.com>
182
183         * plugins/elements/gsttypefindelement.c:
184         (gst_type_find_element_chain):
185           Do not typefind content if the buffers already have caps.
186           Neccesary for icydemux (#333657), and the right thing to do anyway.
187
188 2006-03-30  Wim Taymans  <wim@fluendo.com>
189
190         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
191         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
192         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
193         (gst_base_sink_record_qos_observation),
194         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
195         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
196         (gst_base_sink_change_state):
197         More QoS measurements as described in the design doc.
198         Get rid of ringbuffer with observations, running average is
199         more simple and equally good.
200         Calculates valid proportion now.
201         Added beginning of flood measurement.
202
203 2006-03-29  Wim Taymans  <wim@fluendo.com>
204
205         * docs/design/part-qos.txt:
206         * gst/gstclock.c:
207         Small documentation updates and additions.
208
209 2006-03-29  Wim Taymans  <wim@fluendo.com>
210
211         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
212         (gst_base_src_send_event), (gst_base_src_loop),
213         (gst_base_src_change_state):
214         Perform the EOS logic when we reach the segment stop position.
215         Fix compilation on gcc4.1
216
217 2006-03-29  Wim Taymans  <wim@fluendo.com>
218
219         Patch by Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
220
221         * plugins/elements/gstqueue.c: (gst_queue_init),
222         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
223         (gst_queue_set_property):
224         * plugins/elements/gstqueue.h:
225         In queue, when EOS is received, if minimum threshold > max_size -
226         current_level, there is chance that queue blocks forever in conditional item
227         del wait. This is because the queue is not emptied completely due to minimum
228         threshold.
229         Here is another approach. Instead of setting cur_levels to max in EOS, just
230         zero all minimum threshold levels. This should make sure that queue gives out
231         all data. When going to READY (stop) state, just reset the original minimum
232         threshold levels.
233         Fixes #336336.
234
235 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
236
237         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
238         (gst_type_find_element_handle_event),
239         (gst_type_find_element_send_cached_events),
240         (gst_type_find_element_change_state):
241         * plugins/elements/gsttypefindelement.h:
242           When typefinding is done in push mode, we should cache
243           events we receive during typefinding instead of just
244           dropping them (e.g. newsegment, custom events from
245           dvdreadsrc etc.) and then send them out once we've
246           determined the type of the stream (and decodebin
247           has had a chance to plug in a decoder/demuxer).
248           
249 2006-03-27  Wim Taymans  <wim@fluendo.com>
250
251         * docs/design/part-qos.txt:
252         First QoS ideas.
253
254 2006-03-27  Wim Taymans  <wim@fluendo.com>
255
256         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
257
258         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
259         (gst_base_src_send_event), (gst_base_src_change_state):
260         Handle element seek correctly when we are streaming.
261         Fixes #326998.
262
263 2006-03-24  Michael Smith  <msmith@fluendo.com>
264
265         * docs/faq/gst-uninstalled:
266           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
267           allow you to correctly run intalled applications built against old 
268           core, using plugins that require updated core (e.g. running
269           installed totem against a full uninstalled gstreamer stack)
270
271 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
272
273         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
274         more debug details
275
276 2006-03-24  Wim Taymans  <wim@fluendo.com>
277
278         * docs/gst/gstreamer-sections.txt:
279         Rearrange the order of the methods so that related methods
280         are grouped together in sections.
281
282 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
283
284         * gst/gstelement.c:
285           Little clarification in the docs
286
287 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
288
289         * docs/README:
290         formatting fix
291         * plugins/elements/gstidentity.c:
292         * plugins/elements/gstqueue.c:
293         * plugins/elements/gsttee.c:
294         * plugins/elements/gsttypefindelement.c:
295         GST_ELEMENT_DETAILS formatting
296
297 2006-03-24  Wim Taymans  <wim@fluendo.com>
298
299         * libs/gst/base/gstbasesink.h:
300         Only add fields, not insert or we break ABI.
301
302 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
303
304         * win32/common/libgstbase.def:
305         * win32/common/libgstreamer.def:
306           Update, add recently added functions.
307
308 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
309
310         * docs/gst/gstreamer-sections.txt:
311         * gst/gstutils.c: (gst_pad_query_peer_position),
312         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
313         * gst/gstutils.h:
314           API: add some new utility functions:
315            - gst_pad_query_peer_position
316            - gst_pad_query_peer_duration
317            - gst_pad_query_peer_convert
318           
319 2006-03-23  Wim Taymans  <wim@fluendo.com>
320
321         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
322         (gst_base_sink_init), (gst_base_sink_finalize),
323         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
324         (gst_base_sink_set_property), (gst_base_sink_get_property),
325         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
326         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
327         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
328         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
329         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
330         (gst_base_sink_preroll_object), (gst_base_sink_event),
331         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
332         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
333         (gst_base_sink_query), (gst_base_sink_change_state):
334         Decouple max-lateness and the fact that QoS messages are generated
335         with a new property (qos).
336         added API: GstBaseSink::async_play()
337         Add vmethod so subclasses can be notified of ASYNC playing
338         state changes.
339         Collect timestamp start and stop to report better current
340         position in EOS/PLAYING/PAUSED/READY/NULL.
341         Refactor QoS/frame dropping and other measurements.
342         API: GstBaseSrc::qos
343         Fixes #326311
344
345         * libs/gst/base/gstbasesink.h:
346         Added Private struct.
347         API: gst_base_sink_set_qos_enabled
348         API: gst_base_sink_is_qos_enabled
349
350 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
351
352         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
353           If compiling against GLib-2.8 or newer, try to read the
354           registry file using GMappedFile first before falling back
355           to fopen() + fread() (#332151).
356
357 2006-03-22  Wim Taymans  <wim@fluendo.com>
358
359         * gst/gstinfo.c: (gst_debug_set_active),
360         (gst_debug_category_set_threshold):
361         Disable debugging unless explicitly activated.
362         Fixes #335480.
363
364 2006-03-22  Wim Taymans  <wim@fluendo.com>
365
366         * gst/gstelement.c: (gst_element_set_locked_state),
367         (gst_element_dispose):
368         Cleanup the error case.
369
370         * gst/gstobject.c: (gst_object_dispose):
371         print a critical when some object was disposed with
372         a parent, also revive the object since it might
373         crash the parent.
374
375 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
376
377         * tools/gst-launch.1.in:
378           Fix another typo.
379
380 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
381
382         * configure.ac:
383         * tests/check/Makefile.am:
384           disable some tests when we don't have a registry
385         * tests/check/gst/gstutils.c: (gst_utils_suite):
386           don't build the part that needs parsing
387
388 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
389
390         * gst/Makefile.am
391         * tests/examples/Makefile.am:
392           fix --disable-parse build
393
394 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
395
396         * tools/gst-feedback.1.in:
397           Fix typo: s/feeback/feedback/ (#133494).
398
399 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
400
401         * tools/Makefile.am:
402         * tools/gst-launch.1.in:
403           Add FILES section and correct entry about GST_REGISTRY_PATH
404           environment variable (#133495; #133494).
405
406 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * tools/Makefile.am:
409         * tools/gst-md5sum.1.in:
410         * tools/gst-md5sum.c:
411           Remove gst-md5sum and man page (the md5sink element
412           required was removed ages ago)
413
414 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
415
416         * gst/gststructure.c: (gst_structure_id_set_value):
417           Make sure that string fields in structures/taglists
418           contain valid UTF-8 - we don't want to pass rubbish to
419           applications because of a buggy plugin (cp. #334167).
420
421 2006-03-21  Edward Hervey  <edward@fluendo.com>
422
423         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
424         (gst_bin_handle_message_func):
425         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
426         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
427         (gst_element_set_bus_func):
428         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
429         * gst/gstminiobject.c: (gst_value_set_mini_object),
430         (gst_value_take_mini_object):
431         * gst/gstpad.c: (gst_pad_set_pad_template):
432         * gst/gstpipeline.c: (gst_pipeline_dispose),
433         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
434         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
435         (gst_collect_pads_chain):
436         * libs/gst/net/gstnettimeprovider.c:
437         (gst_net_time_provider_set_property):
438         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
439         It's in fact all issues with gst_*object_replace().
440
441 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
442
443         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
444         
445         * pkgconfig/gstreamer-check-uninstalled.pc.in:
446         * pkgconfig/gstreamer-check.pc.in:
447           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
448
449 2006-03-21  Edward Hervey  <edward@fluendo.com>
450
451         * gst/gstbuffer.h:
452         * gst/gstevent.h:
453         * gst/gstmessage.h:
454         gst_[buffer|event|message]_ref() macros are replaced by a static
455         inline functions because gcc-4.1 will about if the return value
456         isn't used.
457         * tests/check/gst/gstevent.c: (event_probe):
458         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
459
460 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
461
462         * gst/gstutils.h:
463         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
464         the type' case. (Closes: #335195 for now). In the future, when we
465         depend on GLib 2.10, we could also intern the type name using
466         g_intern_static_string()
467
468 2006-03-20  Wim Taymans  <wim@fluendo.com>
469
470         * gst/gstbin.c: (gst_bin_handle_message_func),
471         (bin_query_max_init), (bin_query_position_fold),
472         (bin_query_position_done), (gst_bin_query):
473         Position query should also take max of all streams.
474
475 2006-03-20  Wim Taymans  <wim@fluendo.com>
476
477         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
478         (gst_fake_src_finalize):
479         Fix leaks in fakesrc.
480
481         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
482         Fix leaks in the testcase.
483
484 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
485
486         * gst/gst_private.h:
487           add win32 specific import decoration(__declspec(dllimport)) 
488           for all extern GstDebugCategory * variables
489         * win32/common/libgstbase.def:
490         * win32/common/libgstcontroller.def:
491         * win32/common/libgstreamer.def:
492           Add some exports, remove empty lines
493         * win32/common/libgstdataprotocol.def:
494         * win32/common/libgstdataprotocol.dsp:
495         * win32/common/libgstnet.def:
496         * win32/common/libgstnet.dsp:
497           new project files and exportation files added
498         
499 2006-03-19  Wim Taymans  <wim@fluendo.com>
500
501         * tests/check/libs/basesrc.c: (eos_event_counter):
502         Use proper return value for probe.
503
504 2006-03-17  Wim Taymans  <wim@fluendo.com>
505
506         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
507         (gst_pad_push):
508         Don't leak buffers, caps and pads on negotiation errors.
509
510 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
511
512         * docs/faq/cvs.xml:
513         * docs/faq/dependencies.xml:
514         * docs/faq/developing.xml:
515         * docs/faq/faq.xml:
516         * docs/faq/general.xml:
517         * docs/faq/getting.xml:
518         * docs/faq/legal.xml:
519         * docs/faq/troubleshooting.xml:
520         * docs/faq/using.xml:
521         Faq review and update.
522
523 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
524
525         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
526         (gst_pad_push):
527         Don't pound the cpu to pieces by checking get_caps when accept_caps
528         is called with the same caps as the pad already has.
529         Use GST_DEBUG_OBJECT when outputting caps change information.
530
531 2006-03-15  Wim Taymans  <wim@fluendo.com>
532
533         * gst/gstclock.c: (gst_clock_class_init):
534         Fix docs.
535
536 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
537
538         * gst/gstbuffer.h:
539         Documentation fix.
540
541         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
542         (gst_pad_accept_caps), (gst_pad_configure_sink),
543         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
544         Make the default acceptcaps behaviour be to check the requested 
545         caps against the gst_pad_get_caps output. 
546
547         Ensure that gst_pad_accept_caps is used to check caps when a pad
548         doesn't have a setcaps function, so that pads automatically refuse 
549         caps that they don't allow in their pad template. (Fixes #332986)
550
551         When a buffer with attached caps is pushed, ensure that the source 
552         pad receives those caps even if the element didn't call
553         gst_pad_set_caps first.
554
555 2006-03-15  Wim Taymans  <wim@fluendo.com>
556
557         * libs/gst/base/gstadapter.c:
558         Add some docs.
559
560 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
561
562         * win32/common/libgstbase.def:
563         * win32/common/libgstcontroller.def:
564         * win32/common/libgstreamer.def:
565           Add a whole bunch of missing functions (#334434).
566
567 2006-03-14  Wim Taymans  <wim@fluendo.com>
568
569         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
570         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
571         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
572         Better debug info when we receive a segment event.
573         Reorganize a bit so we can pass the get_times() results around.
574         Use the segment format when calculating the running time.
575         Don't do QoS is sync is disabled or we have no clock or the
576         element does not want us to sync to the clock.
577         Don't drop buffers if QoS is disabled for now.
578
579 2006-03-14  Wim Taymans  <wim@fluendo.com>
580
581         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
582         Marked the stats property as unimplemented so people don't get
583         wild ideas.
584         Add debug message when regression goes wrong.
585         Added some more docs.
586
587 2006-03-14  Wim Taymans  <wim@fluendo.com>
588
589         * gst/gstsegment.c: (gst_segment_to_stream_time):
590         Return correct return type in case of errors.
591
592 2006-03-14  Wim Taymans  <wim@fluendo.com>
593
594         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
595           Don't segfault on invalid formats.
596
597 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
598
599         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
600           Can't use gst_segment_to_running_time() when the segment
601           is not in GST_TIME_FORMAT (like with filesink, for example).
602           Stops flac encoding pipelines from spewing critical warnings
603           at EOS (#331248).
604           
605 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
606
607         * gst/gstpipeline.c: (gst_pipeline_class_init):
608           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
609
610         * plugins/elements/gsttypefindelement.c:
611         (gst_type_find_element_handle_event):
612           Don't try to typefind empty streams.
613
614 2006-03-14  Wim Taymans  <wim@fluendo.com>
615
616         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
617         (gst_base_sink_do_qos):
618         Separate QoS calculation.
619         Only drop buffers when lateness is bigger than the 
620         duration of the buffer.
621
622 2006-03-13  Wim Taymans  <wim@fluendo.com>
623
624         * gst/gstpipeline.c: (gst_pipeline_set_property),
625         (gst_pipeline_get_property), (do_pipeline_seek),
626         (gst_pipeline_change_state), (gst_pipeline_set_delay),
627         (gst_pipeline_get_delay):
628         Don't deadlock when reading properties.
629
630 2006-03-13  Wim Taymans  <wim@fluendo.com>
631
632         * libs/gst/base/gstbasetransform.c:
633         (gst_base_transform_class_init), (gst_base_transform_init),
634         (gst_base_transform_sink_event),
635         (gst_base_transform_sink_eventfunc),
636         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
637         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
638         (gst_base_transform_set_property),
639         (gst_base_transform_get_property),
640         (gst_base_transform_change_state), (gst_base_transform_update_qos),
641         (gst_base_transform_set_qos_enabled),
642         (gst_base_transform_is_qos_enabled):
643         * libs/gst/base/gstbasetransform.h:
644         Make basetransform virtual method for src events too.
645         Handle QOS in basetransform.
646         API: gst_base_transform_update_qos
647         API: gst_base_transform_set_qos_enabled
648         API: gst_base_transform_is_qos_enabled
649
650 2006-03-13  Wim Taymans  <wim@fluendo.com>
651
652         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
653         (gst_base_sink_do_sync):
654         Small cleanups.
655         Use QOS debug category.
656
657 2006-03-13  Wim Taymans  <wim@fluendo.com>
658
659         * plugins/elements/gstqueue.c:
660         Very small doc update.
661
662 2006-03-13  Wim Taymans  <wim@fluendo.com>
663
664         * gst/gst_private.h:
665         * gst/gstinfo.c: (_gst_debug_init):
666         Added QOS debug category
667
668 2006-03-13  Wim Taymans  <wim@fluendo.com>
669
670         * docs/gst/gstreamer-sections.txt:
671         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
672         * gst/gstbin.h:
673         * gst/gstbus.c: (gst_bus_class_init):
674         * gst/gstbus.h:
675         * gst/gstclock.c:
676         * gst/gstelement.c: (gst_element_set_locked_state):
677         * gst/gstsegment.c:
678         Documentation updates.
679
680         * gst/gstpipeline.c: (gst_pipeline_get_type),
681         (gst_pipeline_class_init), (gst_pipeline_init),
682         (gst_pipeline_dispose), (gst_pipeline_set_property),
683         (gst_pipeline_get_property), (do_pipeline_seek),
684         (gst_pipeline_send_event), (gst_pipeline_change_state),
685         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
686         (gst_pipeline_get_delay):
687         * gst/gstpipeline.h:
688         Added methods for setting the delay.
689         API: gst_pipeline_set_delay
690         API: gst_pipeline_get_delay
691         Add pipeline debug category
692         Various cleanups.
693         Updated docs.
694         Don't reset stream time when seek failed.
695
696 2006-03-13  Wim Taymans  <wim@fluendo.com>
697
698         * docs/design/draft-klass.txt:
699         * docs/design/part-clocks.txt:
700         * docs/design/part-events.txt:
701         * docs/design/part-gstbin.txt:
702         * docs/design/part-gstpipeline.txt:
703         * docs/design/part-messages.txt:
704         * docs/design/part-negotiation.txt:
705         * docs/design/part-overview.txt:
706         * docs/design/part-preroll.txt:
707         * docs/design/part-seeking.txt:
708         * docs/design/part-states.txt:
709         * docs/design/part-streams.txt:
710         Documentation updates.
711
712 2006-03-12  Julien MOUTTE  <julien@moutte.net>
713
714         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
715         us to leak strings...
716
717 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
718
719         * libs/gst/net/gstnettimeprovider.c:
720           fix docs
721         * win32/common/config.h:
722           update
723
724 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
725
726         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
727
728         * configure.ac:
729           Don't check for libgnomeui (leftover from old examples
730           that aren't built or disted any longer) (#334303).
731           
732 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
733
734         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
735         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
736           Emit RESOURCE_NO_SPACE_LEFT error here as well when
737           there's no space left on the device.
738
739 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
740
741         * gst/gstclock.h:
742           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
743           to cast the input to GstClockTime before comparing with
744           another GstClockTime value.
745
746 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
747
748         * configure.ac:
749           back to trunk
750
751 === release 0.10.4 ===
752
753 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
754
755         * configure.ac:
756           releasing 0.10.4, "Light"
757
758 2006-03-10  Michael Smith  <msmith@fluendo.com>
759
760         * libs/gst/dataprotocol/dataprotocol.c:
761           Fix docs for dataprocotol to not get the return types completely
762           wrong for a few functions.
763
764 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
765
766         * docs/gst/gstreamer-sections.txt:
767         * gst/gstpipeline.c: (gst_pipeline_class_init),
768         (gst_pipeline_init), (gst_pipeline_set_property),
769         (gst_pipeline_get_property), (gst_pipeline_change_state),
770         (gst_pipeline_set_auto_flush_bus),
771         (gst_pipeline_get_auto_flush_bus):
772         * gst/gstpipeline.h:
773           Add new API: gst_pipeline_set_auto_flush_bus() and
774           gst_pipeline_get_auto_flush_bus() to disable automatic
775           flushing of the pipeline's GstBus when going from READY
776           to NULL state (#332045).
777
778 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
779
780         * docs/gst/gstreamer-sections.txt:
781         * gst/gsturi.c: (gst_uri_has_protocol):
782         * gst/gsturi.h:
783            Add new API: gst_uri_has_protocol() (#333779).
784
785 2006-03-09  Wim Taymans  <wim@fluendo.com>
786
787         * gst/gstclock.c: (gst_clock_entry_new),
788         (gst_clock_id_compare_func), (gst_clock_id_wait),
789         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
790         (gst_clock_init), (gst_clock_get_internal_time),
791         (gst_clock_set_master), (do_linear_regression),
792         (gst_clock_add_observation), (gst_clock_set_property):
793         * gst/gstclock.h:
794         Review docs.
795         Small cleanups.
796         Fix a possible segfault when the window-size is made smaller.
797         Calculate jitter before performing the clock wait. Ideally
798         the clock implementation should calculate jitter but we need
799         API breakage for that.
800
801         * gst/gstsystemclock.c: (gst_system_clock_init):
802         Docs review.
803         
804         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
805         Remove leftover else
806
807         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
808         (gst_systemclock_suite):
809         Added check to test GST_CLOCK_DIFF.
810
811 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
812
813         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
814         (gst_type_find_helper_get_range):
815           If we are provided with the size, we should implement
816           GstTypeFind::get_length, so that typefind functions who
817           want to can actually peek at the middle of a file.
818
819 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
820
821         * docs/manual/advanced-dataaccess.xml:
822           Add some very very basic error checking.
823
824         * docs/pwg/appendix-checklist.xml:
825           Some updates to the list of things to check when writing an element.
826
827 2006-03-08  Wim Taymans  <wim@fluendo.com>
828
829         * docs/design/part-element-transform.txt:
830         Added some docs about the design of tranform elements.
831
832         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
833         (gst_base_src_loop), (gst_base_src_change_state):
834         Mark buffers with the DISCONT flag.
835
836 2006-03-08  Michael Smith  <msmith@fluendo.com>
837
838         * gst/gstregistry.h:
839         * gst/gstregistryxml.c: (gst_registry_save),
840         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
841         (gst_registry_xml_save_pad_template),
842         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
843         (gst_registry_xml_write_cache):
844           Rewrite registry-saving to avoid race conditions and check for
845           failed writes.
846
847 2006-03-08  Wim Taymans  <wim@fluendo.com>
848
849         * libs/gst/base/gstbasetransform.c:
850         (gst_base_transform_transform_caps),
851         (gst_base_transform_transform_size),
852         (gst_base_transform_prepare_output_buffer),
853         (gst_base_transform_get_unit_size),
854         (gst_base_transform_buffer_alloc),
855         (gst_base_transform_handle_buffer),
856         (gst_base_transform_change_state):
857         Cleanups, separate normal flow from errors, add sensible
858         DEBUG lines.
859         Don't try to renegotiate when allocating an output buffer.
860         Also copy DISCONT buffer flag when copying a buffer.
861         Reset the transform after we finish streaming, not during.
862
863 2006-03-08  Wim Taymans  <wim@fluendo.com>
864
865         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
866         Use last buffer timestamp in qos message.
867
868 2006-03-07  Wim Taymans  <wim@fluendo.com>
869
870         Patch by: Christophe Fergeau
871
872         * docs/pwg/advanced-tagging.xml:
873         * docs/pwg/building-pads.xml:
874           fixes #333416
875
876 2006-03-07  Wim Taymans  <wim@fluendo.com>
877
878         * docs/libs/gstreamer-libs-sections.txt:
879         Added basesink new methods.
880
881         * gst/gstevent.c:
882         * gst/gstevent.h:
883         Docs updates. Flesh out the QoS docs.
884
885         * libs/gst/base/gstadapter.c:
886         Small doc clarification about ownership and flushing.
887
888         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
889         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
890         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
891         (gst_base_sink_get_property), (gst_base_sink_do_sync):
892         * libs/gst/base/gstbasesink.h:
893         API additions: 
894         Added new methods to allow subclass to control max-lateness 
895         and sync.
896         Generate very basic QoS events based on last sync observation.
897         Updated docs, fix typo, added some QoS blurb.
898
899         * libs/gst/base/gstbasesrc.c:
900         Remove obsolete _get_state() calls from docs.
901
902 2006-03-07  Wim Taymans  <wim@fluendo.com>
903
904         * docs/libs/gstreamer-libs-sections.txt:
905         * libs/gst/base/gstbasetransform.h:
906         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
907         Fix docs for GstBaseSrc.
908
909 2006-03-07  Wim Taymans  <wim@fluendo.com>
910
911         * docs/gst/gstreamer-sections.txt:
912         * gst/gstbuffer.h:
913         * gst/gstvalue.c:
914         * libs/gst/base/gstbasetransform.h:
915         Small documentation fixes.
916
917 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
918
919         * gst/gstvalue.c:
920           Document thread-unsafety of gst_value_register_foo_func()
921           when used at the same time as gst_value_foo() (#322628).
922
923 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
924
925         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
926         (gst_push_src_check_get_range):
927           Push sources don't support pull mode by default.
928
929 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
930
931         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
932         (gst_base_src_init), (gst_base_src_pad_check_get_range),
933         (gst_base_src_default_check_get_range):
934         * libs/gst/base/gstbasesrc.h:
935           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
936           provide default implementation, and rename
937           gst_base_src_check_get_range() to
938           gst_base_src_pad_check_get_range() for clarity.
939
940 2006-03-06  Wim Taymans  <wim@fluendo.com>
941
942         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
943         Make property overridable.
944
945 2006-03-06  Wim Taymans  <wim@fluendo.com>
946
947         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
948         (gst_base_sink_init), (gst_base_sink_set_property),
949         (gst_base_sink_get_property), (gst_base_sink_do_sync):
950         * libs/gst/base/gstbasesink.h:
951         API addition: Make max-lateness a property.
952
953 2006-03-06  Wim Taymans  <wim@fluendo.com>
954
955         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
956         (gst_base_sink_do_sync), (gst_base_sink_render_object):
957         Don't ever draw a frame that is >10ms late.
958
959 2006-03-06  Michael Smith  <msmith@fluendo.com>
960
961         * gst/gstmessage.c: (_gst_message_copy):
962           When copying a message, set the parent_refcount of the enclosed
963           structure to point at the copy, not the original message.
964
965 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
966
967         Patch by: Christophe Fergeau
968
969         * gst/gstutils.h:
970           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
971           usable in c++ code (#333417)
972
973 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
974
975         * gst/gstclock.h:
976           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
977
978 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
979
980         * libs/gst/base/gstbasetransform.c:
981         (gst_base_transform_transform_caps):
982           Make sure caps are writable before passing them to
983           gst_caps_append().
984
985 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
986
987         * gst/gsterror.h:
988           Fix some minor docs errors.
989
990 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
991
992           Patch by: Ross Burton <ross at burtonini dot com>
993
994         * gst/gsterror.c: (_gst_resource_errors_init):
995         * gst/gsterror.h:
996           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
997
998 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
999
1000         * gst/gst.c:
1001         Add a check and output a g_warning when GStreamer is built
1002         against GLib 2.6 but running against 2.8 or higher, and vice 
1003         versa. (Closes: #323542)
1004
1005 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
1006
1007         * gst/parse/parse.l:
1008           Commit patch for parse_launch syntax from #331255. Removes 
1009           support for quoted strings and mimetypes when writing filtered 
1010           caps. See the bug report for more details - I'm pretty sure this
1011           obscure feature is not in use by _anyone_ anywhere.
1012
1013           With this simple change, the size of the gstreamer.so here 
1014           drops from 2193KB to 1565KB.
1015
1016 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1017
1018         * plugins/elements/gsttypefindelement.h:
1019         * plugins/elements/gsttypefindelement.c:
1020         (gst_type_find_element_src_event), (start_typefinding),
1021         (stop_typefinding), (gst_type_find_element_handle_event),
1022         (gst_type_find_element_chain),
1023         (gst_type_find_element_chain_do_typefinding):
1024           Use gst_type_find_helper_for_buffer() for chain-based
1025           typefinding.
1026
1027 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1028
1029         * plugins/elements/gsttypefindelement.c:
1030         (gst_type_find_element_class_init),
1031         (gst_type_find_element_set_property),
1032         (gst_type_find_element_get_property):
1033           Deprecate "maximum" property (not only was it only taken into
1034           account for typefinding in push-mode anyway, it also was never
1035           actually possible to set it in the first place because the
1036           property was registered with the numeric property ID for the
1037           "minimum" property). Register "maximum" property correctly,
1038           for the sake of future copy'n'pasters. Remove some cruft
1039           from property get/set functions.
1040
1041 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
1042
1043         * plugins/elements/gsttypefindelement.c:
1044         (gst_type_find_element_activate):
1045           Use gst_type_find_helper_get_range() here, so we
1046           can honour the "minimum" property and also emit
1047           the signal with the correct probability of the found caps.
1048
1049 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
1050
1051         * docs/libs/gstreamer-libs-sections.txt:
1052         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1053         (helper_find_suggest), (gst_type_find_helper_get_range),
1054         (gst_type_find_helper):
1055         * libs/gst/base/gsttypefindhelper.h:
1056           New API: gst_type_find_helper_get_range() (#333042).
1057
1058 2006-03-02  Michael Smith  <msmith@fluendo.com>
1059
1060         * gst/gstregistryxml.c: (load_feature):
1061           Asserting on a failure to read part of the registry is Not Cool.
1062           Just log a warning and return NULL (which is already handled)
1063
1064 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
1065
1066         * win32/common/libgstbase.def:
1067           added export of gst_type_find_helper_for_buffer
1068         * win32/common/libgstbase.def:
1069           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1070           gst_ghost_pad_get_target
1071
1072 2006-02-28  Wim Taymans  <wim@fluendo.com>
1073
1074         * docs/design/draft-klass.txt:
1075         We use Filter now.
1076         Added Connector to mark elements that are only used to
1077         allow pipeline connections.
1078         Moved Debug to extra feature since most of them are 
1079         functionally something else.
1080
1081 2006-02-28  Wim Taymans  <wim@fluendo.com>
1082
1083         * docs/design/draft-klass.txt:
1084         Some updates and clarifications.
1085
1086 2006-02-28  Wim Taymans  <wim@fluendo.com>
1087
1088         * docs/design/draft-klass.txt:
1089         Proposal for klass field values.
1090
1091         * docs/design/part-streams.txt:
1092         Start of a doc describing stream anatomy.
1093
1094 2006-02-28  Wim Taymans  <wim@fluendo.com>
1095
1096         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1097         Help the compiler a bit with type registration.
1098         Use existing forward cod path instead of duplicating it when 
1099         handling a message.
1100         
1101         * gst/gstbus.c: (gst_bus_get_type):
1102         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1103         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1104         * gst/gstclock.c: (gst_clock_get_type):
1105         * gst/gstelement.c: (gst_element_get_type),
1106         * gst/gstelementfactory.c: (gst_element_factory_get_type):
1107         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1108         * gst/gstminiobject.c: (gst_mini_object_get_type):
1109         * gst/gstpad.c: (gst_pad_get_type):
1110         * gst/gstsegment.c: (gst_segment_get_type):
1111         * gst/gststructure.c: (gst_structure_get_type):
1112         * gst/gstsystemclock.c: (gst_system_clock_get_type):
1113         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1114         * gst/gstvalue.c:
1115         Help compiler with type registration.
1116
1117         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1118         Small doc update.
1119
1120 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1121
1122         * plugins/elements/gsttypefindelement.c:
1123         (gst_type_find_element_handle_event):
1124           When we get an EOS event and have not found a type yet
1125           (most likely because we had not yet accumulated
1126           TYPE_FIND_MIN_SIZE of data yet), try to determine the
1127           type given the data we have so far. Fixes typefinding
1128           for very short streams again, most notably quicktime
1129           redirections as used on Apple's trailer site (#331701).
1130
1131 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1132
1133         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1134         (gst_type_find_helper):
1135           Try typefinding factories with the highest rank first.
1136
1137 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1138
1139         * docs/libs/gstreamer-libs-docs.sgml:
1140         * docs/libs/gstreamer-libs-sections.txt:
1141         * libs/gst/base/gsttypefindhelper.c:
1142           Add section for typefind helper and add documentation
1143           for the old and the new function.
1144
1145 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1146
1147         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1148         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1149         (gst_type_find_helper_for_buffer):
1150         * libs/gst/base/gsttypefindhelper.h:
1151           New API: gst_type_find_helper_for_buffer() (#332723).
1152           
1153 2006-02-27  Michael Smith  <msmith@fluendo.com>
1154
1155         Patch by: Loïc Minier
1156
1157         * configure.ac:
1158         * docs/Makefile.am:
1159         * docs/slides/Makefile.am:
1160           prevent CVS directories getting disted.
1161
1162 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
1163
1164         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
1165           Use the REFCOUNTING category for caps refcounting.
1166           
1167 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1168
1169         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1170           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
1171
1172 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
1173
1174         * plugins/elements/gsttypefindelement.c:
1175         (gst_type_find_element_activate):
1176           Use gst_pad_check_pull_range() before _activate_pull()
1177           to avoid unnecessary open/close (see #331690).
1178
1179 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1180
1181         * gst/gstutils.c:
1182           Docs enhancement: make it crystal clear what the
1183           gst_pad_add_*_probe() callbacks should look like.
1184
1185 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
1186
1187         * libs/gst/base/gstbasesrc.c:
1188           Document how applications can stop recording from
1189           live sources (see #330996).
1190
1191 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1192
1193         * tests/check/Makefile.am:
1194         * tests/check/libs/basesrc.c: (eos_event_counter),
1195         (basesrc_eos_events_pull), (basesrc_eos_events_push),
1196         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
1197         (gst_basesrc_suite), (main):
1198           ... and add some tests for the base source EOS stuff.
1199
1200 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1201
1202         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
1203           Test case originally showed the problem fixed below,
1204           but was then amended. Add checks back at the place
1205           where they used to be.
1206
1207 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1208
1209         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1210         (gst_base_src_init), (gst_base_src_loop),
1211         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1212         (gst_base_src_change_state):
1213         * libs/gst/base/gstbasesrc.h:
1214           Don't unconditionally send EOS when going from PAUSED to
1215           READY state, esp. make sure we don't send two EOS events
1216           in some cases (e.g. one when reaching EOS and one when
1217           going from PAUSED to READY). Also, we don't want to send
1218           EOS events when operating in pull mode. However, we do
1219           want to send an EOS event when shutting down a live
1220           source explicitly, for example (fixes #330996).
1221           
1222 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1223
1224         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1225           Update src->read_position after a seek when not using mmap.
1226           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
1227
1228 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
1229
1230         * gst/Makefile.am:
1231         * gst/gstparse.h:
1232         * gst/gstutils.c:
1233         * gst/gstutils.h:
1234         Make things work with --disable-parse as they do with 
1235         --disable-load-save - the symbols involved disappear, but the
1236         header is still installed and GST_DISABLE_PARSE is included via
1237         gstconfig.h
1238
1239 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1240
1241         * libs/gst/base/gstbasetransform.c:
1242         (gst_base_transform_change_state): Fix a stupid bug. I was 
1243         sure I compiled that.
1244
1245 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1246
1247         * gst/gstpad.c: (gst_pad_set_blocked_async):
1248         * gst/gstutils.c: (gst_pad_add_data_probe),
1249         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1250         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1251         (gst_pad_remove_buffer_probe): Make those function act on the
1252         ghostpad target when it's a ghostpad. (Closes #331727)
1253
1254 2006-02-20  Julien MOUTTE  <julien@moutte.net>
1255
1256         * libs/gst/base/gstbasetransform.c:
1257         (gst_base_transform_change_state): Make basetransform reusable.
1258         (Closes #331898)
1259
1260 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
1261
1262         * docs/random/release:
1263         Move the current documentation of how to do a release to the top
1264         of the file.
1265
1266         * gst/gstbin.c: (gst_bin_class_init),
1267         (gst_bin_handle_message_func):
1268         Allow multiple state-recalculation threads. (Closes #328873)
1269
1270 2006-02-19  Julien MOUTTE  <julien@moutte.net>
1271
1272         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
1273         * gst/gstpad.c: (gst_pad_set_event_function),
1274         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1275         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
1276         2 strings. You can't use the STR_NULL macro on that.
1277
1278 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
1279
1280         * gst/gstpad.c: (gst_pad_set_event_function),
1281         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1282         (gst_pad_set_getcaps_function)
1283         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
1284           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
1285           So now, we can use --gst-debug-level=5 on Windows
1286         * win32/common/libgstcontroller.def:
1287           Added export of gst_controller_init
1288         * win32/vs6/libgstcontroller.dsp:
1289           Fixed Release post build configuration
1290
1291 2006-02-17  Wim Taymans  <wim@fluendo.com>
1292
1293         * tests/check/gst/gstquery.c: (GST_START_TEST):
1294         Added another check.
1295
1296 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
1297
1298         * plugins/elements/gsttypefindelement.c: (find_peek):
1299           We can do peeks at non-zero offsets, as long as they
1300           fall within the buffer we have.
1301
1302 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
1303
1304         * tests/check/Makefile.am:
1305         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
1306         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
1307         (parse_suite), (main):
1308           Add testsuite for parse launch syntax
1309
1310 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
1311
1312         * plugins/elements/gsttypefindelement.c:
1313         (gst_type_find_element_chain):
1314           When typefinding is unsuccessful in the chain function, don't
1315           error out immediately. Only error out with NO_CAPS_FOUND if
1316           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
1317           otherwise simply wait for more data so we can try typefinding
1318           again with more data later. Also, don't attempt to typefind
1319           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
1320           this should improve typefinding from network sources where the
1321           size of the first buffer can be somewhat random.
1322
1323 2006-02-14  Wim Taymans  <wim@fluendo.com>
1324
1325         * docs/gst/gstreamer-sections.txt:
1326         * gst/gstpadtemplate.c:
1327         * gst/gstpadtemplate.h:
1328         Fix padtemplate docs, fixes #328805.
1329
1330 2006-02-14  Wim Taymans  <wim@fluendo.com>
1331
1332         * tools/gst-launch.c: (main):
1333         NO_PREROLL is not an ERROR so don't send confusing messages
1334         to the user.
1335
1336 2006-02-14  Wim Taymans  <wim@fluendo.com>
1337
1338         Patch by: Torsten Schoenfeld
1339
1340         * gst/gstregistry.c: (gst_registry_get_default),
1341         (_gst_registry_cleanup):
1342         Protect default registry with lock and ref/sink it.
1343         Fixes #324818
1344
1345 2006-02-14  Wim Taymans  <wim@fluendo.com>
1346
1347         * gst/gstbuffer.c:
1348         * gst/gstquery.c: (gst_query_list_add_format),
1349         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1350         (gst_query_parse_formats_nth):
1351         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1352         Docs fixes.
1353
1354 2006-02-14  Wim Taymans  <wim@fluendo.com>
1355
1356         * docs/gst/gstreamer-sections.txt:
1357         Reworked query docs.
1358
1359         * gst/gstquery.c: (gst_query_new_formats),
1360         (gst_query_list_add_format), (gst_query_set_formats),
1361         (gst_query_set_formatsv), (gst_query_parse_formats_length),
1362         (gst_query_parse_formats_nth):
1363         * gst/gstquery.h:
1364         Flesh out formats query, added some new methods.
1365         Fix part of #324398.
1366
1367         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
1368         Added query creation tests.
1369
1370 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
1371
1372         * gst/gstpad.c: (fixate_value):
1373         Add a default fixation for fraction lists.
1374
1375 2006-02-13  Wim Taymans  <wim@fluendo.com>
1376
1377         * gst/gsttask.c: (gst_task_init), (gst_task_func),
1378         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
1379         (gst_task_join):
1380         * gst/gsttask.h:
1381         Detect and warn for obvious deadlocks. fixes #320340
1382         Fix error case where lock was not released.
1383
1384         * tests/check/Makefile.am:
1385         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
1386         (task_func), (gst_element_suite), (main):
1387         Add task check.
1388
1389 2006-02-13  Wim Taymans  <wim@fluendo.com>
1390
1391         * docs/gst/gstreamer-sections.txt:
1392         * gst/gstbus.c:
1393         Add new functions to docs.
1394
1395 2006-02-13  Wim Taymans  <wim@fluendo.com>
1396
1397         * docs/design/part-TODO.txt:
1398         Updated TODO list, basesrc supports seeking to non-bytes
1399         formats.
1400
1401         * docs/design/part-element-sink.txt:
1402         Update docs.
1403
1404         * gst/gstbin.c: (bin_replace_message),
1405         (gst_bin_handle_message_func):
1406         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
1407         * gst/gstevent.c: (gst_event_finalize):
1408         * gst/gstpad.c: (gst_pad_event_default_dispatch),
1409         (gst_pad_send_event):
1410         Use shiny new _TYPE_NAME macros.
1411
1412         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1413         Move debug statement up.
1414
1415         * gst/gstelement.c: (gst_element_set_locked_state):
1416         Add some debugging.
1417
1418 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
1419
1420         * docs/gst/gstreamer-sections.txt:
1421         * gst/gstmessage.h:
1422         * gst/gstquery.h:
1423           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
1424           macros (#330906). Also, document the already existing
1425           GST_QUERY_TYPE macro.
1426
1427 2006-02-13  Wim Taymans  <wim@fluendo.com>
1428
1429         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
1430         (event_probe), (GST_START_TEST):
1431         Only events up to the pipeline EOS are counted, there are
1432         some more when going to NULL currently which we don't care
1433         about for now.
1434
1435 2006-02-13  Wim Taymans  <wim@fluendo.com>
1436
1437         * gst/gstpad.c: (gst_pad_send_event):
1438         Correctly check flushing and emit probes. fixes #330125
1439
1440 2006-02-10  Andy Wingo  <wingo@pobox.com>
1441
1442         * gst/gstbus.c (gst_bus_class_init): Declare our private data
1443         structure.
1444         (gst_bus_init): Cache the location of the private data in the
1445         instance structure.
1446         (gst_bus_enable_sync_message_emission) 
1447         (gst_bus_disable_sync_message_emission): Implement new public
1448         functions.
1449         (gst_bus_post): Emit the sync-message signal if the user asked for
1450         it. Fixes #330684.
1451
1452         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
1453         location of the bus-private structure.
1454         (gst_bus_enable_sync_message_emission)
1455         (gst_bus_disable_sync_message_emission): API addition
1456
1457 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
1458
1459         Patch by: Vincent Torri
1460
1461         * docs/pwg/building-boiler.xml:
1462         PWG patch from #326800
1463
1464 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1465
1466         * configure.ac:
1467         * docs/Makefile.am:
1468         * docs/design/Makefile.am:
1469           Dist design docs.
1470
1471 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1472
1473         * configure.ac:
1474           back to CVS
1475
1476 === release 0.10.3 ===
1477
1478 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
1479
1480         * configure.ac:
1481           releasing 0.10.3, "Like a virgin"
1482
1483 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
1484
1485         * configure.ac:
1486           2nd prerelease of 0.10.3
1487           Bump libtool versioning.
1488
1489 2006-02-07  Andy Wingo  <wingo@pobox.com>
1490
1491         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
1492         update last_stop if we're in TIME format and the timestamp is
1493         valid.
1494
1495         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
1496         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
1497         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1498         If we get a new newsegment with a different format, adapt
1499         accordingly.
1500
1501         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1502         of 0. Not a problem, really.
1503
1504         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1505         warn if sync=true.
1506
1507 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
1508
1509         * configure.ac:
1510           Prelease of 0.10.3
1511
1512 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
1513
1514         * win32/vs7:
1515           project files updated to the default vs7 configuration
1516         * win32/common/libgstbase.def:
1517         * win32/common/libgstreamer.def:
1518           added new symbols,
1519           removed empty lines,
1520           sorted all exported symbols alphabetically
1521         * win32/common/dirent.c:
1522         * win32/common/dirent.h:
1523         * win32/common/gchar.h:
1524           use windows line end.
1525           
1526 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1527
1528         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1529           Send EOS event when stopping.
1530
1531 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
1532
1533         * docs/README:
1534           Tell folks what to do if the plugin-foobar.xml file
1535           hasn't been generated for a newly-added plugin.
1536
1537 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1538
1539         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1540         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1541         (gst_collect_pads_start), (gst_collect_pads_stop),
1542         (gst_collect_pads_event): Collectpads now holds a reference
1543         to the GstPad that was added. Indeed we don't want to look
1544         at pads that might just go away with no warning...
1545
1546 2006-02-05  Julien MOUTTE  <julien@moutte.net>
1547
1548         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1549         (gst_collect_pads_start), (gst_collect_pads_stop),
1550         (gst_collect_pads_event), (gst_collect_pads_chain):
1551         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
1552         Mark Nauwelaerts's patch on bug #328491.
1553
1554 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1555
1556         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
1557         (gst_utils_suite):
1558           Add some simple tests for gst_parse_bin_from_description() and
1559           gst_bin_find_unconnected_pad() (#329069).
1560
1561 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1562
1563         * tools/gst-launch.c: (event_loop), (main):
1564           Catch errors during preroll (#320084).
1565
1566 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
1567
1568         * plugins/elements/gsttypefindelement.c:
1569         (gst_type_find_element_activate):
1570           Post TYPE_NOT_FOUND error message when typefinding
1571           is unsuccessful in the activate function as well.
1572
1573 2006-02-02  Wim Taymans  <wim@fluendo.com>
1574
1575         * docs/design/part-element-sink.txt:
1576         Updated doc.
1577
1578 2006-02-02  Wim Taymans  <wim@fluendo.com>
1579
1580         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1581         (gst_base_sink_render_object),
1582         (gst_base_sink_queue_object_unlocked):
1583         Only keep track of prerollable items when we are 
1584         prerolling.
1585         Before rendering after preroll, always check if we
1586         have queued items.
1587         Added some more debugging.
1588
1589 2006-02-02  Wim Taymans  <wim@fluendo.com>
1590
1591         * gst/gstelement.c: (gst_element_continue_state),
1592         (gst_element_set_state_func), (gst_element_change_state):
1593         Fixed #326576, been running this for quite some time with
1594         no regressions at all.
1595
1596 2006-02-02  Wim Taymans  <wim@fluendo.com>
1597
1598         * common/gst.supp:
1599         Added more suppressions
1600
1601 2006-02-02  Wim Taymans  <wim@fluendo.com>
1602
1603         * docs/design/part-element-sink.txt:
1604         Updated document.
1605
1606         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1607         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
1608         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
1609         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1610         (gst_base_sink_do_sync), (gst_base_sink_render_object),
1611         (gst_base_sink_preroll_object),
1612         (gst_base_sink_queue_object_unlocked),
1613         (gst_base_sink_queue_object), (gst_base_sink_event),
1614         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
1615         (gst_base_sink_loop), (gst_base_sink_activate_pull),
1616         (gst_base_sink_get_position), (gst_base_sink_change_state):
1617         * libs/gst/base/gstbasesink.h:
1618         Totally refactored matching the design doc.
1619         Use two segments, one to clip incomming buffers and another to
1620         perform sync.
1621         Handle queueing correctly, bypass the queue when playing.
1622         Make EOS cancelable.
1623         Handle errors correctly when operating in pull based mode.
1624
1625         * tests/check/elements/fakesink.c: (GST_START_TEST),
1626         (fakesink_suite):
1627         Added new check for sinks.
1628
1629 2006-02-02  Wim Taymans  <wim@fluendo.com>
1630
1631         * gst/gstsegment.c: (gst_segment_clip):
1632         No reason to refuse to clip when start == -1
1633
1634 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
1635
1636         * docs/README:
1637         * docs/manual/intro-basics.xml:
1638         * docs/manual/intro-preface.xml:
1639         * docs/manual/manual.xml:
1640         * docs/pwg/advanced-dparams.xml:
1641         * docs/pwg/intro-basics.xml:
1642         * docs/pwg/intro-preface.xml:
1643         * docs/pwg/pwg.xml:
1644           describe dparams (controller) for plugins
1645           unify docs a little more
1646
1647 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
1648
1649         * docs/gst/gstreamer-sections.txt:
1650         * gst/gstutils.c: (element_find_unconnected_pad),
1651         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
1652         * gst/gstutils.h:
1653           Add new API: gst_parse_bin_from_description() and
1654           gst_bin_find_unconnected_pad() (#329069).
1655
1656 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
1657
1658         * docs/manual/README:
1659           uncover a nasty detail of the docs build
1660
1661 2006-01-31  Wim Taymans  <wim@fluendo.com>
1662
1663         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
1664         Don't cache duration messages if we're not going to use or
1665         free them.
1666
1667 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
1668
1669         * docs/manual/advanced-dparams.xml:
1670         * docs/pwg/advanced-dparams.xml:
1671           more dparam docs
1672         * gst/gstindex.c:
1673           fix docs
1674         * libs/gst/controller/lib.c: (gst_controller_init):
1675           init just once
1676
1677 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
1678
1679         * gst/gstelement.c: (gst_element_message_full):
1680           also show file/line/func if no additional debug was given
1681
1682 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
1683         
1684         * win32/vs7/grammar.vcproj:
1685           activate copy of autogenerated files for Release mode
1686
1687 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1688         
1689         * win32/common/libgstreamer.def:
1690           export gst_value_compare
1691
1692 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
1693
1694         * plugins/elements/Makefile.am:
1695         * plugins/elements/gstelements.c:
1696         * plugins/elements/gstfdsink.c: (_do_init),
1697         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
1698         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
1699         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
1700         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
1701         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
1702         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
1703         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
1704         * plugins/elements/gstfdsink.h:
1705         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
1706
1707 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
1708
1709         * docs/manual/advanced-dparams.xml:
1710           describe controller
1711         * docs/manual/advanced-position.xml:
1712         * docs/manual/basics-init.xml:
1713         * docs/manual/manual.xml:
1714         * docs/manual/titlepage.xml:
1715         * docs/pwg/pwg.xml:
1716         * docs/pwg/titlepage.xml:
1717           cleanup xml (more to come)
1718         * libs/gst/controller/gstcontroller.c:
1719           fix typo
1720
1721 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
1722         
1723         * win32/vs6/grammar.dsp:
1724           add autogen of gstmarshal.c,h for Release mode
1725                 
1726 2006-01-30  Wim Taymans  <wim@fluendo.com>
1727
1728         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1729         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
1730         (gst_base_sink_handle_object), (gst_base_sink_event),
1731         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
1732         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1733         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
1734         (gst_base_sink_deactivate), (gst_base_sink_activate),
1735         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1736         (gst_base_sink_query), (gst_base_sink_change_state):
1737         Basesink cleanups, remove some old code.
1738         Handle the case where a subclass can preroll in the render
1739         method (mostly audiosinks).
1740         Handle more events.
1741         Remove some locks around variables that are now protected
1742         with the PREROLL_LOCK (clock_id, flushing, ..).
1743         Optimize position query some more, do correct locking.
1744         Remove old code to push queue in state change, this is not
1745         needed anymore since preroll blocks on all prerollable items 
1746         now.
1747         Almost implemented as described in design doc.
1748
1749 2006-01-30  Wim Taymans  <wim@fluendo.com>
1750
1751         * tests/check/gst/gstbin.c: (GST_START_TEST):
1752         Wait for refcount to settle down before checking.
1753
1754 2006-01-30  Wim Taymans  <wim@fluendo.com>
1755
1756         * docs/design/part-element-sink.txt:
1757         Pseudo code overview of desired sink behaviour regarding
1758         preroll.
1759
1760 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1761         * win32/vs6/grammar.dsp:
1762           fix some bugs in Release mode for autogenerated files
1763                 
1764 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1765         * win32/common/libgstbase.def:
1766         * win32/common/libgstreamer.def:
1767           export some new symbols: gst_base_src_set_format,
1768           gst_iterator_next, gst_structure_set_valist
1769
1770 2006-01-29  Julien MOUTTE  <julien@moutte.net>
1771
1772         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1773         Set pad functions unconditionally. Fixes #329105.
1774
1775 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
1776         * win32/vs8:
1777           add vs8 project files created by Sergey Scobich
1778
1779 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
1780
1781         * gst/gstutils.c: (gst_element_unlink_pads):
1782         Don't leak pad references.
1783
1784         * tests/check/elements/fakesink.c: (GST_START_TEST):
1785         * tests/check/generic/sinks.c: (GST_START_TEST):
1786         * tests/check/generic/states.c: (GST_START_TEST):
1787         * tests/check/gst/gstbin.c: (GST_START_TEST):
1788         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1789         * tests/check/gst/gstelement.c: (GST_START_TEST):
1790         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1791         * tests/check/gst/gstiterator.c: (GST_START_TEST):
1792         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1793         Fix a bunch of leaks. Make generic/sinks.c
1794         use a bit less cpu by slowing the buffer rate
1795         between fakesrc and fakesink.
1796         
1797 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
1798         * gst/gstcaps.c:
1799         * gst/gstelement.c: (gst_element_send_event):
1800         * gst/gstevent.c:
1801         * gst/gstinfo.c:
1802         * gst/gstiterator.c:
1803         * gst/gstiterator.h:
1804         * gst/gstpad.c: (gst_pad_send_event):
1805         * gst/gststructure.c:
1806         * gst/gsturi.c:
1807         * gst/gstutils.c:
1808         * gst/gstvalue.c:
1809         * libs/gst/base/gstadapter.c:
1810           doc fixes, to link to function, just write gst_cool_function(), don't
1811           prefix with '#'
1812
1813 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1814
1815         * plugins/elements/gsttee.c: (gst_tee_do_push),
1816         (gst_tee_handle_buffer):
1817         Always prefer an actual return value from a src
1818         pad in place of NOT_LINKED. This means we return
1819         WRONG_STATE when all src pads are WRONG_STATE
1820         instead of NOT_LINKED.
1821
1822         Lock when replacing the last message to prevent
1823         racing with the get_property method.
1824
1825         Add debug output
1826
1827 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1828
1829         * tests/check/Makefile.am:
1830         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
1831         (main):
1832         Add a very simple check that should have caught the memleak I fixed
1833         last night (if not for the slice allocator hiding it)
1834
1835 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
1836
1837         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1838         (gst_bin_remove_func), (gst_bin_handle_message_func),
1839         (bin_query_duration_fold), (bin_query_generic_fold):
1840         Clean up references to the clock provider when disposed or when
1841         handling a clock-lost message from it.
1842
1843         Unref sinks when performing a query via gst_iterator_fold, as the
1844         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
1845
1846         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
1847         (gst_clock_set_master):
1848         Drop our reference to the master clock, if any, when we are disposed.
1849
1850         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
1851         Chain up in dispose. 
1852
1853 2006-01-26  Wim Taymans  <wim@fluendo.com>
1854
1855         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1856         Add some debugging.
1857
1858 2006-01-26  Julien MOUTTE  <julien@moutte.net>
1859
1860         * plugins/elements/gsttee.c: (gst_tee_do_push),
1861         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
1862         handles pad being NOT_LINKED or in WRONG_STATE.
1863
1864 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1865
1866         * win32/MANIFEST:
1867           more updating
1868
1869 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1870
1871         * win32/MANIFEST:
1872           remove obsolete entry
1873
1874 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
1875
1876         * docs/gst/gstreamer-sections.txt:
1877         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
1878         (gst_bin_iterate_sources), (gst_bin_send_event):
1879         * gst/gstbin.h:
1880         * gst/gstelement.c: (gst_element_send_event):
1881         * gst/gstevent.c:
1882         * gst/gstpad.c: (gst_pad_send_event):
1883           added code for downstream events, reviewed docs in gstevent.c
1884
1885 2006-01-25  Julien MOUTTE  <julien@moutte.net>
1886
1887         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1888         We only query position using the clock in the playing state.
1889         Query peer in the other cases.
1890         * win32/common/config.h: Updates.
1891
1892 2006-01-24  Wim Taymans  <wim@fluendo.com>
1893
1894         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1895         A clock entry that is scheduled for the exact time of the
1896         clock is still in time.
1897
1898         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1899         (gst_base_sink_do_sync):
1900         Add some more debug info.
1901
1902 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1903
1904         * win32/vs7:
1905           Add new vs7 project files and solution.
1906
1907 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
1908
1909         * win32/vs7:
1910           all files removed as they were out-dated.
1911
1912 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1913
1914         * docs/random/release:
1915           update notes
1916         * gst/gstbin.c: (gst_bin_init):
1917         * gst/gstbus.c: (gst_bus_new):
1918         * gst/gstbus.h:
1919         * gst/gstpipeline.c: (gst_pipeline_init):
1920           use gst_bus_new(), improve logging, fix docs
1921         * win32/common/config.h:
1922           update for cvs build
1923
1924 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1925
1926         * autogen.sh:
1927           up required version of automake to 1.7
1928
1929 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
1930
1931         * win32/common/libgstreamer.def:
1932           export gst_buffer_is_metadata_writable
1933
1934 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
1935
1936         * docs/gst/gstreamer-sections.txt:
1937         * gst/gstevent.h:
1938           Add gst_event_replace() (#327001)
1939
1940 2006-01-20  Wim Taymans  <wim@fluendo.com>
1941
1942         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1943         Make it actually compile too..
1944
1945 2006-01-20  Wim Taymans  <wim@fluendo.com>
1946
1947         * gst/gstcaps.c:
1948         Clarify behaviour of _is_equal() when passing NULL parameters.
1949
1950         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1951         (gst_pad_set_caps):
1952         Cleanups. Don't unref NULL caps.
1953         When setting the same caps, protect caps of the pad with
1954         proper lock.
1955         Use full functionality of _is_equal() when comparing caps.
1956
1957 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1958
1959         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1960         Don't loop infinitely if there are no buffers to present. Partially
1961         fixes #327197, but collectpads is just broken for reusing elements
1962         to do multiple encodes atm.
1963
1964 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
1965
1966         * tools/gst-inspect.c: (print_element_features):
1967         * tools/gst-xmlinspect.c: (main):
1968         URL_HANDLER is not a plugin feature we can search for in
1969         the registry.
1970
1971 2006-01-19  Edward Hervey  <edward@fluendo.com>
1972
1973         * gst/gstelement.c: (gst_element_pads_activate): 
1974         When activating, do src pads first, then sink pads.
1975         When de-activating, do sink pads first, then src pads.
1976
1977 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1978
1979         * docs/gst/gstreamer-sections.txt:
1980         Add gst_index_add_associationv to the docs
1981
1982 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1983
1984         * gst/gstevent.c:
1985           Fix docs typo
1986
1987         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
1988         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
1989           Do some refactoring. Doesn't actually change functionality,
1990           but makes landing the DRAIN event easier later.
1991
1992 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
1993
1994         * docs/pwg/advanced-scheduling.xml:
1995           Update from 0.9.x to 0.10 API and make example a bit
1996           clearer.
1997
1998 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
1999
2000         * docs/gst/gstreamer-sections.txt:
2001         Add gst_buffer_(is|make)_metadata_writable methods.
2002
2003 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2004
2005         * docs/design/part-sparsestreams.txt:
2006         Update sparse streams doc, hopefully for greater clarity
2007
2008 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
2009
2010         * docs/design/part-events.txt:
2011         Remove mention of FILLER events.
2012         Add DRAIN event.
2013
2014         * docs/design/part-sparsestreams.txt:
2015         Write some things about using NEWSEGMENT to keep sparse streams
2016         flowing.
2017
2018 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2019
2020         * gst/gstbin.c: (gst_bin_dispose):
2021           Guard gst_object_unref call against a NULL object (dispose
2022           can theoretically be called multiple times).
2023           
2024 2006-01-18  Wim Taymans  <wim@fluendo.com>
2025
2026         * gst/gstbin.c: (gst_bin_element_set_state):
2027         * gst/gstclock.c: (gst_clock_id_wait):
2028         Added some more debug info.
2029
2030         * libs/gst/base/gstadapter.c:
2031         Added more docs.
2032
2033         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2034         (gst_base_sink_do_sync), (gst_base_sink_chain):
2035         Added some comments.
2036
2037 2006-01-18  Wim Taymans  <wim@fluendo.com>
2038
2039         * tests/check/Makefile.am:
2040         * tests/check/elements/fakesink.c: (chain_async_buffer),
2041         (chain_async), (chain_async_return), (GST_START_TEST),
2042         (fakesink_suite), (main):
2043         Added fakesink test that checks prerolling and clipping
2044         behaviour.
2045
2046         * tests/check/gst/gstutils.c: (GST_START_TEST):
2047         Make check run faster so that buildbots don't timeout.
2048
2049 2006-01-18  Wim Taymans  <wim@fluendo.com>
2050
2051         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2052         (gst_base_sink_do_sync):
2053         Some cleanups.
2054         When the sink finishes blocking on the preroll buffer, it can
2055         immediatly render it instead of rendering when the next buffer
2056         arrives.
2057
2058 2006-01-18  Wim Taymans  <wim@fluendo.com>
2059
2060         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2061         (gst_base_sink_get_property), (gst_base_sink_do_sync),
2062         (gst_base_sink_chain):
2063         Small cleanups.
2064         GST_ELEMENT_CLOCK and sync are protected with LOCK.
2065         Don't store _last_stop if the buffer is dropped.
2066
2067 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
2068
2069         * plugins/elements/gsttypefindelement.c:
2070         (gst_type_find_element_class_init):
2071           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2072           object method handler that sets the caps on the pad and we want
2073           that to happen before we emit the signal (fixes e.g. feeding a
2074           plain text file to decodebin).
2075
2076 2006-01-18  Christian Schaller  <Christian@fluendo.com>
2077
2078         * gst/gstplugin.c: Add MPL and Proprietary as license options
2079
2080 2006-01-18  Andy Wingo  <wingo@pobox.com>
2081
2082         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2083         symbol was exported before, it appears this was just an oversight.
2084         Fixes #168703.
2085         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2086
2087         * gst/gstindex.c (gst_index_add_associationv): Changed int in
2088         prototype to gint. OK since this prototype was not in the header.
2089
2090 2006-01-17  Andy Wingo  <wingo@pobox.com>
2091
2092         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2093         registry while we remove plugins.
2094
2095         * tools/gst-inspect.c (print_element_info): Don't unref the
2096         factory arg, that should be the responsibility of whatever code
2097         received the ref. Fixes a double-free when called from
2098         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2099         (main): Unref the factory if we have one.
2100         (print_element_list): No change -- relies on the
2101         plugin_feature_list_free to free the list of features.
2102
2103 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
2104
2105         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2106         (gst_buffer_make_metadata_writable):
2107         * gst/gstbuffer.h:
2108         * libs/gst/base/gstbasetransform.c:
2109         (gst_base_transform_prepare_output_buf):
2110         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2111         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2112           Replace gst_buffer_(make|is)_metadata_writable patch now
2113           that the release is out.
2114
2115 2006-01-17  Andy Wingo  <wingo@pobox.com>
2116
2117         * gst/gstregistry.c: Reflow design comment. Update so as to speak
2118         in the present tense without reference to versions.
2119
2120         * gst/gstregistry.c (gst_registry_add_plugin)
2121         (gst_registry_remove_plugin, gst_registry_remove_feature)
2122         (gst_registry_find_feature, gst_registry_get_feature_list)
2123         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2124         (gst_registry_lookup, gst_registry_scan_path)
2125         (_gst_registry_remove_cache_plugins)
2126         (gst_registry_get_feature_list_by_plugin): Add argument
2127         validation.
2128
2129 === release 0.10.2 ===
2130
2131 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
2132
2133         * configure.ac:
2134           releasing 0.10.2, "If man is five"
2135
2136 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2137
2138         * gst/gstbuffer.c:
2139         * gst/gstbuffer.h:
2140         * libs/gst/base/gstbasetransform.c:
2141         (gst_base_transform_prepare_output_buf):
2142         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2143         * tests/check/gst/gstbuffer.c: (gst_test_suite):
2144           Back out patch until after the release.
2145
2146 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2147
2148         * gst/gstminiobject.c:
2149           Spelling fix in docs.
2150         * ChangeLog - remove conflict indicator
2151
2152 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
2153
2154         Reviewed By: Andy Wingo
2155
2156         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2157         (gst_buffer_make_metadata_writable):
2158         * gst/gstbuffer.h:
2159           Add gst_buffer_(is|make)_metadata_writable as analogues of
2160           gst_buffer_(is|make)_writable.
2161
2162         * libs/gst/base/gstbasetransform.c:
2163         (gst_base_transform_prepare_output_buf):
2164         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2165           Use name gst_buffer_(is|make)_metadata_writable functions.
2166
2167         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2168           Test gst_buffer_(is|make)_metadata_writable
2169         
2170           (Closes: #324162)
2171
2172 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2173
2174         * docs/manual/Makefile.am:
2175           don't do parallel make
2176         * configure.ac:
2177           AC_SUBST HOST_CPU
2178         * win32/common/config.h.in:
2179           add generations for HOST_CPU and GST_MAJORMINOR
2180         * win32/common/config.h:
2181           commit generated result
2182
2183 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
2184
2185         * docs/manual/appendix-integration.xml:
2186           Update GNOME integration section to use gst_init_get_option_group()
2187           instead of the old popt stuff (#322911). Also, GNOME applications
2188           should  now use gconf*sink and gconf*src instead of the old gconf
2189           helper lib we had.
2190
2191 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
2192
2193
2194         * docs/gst/gstreamer-docs.sgml:
2195         * docs/gst/gstreamer-sections.txt:
2196         * docs/libs/gstreamer-libs-sections.txt:
2197           add new API entries to the docs
2198         * libs/gst/controller/Makefile.am:
2199         * libs/gst/controller/gstcontroller.c:
2200         * libs/gst/controller/gstcontroller.h:
2201         * libs/gst/controller/gstcontrollerprivate.h:
2202         * libs/gst/controller/gsthelper.c:
2203         * libs/gst/controller/gstinterpolation.c:
2204           move private structs to private header
2205         * po/README:
2206           gstreamer-0.7 -> gstreamer-0.10
2207         * tests/check/libs/struct_i386.h:
2208           remove private structs
2209
2210 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2211
2212         * plugins/indexers/Makefile.am:
2213           Fixes as part of #317048
2214
2215 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2216
2217         * plugins/indexers/Makefile.am:
2218           fix #316086 - compilation when mmap is missing
2219
2220 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
2221
2222         * libs/gst/base/gstbasesink.c:
2223           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
2224           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
2225         * win32/common/config.h:
2226           added some defines GST_MAJORMINOR and HOST_CPU
2227         * win32/common/libgstbase.def:
2228         * win32/common/libgstreamer.def:
2229           added some exported functions.
2230
2231 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2232
2233         * libs/gst/controller/gstcontroller.c:
2234         (gst_controlled_property_set_interpolation_mode),
2235         (gst_controlled_property_new):
2236         * libs/gst/controller/gstcontroller.h:
2237         * libs/gst/controller/gstinterpolation.c:
2238         (interpolate_none_get_string_value_array):
2239           make G_TYPE_STRING controlable
2240
2241 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
2242
2243         * tools/README:
2244         * tools/gst-feedback.1.in:
2245         * tools/gst-inspect.1.in:
2246         * tools/gst-launch.1.in:
2247         * tools/gst-md5sum.1.in:
2248         * tools/gst-typefind.1.in:
2249         * tools/gst-xmlinspect.1.in:
2250         * tools/gst-xmllaunch.1.in:
2251           cleanup man-pages, remove reference to gst-register, document env-vars
2252
2253 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
2254
2255         * gst/gstbuffer.c: (gst_buffer_span):
2256           gst_buffer_span should copy the timestamp of the first buffer
2257           if they were both originally overlapping subbuffers of the 
2258           same parent, using the same logic as the 'slow copy' case.
2259
2260 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
2261
2262         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
2263           Need to awaken ALL the pads when we pop a buffer, otherwise
2264           collectpads only works when there is 2 input streams.
2265
2266 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
2267
2268         * docs/random/ensonic/media-device-daemon.txt:
2269           more ideas (dbus)
2270         * gst/gstbuffer.c:
2271           fix doc example, add clarification
2272         * tools/gst-launch.1.in:
2273           add initial info about GST_PLUGIN_PATH, needs more work
2274
2275 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
2276
2277         * docs/manual/basics-bins.xml:
2278         * docs/manual/basics-elements.xml:
2279         * docs/manual/intro-basics.xml:
2280           Some more minor docs additions and updates.
2281
2282 2006-01-11  Wim Taymans  <wim@fluendo.com>
2283
2284         * docs/manual/basics-bins.xml:
2285         * docs/manual/basics-elements.xml:
2286         Some small fixes as pointed out by Ser-ver on IRC.
2287
2288 2006-01-10  Edward Hervey  <edward@fluendo.com>
2289
2290         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2291         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
2292         the single-segment mode.
2293
2294 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
2295
2296         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2297
2298         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
2299         (gst_base_src_perform_seek), (gst_base_src_send_event),
2300         (gst_base_src_set_property), (gst_base_src_get_property),
2301         (gst_base_src_loop), (gst_base_src_start),
2302         (gst_base_src_activate_push):
2303         * libs/gst/base/gstbasesrc.h:
2304           Name (private) union; makes Sun's Forte compiler happy (#324900).
2305
2306 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2307
2308         * README:
2309           gst-register is gone.
2310
2311 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2312
2313         * gst/gstvalue.c: (_gst_value_initialize):
2314           make the G_TYPE_DATE instantiation work if debug is disabled
2315
2316 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
2317
2318         * gst/gstmessage.c: (gst_message_parse_tag),
2319         (gst_message_parse_error), (gst_message_parse_warning):
2320           Don't crash when return location for error/warning debug
2321           string is NULL; add fact that return locations can be
2322           NULL to docs where appropriate.
2323
2324 2006-01-05  Wim Taymans  <wim@fluendo.com>
2325
2326         * gst/gstplugin.c: (gst_plugin_load_file):
2327         Replace strdup by g_strdup.
2328
2329 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2330
2331         * docs/pwg/advanced-types.xml:
2332           fix doc borkage
2333
2334 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2335
2336         submitted by: Abel Cheung
2337
2338         * po/LINGUAS:
2339         * po/zh_TW.po:
2340           Added Chinese (traditional) translation
2341
2342 2006-01-04  Wim Taymans  <wim@fluendo.com>
2343
2344         * docs/manual/basics-pads.xml:
2345         * docs/plugins/Makefile.am:
2346         * docs/plugins/gstreamer-plugins-docs.sgml:
2347         * docs/plugins/gstreamer-plugins-sections.txt:
2348         * docs/pwg/advanced-clock.xml:
2349         * docs/pwg/advanced-scheduling.xml:
2350         * docs/pwg/advanced-types.xml:
2351         * plugins/elements/gstfdsink.c:
2352         * plugins/elements/gstfdsrc.c:
2353         * plugins/elements/gstfdsrc.h:
2354         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2355         * plugins/elements/gstidentity.h:
2356         * plugins/elements/gstqueue.h:
2357         * plugins/elements/gsttee.c:
2358         * plugins/elements/gsttee.h:
2359         * plugins/elements/gsttypefindelement.c:
2360         (gst_type_find_element_class_init):
2361         * plugins/elements/gsttypefindelement.h:
2362         Small updates to various docs.
2363         Added core plugins to docs.
2364
2365 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2366
2367         * common/gst.supp:
2368           add a suppression for liboil's uninitialized variable
2369
2370 2006-01-02  James Livingston  <jrl at ids dot org dot au>
2371
2372         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2373
2374         * gst/gstutils.h:
2375           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
2376           macro, so that gcc doesn't complain if the -Wmissing-prototypes
2377           compiler switch is being used (#325429).
2378
2379 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
2380
2381         * gst/gstbin.c: (gst_bin_query):
2382           Disable duration query caching in bins until it gets
2383           fixed (see #324807).
2384
2385 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2386
2387         * tools/gst-inspect.c: (print_element_properties_info):
2388           Handle properties of POINTER and BOXED type.
2389
2390 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
2391
2392         * gst/gst.c: (init_post):
2393           Init tags stuff and some other things before loading
2394           any static plugins (there may be other static plugins
2395           than just the GStreamer ones, and they may want to
2396           register their own tags or formats or whatever, and
2397           preferably without segfaulting).
2398
2399         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2400           Print at least a warning in the debug logs if we drop a
2401           query just because we don't know how to adjust the value
2402           in the particular format.
2403
2404 2005-12-24  David Schleef  <ds@schleef.org>
2405
2406         * tools/gstreamer-completion:
2407           Replacement for gst-complete written in sh and sed.  Only
2408           completes names of features, but that's 90% of what I want
2409           it for.  Properties are not available in registry.xml.  (Maybe
2410           they should be...)
2411
2412 === release 0.10.1 ===
2413
2414 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
2415
2416         * configure.ac:
2417           releasing 0.10.1, "Nollaig chridheil"
2418
2419 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
2420
2421         * docs/faq/cvs.xml:
2422           Add missing quote, should be make ERROR_CFLAGS="".
2423
2424 2005-12-20  Wim Taymans  <wim@fluendo.com>
2425
2426         * docs/design/part-trickmodes.txt:
2427         More documentation on trickmodes.
2428
2429 2005-12-20  Edward Hervey  <edward@fluendo.com>
2430
2431         * gst/gstcaps.c: (gst_static_caps_get_type):
2432         * gst/gstcaps.h:
2433           API addition: GST_TYPE_STATIC_CAPS
2434         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
2435         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
2436         * gst/gstpadtemplate.h:
2437           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
2438         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
2439         bindings.
2440
2441 2005-12-18  Wim Taymans  <wim@fluendo.com>
2442
2443         * libs/gst/base/gstadapter.c:
2444         * libs/gst/base/gstadapter.h:
2445         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2446         (gst_base_sink_get_position):
2447         * libs/gst/base/gstbasesink.h:
2448         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2449         (gst_base_src_default_query), (gst_base_src_default_do_seek),
2450         (gst_base_src_do_seek), (gst_base_src_perform_seek),
2451         (gst_base_src_send_event), (gst_base_src_update_length),
2452         (gst_base_src_get_range), (gst_base_src_loop),
2453         (gst_base_src_start):
2454         * libs/gst/base/gstbasesrc.h:
2455         * libs/gst/base/gstbasetransform.h:
2456         * libs/gst/base/gstcollectpads.h:
2457         * libs/gst/base/gstpushsrc.c:
2458         * libs/gst/base/gstpushsrc.h:
2459         * libs/gst/dataprotocol/dataprotocol.c:
2460         * libs/gst/dataprotocol/dataprotocol.h:
2461         * libs/gst/net/gstnetclientclock.h:
2462         * libs/gst/net/gstnettimeprovider.h:
2463         Documentation updates.
2464
2465 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
2466
2467         * docs/manual/basics-helloworld.xml:
2468           Remove superfluous closing bracket in helloworld example.
2469
2470 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2471
2472         * tools/gst-launch.1.in:
2473           Update gst-launch man page; add a section with useful
2474           environment variables. Fixes #323882.
2475
2476 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
2477
2478         * gst/gst.c:
2479         * gst/gst_private.h:
2480           change some char* into char[]
2481
2482 2005-12-16  Wim Taymans  <wim@fluendo.com>
2483
2484         * gst/gstregistryxml.c: (load_feature):
2485         Cleanups.
2486         Don't use g_object_unref on GstObjects so that we avoid
2487         leaks on unsafe glibs.
2488
2489 2005-12-16  Wim Taymans  <wim@fluendo.com>
2490
2491         * gst/gstbin.c: (gst_bin_recalc_state):
2492         Small doc updates.
2493
2494 2005-12-16  Wim Taymans  <wim@fluendo.com>
2495
2496         * common/check.mak:
2497         Added make forever target for check.
2498
2499 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2500
2501         * gst/gst.c: (init_post):
2502           make the registry cache file HOST_CPU-dependent
2503
2504 2005-12-16  Andy Wingo  <wingo@pobox.com>
2505
2506         * plugins/elements/gstbufferstore.c
2507         (gst_buffer_store_cleared_func): Pay attention to g_list_append
2508         return value.
2509
2510         * tests/check/gst/gstobject.c
2511         (test_fake_object_name_threaded_unique): Pay attention to
2512         g_list_sort return value.
2513
2514 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         * tools/gst-feedback-m.m:
2517           Update for 0.9/0.10 (fixes #323870).
2518
2519 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
2520
2521         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2522           Fix lcopy for mini objects, the mini object needs to be ref'ed.
2523           
2524         * tests/check/gst/gstminiobject.c: (my_foo_init),
2525         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2526         (test_value_collection), (gst_mini_object_suite):
2527           Add test to ensure refcounts end up as expected when passing
2528           GstMiniObjects through g_object_get() and g_object_set().
2529
2530 2005-12-14  Julien MOUTTE  <julien@moutte.net>
2531
2532         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2533         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2534         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2535         of collectpads. This version removes a lot of races without
2536         touching API/ABI. Yay !
2537
2538 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
2539
2540         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2541           Don't allow activation of a srcpad in pull_range if it has no
2542           getrange function.
2543           Change some debug statements to be a little clearer
2544
2545         * plugins/elements/gsttypefindelement.c:
2546         (gst_type_find_handle_src_query):
2547           Check that we have a peer before executing queries thereupon.
2548
2549         * tests/examples/metadata/read-metadata.c: (message_loop):
2550           Use gst_bus_pop instead of gst_bus_poll when we just want it to
2551           immediately return us any available message with 0 timeout.
2552
2553 2005-12-12  Michael Smith  <msmith@fluendo.com>
2554
2555         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2556           Don't unref factories after calling them.
2557         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
2558         * plugins/elements/gsttypefindelement.c:
2559         (gst_type_find_element_chain):
2560           Free lists of factories after using them. Fixing typefinding memory
2561           leaks.
2562
2563 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2564
2565         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2566         (gst_plugin_feature_load):
2567           more meaningful debug output
2568         * configure.ac:
2569         * tests/Makefile.am:
2570         * tests/old/examples/Makefile.am:
2571           make make distcheck happy again
2572
2573 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2574
2575         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2576           Catch the special case where we are operating chain-based,
2577           but the downstream peer pad has no chain function. Emit a
2578           custom error message in this case instead of letting the
2579           core generate one implying that this is some sort of core
2580           bug. It's not, it just means that whatever got plugged
2581           into the pipeline downstream when we announced the type
2582           can only operate pull-based, while our source can only
2583           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
2584           Error string has not been marked for translation yet, as
2585           it probably needs some more work first.
2586
2587         (gst_type_find_element_get_best_possibility):
2588           Add helper function to find the best of all available
2589           found possibilities that qualify given the min. threshold.
2590
2591         (gst_type_find_element_handle_event):
2592           Fix the case where we get an EOS while still in TYPEFIND
2593           mode (we want to chose the best of all possible types,
2594           not just the first type that happens to be in our unsorted
2595           list of possible types).
2596
2597         (gst_type_find_element_chain):
2598           Make sure we return GST_FLOW_ERROR when we errored out
2599           in stop_typefinding(); also, don't just find the best of
2600           all found type entries and then use the last examined
2601           type entry, but actually use the best entry.
2602
2603 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2604
2605         * tests/examples/typefind/typefind.c: (type_found):
2606         * tests/examples/xml/runxml.c: (xml_loaded):
2607           More gcc4 fixes and a mem leak fix.
2608
2609 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2610
2611         * tests/examples/xml/createxml.c: (object_saved):
2612           gcc 4 fixes
2613
2614 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2615
2616         * tests/Makefile.am:
2617           enable the examples even more
2618
2619 2005-12-12  Andy Wingo  <wingo@pobox.com>
2620
2621         * libs/gst/net/gstnettimeprovider.c
2622         (gst_net_time_provider_class_init, gst_net_time_provider_init)
2623         (gst_net_time_provider_set_property)
2624         (gst_net_time_provider_get_property):
2625         API addition: Export "active" as a GObject property.
2626         (gst_net_time_provider_thread): Only respond to time queries if
2627         the time provider is active.
2628
2629         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
2630         NetTimeProvider, preserving binary compat.
2631
2632 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2633
2634         * tests/examples/controller/audio-example.c: (main):
2635         * tests/examples/launch/Makefile.am:
2636           convert comments again
2637
2638 2005-12-12  Wim Taymans  <wim@fluendo.com>
2639
2640         * libs/gst/base/gstpushsrc.c:
2641         Fix typo.
2642
2643 2005-12-12  Wim Taymans  <wim@fluendo.com>
2644
2645         * docs/libs/gstreamer-libs-sections.txt:
2646         Added new symbol to docs.
2647
2648         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2649         (gst_base_src_init), (gst_base_src_set_format),
2650         (gst_base_src_default_query), (gst_base_src_query),
2651         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
2652         (gst_base_src_perform_seek), (gst_base_src_send_event),
2653         (gst_base_src_default_event), (gst_base_src_event_handler),
2654         (gst_base_src_set_property), (gst_base_src_get_property),
2655         (gst_base_src_wait), (gst_base_src_do_sync),
2656         (gst_base_src_update_length), (gst_base_src_get_range),
2657         (gst_base_src_check_get_range), (gst_base_src_loop),
2658         (gst_base_src_default_negotiate), (gst_base_src_start),
2659         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2660         (gst_base_src_change_state):
2661         * libs/gst/base/gstbasesrc.h:
2662         Implement seeking to other formats than _BYTES.
2663         Implement more seeking methods correctly.
2664         Doc updates.
2665         Added query vmethod.
2666         Added do_seek vmethod to make life easier for subclasses
2667         when seeking.
2668         API addition: gst_base_src_set_format()
2669
2670 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2671
2672         * tests/examples/Makefile.am:
2673           added that too
2674
2675 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
2676
2677         * configure.ac:
2678         * docs/random/ensonic/media-device-daemon.txt:
2679         * tests/examples/controller/.cvsignore:
2680         * tests/examples/controller/Makefile.am:
2681         * tests/examples/controller/audio-example.c: (main):
2682         * tests/examples/helloworld/.cvsignore:
2683         * tests/examples/helloworld/Makefile.am:
2684         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
2685         * tests/examples/launch/.cvsignore:
2686         * tests/examples/launch/Makefile.am:
2687         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
2688         * tests/examples/metadata/.cvsignore:
2689         * tests/examples/metadata/Makefile.am:
2690         * tests/examples/metadata/read-metadata.c: (message_loop),
2691         (make_pipeline), (print_tag), (main):
2692         * tests/examples/queue/.cvsignore:
2693         * tests/examples/queue/Makefile.am:
2694         * tests/examples/queue/queue.c: (event_loop), (main):
2695         * tests/examples/typefind/.cvsignore:
2696         * tests/examples/typefind/Makefile.am:
2697         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
2698         (main):
2699         * tests/examples/xml/.cvsignore:
2700         * tests/examples/xml/Makefile.am:
2701         * tests/examples/xml/createxml.c: (object_saved), (main):
2702         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
2703         * tests/old/examples/Makefile.am:
2704         * tests/old/examples/TODO:
2705         * tests/old/examples/controller/.cvsignore:
2706         * tests/old/examples/controller/Makefile.am:
2707         * tests/old/examples/controller/audio-example.c:
2708         * tests/old/examples/helloworld/.cvsignore:
2709         * tests/old/examples/helloworld/Makefile.am:
2710         * tests/old/examples/helloworld/helloworld.c:
2711         * tests/old/examples/launch/.cvsignore:
2712         * tests/old/examples/launch/Makefile.am:
2713         * tests/old/examples/launch/mp3parselaunch.c:
2714         * tests/old/examples/launch/mp3play:
2715         * tests/old/examples/manual/Makefile.am:
2716         * tests/old/examples/metadata/Makefile.am:
2717         * tests/old/examples/metadata/read-metadata.c:
2718         * tests/old/examples/queue/.cvsignore:
2719         * tests/old/examples/queue/Makefile.am:
2720         * tests/old/examples/queue/queue.c:
2721         * tests/old/examples/typefind/.cvsignore:
2722         * tests/old/examples/typefind/Makefile.am:
2723         * tests/old/examples/typefind/typefind.c:
2724         * tests/old/examples/xml/.cvsignore:
2725         * tests/old/examples/xml/Makefile.am:
2726         * tests/old/examples/xml/createxml.c:
2727         * tests/old/examples/xml/runxml.c:
2728           applied some simple fixing to some examples
2729           re-enabled the working examples
2730
2731 2005-12-12  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/gstsegment.c: (gst_segment_init),
2734         (gst_segment_set_last_stop), (gst_segment_set_seek),
2735         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2736         (gst_segment_to_running_time):
2737         Added more documentation.
2738         Make sure the last_pos value is updated properly.
2739         Make sure to_stream_time and to_running_time don't
2740         operate on wrong values.
2741
2742         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2743         Update check.
2744
2745 2005-12-12  Michael Smith  <msmith@fluendo.com>
2746
2747         * plugins/elements/gsttypefindelement.c: (free_entry),
2748         (gst_type_find_element_chain):
2749           Now that we're not leaking factories, make sure we keep references
2750           to them while we need them.
2751
2752 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2753
2754         * tests/check/gst/struct_i386.h:
2755           ifdef out the XML structs
2756
2757 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2758
2759         * gst/gstvalue.c: (gst_value_transform_double_fraction):
2760           floor is not needed, F is always positive; this obviates the
2761           need for adding -lm when building without libxml
2762
2763 2005-12-12  Wim Taymans  <wim@fluendo.com>
2764
2765         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2766         Take current playback rate into account when reporting
2767         the position.
2768
2769 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2770
2771         * docs/manual/mime-world.fig:
2772           Let's try this again, this time with a file that is
2773           actually in XFig format.
2774
2775 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2776
2777         * docs/manual/mime-world.fig:
2778           Add audioconvert element to diagram so that it
2779           matches the text and the code (fixes #319526).
2780
2781 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2782
2783         * docs/pwg/building-chainfn.xml:
2784         * docs/pwg/building-pads.xml:
2785         * docs/pwg/building-state.xml:
2786         * docs/pwg/other-source.xml:
2787           Update state change stuff for 0.10 (fixes #322969).
2788
2789 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2790
2791         * docs/manual/advanced-dataaccess.xml:
2792         * docs/manual/appendix-checklist.xml:
2793         * docs/manual/appendix-programs.xml:
2794         * docs/manual/basics-pads.xml:
2795         * docs/manual/highlevel-components.xml:
2796         * docs/manual/manual.xml:
2797           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
2798           add converters in front of pipelines; remove curly
2799           brackets for threads stuff, they no longer exist; use
2800           GST_TYPE_FRACTION for framerates; update some pieces of
2801           code to 0.10, but there's plenty more to do.
2802
2803         * docs/manual/appendix-porting.xml:
2804           Expand on asynchroneous state changes; s/0.9/0.10/;
2805           mention disappearance of gst_init_get_popt_table()
2806           (fixes #322916).
2807
2808 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2809
2810         * docs/faq/using.xml:
2811           Spider no longer exists, and neither does gst-launch-ext.
2812           Update examples to use decodebin and playbin and put
2813           converters in front of sinks (fixes #323726).
2814
2815 2005-12-09  Michael Smith  <msmith@fluendo.com>
2816
2817         * plugins/elements/gsttypefindelement.c: (find_peek),
2818         (gst_type_find_element_chain):
2819           Fix leaking element factories in typefinding.
2820           Fix problem where we forgot about a probable type on non-seekable
2821           files, and thus later mis-typefound it.
2822
2823 2005-12-09  Michael Smith  <msmith@fluendo.com>
2824
2825         * common/m4/gst-makecontext.m4:
2826         * common/m4/gst-mcsc.m4:
2827         * configure.ac:
2828         * win32/common/config.h:
2829         * win32/common/config.h.in:
2830           Remove makecontext stuff; not used in 0.10 and causes problems on
2831           HPUX according to bug #322441
2832
2833 2005-12-07  Wim Taymans  <wim@fluendo.com>
2834
2835         * tests/check/Makefile.am:
2836         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
2837         (main):
2838         * tests/check/libs/struct_i386.h:
2839         Added ABI check for libs
2840
2841 2005-12-07  Wim Taymans  <wim@fluendo.com>
2842
2843         * tests/check/Makefile.am:
2844         And add the struct_i386.h to dist.
2845
2846 2005-12-07  Wim Taymans  <wim@fluendo.com>
2847
2848         * tests/check/Makefile.am:
2849         * tests/check/gst/.cvsignore:
2850         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
2851         (main):
2852         * tests/check/gst/struct_i386.h:
2853         Added check for ABI compatibility.
2854
2855 2005-12-07  Wim Taymans  <wim@fluendo.com>
2856
2857         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2858         (gst_fake_src_get_times), (gst_fake_src_create):
2859         Fix broken sync option, fixes #323259
2860
2861 2005-12-07  Wim Taymans  <wim@fluendo.com>
2862
2863         * gst/gstbuffer.c:
2864         Small docs update.
2865
2866         * gst/gstcaps.c: (gst_caps_is_equal):
2867         Don't assert on NULL <--> X. Fixes #323260
2868
2869         * gst/gstminiobject.c: (gst_mini_object_replace):
2870         If we're doing atomic operations, we might just as well use
2871         the proper way to get an atomic pointer.
2872
2873         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2874         Clean up debugging.
2875
2876 2005-12-07  Michael Smith  <msmith@fluendo.com>
2877
2878         * gst/parse/grammar.y:
2879           Remove handling of { } for threads.
2880
2881 2005-12-06  David Schleef  <ds@schleef.org>
2882
2883         * libs/gst/base/gstbasetransform.c: speling fix.
2884
2885 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2886
2887         * docs/libs/tmpl/gstdataprotocol.sgml:
2888         * docs/random/omega/testing/gstobject.c:
2889         * gst/gst.c:
2890         * gst/gstclock.c:
2891         * gst/gstelement.c:
2892         * gst/gstelementfactory.c:
2893         * gst/gsterror.c:
2894         * gst/gstevent.c:
2895         * gst/gstghostpad.c:
2896         * gst/gstinfo.c:
2897         * gst/gstpadtemplate.c:
2898         * gst/gstregistryxml.c:
2899         * gst/gsttaglist.c:
2900         * gst/gsttagsetter.c:
2901         * gst/gsttypefind.c:
2902         * gst/gstvalue.c:
2903         * libs/gst/base/gstbasesrc.c:
2904         * libs/gst/net/gstnetclientclock.c:
2905         * libs/gst/net/gstnettimeprovider.c:
2906         * plugins/elements/gstfakesrc.c:
2907         * plugins/elements/gstfdsrc.c:
2908         * plugins/elements/gstfilesrc.c:
2909         * plugins/elements/gstidentity.c:
2910         * plugins/elements/gstqueue.c:
2911         * plugins/elements/gsttypefindelement.c:
2912         * plugins/indexers/gstfileindex.c:
2913         * plugins/indexers/gstmemindex.c:
2914         * tests/check/gst/gsttag.c:
2915         * tests/old/examples/cutter/cutter.c:
2916         * tests/old/examples/mixer/mixer.c:
2917         * tests/old/examples/xml/runxml.c: (main):
2918         * tests/old/testsuite/caps/normalisation.c:
2919         * tests/old/testsuite/debug/global.c:
2920         * tests/old/testsuite/parse/parse1.c:
2921         * tools/gst-xmlinspect.c:
2922         * win32/common/dirent.c:
2923           expand tabs
2924
2925 === release 0.10.0 ===
2926
2927 2005-12-05   <thomas (at) apestaart (dot) org>
2928
2929         * configure.ac:
2930           releasing 0.10.0, "Maroilles"
2931
2932 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2933
2934         submitted by: Funda Wang <fundawang@linux.net.cn>
2935
2936         * po/LINGUAS:
2937         * po/zh_CN.po:
2938           added Chinese (Traditional) translation
2939
2940 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2941
2942         * docs/gst/gstreamer-sections.txt:
2943         * docs/libs/tmpl/gstdataprotocol.sgml:
2944         * docs/random/thomasvs/TODO:
2945         * gst/gstutils.c:
2946         * gst/gstutils.h:
2947           fix docs
2948
2949 2005-12-05  Andy Wingo  <wingo@pobox.com>
2950
2951         patch by: Wim Taymans <wim@fluendo.com>
2952
2953         * libs/gst/base/gstbasetransform.c
2954         (gst_base_transform_prepare_output_buf)
2955         (gst_base_transform_buffer_alloc):
2956         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
2957         alloc_buffer_and_set_caps.
2958
2959         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
2960         set_caps on the source pad.
2961         (gst_pad_alloc_buffer_and_set_caps): New function, does what
2962         alloc_buffer used to do. Fixes #322874.
2963
2964         * docs/gst/gstreamer-sections.txt: 
2965         * docs/design/part-negotiation.txt: 
2966         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
2967         changes.
2968
2969 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2970
2971         patch by: Sebastien Moutte
2972
2973         * win32/MANIFEST:
2974         * win32/common/config.h.in:
2975         * win32/vs6/libgstcontroller.dsp:
2976           win32 build fixes
2977
2978 2005-12-05  Wim Taymans  <wim@fluendo.com>
2979
2980         * gst/gstcaps.c: (gst_caps_is_equal):
2981         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2982         (gst_fake_src_create):
2983         Back out previous code changes, leave doc updates, file bugs 
2984         instead. 
2985
2986 2005-12-05  Wim Taymans  <wim@fluendo.com>
2987
2988         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2989         (gst_fake_src_get_times), (gst_fake_src_create):
2990         * plugins/elements/gstfakesrc.h:
2991         Fix broken sync code.
2992
2993 2005-12-05  Wim Taymans  <wim@fluendo.com>
2994
2995         * gst/gstcaps.c: (gst_caps_is_equal):
2996         Comparing NULL against !NULL yields different caps, not a
2997         failure.
2998
2999 2005-12-05  Wim Taymans  <wim@fluendo.com>
3000
3001         * gst/gstpipeline.c:
3002         Fix small typo in docs.
3003
3004 2005-12-05  Andy Wingo  <wingo@pobox.com>
3005
3006         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
3007
3008         * gst/gst.c (init_post): remove hard-coded 0.9 location for
3009         registries/plugins with a MAJORMINOR one.
3010         (plugin_desc): Rename library from gstcoreleements to
3011         staticelements. Fixes #323222.
3012
3013 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
3014
3015         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3016           Change debug category to 'collectpads' from 'collect_pads'
3017           (fixes #323250).
3018
3019 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3020
3021         patch by: Sebastien Moutte
3022
3023         * libs/gst/controller/gstinterpolation.c:
3024           use convert function for uint64/double
3025         * win32/vs6/libgstcontroller.dsp:
3026           link to GLib
3027
3028 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
3029
3030         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3031         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3032         * gst/gstutils.h:
3033         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3034           add tests that seem to show that the guint64/gdouble conversions
3035           are correct.
3036
3037 2005-12-02  Wim Taymans  <wim@fluendo.com>
3038
3039         * gst/gstregistry.c: (gst_registry_add_path):
3040         * gst/gstregistry.h:
3041         * gst/gstregistryxml.c:
3042         Fix docs again.
3043
3044 2005-12-02  Wim Taymans  <wim@fluendo.com>
3045
3046         * gst/gstutils.c: (gst_util_uint64_scale_int64),
3047         (gst_util_uint64_scale_int):
3048         Small cleanup.
3049
3050         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3051         Add debug log line.
3052
3053         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3054         Add FIXME.
3055
3056 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3057
3058         * win32/MANIFEST:
3059         * win32/common/config.h:
3060         * win32/vs6/gstreamer.dsw:
3061         * win32/vs6/libgstcoreelements.dsp:
3062         * win32/vs6/libgstelements.dsp:
3063           renamed core elements plugin
3064
3065 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3066
3067         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3068         (get_candidates):
3069           do piece-wise major/minor comparison so 0.9 < 0.10
3070           also allow .exe extensions for tools
3071
3072 2005-12-02  Michael Smith  <msmith@fluendo.com>
3073
3074         * gst/gst.c:
3075           Escape a % to make gtkdoc happier; bug 322958.
3076
3077 === release 0.9.7 ===
3078
3079 2005-12-01   <thomas (at) apestaart (dot) org>
3080
3081         * configure.ac:
3082           releasing 0.9.7, "My Dog Has No Nose"
3083
3084 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3085
3086         * common/gst-xmlinspect.py:
3087         * configure.ac:
3088         * docs/libs/tmpl/gstdataprotocol.sgml:
3089         * docs/random/release:
3090         * po/af.po:
3091         * po/az.po:
3092         * po/bg.po:
3093         * po/ca.po:
3094         * po/cs.po:
3095         * po/de.po:
3096         * po/en_GB.po:
3097         * po/fr.po:
3098         * po/it.po:
3099         * po/nb.po:
3100         * po/nl.po:
3101         * po/ru.po:
3102         * po/sq.po:
3103         * po/sr.po:
3104         * po/sv.po:
3105         * po/tr.po:
3106         * po/uk.po:
3107         * po/vi.po:
3108         * win32/common/config.h:
3109         * win32/common/config.h.in:
3110         * win32/vs6/gst_inspect.dsp:
3111         * win32/vs6/gst_launch.dsp:
3112         * win32/vs6/libgstbase.dsp:
3113         * win32/vs6/libgstelements.dsp:
3114         * win32/vs6/libgstreamer.dsp:
3115         * win32/vs7/GStreamer.vcproj:
3116         * win32/vs7/gst-inspect.vcproj:
3117         * win32/vs7/gst-launch.vcproj:
3118         * win32/vs7/libgstbase.vcproj:
3119           bump GST_MAJORMINOR to 0.10
3120           reset libtool version
3121
3122 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3123
3124         * po/LINGUAS:
3125         * po/bg.po:
3126           Added Bulgarian translation by (Alexander Shopov)
3127
3128 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3129
3130         * tests/check/gst/gstplugin.c:
3131           fix test
3132
3133 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3134
3135         * common/gst-xmlinspect.py:
3136         * common/gtk-doc-plugins.mak:
3137         * configure.ac:
3138         * docs/Makefile.am:
3139         * docs/gst/Makefile.am:
3140         * docs/gst/gstreamer-docs.sgml:
3141         * docs/gst/gstreamer-sections.txt:
3142         * docs/gst/gstreamer.types:
3143         * docs/gst/gstreamer.types.in:
3144         * docs/plugins/Makefile.am:
3145         * docs/plugins/gstreamer-plugins-docs.sgml:
3146         * docs/plugins/gstreamer-plugins-sections.txt:
3147         * docs/plugins/gstreamer-plugins.types:
3148         * docs/plugins/inspect.stamp:
3149         * docs/plugins/inspect/plugin-coreelements.xml:
3150         * docs/plugins/inspect/plugin-coreindexers.xml:
3151         * docs/plugins/scanobj-build.stamp:
3152         * gstreamer.spec.in:
3153         * plugins/elements/Makefile.am:
3154         * plugins/elements/gstelements.c:
3155         * plugins/elements/gstfakesink.c:
3156         * plugins/elements/gstfakesrc.c:
3157         * plugins/elements/gstfilesink.c:
3158         * plugins/elements/gstfilesrc.c:
3159         * plugins/elements/gstqueue.c:
3160         * plugins/indexers/Makefile.am:
3161         * plugins/indexers/gstindexers.c:
3162           document core plugins in a separate document just like all the
3163           others
3164           rename these plugins to something starting with core
3165
3166 2005-12-01  Andy Wingo  <wingo@pobox.com>
3167
3168         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
3169         padding here before, but it missed the commit.
3170
3171 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3172
3173         * libs/gst/controller/gstinterpolation.c:
3174           whitespace prices have crashed, we should feel free to use some now
3175           use gst_guint64_to_gdouble
3176
3177 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3178
3179         * libs/gst/controller/gstcontroller.c:
3180         * libs/gst/controller/gsthelper.c:
3181         * libs/gst/controller/gstinterpolation.c:
3182         * libs/gst/controller/lib.c:
3183           wrap config.h include
3184
3185 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3186
3187         * docs/gst/gstreamer-sections.txt:
3188           update docs
3189
3190 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3191
3192         * plugins/elements/gstelements.c:
3193         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
3194         (gst_fd_sink__class_init), (gst_fd_sink__init),
3195         (gst_fd_sink__chain), (gst_fd_sink__set_property),
3196         (gst_fd_sink__get_property):
3197         * plugins/elements/gstfdsink.h:
3198         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
3199         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
3200         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
3201         (gst_fd_src_unlock), (gst_fd_src_set_property),
3202         (gst_fd_src_get_property), (gst_fd_src_create),
3203         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
3204         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
3205         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
3206         (gst_fd_src_uri_handler_init):
3207         * plugins/elements/gstfdsrc.h:
3208         * plugins/elements/gstqueue.c: (gst_queue_get_type):
3209           more anal cleanup
3210
3211 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3212
3213         * docs/gst/Makefile.am:
3214         * docs/gst/gstreamer.types.in:
3215         * gst/Makefile.am:
3216           fix the docs build
3217
3218 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3219
3220         * configure.ac:
3221         * gst/Makefile.am:
3222         * gst/gst.c:
3223         * gst/gstplugin.h:
3224         * gst/gstregistry.h:
3225         * tests/benchmarks/complexity.c:
3226         * tests/benchmarks/mass-elements.c:
3227         * tests/check/Makefile.am:
3228         * tools/Makefile.am:
3229         * tools/gst-inspect.c:
3230         * tools/gst-xmlinspect.c:
3231           various fixes to make
3232           --disable-nls --disable-registry --disable-loadsave
3233           --disable-parse --disable-gst-debug
3234           work and get the core .so down to 360444 bytes after stripping
3235
3236 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3237
3238         * Makefile.am:
3239         * configure.ac:
3240           descend into tests
3241         * docs/random/thomasvs/TODO:
3242         * tests/Makefile.am:
3243         * tests/README:
3244           add a README
3245
3246 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3247
3248         * win32/GStreamer.vcproj:
3249         * win32/MANIFEST:
3250         * win32/Makefile:
3251         * win32/Makefile.inspect:
3252         * win32/Makefile.launch:
3253         * win32/Makefile.register:
3254         * win32/README.txt:
3255         * win32/gst-inspect.vcproj:
3256         * win32/gst-launch.vcproj:
3257         * win32/gst-register.vcproj:
3258         * win32/gstelements.vcproj:
3259         * win32/gstgetbits.def:
3260         * win32/gstgetbits.vcproj:
3261         * win32/gstreamer-dbg.def:
3262         * win32/gstreamer.def:
3263         * win32/libgstbase.def:
3264         * win32/libgstbase.vcproj:
3265         * win32/link_oldruntime.c:
3266         * win32/mman.c:
3267         * win32/mman.h:
3268         * win32/mman.inl:
3269         * win32/msvc71.sln:
3270           move even more stuff, win32/ is nice and clean now
3271
3272 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3273
3274         * libs/gst/control/.cvsignore:
3275         * win32/MANIFEST:
3276         * win32/config.h:
3277         * win32/dirent.c:
3278         * win32/dirent.h:
3279         * win32/gstbytestream.def:
3280         * win32/gstbytestream.vcproj:
3281         * win32/gstconfig.h:
3282         * win32/gstenumtypes.c:
3283         * win32/gstenumtypes.h:
3284         * win32/gstoptimalscheduler.vcproj:
3285         * win32/gstversion.h:
3286         * win32/gtchar.h:
3287         * win32/testsuite/bins.vcproj:
3288         * win32/testsuite/bytestream.vcproj:
3289         * win32/testsuite/caps.vcproj:
3290         * win32/testsuite/cleanup.vcproj:
3291         * win32/testsuite/clock.vcproj:
3292         * win32/testsuite/debug.vcproj:
3293         * win32/testsuite/dlopen.vcproj:
3294         * win32/testsuite/dynparams.vcproj:
3295         * win32/testsuite/elements.vcproj:
3296         * win32/testsuite/ghostpads.vcproj:
3297         * win32/testsuite/indexers.vcproj:
3298         * win32/testsuite/negotiation.vcproj:
3299         * win32/testsuite/parse.vcproj:
3300         * win32/testsuite/plugin.vcproj:
3301         * win32/testsuite/refcounting.vcproj:
3302         * win32/testsuite/schedulers.vcproj:
3303         * win32/testsuite/states.vcproj:
3304         * win32/testsuite/tags.vcproj:
3305         * win32/testsuite/threads.vcproj:
3306           remove old win32 stuff that isn't maintained and should be
3307           reorganized
3308
3309 2005-11-30  Andy Wingo  <wingo@pobox.com>
3310
3311         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
3312         loading the gst.interfaces python module bork.
3313
3314         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
3315         available since GLib 2.2. Fixes #318031.
3316
3317 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3318
3319         * Makefile.am:
3320         * check/.cvsignore:
3321         * check/Makefile.am:
3322         * check/elements/.cvsignore:
3323         * check/elements/fakesrc.c:
3324         * check/elements/fdsrc.c:
3325         * check/elements/identity.c:
3326         * check/generic/.cvsignore:
3327         * check/generic/states.c:
3328         * check/gst-libs/.cvsignore:
3329         * check/gst-libs/controller.c:
3330         * check/gst-libs/gdp.c:
3331         * check/gst/.cvsignore:
3332         * check/gst/capslist.h:
3333         * check/gst/gst.c:
3334         * check/gst/gstbin.c:
3335         * check/gst/gstbuffer.c:
3336         * check/gst/gstbus.c:
3337         * check/gst/gstcaps.c:
3338         * check/gst/gstelement.c:
3339         * check/gst/gstevent.c:
3340         * check/gst/gstghostpad.c:
3341         * check/gst/gstiterator.c:
3342         * check/gst/gstmessage.c:
3343         * check/gst/gstminiobject.c:
3344         * check/gst/gstobject.c:
3345         * check/gst/gstpad.c:
3346         * check/gst/gstpipeline.c:
3347         * check/gst/gstplugin.c:
3348         * check/gst/gstsegment.c:
3349         * check/gst/gststructure.c:
3350         * check/gst/gstsystemclock.c:
3351         * check/gst/gsttag.c:
3352         * check/gst/gstutils.c:
3353         * check/gst/gstvalue.c:
3354         * check/net/.cvsignore:
3355         * check/net/gstnetclientclock.c:
3356         * check/net/gstnettimeprovider.c:
3357         * check/pipelines/.cvsignore:
3358         * check/pipelines/cleanup.c:
3359         * check/pipelines/simple_launch_lines.c:
3360         * check/pipelines/stress.c:
3361         * check/states/.cvsignore:
3362         * check/states/sinks.c:
3363         * configure.ac:
3364         * examples/Makefile.am:
3365         * examples/appreader/.cvsignore:
3366         * examples/appreader/Makefile.am:
3367         * examples/appreader/appreader.c:
3368         * examples/controller/.cvsignore:
3369         * examples/controller/Makefile.am:
3370         * examples/controller/audio-example.c:
3371         * examples/cutter/.cvsignore:
3372         * examples/cutter/Makefile.am:
3373         * examples/cutter/cutter.c:
3374         * examples/cutter/cutter.h:
3375         * examples/events/Makefile.am:
3376         * examples/events/seek.c:
3377         * examples/helloworld/.cvsignore:
3378         * examples/helloworld/Makefile.am:
3379         * examples/helloworld/helloworld.c:
3380         * examples/helloworld2/.cvsignore:
3381         * examples/helloworld2/Makefile.am:
3382         * examples/helloworld2/helloworld2.c:
3383         * examples/launch/.cvsignore:
3384         * examples/launch/Makefile.am:
3385         * examples/launch/mp3parselaunch.c:
3386         * examples/launch/mp3play:
3387         * examples/manual/.cvsignore:
3388         * examples/manual/Makefile.am:
3389         * examples/manual/extract.pl:
3390         * examples/metadata/Makefile.am:
3391         * examples/metadata/read-metadata.c:
3392         * examples/mixer/.cvsignore:
3393         * examples/mixer/Makefile.am:
3394         * examples/mixer/mixer.c:
3395         * examples/mixer/mixer.h:
3396         * examples/pingpong/.cvsignore:
3397         * examples/pingpong/Makefile.am:
3398         * examples/pingpong/pingpong.c:
3399         * examples/plugins/.cvsignore:
3400         * examples/plugins/Makefile.am:
3401         * examples/plugins/example.c:
3402         * examples/plugins/example.h:
3403         * examples/pwg/.cvsignore:
3404         * examples/pwg/Makefile.am:
3405         * examples/pwg/extract.pl:
3406         * examples/queue/.cvsignore:
3407         * examples/queue/Makefile.am:
3408         * examples/queue/queue.c:
3409         * examples/queue2/.cvsignore:
3410         * examples/queue2/Makefile.am:
3411         * examples/queue2/queue2.c:
3412         * examples/queue3/.cvsignore:
3413         * examples/queue3/Makefile.am:
3414         * examples/queue3/queue3.c:
3415         * examples/queue4/.cvsignore:
3416         * examples/queue4/Makefile.am:
3417         * examples/queue4/queue4.c:
3418         * examples/retag/.cvsignore:
3419         * examples/retag/Makefile.am:
3420         * examples/retag/retag.c:
3421         * examples/retag/transcode.c:
3422         * examples/thread/.cvsignore:
3423         * examples/thread/Makefile.am:
3424         * examples/thread/thread.c:
3425         * examples/typefind/.cvsignore:
3426         * examples/typefind/Makefile.am:
3427         * examples/typefind/typefind.c:
3428         * examples/xml/.cvsignore:
3429         * examples/xml/Makefile.am:
3430         * examples/xml/createxml.c:
3431         * examples/xml/runxml.c:
3432         * tests/Makefile.am:
3433         * tests/check/Makefile.am:
3434         * testsuite/.cvsignore:
3435         * testsuite/Makefile.am:
3436         * testsuite/Rules:
3437         * testsuite/caps/.cvsignore:
3438         * testsuite/caps/Makefile.am:
3439         * testsuite/caps/app_fixate.c:
3440         * testsuite/caps/audioscale.c:
3441         * testsuite/caps/caps.c:
3442         * testsuite/caps/caps.h:
3443         * testsuite/caps/caps_strings:
3444         * testsuite/caps/compatibility.c:
3445         * testsuite/caps/deserialize.c:
3446         * testsuite/caps/enumcaps.c:
3447         * testsuite/caps/eratosthenes.c:
3448         * testsuite/caps/filtercaps.c:
3449         * testsuite/caps/fixed.c:
3450         * testsuite/caps/fraction-convert.c:
3451         * testsuite/caps/fraction-multiply-and-zero.c:
3452         * testsuite/caps/intersect2.c:
3453         * testsuite/caps/intersection.c:
3454         * testsuite/caps/normalisation.c:
3455         * testsuite/caps/random.c:
3456         * testsuite/caps/renegotiate.c:
3457         * testsuite/caps/sets.c:
3458         * testsuite/caps/simplify.c:
3459         * testsuite/caps/string-conversions.c:
3460         * testsuite/caps/structure.c:
3461         * testsuite/caps/subtract.c:
3462         * testsuite/caps/union.c:
3463         * testsuite/debug/.cvsignore:
3464         * testsuite/debug/Makefile.am:
3465         * testsuite/debug/category.c:
3466         * testsuite/debug/commandline.c:
3467         * testsuite/debug/global.c:
3468         * testsuite/debug/output.c:
3469         * testsuite/debug/printf_extension.c:
3470         * testsuite/dlopen/.cvsignore:
3471         * testsuite/dlopen/Makefile.am:
3472         * testsuite/dlopen/dlopen_gst.c:
3473         * testsuite/dlopen/loadgst.c:
3474         * testsuite/elements/.cvsignore:
3475         * testsuite/elements/Makefile.am:
3476         * testsuite/elements/gst-inspect-check.in:
3477         * testsuite/elements/struct_i386.h:
3478         * testsuite/elements/struct_size.c:
3479         * testsuite/indexers/.cvsignore:
3480         * testsuite/indexers/Makefile.am:
3481         * testsuite/indexers/cache1.c:
3482         * testsuite/indexers/indexdump.c:
3483         * testsuite/parse/.cvsignore:
3484         * testsuite/parse/Makefile.am:
3485         * testsuite/parse/parse1.c:
3486         * testsuite/parse/parse2.c:
3487         * testsuite/plugin/.cvsignore:
3488         * testsuite/plugin/Makefile.am:
3489         * testsuite/plugin/README:
3490         * testsuite/plugin/dynamic.c:
3491         * testsuite/plugin/linked.c:
3492         * testsuite/plugin/loading.c:
3493         * testsuite/plugin/registry.c:
3494         * testsuite/plugin/static.c:
3495         * testsuite/plugin/static2.c:
3496         * testsuite/plugin/testplugin.c:
3497         * testsuite/plugin/testplugin2.c:
3498         * testsuite/plugin/testplugin2_s.c:
3499         * testsuite/plugin/testplugin_s.c:
3500         * testsuite/refcounting/.cvsignore:
3501         * testsuite/refcounting/Makefile.am:
3502         * testsuite/refcounting/bin.c:
3503         * testsuite/refcounting/element.c:
3504         * testsuite/refcounting/element_pad.c:
3505         * testsuite/refcounting/mainloop.c:
3506         * testsuite/refcounting/mem.c:
3507         * testsuite/refcounting/mem.h:
3508         * testsuite/refcounting/object.c:
3509         * testsuite/refcounting/pad.c:
3510         * testsuite/refcounting/sched.c:
3511         * testsuite/refcounting/thread.c:
3512         * testsuite/states/.cvsignore:
3513         * testsuite/states/Makefile.am:
3514         * testsuite/states/bin.c:
3515         * testsuite/states/locked.c:
3516         * testsuite/states/parent.c:
3517         * testsuite/threads/.cvsignore:
3518         * testsuite/threads/159566.c:
3519         * testsuite/threads/159852.c:
3520         * testsuite/threads/Makefile.am:
3521         * testsuite/threads/queue.c:
3522         * testsuite/threads/signals.c:
3523         * testsuite/threads/staticrec.c:
3524         * testsuite/threads/thread.c:
3525         * testsuite/threads/threadb.c:
3526         * testsuite/threads/threadc.c:
3527         * testsuite/threads/threadd.c:
3528         * testsuite/threads/threade.c:
3529         * testsuite/threads/threadf.c:
3530         * testsuite/threads/threadg.c:
3531         * testsuite/threads/threadh.c:
3532         * testsuite/threads/threadi.c:
3533           move all of these under tests
3534
3535 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3536
3537         * configure.ac:
3538         * tests/Makefile.am:
3539           fix distcheck
3540
3541 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3542
3543         * docs/gst/gstreamer-sections.txt:
3544         * tests/sched/.cvsignore:
3545         * tests/sched/Makefile.am:
3546         * tests/sched/cases/(fs-fs).xml:
3547         * tests/sched/cases/(fs-i-fs).xml:
3548         * tests/sched/cases/(fs-i-i-fs).xml:
3549         * tests/sched/cases/(fs-i-q[i-fs]).xml:
3550         * tests/sched/dynamic-pipeline.c:
3551         * tests/sched/interrupt1.c:
3552         * tests/sched/interrupt2.c:
3553         * tests/sched/interrupt3.c:
3554         * tests/sched/runtestcases:
3555         * tests/sched/runxml.c:
3556         * tests/sched/sched-stress.c:
3557         * tests/sched/sort.c:
3558         * tests/sched/testcases:
3559         * tests/sched/testcases1.tc:
3560         * tests/seeking/.cvsignore:
3561         * tests/seeking/Makefile.am:
3562         * tests/seeking/seeking1.c:
3563         * tests/threadstate/.cvsignore:
3564         * tests/threadstate/Makefile.am:
3565         * tests/threadstate/test1.c:
3566         * tests/threadstate/test2.c:
3567         * tests/threadstate/threadstate1.c:
3568         * tests/threadstate/threadstate2.c:
3569         * tests/threadstate/threadstate3.c:
3570         * tests/threadstate/threadstate4.c:
3571         * tests/threadstate/threadstate5.c:
3572           remove obsolete tests
3573         * configure.ac:
3574         * tests/bench-complexity.scm:
3575         * tests/bench-mass_elements.scm:
3576         * tests/complexity.c:
3577         * tests/complexity.gnuplot:
3578         * tests/instantiate/.cvsignore:
3579         * tests/instantiate/Makefile.am:
3580         * tests/instantiate/caps.c:
3581         * tests/mass_elements.c:
3582         * tests/network-clock-utils.scm:
3583         * tests/network-clock.scm:
3584         * tests/plot-data:
3585         First pass at cleaning up tests/ dir before moving the rest
3586         Combined with CVS surgery
3587
3588 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3589
3590         * po/POTFILES.in:
3591           queue has moved, update
3592
3593 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3594
3595         * docs/gst/gstreamer-sections.txt:
3596           remove double entries from the docs
3597         * gst/gst_private.h:
3598         * gst/gstinfo.c: (_gst_debug_init):
3599           remove the THREAD debug category
3600         * gst/Makefile.am:
3601         * gst/gstqueue.c:
3602         * gst/gstqueue.h:
3603         * docs/gst/gstreamer.types:
3604         * plugins/elements/gstqueue.c: (gst_queue_get_type),
3605         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
3606           completely move queue and fix up debugging categories
3607
3608 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3609
3610         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3611           make initialization portable, using LL is not
3612
3613 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3614
3615         * win32/common/gstconfig.h:
3616           add large padding
3617
3618 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3619
3620         * win32/common/libgstreamer.def:
3621           rename symbols; sort base section
3622
3623 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3624
3625         * gst/gstclock.c: (do_linear_regression):
3626           remove crack non-portable handrolled DEBUG macro
3627
3628 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3629
3630         * docs/random/release:
3631           update notes
3632         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3633         (gst_object_flags_get_type), (register_gst_bin_flags),
3634         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3635         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3636         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3637         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
3638         (gst_caps_flags_get_type), (register_gst_clock_return),
3639         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3640         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3641         (gst_clock_flags_get_type), (register_gst_state),
3642         (gst_state_get_type), (register_gst_state_change_return),
3643         (gst_state_change_return_get_type), (register_gst_state_change),
3644         (gst_state_change_get_type), (register_gst_element_flags),
3645         (gst_element_flags_get_type), (register_gst_core_error),
3646         (gst_core_error_get_type), (register_gst_library_error),
3647         (gst_library_error_get_type), (register_gst_resource_error),
3648         (gst_resource_error_get_type), (register_gst_stream_error),
3649         (gst_stream_error_get_type), (register_gst_event_type_flags),
3650         (gst_event_type_flags_get_type), (register_gst_event_type),
3651         (gst_event_type_get_type), (register_gst_seek_type),
3652         (gst_seek_type_get_type), (register_gst_seek_flags),
3653         (gst_seek_flags_get_type), (register_gst_format),
3654         (gst_format_get_type), (register_gst_index_certainty),
3655         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3656         (gst_index_entry_type_get_type),
3657         (register_gst_index_lookup_method),
3658         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3659         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3660         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3661         (gst_index_flags_get_type), (register_gst_debug_level),
3662         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3663         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3664         (gst_iterator_result_get_type), (register_gst_iterator_item),
3665         (gst_iterator_item_get_type), (register_gst_message_type),
3666         (gst_message_type_get_type), (register_gst_mini_object_flags),
3667         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3668         (gst_pad_link_return_get_type), (register_gst_flow_return),
3669         (gst_flow_return_get_type), (register_gst_activate_mode),
3670         (gst_activate_mode_get_type), (register_gst_pad_direction),
3671         (gst_pad_direction_get_type), (register_gst_pad_flags),
3672         (gst_pad_flags_get_type), (register_gst_pad_presence),
3673         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3674         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3675         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3676         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3677         (gst_plugin_flags_get_type), (register_gst_rank),
3678         (gst_rank_get_type), (register_gst_query_type),
3679         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3680         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3681         (gst_tag_flag_get_type), (register_gst_task_state),
3682         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3683         (gst_alloc_trace_flags_get_type),
3684         (register_gst_type_find_probability),
3685         (gst_type_find_probability_get_type), (register_gst_uri_type),
3686         (gst_uri_type_get_type), (register_gst_parse_error),
3687         (gst_parse_error_get_type):
3688         * win32/common/gstenumtypes.h:
3689         * win32/common/gstversion.h:
3690           update visual studio generated files
3691
3692 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3693
3694         * win32/vs6/libgstbase.dsp:
3695         * win32/vs6/libgstelements.dsp:
3696           update project files for new locations
3697
3698 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
3699
3700         * Makefile.am:
3701           remove some files
3702         * README:
3703           reinstate and update
3704         * DEVEL:
3705         * REQUIREMENTS:
3706           removed
3707         * LICENSE:
3708         * docs/random/LICENSE:
3709           moved to random
3710
3711 2005-11-30  Edward Hervey  <edward@fluendo.com>
3712
3713         * gst/gsttypefind.c: (gst_type_find_register):
3714         * gst/gsttypefind.h:
3715         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
3716         (gst_type_find_factory_dispose):
3717         * gst/gsttypefindfactory.h:
3718         Fix memory leak in GstTypeFindFactory.
3719
3720 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3721
3722         * gst/gst.c:
3723         * plugins/elements/Makefile.am:
3724         * plugins/elements/gstelements.c:
3725         * plugins/elements/gstqueue.c:
3726           move queue from core to the elements plugin
3727
3728 2005-11-29  Andy Wingo  <wingo@pobox.com>
3729
3730         * libs/gst/base/gstbasetransform.h: 
3731         * libs/gst/base/gstbasesrc.h: 
3732         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
3733
3734         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
3735         of pointers by which to pad very extensible base classes (like the
3736         ones in libs/gst/base).
3737
3738 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3739
3740         * docs/gst/gstreamer-docs.sgml:
3741         * docs/gst/gstreamer-sections.txt:
3742         * docs/libs/gstreamer-libs-docs.sgml:
3743         * docs/libs/gstreamer-libs-sections.txt:
3744           moving documentation from core to lib
3745
3746 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3747
3748         * check/Makefile.am:
3749         * configure.ac:
3750         * docs/gst/Makefile.am:
3751         * gst/Makefile.am:
3752         * gst/base/.cvsignore:
3753         * gst/base/Makefile.am:
3754         * gst/base/README:
3755         * gst/base/gstadapter.c:
3756         * gst/base/gstadapter.h:
3757         * gst/base/gstbasesink.c:
3758         * gst/base/gstbasesink.h:
3759         * gst/base/gstbasesrc.c:
3760         * gst/base/gstbasesrc.h:
3761         * gst/base/gstbasetransform.c:
3762         * gst/base/gstbasetransform.h:
3763         * gst/base/gstcollectpads.c:
3764         * gst/base/gstcollectpads.h:
3765         * gst/base/gstpushsrc.c:
3766         * gst/base/gstpushsrc.h:
3767         * gst/base/gsttypefindhelper.c:
3768         * gst/base/gsttypefindhelper.h:
3769         * gst/check/Makefile.am:
3770         * gst/check/gstcheck.c:
3771         * gst/check/gstcheck.h:
3772         * gst/net/Makefile.am:
3773         * gst/net/gstnet.h:
3774         * gst/net/gstnetclientclock.c:
3775         * gst/net/gstnetclientclock.h:
3776         * gst/net/gstnettimepacket.c:
3777         * gst/net/gstnettimepacket.h:
3778         * gst/net/gstnettimeprovider.c:
3779         * gst/net/gstnettimeprovider.h:
3780         * libs/gst/Makefile.am:
3781         * libs/gst/base/Makefile.am:
3782         * libs/gst/base/gstbasetransform.c:
3783         * libs/gst/check/Makefile.am:
3784         * plugins/elements/Makefile.am:
3785         * po/POTFILES.in:
3786           CVS surgery + support to move base, check, and net out of gst
3787           and into libs/gst
3788
3789 2005-11-29  Andy Wingo  <wingo@pobox.com>
3790
3791         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
3792
3793         * gst/gststructure.h (struct _GstStructure): Only one pointer of
3794         padding.
3795
3796         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
3797
3798         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
3799
3800         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
3801
3802         * gst/gstobject.h: (struct _GstObject): Only one pointer of
3803         padding; reduces object size by about 30%. We don't expect
3804         anything else to go into gstobject.
3805
3806         * gst/gstminiobject.h (struct _GstMiniObject)
3807         (struct _GstMiniObjectClass): Only one pointer of padding; the
3808         payload is only a pointer and two ints anyway. For the class there
3809         are only two methods as well.
3810         
3811         * gst/gstelement.h (struct _GstElementClass): Removed
3812         the state_changed signal callback, it is not used.
3813
3814 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3815
3816         * docs/gst/gstreamer.types:
3817           fix includes, though they are a little dinky
3818
3819 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3820
3821         * check/Makefile.am:
3822           look in the right place for elements, a lot more chance of
3823           success
3824         * gst/Makefile.am:
3825           remove indexers and elements subdirs
3826         * plugins/Makefile.am:
3827           make indexers conditional
3828
3829 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3830
3831         * Makefile.am:
3832         * configure.ac:
3833         * plugins/elements/Makefile.am:
3834         * plugins/elements/gstcapsfilter.c:
3835         * plugins/elements/gstfilesink.c:
3836         * plugins/elements/gstfilesrc.c:
3837         * plugins/elements/gstidentity.c:
3838         * plugins/indexers/Makefile.am:
3839           do CVS surgery and related build fixery to move elements
3840           and indexers in a new gstreamer/plugins directory, out of the
3841           gst/ directory
3842
3843 2005-11-29  Andy Wingo  <wingo@pobox.com>
3844
3845         * check/Makefile.am:
3846         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3847         * pkgconfig/gstreamer-net.pc.in:
3848         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
3849         #322257.
3850
3851 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3852
3853         * tools/Makefile.am:
3854         * tools/gst-complete.1.in:
3855         * tools/gst-complete.c:
3856         * tools/gst-compprep.1.in:
3857         * tools/gst-compprep.c:
3858           removing -compprep and -complete
3859
3860 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3861
3862         * gst/gstevent.c: (gst_event_new_new_segment),
3863         (gst_event_parse_new_segment):
3864         * gst/gstevent.h:
3865           fix #320529 - clean up new_segment API and structure.
3866           Let's hope everyone was using the methods, and not the structure.
3867
3868 2005-11-29  Edward Hervey  <edward@fluendo.com>
3869
3870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3871         (gst_base_sink_event), (gst_base_sink_do_sync),
3872         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
3873         Properly handle non GST_FORMAT_TIME segment
3874         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3875         Properly handle non GST_FORMAT_TIME segment
3876         * gst/gstsegment.c:
3877         This function is valid if the accumulator is 0 and the format
3878         is different from the requested format.
3879         
3880 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3881
3882         * docs/gst/gstreamer-sections.txt:
3883         Add gst_query_new_seeking and gst_query_parse_seeking to the
3884         docs.
3885
3886 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
3887
3888         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3889           Treat a pad alloc with new caps the same as if we were not
3890           negotiated, in order to allow a changing upstream output
3891           to produce a new format of data.
3892
3893 2005-11-29  Edward Hervey  <edward@fluendo.com>
3894
3895         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3896         (gst_base_transform_event), (gst_base_transform_eventfunc):
3897         The event virtual method is now properly implemented, with a default
3898         handler
3899         Sub classes should call the parent_class event method. They should
3900         return FALSE if they had a problem handling the given event, or don't
3901         want GstBaseTransform to send that even downstream
3902         * gst/elements/gstidentity.c: (gst_identity_class_init),
3903         (gst_identity_init), (gst_identity_event),
3904         (gst_identity_transform_ip), (gst_identity_set_property),
3905         (gst_identity_get_property):
3906         * gst/elements/gstidentity.h:
3907         Added the single-segment boolean property.
3908         If set to TRUE, it will output a single segment of data, starting from
3909         0, will eat up all incoming newsegment, and modify the timestamp of the
3910         buffers accordingly
3911
3912 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
3913
3914         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
3915           Don't ref NULL target pad (#322751). Improve docs.
3916
3917 2005-11-29  Michael Smith  <msmith@fluendo.com>
3918
3919         * gst/gstregistryxml.c: (load_plugin):
3920           Don't crash if we failed to load a feature from a plugin. 
3921
3922 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3923
3924         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
3925         (GST_START_TEST):
3926           use more check API and less GLib API
3927
3928 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3929
3930         * Makefile.am:
3931           don't run checks if we don't have check
3932         * common/check.mak:
3933           remove the registry when running make torture
3934         * docs/gst/gstreamer-sections.txt:
3935           remove second multiply
3936         * gst/gstqueue.c: (gst_queue_loop):
3937           fix a compile warning when disabling debug
3938
3939 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3940
3941         * gst/gstinfo.h:
3942         Hey! Let's print the pad name if the pointer != NULL instead
3943         of when it == NULL :-)
3944
3945 2005-11-28  Wim Taymans  <wim@fluendo.com>
3946
3947         * check/gst/gstutils.c: (GST_START_TEST):
3948         Updated check, add some scaling accuracy checking code.
3949
3950         * gst/gstutils.c: (gst_util_div128_64),
3951         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
3952         (gst_util_uint64_scale_int):
3953         Fix 6 times faster division code. Optimize for common 
3954         1/1 and less common X/1 cases.
3955
3956 2005-11-28  Wim Taymans  <wim@fluendo.com>
3957
3958         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3959         More checks.
3960
3961         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
3962         (do_linear_regression), (gst_clock_add_observation):
3963         Cleanups.
3964         Release lock when the clock cannot be slaved.
3965         Catch the case where the regression returned an invalid denominator.
3966
3967         * gst/gstutils.c: (gst_util_div128_64_iterate),
3968         (gst_util_div128_64), (gst_util_uint64_scale_int64),
3969         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3970         Add protentially more performant non-iterative 128/64 divide function
3971         that unfortunatly does not work yet.
3972         Shortcut the trivial 0/X = 0 case.
3973         Remove the warnings on overflow.
3974
3975 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3976
3977         * gst/gstplugin.c: (gst_plugin_register_func):
3978           everything causing a plugin not to load should be at least a WARNING
3979
3980 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
3981
3982         * docs/random/ensonic/dparams.txt:
3983           some TODOs for the next dev cycle
3984         * libs/gst/controller/gstcontroller.c:
3985         (gst_controlled_property_set_interpolation_mode),
3986         (gst_controlled_property_new):
3987         * libs/gst/controller/gstcontroller.h:
3988           use base type to assign acccessor functions
3989
3990 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3991
3992         * check/Makefile.am:
3993         Oops, that should have been top_srcdir
3994
3995 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
3996
3997         * check/Makefile.am:
3998         * check/elements/fdsrc.c: (GST_START_TEST):
3999         Use a cmdline define to specify the location of a file to use for
4000         testing, to avoid breaking distcheck.
4001
4002 2005-11-28  Andy Wingo  <wingo@pobox.com>
4003
4004         * gst/gstpad.c (fixate_value): Use array functions for arrays.
4005
4006 2005-11-28  Edward Hervey  <edward@fluendo.com>
4007
4008         * tools/gst-launch.c: (main):
4009         Clarify the output strings, makes it easier to translate.
4010         Fixes #322626
4011
4012 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4013
4014         * gst/Makefile.am:
4015           don't try and build net if we don't even have <sys/socket.h>
4016
4017 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
4018
4019         * check/Makefile.am:
4020         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4021         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4022           Add tests for fdsrc seekability
4023
4024         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4025         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4026         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4027         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4028         * gst/elements/gstfdsrc.h:
4029           fdsrc should not be a 'live' source.
4030           Implement seeking on seekable fd's.
4031
4032         * gst/gstquery.c: (gst_query_new_seeking),
4033         (gst_query_parse_seeking):
4034         * gst/gstquery.h:
4035           Implement SEEKING query functions: 
4036             *_new_seeking and *_parse_seeking
4037
4038 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
4039
4040         * gst/gstelement.c: (gst_element_dispose):
4041           don't loop forever
4042
4043         * gst/gstiterator.c:
4044         * gst/gststructure.c:
4045           doc fixes
4046
4047         * libs/gst/controller/gstcontroller.c:
4048         (gst_controlled_property_set_interpolation_mode):
4049         * libs/gst/controller/gstcontroller.h:
4050         * libs/gst/controller/gstinterpolation.c:
4051         (interpolate_none_get_enum_value_array):
4052           support controlling enums
4053
4054 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4055
4056         * gst/gstvalue.c:
4057           Improve documentation for gst_value_union().
4058
4059         * gst/gstvalue.h:
4060           Change return value for union, intersect and subtract functions
4061           from gint to gboolean.
4062
4063 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
4064
4065         * gst/gstvalue.c: (gst_value_serialize_any_list),
4066         (gst_value_transform_any_list_string),
4067         (gst_value_deserialize_list), (gst_value_deserialize_array),
4068         (gst_value_set_int_range), (gst_value_deserialize_int_range),
4069         (gst_value_set_double_range), (gst_value_deserialize_double_range),
4070         (gst_value_set_fraction_range_full),
4071         (gst_value_deserialize_fraction_range),
4072         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4073         (gst_value_deserialize_boolean),
4074         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4075         (gst_value_serialize_float), (gst_value_deserialize_float),
4076         (gst_string_wrap), (gst_value_deserialize_string),
4077         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4078         (gst_value_union_int_range_int_range),
4079         (gst_value_intersect_int_range_int_range),
4080         (gst_value_intersect_double_range_double_range),
4081         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4082         (gst_value_subtract_int_range_int_range),
4083         (gst_value_subtract_double_double_range),
4084         (gst_value_subtract_double_range_double_range),
4085         (gst_value_deserialize_fraction):
4086         * gst/gstvalue.h:
4087           Use gint, gdouble and gchar in our API instead of int, double and
4088           char (and make usage in gstvalue.c more consistent).
4089
4090 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4091
4092         * check/Makefile.am:
4093         * libs/gst/controller/Makefile.am:
4094         * libs/gst/dataprotocol/Makefile.am:
4095           fix up Makefile.am and remove GST_ENABLE_NEW
4096
4097 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4098
4099         * configure.ac:
4100         * gst/Makefile.am:
4101         * gst/base/Makefile.am:
4102         * gst/check/Makefile.am:
4103         * gst/elements/Makefile.am:
4104         * gst/net/Makefile.am:
4105           update LDFLAGS use some more
4106
4107 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4108
4109         * common/m4/gst-doc.m4:
4110           Fixes #312589
4111
4112 2005-11-26  Edward Hervey  <edward@fluendo.com>
4113
4114         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4115         This shouldn't issue a g_warning since it returns NULL if it
4116         couldn't find the plugin, and all functions using this behave
4117         properly on a NULL return. Switching to a GST_WARNING.
4118
4119 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
4120
4121         * gst/gstbin.c: (gst_bin_handle_message_func):
4122         Don't leak clock messages.
4123
4124 2005-11-25  Wim Taymans  <wim@fluendo.com>
4125
4126         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4127         (gst_util_uint64_scale_int):
4128         Optimisations, remove unneeded vars.
4129
4130 2005-11-25  Wim Taymans  <wim@fluendo.com>
4131
4132         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4133         Added more checks for the high precision uint64 cases.
4134
4135         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4136         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4137         Implement high precision (guint64 * guint64) / guint64.
4138
4139 2005-11-24  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/base/gstbasesrc.c: (gst_base_src_query):
4142         Fix wrong percentage query.
4143
4144         * gst/gstutils.c: (gst_util_uint64_scale),
4145         (gst_util_uint64_scale_int):
4146         Add some more common cases that can be handled 
4147         efficiently to _scale.
4148
4149 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4150
4151         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4152         (gst_mini_object_suite):
4153           don't use check calls from threads; check probably isn't
4154           threadsafe and using a lock to make it threadsafe would
4155           defeat the purpose of this check
4156         * gst/check/gstcheck.c:
4157         * gst/check/gstcheck.h:
4158           use GST_DEBUG some more
4159
4160 2005-11-24  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/gstutils.c: (gst_util_uint64_scale),
4163         (gst_util_uint64_scale_int):
4164         Chain trivial case to _scale_int.
4165
4166 2005-11-24  Wim Taymans  <wim@fluendo.com>
4167
4168         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4169         Added test for scaling.
4170
4171         * gst/gstclock.h:
4172         Small doc fix.
4173
4174         * gst/gstutils.c: (gst_util_uint64_scale_int):
4175         Implemented high precision scaling code.
4176
4177 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
4178
4179         * gst/gstinfo.h:
4180           do not crash on pad==NULL
4181
4182 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4183
4184         Patch by: Stefan Kost
4185
4186         * common/gtk-doc.mak:
4187         * docs/gst/Makefile.am:
4188         * docs/libs/Makefile.am:
4189           Fix distcheck issues for the libraries docs build
4190           Closes #319599.
4191
4192 2005-11-24  Michael Smith <msmith@fluendo.com>
4193
4194         * docs/manual/basics-helloworld.xml:
4195           Fix bug #315027: memory leak in example code in docs.
4196
4197 2005-11-24  Michael Smith <msmith@fluendo.com>
4198
4199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4200           Unlock the PREROLL_LOCK in a failure case.
4201
4202 2005-11-24  Wim Taymans  <wim@fluendo.com>
4203
4204         * docs/gst/gstreamer-sections.txt:
4205         * gst/base/gstadapter.h:
4206         * gst/base/gstbasesink.h:
4207         * gst/base/gstbasesrc.h:
4208         * gst/base/gstbasetransform.h:
4209         * gst/base/gstpushsrc.h:
4210         * gst/elements/gstfakesink.h:
4211         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
4212         * gst/elements/gstfakesrc.h:
4213         * gst/elements/gstfilesink.h:
4214         * gst/elements/gstfilesrc.h:
4215         * gst/gst.c:
4216         * gst/gstbin.c:
4217         * gst/gstbuffer.c: (_gst_buffer_copy):
4218         * gst/gstbus.h:
4219         * gst/gstcaps.c:
4220         * gst/gstchildproxy.c:
4221         * gst/gstclock.c:
4222         * gst/gstelement.c:
4223         * gst/gstelementfactory.c:
4224         * gst/gstelementfactory.h:
4225         * gst/gstevent.c:
4226         * gst/gstghostpad.h:
4227         * gst/gstindex.h:
4228         * gst/gstinterface.h:
4229         * gst/gstminiobject.c:
4230         * gst/gstminiobject.h:
4231         * gst/gstpad.c:
4232         * gst/gstpad.h:
4233         * gst/gstpadtemplate.h:
4234         * gst/gstpipeline.h:
4235         * gst/gstpluginfeature.h:
4236         * gst/gstquery.h:
4237         * gst/gstqueue.h:
4238         * gst/gsttaglist.c:
4239         * gst/gsttaglist.h:
4240         * gst/gsttagsetter.c:
4241         * gst/gsttagsetter.h:
4242         * gst/gsttrace.c:
4243         * gst/gsttrace.h:
4244         * gst/gsttypefind.h:
4245         * gst/gsturi.h:
4246         * gst/gstvalue.c:
4247         * gst/net/gstnetclientclock.c:
4248         * gst/net/gstnetclientclock.h:
4249         * gst/net/gstnettimepacket.c:
4250         * gst/net/gstnettimeprovider.c:
4251         * gst/net/gstnettimeprovider.h:
4252         Doc fixes.
4253
4254 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4255
4256         * configure.ac: back to HEAD
4257
4258 === release 0.9.6 ===
4259
4260 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
4261
4262         * configure.ac:
4263           releasing 0.9.6, "Always On Time"
4264
4265 2005-11-23  Wim Taymans  <wim@fluendo.com>
4266
4267         * docs/gst/gstreamer-sections.txt:
4268         * gst/glib-compat.c:
4269         * gst/gsttagsetter.c:
4270         * gst/gstvalue.c:
4271         * gst/net/gstnetclientclock.c:
4272         * gst/net/gstnettimepacket.h:
4273         Doc updates.
4274
4275 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4276
4277         * docs/faq/using.xml:
4278         * docs/libs/tmpl/gstcontrol.sgml:
4279         * docs/manual/advanced-dparams.xml:
4280         * docs/manual/appendix-checklist.xml:
4281         * docs/manual/basics-elements.xml:
4282         * docs/pwg/other-source.xml:
4283         * docs/random/moving-plugins:
4284         * gst/gstpad.c:
4285         * tools/gst-launch.1.in:
4286           remove mentions of sinesrc
4287
4288 2005-11-23  Michael Smith <msmith@fluendo.com>
4289
4290         * docs/gst/gstreamer-sections.txt:
4291           Update for new API and API changes.
4292         * gst/gstobject.h:
4293           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
4294         * gst/gstvalue.c:
4295           Documentation typo fix.
4296         * gst/net/gstnettimepacket.c:
4297           Documentation fixes for arguments.
4298
4299 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
4300
4301         * gst/gststructure.c: (gst_structure_get_fraction),
4302         (gst_structure_parse_value),
4303         (gst_structure_fixate_field_nearest_fraction):
4304         * gst/gststructure.h:
4305         * gst/gstutils.c: (gst_util_uint64_scale_int):
4306         * gst/gstutils.h:
4307         * scripts/update-funcnames:
4308         API Changes. 
4309         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
4310         Make gst_structure_fixate_field_nearest_fraction take a numerator
4311         and denominator argument instead of a GValue
4312         add gst_structure_get_fraction helper function.
4313
4314 2005-11-23  Wim Taymans  <wim@fluendo.com>
4315
4316         * docs/design/part-TODO.txt:
4317         Update TODO.
4318
4319         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4320         * gst/net/gstnetclientclock.h:
4321         Use parent fields for timeout and window_size.
4322
4323 2005-11-23  Andy Wingo  <wingo@pobox.com>
4324
4325         * check/net/gstnetclientclock.c (test_functioning): Adjust to
4326         rate_num/rate_denom change.
4327
4328         * gst/net/gstnetclientclock.c
4329         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
4330         OBJECT_LOCK. Don't call add_observation with the lock.
4331
4332         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
4333         fraction.
4334         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
4335         rate fraction.
4336         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
4337         deal with rate as a fraction whose numerator and denominator are
4338         GstClockTime values.
4339         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
4340         master; the other fields are protected by the SLAVE_LOCK.
4341         (do_linear_regression): Note that this must be called with the
4342         SLAVE_LOCK.
4343         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
4344         OBJECT_LOCK. Call set_calibration instead of touching the
4345         variables directly.
4346         (gst_clock_set_property, gst_clock_get_property): Protect
4347         master/slave parameters with the SLAVE_LOCK.
4348
4349         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
4350         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
4351         note that all of the instance variables that add_observation and
4352         the set_master functions use are protected by that lock and not
4353         the OBJECT_LOCK.
4354         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
4355
4356         * gst/gstclock.c (gst_clock_add_observation): No longer requires
4357         the caller to take the object lock.
4358
4359 2005-11-23  Wim Taymans  <wim@fluendo.com>
4360
4361         * gst/gsterror.c: (_gst_core_errors_init):
4362         * gst/gsterror.h:
4363         Add error for clock stuff.
4364
4365         * gst/gstpipeline.c: (gst_pipeline_change_state),
4366         (gst_pipeline_set_clock):
4367         Post clock error when clock cannot be used in a pipeline.
4368
4369 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
4370
4371         * docs/gst/gstreamer-sections.txt:
4372           make two symbols from gstinfo private for the docs
4373         * gst/base/gstcollectpads.h:
4374         * gst/gstutils.c:
4375           fix doc typos, update docs
4376
4377 2005-11-22  Wim Taymans  <wim@fluendo.com>
4378
4379         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4380         (gst_base_sink_wait), (gst_base_sink_do_sync),
4381         (gst_base_sink_handle_event):
4382         * gst/base/gstbasesink.h:
4383         No need to store the clock, the parent element class already
4384         has it.
4385
4386         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
4387         Updates for clock_set returning a gboolean
4388
4389         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
4390         (gst_clock_id_wait_async), (gst_clock_class_init),
4391         (gst_clock_init), (gst_clock_finalize),
4392         (gst_clock_get_internal_time), (gst_clock_get_time),
4393         (gst_clock_slave_callback), (gst_clock_set_master),
4394         (gst_clock_get_master), (do_linear_regression),
4395         (gst_clock_add_observation), (gst_clock_set_property),
4396         (gst_clock_get_property):
4397         * gst/gstclock.h:
4398         Implement master/slave. When setting a clock as a slave, a
4399         periodic timeout is scheduled to sample master and slave times.
4400         Then the slave clock is recalibrated to match offset and rate
4401         of the master clock.
4402         Update logging a bit.
4403         Add flag so that a clock can state that is cannot be slaved to
4404         another clock.
4405
4406         * gst/gstelement.c: (gst_element_set_clock):
4407         * gst/gstelement.h:
4408         The set clock returns a gboolean for when an element cannot
4409         deal with the selected clock in the pipeline. 
4410
4411         * gst/gstpipeline.c: (gst_pipeline_change_state),
4412         (gst_pipeline_set_clock):
4413         * gst/gstpipeline.h:
4414         Handle the case where the selected clock cannot be set on
4415         the pipeline.
4416
4417         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
4418         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4419         (gst_net_client_clock_set_property),
4420         (gst_net_client_clock_get_property),
4421         (gst_net_client_clock_observe_times):
4422         * gst/net/gstnetclientclock.h:
4423         Use regression code in GstClock parent, remove duplicated
4424         functionality.
4425
4426 2005-11-22  Michael Smith <msmith@fluendo.com>
4427
4428         * gst/gstutils.c: (gst_util_clock_time_scale):
4429         * gst/gstutils.h:
4430         * docs/gst/gstreamer-sections.txt:
4431           Rename method to have extra underscore.
4432
4433 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4434
4435         * gst/elements/Makefile.am:
4436         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
4437         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4438         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4439         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
4440         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
4441         * gst/elements/gstfakesrc.h:
4442         * gst/gstqueue.c: (queue_leaky_get_type):
4443           correctly fix GEnumValues so that nick is the short lowercase
4444           dashed tag
4445         * tools/gst-inspect.c: (print_element_properties_info):
4446           also show the nick, since it's useful to use from parse_launch
4447           syntax
4448           Fixes #322139
4449
4450 2005-11-22  Michael Smith <msmith@fluendo.com>
4451
4452         * gst/gstutils.c: (gst_util_clocktime_scale):
4453         * gst/gstutils.h:
4454         * docs/gst/gstreamer-sections.txt:
4455           Add util method for scaling a clocktime by a fraction. Useful 
4456           implementation is left as an exercise for the reader.
4457
4458 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4459
4460         * gst/gstvalue.c: (gst_value_collect_fraction_range):
4461         If needed, allocate storage in the destination value during
4462         collection.
4463
4464 2005-11-22  Edward Hervey  <edward@fluendo.com>
4465
4466         * docs/gst/gstreamer-sections.txt:
4467         * gst/Makefile.am:
4468         * gst/gst.h:
4469         * gst/gsturitype.c:
4470         * gst/gsturitype.h:
4471         * gst/gstutils.c: (gst_util_set_object_arg):
4472         * tools/gst-compprep.c: (main):
4473         * tools/gst-inspect.c: (print_element_properties_info):
4474         Removed GstURI, closes bug #321061
4475
4476 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4477
4478         * check/gst/gststructure.c: (GST_START_TEST):
4479         * gst/gststructure.c: (gst_structure_parse_value):
4480           Oops, broke automatic string type parsing.
4481           Add a test to catch it in future.
4482
4483 2005-11-22  Andy Wingo  <wingo@pobox.com>
4484
4485         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
4486         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
4487         Actually rename the function implementations. Grr.
4488
4489 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4490
4491         * check/gst/capslist.h:
4492           Comment test cases
4493         * check/gst/gststructure.c: (GST_START_TEST),
4494         (gst_structure_suite):
4495           Test automatic value type detection in gst_structure_from_string.
4496         * gst/gststructure.c: (gst_structure_parse_value):
4497           Add fraction as a type we try and guess automatically in
4498           caps/structure strings.
4499
4500 2005-11-22  Andy Wingo  <wingo@pobox.com>
4501
4502         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4503
4504         * gst/gsttagsetter.h:
4505         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4506         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4507         (gst_tag_setter_add_tag_valist)
4508         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4509         _add_values, _add_valist, and _add_valist_values. Since this is an
4510         interface the function suffixes should be more explicit so
4511         language binding don't end up with element.add_valist ->
4512         gst_tag_setter_add_valist, for example. Fixes #322069.
4513
4514 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4515
4516         * check/gst/gstcaps.c: (GST_START_TEST):
4517           Extend caps string tests to check that a caps to string
4518           conversion is reversible and produces the same caps.
4519
4520         * gst/gststructure.c: (gst_structure_value_get_generic_type):
4521           Output "fraction" as the generic type fraction range, so caps
4522           serialisation and deserialisation works.
4523         * check/gst/capslist.h:
4524         * gst/gstvalue.c: (gst_value_deserialize_fraction):
4525           Support 'MIN' and 'MAX' for deserialising fractions.
4526
4527 2005-11-22  Andy Wingo  <wingo@pobox.com>
4528
4529         * gst/gstevent.h (gst_event_new_new_segment)
4530         (gst_event_parse_new_segment, gst_event_new_buffer_size)
4531         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4532         Renamed from *_newsegment, *_buffersize, *_notarget.
4533
4534         * scripts/update-funcnames: New script, performs the changes
4535         listed above.
4536
4537 2005-11-22  Wim Taymans  <wim@fluendo.com>
4538
4539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4540         Make sure the GstFlowReturn is returned.
4541
4542         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
4543         (gst_bus_add_signal_watch):
4544         * gst/gstbus.h:
4545         add gst_bus_add_signal_watch_full.
4546
4547         * gst/gstplugin.c: (gst_plugin_load_file):
4548         Small style cleanup.
4549
4550 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4551
4552         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
4553           Block the fakesrc srcpad when we send an event, to avoid
4554           contention on the stream_lock causing random test failures.
4555
4556 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4557
4558         * check/gst/gstvalue.c: (GST_START_TEST):
4559         * gst/gstvalue.c: (gst_value_fraction_subtract):
4560           Fix subtraction.
4561
4562 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
4563
4564         * gst/gst.h:
4565           include "gstchildproxy.h"
4566         * gst/gstchildproxy.h:
4567         * libs/gst/controller/gstcontroller.h:
4568           use G_GNUC_NULL_TERMINATED
4569
4570 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
4571
4572         * check/gst/capslist.h:
4573         * check/gst/gstcaps.c: (GST_START_TEST):
4574         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4575         * gst/gststructure.c: (gst_structure_parse_range),
4576         (gst_structure_fixate_field_nearest_fraction):
4577         * gst/gststructure.h:
4578         * gst/gstvalue.c: (gst_value_init_fraction_range),
4579         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
4580         (gst_value_collect_fraction_range),
4581         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
4582         (gst_value_set_fraction_range_full),
4583         (gst_value_get_fraction_range_min),
4584         (gst_value_get_fraction_range_max),
4585         (gst_value_serialize_fraction_range),
4586         (gst_value_transform_fraction_range_string),
4587         (gst_value_compare_fraction_range),
4588         (gst_value_deserialize_fraction_range),
4589         (gst_value_intersect_fraction_fraction_range),
4590         (gst_value_intersect_fraction_range_fraction_range),
4591         (gst_value_subtract_fraction_fraction_range),
4592         (gst_value_subtract_fraction_range_fraction),
4593         (gst_value_subtract_fraction_range_fraction_range),
4594         (gst_value_collect_fraction), (gst_value_fraction_multiply),
4595         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
4596         (gst_value_transform_string_fraction), (_gst_value_initialize):
4597         * gst/gstvalue.h:
4598           Implement fraction ranges and extend GstFraction to support
4599           arithmetic subtraction, as well as deserialization from integer
4600           strings such as "100"
4601           Add a testsuite as for int and double range set operations
4602
4603 2005-11-21  Andy Wingo  <wingo@pobox.com>
4604
4605         * gst/gsttaglist.h: 
4606         * gst/gstcaps.h: 
4607         * gst/gststructure.h: Add glib-compat.h.
4608
4609 2005-11-21  Wim Taymans  <wim@fluendo.com>
4610
4611         * gst/gstbin.c: (gst_bin_change_state_func):
4612         Fix for #321595
4613
4614 2005-11-21  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/gstsegment.h:
4617         And add a nice define too.
4618
4619 2005-11-21  Wim Taymans  <wim@fluendo.com>
4620
4621         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
4622         (gst_segment_new), (gst_segment_free), (gst_segment_init),
4623         (gst_segment_set_duration), (gst_segment_set_last_stop),
4624         (gst_segment_set_seek), (gst_segment_set_newsegment),
4625         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4626         (gst_segment_clip):
4627         * gst/gstsegment.h:
4628         Make binding friendly.
4629
4630 2005-11-21  Andy Wingo  <wingo@pobox.com>
4631
4632         * gst/gsttagsetter.h: 
4633         * gst/gsttaglist.h: 
4634         * gst/gststructure.h: 
4635         * gst/gstcaps.h: 
4636         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
4637         #319940.
4638
4639         * gst/gsterror.c (_gst_core_errors_init):
4640         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
4641         category.
4642
4643         * gst/Makefile.am (gst_headers): Add glib-compat.h.
4644         (noinst_HEADERS): noinst the -private.
4645
4646 2005-11-21  Michael Smith <msmith@fluendo.com>
4647
4648         * gst/gstplugin.h:
4649         * gst/gstregistry.h:
4650           Remove unimplemented declarations for which we can see no sensible
4651           use.
4652
4653 2005-11-21  Andy Wingo  <wingo@pobox.com>
4654
4655         * gst/gst.h: Include glib-compat.h.
4656
4657         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
4658
4659         * gst/glib-compat.c: Include the public and the private header.
4660
4661         * gst/glib-compat-private.h: Copied here from glib-compat.h.
4662
4663         * gst/gstvalue.c: 
4664         * gst/gstpad.c: 
4665         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
4666
4667         * check/gst/gstevent.c (create_custom_events): Check that
4668         FLUSH_STOP is serialized.
4669
4670         * check/elements/identity.c (event_func): 
4671         * check/elements/fakesrc.c (event_func): No stream lock, the core
4672         takes it.
4673
4674         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
4675         stream lock taking, yay.
4676
4677         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
4678         ensure that core takes the stream lock.
4679
4680         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
4681         lock name change.
4682
4683         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
4684         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
4685         it already. For the flush start we do take it though so we get the
4686         right preroll state change messages.
4687
4688         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
4689         the stream lock here, the core does it for us.
4690
4691         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
4692         GST_STREAM_GET_LOCK.
4693         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
4694         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
4695         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
4696         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
4697         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
4698         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
4699
4700         * gst/gstpad.c: Update for stream lock name change.
4701
4702         * gst/base/gstbasesink.c: Update for preroll lock name change.
4703
4704 2005-11-21  Wim Taymans  <wim@fluendo.com>
4705
4706         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
4707         (gst_clock_get_master):
4708         * gst/gstclock.h:
4709         * gst/gstsystemclock.c: (gst_system_clock_init):
4710         Convert Clock flags to object flags.
4711         Added methods to manage master/slave clocks.
4712
4713 2005-11-21  Wim Taymans  <wim@fluendo.com>
4714
4715         * check/gst/gstsegment.c: (GST_START_TEST):
4716         * docs/design/part-TODO.txt:
4717         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4718         (gst_base_sink_event), (gst_base_sink_do_sync),
4719         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4720         (gst_base_sink_query), (gst_base_sink_change_state):
4721         * gst/base/gstbasesink.h:
4722         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4723         (gst_base_src_default_newsegment),
4724         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4725         (gst_base_src_get_range), (gst_base_src_loop),
4726         (gst_base_src_change_state):
4727         * gst/base/gstbasesrc.h:
4728         * gst/base/gstbasetransform.c:
4729         (gst_base_transform_prepare_output_buf),
4730         (gst_base_transform_event), (gst_base_transform_change_state):
4731         * gst/base/gstbasetransform.h:
4732         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4733         (gst_collect_pads_event):
4734         * gst/base/gstcollectpads.h:
4735         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
4736         (gst_fake_src_create):
4737         * gst/elements/gstfakesrc.h:
4738         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4739         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4740         (gst_segment_set_last_stop), (gst_segment_set_seek),
4741         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4742         (gst_segment_to_running_time), (gst_segment_clip):
4743         * gst/gstsegment.h:
4744         More segment updates, replace code in plugins with segment
4745         helper functions.
4746
4747 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4748
4749         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
4750         Don't ignore sscanf results
4751
4752 2005-11-21  Andy Wingo  <wingo@pobox.com>
4753
4754         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
4755
4756         * *.h:
4757         * *.c: Ran scripts/update-macros. Oh yes.
4758
4759         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
4760         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
4761         GST_GET_LOCK, etc.
4762
4763         * scripts/update-macros: New script. Run it on your files to
4764         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
4765         well.
4766
4767 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4768
4769         * docs/gst/Makefile.am:
4770         * docs/gst/gstreamer-docs.sgml:
4771         * docs/gst/gstreamer-sections.txt:
4772         * docs/gst/gstreamer.types:
4773         * gst/gstinfo.h:
4774           more docs fixes, add new api to the docs
4775
4776 2005-11-21  Andy Wingo  <wingo@pobox.com>
4777
4778         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
4779         state_broadcast call.
4780
4781         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
4782
4783 2005-11-21  Julien MOUTTE  <julien@moutte.net>
4784
4785         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
4786         function calls for arrays.
4787
4788 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
4789
4790         * docs/random/ensonic/media-device-daemon.txt:
4791           wild idea, can this be done?
4792         * docs/gst/gstreamer-sections.txt:
4793         * gst/gsterror.h:
4794         * gst/gstfilter.c:
4795         * gst/gstfilter.h:
4796         * gst/gstplugin.h:
4797         * gst/gstpluginfeature.c:
4798         * gst/gsttrace.c:
4799         * gst/gstvalue.c:
4800         * gst/gstvalue.h:
4801           doc fixes and additions
4802
4803 2005-11-21  Andy Wingo  <wingo@pobox.com>
4804
4805         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
4806         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
4807         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
4808         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
4809         private to the basesrc implementation.
4810
4811         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
4812         behalf of event function if necessary. It should no longer be
4813         necessary to take the stream lock in pad's event functions. Fixes
4814         #320299.
4815
4816 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4817         * docs/gst/gstreamer-sections.txt:
4818         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
4819         (gst_structure_fixate_field_nearest_double),
4820         (gst_structure_fixate_field_boolean):
4821         * gst/gststructure.h:
4822         * win32/common/libgstreamer.def:
4823         * win32/gstreamer.def:
4824
4825         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
4826         (#322027)
4827
4828 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
4829
4830         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
4831         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
4832         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
4833         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
4834         (gst_fdsrc_uri_handler_init):
4835         * gst/elements/gstfdsrc.h:
4836           Port fd:// URI handler from 0.8 to fdsrc
4837
4838 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4839
4840         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
4841         (gst_value_serialize_fourcc):
4842         * gst/gstvalue.h:
4843           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
4844           consistent with our other format defines (#320324).
4845
4846 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4847
4848         * gst/gstvalue.c: (gst_value_is_fixed):
4849           Revert previous commit. Value lists are by definition
4850           not fixed, as they are a list of possible values.
4851
4852 2005-11-21  Andy Wingo  <wingo@pobox.com>
4853
4854         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
4855         during the stable series if we need it. Fixes #319178.
4856
4857         * gst/gstevent.c (gst_event_new_filler): Removed.
4858
4859         * check/gst/gstevent.c: Update comment about filler events.
4860
4861 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4862
4863         * gst/gstvalue.c: (gst_value_is_fixed):
4864           Should handle both value arrays and value lists.
4865
4866 2005-11-21  Andy Wingo  <wingo@pobox.com>
4867
4868         patch by: Alessandro Dessina <alessandro nnva org>
4869
4870         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
4871         functions to access arrays. Fixes #321962.
4872
4873 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4874
4875         * docs/gst/gstreamer.types:
4876           gst_collectpads_get_type => gst_collect_pads_get_type.
4877           
4878         * gst/base/gstbasetransform.c:
4879           Remove unused SIGNAL_HANDOFF enum.
4880
4881 2005-11-21  Andy Wingo  <wingo@pobox.com>
4882
4883         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
4884         the event type (upstream, downstream, serialized). Renamed
4885         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
4886         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
4887         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
4888
4889         * gst/gstevent.c: Update for new CUSTOM event names.
4890
4891         * check/gst/gstevent.c: Update check for new CUSTOM event names.
4892
4893         * gst/gstevent.h:
4894         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
4895         bug #319392.
4896
4897 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4898
4899         * docs/gst/gstreamer-sections.txt:
4900         * win32/common/libgstbase.def:
4901         * win32/libgstbase.def:
4902         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4903         (gst_collect_pads_class_init), (gst_collect_pads_init),
4904         (gst_collect_pads_finalize), (gst_collect_pads_new),
4905         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
4906         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
4907         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
4908         (gst_collect_pads_start), (gst_collect_pads_stop),
4909         (gst_collect_pads_peek), (gst_collect_pads_pop),
4910         (gst_collect_pads_available), (gst_collect_pads_read),
4911         (gst_collect_pads_flush), (gst_collect_pads_event),
4912         (gst_collect_pads_chain):
4913         * gst/base/gstcollectpads.h:
4914           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
4915           unimplemented functions as unimplemented. Add padding to
4916           GstCollectData. (#320766, #320423)
4917
4918 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
4919
4920         * gst/gstmessage.c:
4921           Improve docs for DURATION message (usage of duration parameter)
4922           (#320113)
4923
4924 2005-11-20  Wim Taymans  <wim@fluendo.com>
4925
4926         * check/Makefile.am:
4927         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
4928         (main):
4929         * gst/Makefile.am:
4930         * gst/gst.h:
4931         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4932         (gst_segment_set_seek), (gst_segment_set_newsegment),
4933         (gst_segment_to_stream_time), (gst_segment_to_running_time),
4934         (gst_segment_clip):
4935         * gst/gstsegment.h:
4936         Added segment helper structure and methods. Not fully implemented
4937         yet.
4938         Added segment check.
4939
4940 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
4941
4942         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4943           Add a deserialisation test for fractions
4944         * examples/metadata/read-metadata.c: (message_loop),
4945         (make_pipeline), (main):
4946           Fix up metadata reading sample.
4947         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4948           Debug format fix
4949         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4950           Don't try and fixate empty caps
4951         * gst/gst_private.h:
4952           Wrap in G_BEGIN_DECLS/G_END_DECLS
4953         * gst/gstvalue.c: (gst_value_collect_fraction),
4954         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
4955         (gst_value_transform_string_fraction),
4956         (gst_value_compare_fraction):
4957           Add some extra guards to ensure that we don't end up 
4958           with an invalid denominator of 0 in a gstfraction and
4959           that fractions always get reduced.
4960
4961 2005-11-20  Wim Taymans  <wim@fluendo.com>
4962
4963         * docs/gst/gstreamer-sections.txt:
4964         * gst/gstbuffer.h:
4965         * gst/gstelement.c:
4966         * gst/gstformat.c:
4967         * gst/gstformat.h:
4968         * gst/gstindex.h:
4969         * gst/gstquery.c:
4970         * gst/gstquery.h:
4971         * gst/gstvalue.c:
4972         Doc fixes.
4973
4974 2005-11-20  Wim Taymans  <wim@fluendo.com>
4975
4976         * docs/design/part-TODO.txt:
4977         * gst/gstcaps.h:
4978         Make a proper enum of the flag.
4979
4980 2005-11-19  Wim Taymans  <wim@fluendo.com>
4981
4982         * docs/design/part-TODO.txt:
4983         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
4984         (gst_format_to_quark), (gst_format_register):
4985         * gst/gstformat.h:
4986         * gst/gstquery.c: (_gst_query_initialize),
4987         (gst_query_type_get_name), (gst_query_type_to_quark),
4988         (gst_query_type_register):
4989         * gst/gstquery.h:
4990         Add type to quark and type to string conversions.
4991
4992 2005-11-19  Andy Wingo  <wingo@pobox.com>
4993
4994         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
4995         #320097.
4996
4997 2005-11-19  Wim Taymans  <wim@fluendo.com>
4998
4999         * docs/design/part-TODO.txt:
5000         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5001         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5002         (gst_bin_handle_message_func):
5003         * gst/gstbin.h:
5004         Make message handling overridable.
5005
5006 2005-11-19  Andy Wingo  <wingo@pobox.com>
5007
5008         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5009
5010         * gst/gstclock.h:
5011         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5012         be a GstClockTime.
5013         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5014         is a GstClockTime. Fixes #321710.
5015
5016         * gst/gstclock.h (GstClock): Remove offset property. Add
5017         internal_calibration and external_calibration. Fix padding. Pad
5018         also by GstClockTime so we don't run into problems.
5019
5020         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5021         (gst_clock_get_rate_offset): Remove.
5022         (gst_clock_set_time_adjust): Remove. Fixes #321712.
5023
5024         * gst/gstutils.h:
5025         * gst/gstutils.c (g_static_rec_cond_wait)
5026         (g_static_rec_cond_timed_wait): Removed, no longer needed.
5027
5028         * gst/gstbin.c: Remove terrible continue_state prototype.
5029
5030         * gst/gstelement.h (gst_element_continue_state): Make public.
5031
5032         * gst/gstelement.h:
5033         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5034         by continue_state. Fixes #319389.
5035
5036         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5037         Really fixes #168438. However I don't see anywhere where the
5038         filter function is called... stupid GStreamer...
5039         
5040         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5041         don't have a dispose function, so it won't get called when the
5042         object is unreffed, but oh well!
5043
5044         * gst/gstindex.c (gst_index_set_filter_full): New API function,
5045         allows a destroy function to be set so user_data can be freed.
5046         Fixes #168438.
5047         (gst_index_set_filter): Call gst_index_set_filter_full.
5048
5049         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5050
5051         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5052         string should produce an error, given the lack of a way to
5053         represent NULL strings. Fixes #165650.
5054         
5055         * gst/gstvalue.h: 
5056         * gst/gstvalue.c (gst_value_array_append_value) 
5057         (gst_value_array_prepend_value, gst_value_array_get_size) 
5058         (gst_value_array_get_value): New API, copied from
5059         gst_value_list_*, only operates on arrays.
5060         (gst_value_list_append_value, gst_value_list_prepend_value) 
5061         (gst_value_list_concat, gst_value_list_get_size) 
5062         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5063
5064         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5065         init_list, because it works on both.
5066         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5067         (gst_value_copy_list_or_array): Renamed from copy_list.
5068         (gst_value_free_list_or_array): Renamed from free_list.
5069         (gst_value_collect_list_or_array): Renamed from collect_list.
5070         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5071         (gst_value_list_or_array_peek_pointer): Renamed from
5072         list_peek_pointer.
5073         (_gst_value_array_value_table, _gst_value_list_value_table):
5074         Update value table functions.
5075         (gst_value_compare_list_or_array): Renamed from compare_list.
5076
5077         * gsttaglist.h: Whoops, foreach function returns void. Also fix
5078         some constness.
5079
5080         * gst/gsttaglist.c:
5081         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5082         GstTagList*. Fixes #143472.
5083
5084         * gst/gststructure.h: Clarify what the foreach/map functions can
5085         or can't do to their arguments.
5086
5087 2005-11-18  Wim Taymans  <wim@fluendo.com>
5088
5089         * gst/gstclock.c: (gst_clock_set_calibration),
5090         (gst_clock_get_calibration):
5091         Doc and API fixes.
5092         Calibration can be set with internal time equal to current
5093         internal time too.
5094
5095 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5096
5097         * gst/gsterror.c:
5098         * gst/gsterror.h:
5099           document
5100
5101 2005-11-18  Andy Wingo  <wingo@pobox.com>
5102
5103         * configure.ac: 
5104         * pkgconfig/gstreamer-net.pc.in:
5105         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5106         * pkgconfig/Makefile.am: Add net pkgconfig files.
5107
5108 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
5109
5110         * gst/gstcaps.c:
5111         * gst/gstghostpad.c:
5112         * gst/gsttrace.c:
5113         * gst/gstvalue.c:
5114         * gst/gstvalue.h:
5115           docs fixes
5116
5117 2005-11-18  Andy Wingo  <wingo@pobox.com>
5118
5119         * gst/net/gstnetclientclock.c: Turn off debugging.
5120
5121         * check/net/gstnetclientclock.c (test_functioning): Assert that the
5122         times connverge somewhat. Can't make a real test.
5123
5124         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5125         integer arithmetic. Return the minimum of the domain, which can be
5126         set as "internal" for gst_clock_set_calibration.
5127         (gst_net_client_clock_observe_times): Call _set_calibration.
5128         (gst_net_client_clock_new): Call _set_calibration instead of
5129         rate_offset.
5130
5131         * check/net/gstnetclientclock.c (test_functioning): Use the right
5132         adjustment api.
5133
5134         * gst/gstclock.h:
5135         * gst/gstclock.c (gst_clock_get_calibration) 
5136         (gst_clock_set_calibration): New functions, obsolete the ones I
5137         added yesterday. Doh. Precision issues mean we have to extrapolate
5138         from a point in the more recent past than 1970.
5139         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5140         obsolete.
5141         (gst_clock_adjust_unlocked): Use the right calibration data.
5142
5143 2005-11-18  Edward Hervey  <edward@fluendo.com>
5144
5145         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
5146         Also reset the ->current_* values in READY->PAUSED
5147
5148 2005-11-18  Andy Wingo  <wingo@pobox.com>
5149
5150         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5151         Whoops, check the right fd. Also add some debugging.
5152         (gst_net_client_clock_observe_times): Adjust for int64 offset.
5153         (do_linear_regression): Add a crapload of debugging. Subtract off
5154         the minimum values from the input series to discard unneeded bits.
5155         Use only int arithmetic. There is still double arithmetic when
5156         calculating the intercept that needs fixing. Return boolean to
5157         indicate success; FALSE would mean the domain or range is too
5158         great. Still needs fixes.
5159
5160 2005-11-18  Wim Taymans  <wim@fluendo.com>
5161
5162         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5163         For the current position in stream time, we need to subtract
5164         accumulated time.
5165         
5166         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5167         Release lock before calling the callback function of async
5168         entries.
5169
5170 2005-11-18  Andy Wingo  <wingo@pobox.com>
5171
5172         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
5173         Port goes all the way to MAXUINT16.
5174
5175         * gst/net/gstnettimeprovider.c: Make the port range the same as
5176         for the kernel: 0 assigns, otherwise ports are less than
5177         MAXUINT16.
5178
5179         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
5180         port change.
5181
5182         * check/net/gstnetclientclock.c (test_functioning): Add the start
5183         of another test. 
5184
5185 2005-11-18  Wim Taymans  <wim@fluendo.com>
5186
5187         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5188         (gst_bin_remove_func), (bin_bus_handler):
5189         * gst/gstbin.h:
5190         Removing a clock provider from a bin, triggers a clock lost message
5191         so that a new clock will be selected.
5192         Adding a clock to a bin triggers a clock provider message.
5193         Make sure we reselect a clock when we received a clock lost message.
5194         Keep a reference to the element that provided the clock.
5195
5196 2005-11-18  Andy Wingo  <wingo@pobox.com>
5197
5198         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
5199         the clock initially so it produces values around the base time.
5200         (gst_net_client_clock_class_init): Typo fix.
5201         (gst_net_client_clock_thread): Add note on when the socket gets
5202         closed.
5203
5204 2005-11-17  Wim Taymans  <wim@fluendo.com>
5205
5206         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
5207         Free remote and local time arrays.
5208
5209 2005-11-17  Wim Taymans  <wim@fluendo.com>
5210
5211         * gst/net/gstnetclientclock.c: (do_linear_regression),
5212         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
5213         Fix compilation, uninitialized vars and a forgotten continue.
5214
5215 2005-11-17  Andy Wingo  <wingo@pobox.com>
5216
5217         * check/Makefile.am (check_PROGRAMS): 
5218         * check/net/gstnetclientclock.c: Add a most minimal test for the
5219         net client clock. More to come later.
5220
5221         * gst/net/gstnet.h: 
5222         * gst/net/Makefile.am: Add netclientclock.
5223
5224         * gst/net/gstnetclientclock.h:
5225         * gst/net/gstnetclientclock.c: New files, implement an untested
5226         GstClock that takes its time from a network time provider.
5227         Implements the algorithm in network-clock.scm.
5228
5229         * tests/network-clock.scm (*window-size*): Rename from
5230         *queue-length*.
5231         * tests/network-clock.scm (network-time): 
5232         * tests/network-clock-utils.scm (q-push): Update callers.
5233
5234 2005-11-17  Wim Taymans  <wim@fluendo.com>
5235
5236         * gst/gstbin.c: (gst_bin_provide_clock_func),
5237         (gst_bin_sort_iterator_new):
5238         And unref the child too..
5239
5240 2005-11-17  Wim Taymans  <wim@fluendo.com>
5241
5242         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5243         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
5244         Refactor the sort iterator so it can be used while holding the
5245         LOCK too.
5246         Make clock selection select a clock closest to the source.
5247
5248 2005-11-17  Michael Smith <msmith@fluendo.com>
5249
5250         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
5251         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
5252         * gst/gstclock.h:
5253           Anonymous structs are a gcc (and some other compilers) extension, so
5254           don't use them. Since this is only for ABI-compatibility, and our
5255           API/ABI freeze is over in a few days, this whole thing will only
5256           last a few days, so don't bother trying to think up a meaningful
5257           name for the struct.
5258
5259 2005-11-17  Andy Wingo  <wingo@pobox.com>
5260
5261         * gst/gstclock.h (GstClock): Add rate and offset properties,
5262         preserving ABI stability. Add rate/offset accessors. Will file bug
5263         for the freeze break.
5264
5265         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
5266         and offset, trying to keep precision and avoiding
5267         underflow/overflow.
5268         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
5269         functions. Make gst_clock_set_time_adjust obsolete.
5270         (gst_clock_set_time_adjust): Note that this function is obsolete.
5271         Will file bug soon.
5272
5273         * gst/base/gstbasetransform.h: Make the ABI-stability hack
5274         greppable by using GST_PADDING-1+1.
5275
5276 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
5277
5278         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5279
5280         * gst/gstmessage.c: (gst_message_parse_clock_lost):
5281           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
5282
5283         * gst/gstpadtemplate.h:
5284         * gst/gstpluginfeature.h:
5285           Don't use c++ style comments in headers (#321638).
5286
5287 2005-11-16  Andy Wingo  <wingo@pobox.com>
5288
5289         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
5290         buffer.
5291
5292         * check/net/gstnettimeprovider.c: Check to see that the time
5293         provider actually provides times. Works, yo!
5294
5295 2005-11-16  Wim Taymans  <wim@fluendo.com>
5296
5297         * check/Makefile.am:
5298         Enable more tests.
5299
5300         * check/elements/fakesrc.c: (GST_START_TEST):
5301         Set element to NULL before disposing it.
5302
5303 2005-11-16  Andy Wingo  <wingo@pobox.com>
5304
5305         * gst/net/Makefile.am:
5306         * gst/net/gstnet.h:
5307         * gst/net/gstnettimeprovider.c: 
5308         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
5309         provider, include it from gstnet.h, and add it to the build.
5310
5311         * gst/net/gstnettimepacket.h: 
5312         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
5313         sending and receiving.
5314
5315 2005-11-16  Wim Taymans  <wim@fluendo.com>
5316
5317         * check/Makefile.am:
5318         Enable valgrind check.
5319
5320         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
5321         (gst_fake_src_alloc_buffer):
5322         Fix memleak.
5323
5324 2005-11-16  Wim Taymans  <wim@fluendo.com>
5325
5326         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
5327         Call parent finalize too.
5328
5329 2005-11-16  Wim Taymans  <wim@fluendo.com>
5330
5331         * check/Makefile.am:
5332         Enable valgrind check that should work fine now.
5333
5334         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5335         * gst/gstqueue.c: (gst_queue_init):
5336         Fix memleaks in pad allocation.
5337
5338 2005-11-16  Andy Wingo  <wingo@pobox.com>
5339
5340         * gst/net/Makefile.am:
5341         * gst/net/gstnet.h: New part of core to hold network elements and
5342         objects. Put in core because it exposes API that applications want
5343         to use. The library is named libgstnet-tempname right now because
5344         of the existing libgstnet in gst-plugins-base. Solution is
5345         probably to rename the one in plugins-base; will file a bug for
5346         the freeze break.
5347
5348         * gst/net/gstnettimeprovider.c: 
5349         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
5350         get_time call over the network.
5351
5352         * configure.ac: 
5353         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
5354
5355         * check/Makefile.am:
5356         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
5357         get additions shortly.
5358
5359 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5360
5361         * gst/gstpad.c: (gst_pad_new_from_static_template):
5362         * gst/gstpad.h:
5363           add gst_pad_new_from_static_template functions
5364         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
5365         (gst_check_setup_sink_pad):
5366         * gst/elements/gsttee.c: (gst_tee_init):
5367           and use them
5368
5369 2005-11-16  Wim Taymans  <wim@fluendo.com>
5370
5371         * gst/gstpad.c: (gst_pad_pause_task):
5372         Removed warning, it's not really an error either.
5373
5374 2005-11-16  Wim Taymans  <wim@fluendo.com>
5375
5376         * gst/base/gstbasetransform.c:
5377         (gst_base_transform_prepare_output_buf),
5378         (gst_base_transform_event):
5379         Check if the caps are NULL, this can happen if the element
5380         is shutting down and the pad caps are set to NULL.
5381
5382 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5383
5384         * gst/elements/gsttee.c: (gst_tee_init):
5385           fix pad template leak in tee
5386
5387 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5388
5389         * gst/glib-compat.c: (g_value_dup_gst_object):
5390         * gst/glib-compat.h:
5391         * gst/gstpad.c: (gst_pad_set_property):
5392           use gst_object_ref when setting the pad template; this will
5393           trigger the pad template leaks on GLib 2.6 and the slaves
5394
5395 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5396
5397         * gst/glib-compat.c: (gst_flags_get_first_value):
5398         * gst/glib-compat.h:
5399         * gst/gstregistryxml.c:
5400           remove functions copied from GLib 2.6
5401
5402 2005-11-16  Michael Smith <msmith@fluendo.com>
5403
5404         * gst/Makefile.am:
5405           Don't link against VALGRIND_LIBS. That was always the wrong thing to
5406           do, but only breaks with newer valgrind versions. We're not a
5407           valgrind tool, we have no link-time dependencies on libcoregrind.
5408
5409 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5410
5411         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5412           some debug changes
5413         * gst/gstmessage.h:
5414           typo fixes
5415
5416 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5417
5418         * gst/base/gstbasesrc.c: (gst_base_src_init):
5419         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5420         * gst/gstqueue.c: (gst_queue_init):
5421         * gst/gstregistryxml.c: (load_feature):
5422           Revert all these unrefs, they don't even pass make check !
5423
5424 2005-11-15  Johan Dahlin  <johan@gnome.org>
5425
5426         * gst/base/gstbasesrc.c: (gst_base_src_init):
5427         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5428         * gst/gstqueue.c: (gst_queue_init): 
5429         Free pad templates, fixes a couple of leaks.
5430
5431 2005-11-15  Daniel Fischer  <dan at f3c dot com>
5432
5433         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5434
5435         * gst/gstpad.c: (gst_pad_get_property):
5436           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
5437           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
5438           (#321452)
5439
5440 2005-11-15  Wim Taymans  <wim@fluendo.com>
5441
5442         * gst/gstevent.c:
5443         Small doc update.
5444
5445 2005-11-15  Andy Wingo  <wingo@pobox.com>
5446
5447         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
5448
5449         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
5450         using GST_CLOCK_TIME_NONE to disable base time management.
5451         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
5452         time if it was NONE before.
5453         (gst_pipeline_change_state): Only munge the base time if
5454         stream_time != GST_CLOCK_TIME_NONE.
5455
5456         * check/gst/gstpipeline.c (test_base_time): Punt around the
5457         problem of the probe not being called, because that's not the
5458         issue I'm looking at. Add a check that setting stream_time to NONE
5459         disables base time management.
5460         
5461 2005-11-15  Wim Taymans  <wim@fluendo.com>
5462
5463         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5464         segment_stop == -1 at startup.
5465
5466         * gst/base/gstbasetransform.c: (gst_base_transform_event),
5467         (gst_base_transform_change_state):
5468         Init segment values at start.
5469
5470 2005-11-15  Wim Taymans  <wim@fluendo.com>
5471
5472         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5473         0 segment values are 0 in any format.
5474
5475         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5476         * gst/base/gstbasetransform.h:
5477         Parse newsegment correctly in basetransform
5478
5479         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5480         Sync to clock using updated segment values.
5481
5482 2005-11-15  Andy Wingo  <wingo@pobox.com>
5483
5484         * check/gst/gstpipeline.c (test_base_time): Add check that the
5485         base time and stream time are reset correctly.
5486
5487 2005-11-15  Wim Taymans  <wim@fluendo.com>
5488
5489         * docs/design/part-TODO.txt:
5490         Some more TODO items.
5491
5492 2005-11-15  Andy Wingo  <wingo@pobox.com>
5493
5494         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
5495         error if the user selected "no clock" as the clocking method.
5496
5497         * check/gst/gstpipeline.c (test_base_time): New test for buffer
5498         timestamps with live capture.
5499
5500         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5501         is 0 but we are a live source, timestamp the buffers using the
5502         element's clock.
5503
5504 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
5505
5506         * docs/gst/gstreamer-sections.txt:
5507         * gst/gsterror.c:
5508         * gst/gstghostpad.c:
5509         * gst/gstobject.h:
5510         * gst/gstxml.c:
5511           more section docs
5512
5513 2005-11-14  Wim Taymans  <wim@fluendo.com>
5514
5515         * common/gst.supp:
5516           add suppressions from Wim's Debian machine
5517
5518 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5519
5520         * common/gst.supp:
5521           add suppressions from Andy's AMD64 Ubuntu machine
5522
5523 2005-11-14  Andy Wingo  <wingo@pobox.com>
5524
5525         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5526         STATE_LOCK not necessary. Fixes #311489.
5527
5528         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5529         #305291.
5530
5531         * gst/gstindex.c (gst_index_add_object): Note in the docs that
5532         this function is not implemented.
5533
5534 2005-11-14  Julien MOUTTE  <julien@moutte.net>
5535
5536         * gst/base/gstbasetransform.c:
5537         (gst_base_transform_prepare_output_buf):
5538         Ref the source pad caps while we need them.
5539         Fixes (#321386)
5540
5541 2005-11-11  Wim Taymans  <wim@fluendo.com>
5542
5543         * docs/gst/gstreamer-sections.txt:
5544         Added some docs for GstCollectData.
5545
5546         * gst/base/gstadapter.c:
5547         Some small code example fix.
5548
5549         * gst/base/gstcollectpads.c:
5550         * gst/base/gstcollectpads.h:
5551         Document some more.
5552
5553 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5554
5555         * configure.ac: back to HEAD
5556
5557 === release 0.9.5 ===
5558
5559 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
5560
5561         * configure.ac:
5562           releasing 0.9.5, "Bike Lunch Day"
5563
5564 2005-11-11  Wim Taymans  <wim@fluendo.com>
5565
5566         * gst/gstbuffer.c: (_gst_buffer_copy):
5567         Copy more flags.
5568
5569         * gst/gstcaps.c: (gst_caps_is_equal):
5570         Fix some docs.
5571         Make _is_equal fast in the trivial cases.
5572
5573         * gst/gstminiobject.c:
5574         * gst/gstminiobject.h:
5575         More docs. Spifify .h file.
5576
5577         * gst/gstutils.c:
5578         Small doc update.
5579
5580 2005-11-11  Wim Taymans  <wim@fluendo.com>
5581
5582         * gst/base/gstbasetransform.c:
5583         (gst_base_transform_prepare_output_buf),
5584         (gst_base_transform_handle_buffer):
5585         Small cleanups.
5586         If we're processing a buffer and need to allocate an output
5587         buffer, we cannot accept a format change. If we did get a 
5588         format change, we have to alloc a buffer ourselves of the 
5589         right size.
5590
5591 2005-11-11  Wim Taymans  <wim@fluendo.com>
5592
5593         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
5594         While checking the flag for reentrancy in the gstcaps function
5595         is nice to detect recursive invocations, it also makes it 
5596         impossible to call getcaps from multiple threads, which must be
5597         possible. So, checking for recursive calls has to go.
5598
5599 2005-11-11  Michael Smith <msmith@fluendo.com>
5600
5601         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5602           Don't sync on buffers that fall partially outside our current
5603           segment. Prevents an assertion failure/abort playing some files.
5604
5605 2005-11-10  Andy Wingo  <wingo@pobox.com>
5606
5607         * check/gst/gstbin.c (test_message_state_changed_children): Style
5608         fix..
5609
5610         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
5611         gst_bus_poll with the signal watch. Ensures that poll and a signal
5612         watch see the same messages.
5613
5614         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
5615         a poll and a watch at the same time get the same messages.
5616
5617 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5618
5619         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
5620         * gst/gstcaps.c: (gst_caps_intersect):
5621           Don't call gst_caps_do_simplify - it doesn't respect order of caps
5622           and it's not needed.
5623
5624 2005-11-10  Wim Taymans  <wim@fluendo.com>
5625
5626         * docs/design/part-TODO.txt:
5627         Updated todo.
5628
5629 2005-11-10  Wim Taymans  <wim@fluendo.com>
5630
5631         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5632         * gst/base/gstbasesrc.c: (gst_base_src_wait),
5633         (gst_base_src_do_sync), (gst_base_src_get_range):
5634         Implement clock sync in base class.
5635
5636 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5637
5638         patch by: Tim-Philipp Müller <tim at centricular dot net>
5639
5640         * gst/gststructure.c: (gst_structure_parse_field),
5641         (gst_structure_from_string):
5642           Forward-port a 0.8 patch to handle escaped spaces in structure string,
5643           so that gst_parse_launch() can deal with spaces in filtered link
5644           caps (fixes #164479)
5645         * check/gst/capslist.h:
5646         * check/gst/gststructure.c: (GST_START_TEST):
5647           add unit tests for this change
5648
5649 2005-11-10  Wim Taymans  <wim@fluendo.com>
5650
5651         * docs/gst/gstreamer-sections.txt:
5652         * gst/gstelement.c:
5653         * gst/gstelement.h:
5654         Fix docs, move some STATE macros to private.
5655
5656 2005-11-10  Wim Taymans  <wim@fluendo.com>
5657
5658         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5659         Added check for bug #317341
5660
5661         * gst/gstbuffer.c:
5662         * gst/gstbuffer.h:
5663         Some more spiffifying.
5664
5665         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
5666         Call peer linkfunction if we are a source pad. Totally fixes
5667         #317341
5668
5669         * gst/gstpad.c:
5670         Update docs, source pads should call the peer linkfunction
5671         so they can atomically perform the pad link.
5672
5673 2005-11-09  Wim Taymans  <wim@fluendo.com>
5674
5675         * gst/gstbuffer.c:
5676         * gst/gstbuffer.h:
5677         Uber-spiffy-spiffify some more.
5678
5679 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
5680
5681         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
5682         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5683         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5684         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
5685         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
5686         * gst/gstpad.c: (gst_pad_init):
5687           Use GST_DEBUG_FUNCPTR() more extensively.
5688
5689 2005-11-09  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/gstobject.c: (gst_object_class_init):
5692         * gst/gstobject.h:
5693         Documentation fixes.
5694
5695 2005-11-09  Edward Hervey  <edward@fluendo.com>
5696
5697         * gst/gsttypefindfactory.c:
5698         Fix docs.
5699         
5700 2005-11-09  Edward Hervey  <edward@fluendo.com>
5701
5702         * gst/base/gsttypefindhelper.c:
5703         * gst/gsttypefind.c:
5704         * gst/gsttypefind.h:
5705         Fix docs.
5706
5707 2005-11-09  Wim Taymans  <wim@fluendo.com>
5708
5709         * gst/gstiterator.c:
5710         Fix revision data.
5711
5712         * gst/gsttask.c:
5713         * gst/gsttask.h:
5714         Fix docs.
5715
5716 2005-11-09  Wim Taymans  <wim@fluendo.com>
5717
5718         * gst/gstevent.h:
5719         * gst/gsturi.h:
5720         Fix docs.
5721
5722 2005-11-09  Wim Taymans  <wim@fluendo.com>
5723
5724         * docs/gst/gstreamer-sections.txt:
5725         Moved the message async delivery private lock and cond
5726         to the private section.
5727
5728         * gst/gstmessage.c:
5729         * gst/gstmessage.h:
5730         Fixed docs.
5731
5732 2005-11-09  Edward Hervey  <edward@fluendo.com>
5733
5734         * docs/gst/gstreamer-sections.txt:
5735         * gst/gsturi.c:
5736         * gst/gsturi.h:
5737         Document GstURIHandler
5738
5739 2005-11-09  Wim Taymans  <wim@fluendo.com>
5740
5741         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
5742         (gst_iterator_find_custom):
5743         * gst/gstiterator.h:
5744         Fix iterator docs.
5745
5746 2005-11-09  Wim Taymans  <wim@fluendo.com>
5747
5748         * gst/gstbin.h:
5749         Document another field.
5750
5751         * gst/gststructure.c:
5752         * gst/gststructure.h:
5753         Document.
5754
5755 2005-11-09  Wim Taymans  <wim@fluendo.com>
5756
5757         * gst/gstbin.h:
5758         Documented structs.
5759
5760 2005-11-09  Wim Taymans  <wim@fluendo.com>
5761
5762         * docs/gst/gstreamer-sections.txt:
5763         Added some new macros.
5764
5765         * gst/gstclock.c:
5766         * gst/gstclock.h:
5767         * gst/gstobject.h:
5768         Docs updates.
5769
5770 2005-11-09  Wim Taymans  <wim@fluendo.com>
5771
5772         * docs/design/part-TODO.txt:
5773         Some more items for the TODO
5774
5775         * gst/gstcaps.c:
5776         * gst/gstcaps.h:
5777         Document GstCaps.
5778
5779 2005-11-09  Andy Wingo  <wingo@pobox.com>
5780
5781         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
5782         to work on something else now tho...
5783
5784         * gst/base/gstadapter.c: More adapter docs.
5785
5786         * gst/elements/gstfilesink.c (gst_file_sink_start) 
5787         (gst_file_sink_stop): New functions, replace the state change
5788         handler.
5789         (gst_file_sink_class_init): Hook up the start and stop functions.
5790         (gst_file_sink_base_init): Don't set the state change handler any
5791         more. It was a bit ugly too, being set from here...
5792         (gst_file_sink_get_property, gst_file_sink_set_property):
5793         Cleanups...
5794         (gst_file_sink_set_location): More robust check that doesn't call
5795         GST_STATE. Ugggggg.
5796
5797 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5798
5799         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5800           Hold STREAM_LOCK while pushing newsegment or tag events as well.
5801
5802 2005-11-08  Wim Taymans  <wim@fluendo.com>
5803
5804         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5805         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5806         (gst_base_sink_chain), (gst_base_sink_change_state):
5807         * gst/base/gstbasesink.h:
5808         * gst/base/gstbasesrc.h:
5809         * gst/gstelement.h:
5810         * gst/gstevent.h:
5811         Avoid excessive typechecking in macros.
5812
5813         * gst/gstminiobject.c: (gst_mini_object_get_type),
5814         (gst_mini_object_init), (gst_mini_object_new),
5815         (gst_mini_object_free):
5816         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5817         (gst_object_finalize):
5818         Remove cruft code, optimize alloc_trace.
5819
5820 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5821
5822         * docs/faq/gst-uninstalled:
5823           fix up PS1 for systems that try to reset it
5824
5825 2005-11-07  Wim Taymans  <wim@fluendo.com>
5826
5827         * gst/base/gstbasesrc.c: (gst_base_src_init),
5828         (gst_base_src_get_range):
5829         Set the segment_end to -1 initially. Fixed typefind.
5830
5831 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5832
5833         * gst/base/gstadapter.c:
5834           Debug category should be 'adapter', not 'GstAdapter'.
5835           
5836         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
5837         (gst_collectpads_class_init), (gst_collectpads_init),
5838         (gst_collectpads_peek), (gst_collectpads_pop),
5839         (gst_collectpads_event), (gst_collectpads_chain):
5840           Add debug category and some debugging output. Use boilerplate
5841           macros. Remove some extraneous words from docs.
5842
5843 2005-11-05  Andy Wingo  <wingo@pobox.com>
5844
5845         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
5846         macro.
5847
5848 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5849
5850         * docs/gst/gstreamer-sections.txt:
5851         * gst/gstcaps.h:
5852         * gst/gstinfo.c:
5853         * gst/gstminiobject.h:
5854         * gst/gstobject.h:
5855         * gst/gstutils.h:
5856           more docs added
5857
5858 2005-11-04  Wim Taymans  <wim@fluendo.com>
5859
5860         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5861         Small update to stop at the configured segment_end
5862         position.
5863
5864 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
5865
5866         * gst/gstregistry.c:
5867         * gst/gstregistry.h:
5868           added missing docs
5869
5870 2005-11-04  Edward Hervey  <edward@fluendo.com>
5871
5872         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5873         Check if we are doing a segment seek and have arrived at the
5874         end of that segment.
5875
5876 2005-11-04  Wim Taymans  <wim@fluendo.com>
5877
5878         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
5879         Don't leak a mutex unlock in case of an error.
5880
5881         * gst/gstbus.h:
5882         Doc fixes.
5883
5884 2005-11-04  Wim Taymans  <wim@fluendo.com>
5885
5886         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
5887         (gst_bus_post):
5888         Get the context to wake up only once.
5889
5890 2005-11-03  Wim Taymans  <wim@fluendo.com>
5891
5892         * check/states/sinks.c: (GST_START_TEST):
5893         Uncomment fixed check.
5894
5895         * docs/design/part-TODO.txt:
5896         Updated TODO.
5897
5898         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5899         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5900         (gst_base_sink_get_position):
5901         If we are going to PLAYING, post the right pending state
5902         when we post the intermediate paused message.
5903
5904         * gst/gstelement.c: (gst_element_continue_state),
5905         (gst_element_set_state_func), (gst_element_change_state):
5906         Don't post state changes that were between the same state
5907         and were not ASYNC.
5908
5909 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
5910
5911         * docs/gst/gstreamer-sections.txt:
5912         * gst/gstcaps.h:
5913         * gst/gstinfo.c:
5914         * gst/gstminiobject.h:
5915         * gst/gstobject.h:
5916         * gst/gstutils.h:
5917           more docs and doc style fixes
5918
5919 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
5920
5921         * docs/gst/gstreamer-sections.txt:
5922         * gst/gstelement.c:
5923         * gst/gstminiobject.c:
5924         doc fixes
5925
5926 2005-11-03  Andy Wingo  <wingo@pobox.com>
5927
5928         * check/states/sinks.c (test_livesrc_sink): Add checks that the
5929         state-changed messages actually have the right order and the right
5930         values.
5931
5932 2005-11-03  Wim Taymans  <wim@fluendo.com>
5933
5934         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5935         Added some more checks. Specifically the case where NO_PREROLL
5936         elements are in the pipeline.
5937
5938         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5939         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5940         (gst_base_sink_get_position):
5941         Post READY->PAUSED state change messages too.
5942         Fix bug where VOID was posted as pending state...
5943
5944         * gst/gstbin.c: (gst_bin_recalc_state):
5945         use _element_continue_state() to continue the state change.
5946
5947         * gst/gstelement.c: (gst_element_continue_state),
5948         (gst_element_commit_state), (gst_element_set_state_func),
5949         (gst_element_change_state), (gst_element_change_state_func):
5950         Lots of state change cleanups, assign the STATE_RETURN in
5951         a new continue_state() function that also propagates the
5952         last return value from a state change to the app.
5953         Update some debug statements with proper category.
5954
5955 2005-11-03  Wim Taymans  <wim@fluendo.com>
5956
5957         * docs/design/part-events.txt:
5958         * docs/design/part-gstpipeline.txt:
5959         * docs/design/part-messages.txt:
5960         * docs/design/part-overview.txt:
5961         * docs/design/part-seeking.txt:
5962         * docs/design/part-states.txt:
5963         * docs/design/part-trickmodes.txt:
5964         * docs/manual/advanced-position.xml:
5965         Small docs updates.
5966
5967         * gst/gstobject.h:
5968         People think !! is ugly, this looks better.
5969
5970         * gst/gstpad.c: (gst_pad_set_blocked_async):
5971         Remove !! since it's fixed elsewhere now.
5972
5973 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5974
5975         * gst/gstminiobject.h:
5976         * gst/gstobject.h:
5977           Add !! to _FLAG_IS_SET macros to make the result boolean.
5978
5979 2005-11-03  Edward Hervey  <edward@fluendo.com>
5980
5981         * gst/gstpad.c: (gst_pad_set_blocked_async):
5982         comparing a flag and a gboolean rarely returns coherent results...
5983         Added two characters (!!) to make that work correctly.
5984         
5985 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5986
5987         * gst/gstbus.c: (gst_bus_class_init):
5988           Fix some typos.
5989           
5990         * gst/gstqueue.c: (gst_queue_loop):
5991           Don't assume a miniobject that isn't a buffer is an
5992           event (it could be that there is a refcounting
5993           problem somewhere and the pointer is stale and
5994           refers to an already destroyed miniobject).
5995
5996 2005-11-03  Julien MOUTTE  <julien@moutte.net>
5997
5998         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
5999
6000 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6001
6002         * docs/manual/advanced-position.xml:
6003           Update seek example and explanations to current 0.9 API.
6004
6005         * gst/elements/gsttypefindelement.c:
6006         (gst_type_find_element_activate):
6007           Remove FIXME comment now that the found caps
6008           are unreffed.
6009
6010 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6011
6012         * gst/gstregistryxml.c: (load_feature):
6013           Add another GST_STR_NULL instance
6014
6015 2005-11-02  Edward Hervey  <edward@fluendo.com>
6016
6017         * gst/gstpad.c: (handle_pad_block):
6018         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6019         
6020 2005-11-02  Wim Taymans  <wim@fluendo.com>
6021
6022         * gst/gstbin.c:
6023         Fix typo in docs.
6024
6025         * gst/gstelement.c: (gst_element_commit_state):
6026         Remove unused value.
6027
6028         * gst/gstiterator.c:
6029         Mention that the returned element is reffed in the docs.
6030
6031 2005-11-02  Wim Taymans  <wim@fluendo.com>
6032
6033         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6034         (gst_pad_push), (gst_pad_push_event):
6035         Unlock blocked pads when they are flushed.
6036
6037 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6038
6039         * docs/README:
6040         * docs/gst/gstreamer-sections.txt:
6041         * gst/gstbin.c:
6042           doc updates
6043         * gst/gstregistry.c: (gst_registry_scan_path_level):
6044           fix for a nasty little missed situation where an installed plug-in
6045           which was in the cache did not get overridden by an uninstalled one
6046           which was earlier in the plugin path because the newly created plugin
6047           for the uninstalled one (not in the registry) didn't get its
6048           ->registered set to TRUE
6049
6050 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6051
6052         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6053         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6054         (gst_collectpads_is_active), (gst_collectpads_collect),
6055         (gst_collectpads_collect_range), (gst_collectpads_start),
6056         (gst_collectpads_stop), (gst_collectpads_peek),
6057         (gst_collectpads_pop), (gst_collectpads_available),
6058         (gst_collectpads_read), (gst_collectpads_flush):
6059           Guard public API with assertions.
6060         
6061         * gst/gstpad.c:
6062           Fix docs for gst_pad_set_link_function().
6063
6064 2005-11-02  Johan Dahlin  <johan@gnome.org>
6065
6066         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
6067         Unref found_caps after we used it.
6068
6069 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6070
6071         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6072           Don't try to ref NULL.
6073
6074 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6075
6076         * win32/common/config.h.in:
6077           provide a GST_FUNCTION that just gives a string for now
6078
6079 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6080
6081         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6082         (gst_object_flags_get_type), (register_gst_bin_flags),
6083         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6084         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6085         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6086         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6087         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6088         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6089         (gst_clock_flags_get_type), (register_gst_state),
6090         (gst_state_get_type), (register_gst_state_change_return),
6091         (gst_state_change_return_get_type), (register_gst_state_change),
6092         (gst_state_change_get_type), (register_gst_element_flags),
6093         (gst_element_flags_get_type), (register_gst_core_error),
6094         (gst_core_error_get_type), (register_gst_library_error),
6095         (gst_library_error_get_type), (register_gst_resource_error),
6096         (gst_resource_error_get_type), (register_gst_stream_error),
6097         (gst_stream_error_get_type), (register_gst_event_type),
6098         (gst_event_type_get_type), (register_gst_seek_type),
6099         (gst_seek_type_get_type), (register_gst_seek_flags),
6100         (gst_seek_flags_get_type), (register_gst_format),
6101         (gst_format_get_type), (register_gst_index_certainty),
6102         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6103         (gst_index_entry_type_get_type),
6104         (register_gst_index_lookup_method),
6105         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6106         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6107         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6108         (gst_index_flags_get_type), (register_gst_debug_level),
6109         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6110         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6111         (gst_iterator_result_get_type), (register_gst_iterator_item),
6112         (gst_iterator_item_get_type), (register_gst_message_type),
6113         (gst_message_type_get_type), (register_gst_mini_object_flags),
6114         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6115         (gst_pad_link_return_get_type), (register_gst_flow_return),
6116         (gst_flow_return_get_type), (register_gst_activate_mode),
6117         (gst_activate_mode_get_type), (register_gst_pad_direction),
6118         (gst_pad_direction_get_type), (register_gst_pad_flags),
6119         (gst_pad_flags_get_type), (register_gst_pad_presence),
6120         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6121         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6122         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6123         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6124         (gst_plugin_flags_get_type), (register_gst_rank),
6125         (gst_rank_get_type), (register_gst_query_type),
6126         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6127         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6128         (gst_tag_flag_get_type), (register_gst_task_state),
6129         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6130         (gst_alloc_trace_flags_get_type),
6131         (register_gst_type_find_probability),
6132         (gst_type_find_probability_get_type), (register_gst_uri_type),
6133         (gst_uri_type_get_type), (register_gst_parse_error),
6134         (gst_parse_error_get_type):
6135         * win32/common/gstversion.h:
6136           update win32 copies
6137
6138 2005-11-01  Luca Ognibene  <luogni@tin.it>
6139
6140         * gst/gst.c:
6141           fix docs. popt is dead, long live GOption.
6142
6143 2005-10-31  Wim Taymans  <wim@fluendo.com>
6144
6145         * gst/gstbuffer.h:
6146         Small doc fix.
6147
6148 2005-10-31  Andy Wingo  <wingo@pobox.com>
6149
6150         * Boo!
6151
6152         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
6153
6154         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
6155         need to serialize property notifications on GLib 2.8. GLib 2.6 has
6156         the possibility of deadlocks here if code calling notify() or
6157         set() has a lock that can be taken in another notify handler (ABBA
6158         with class lock and e.g. python GIL state lock).
6159
6160 2005-10-28  Julien MOUTTE  <julien@moutte.net>
6161
6162         * gst/gstbus.c: Doc updates.
6163
6164 2005-10-28  Wim Taymans  <wim@fluendo.com>
6165
6166         * docs/design/part-TODO.txt:
6167         * gst/gstiterator.c:
6168         * gst/gstsystemclock.c:
6169         * gst/gstsystemclock.h:
6170         Doc updates.
6171
6172 2005-10-28  Edward Hervey  <edward@fluendo.com>
6173
6174         * docs/gst/gstreamer-docs.sgml:
6175         * docs/gst/gstreamer-sections.txt:
6176         the GstURIType documentation page is private, it only defines GstURIType
6177         which should be defined in the GstURIHandler page
6178         
6179 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6180
6181         * gst/gstbin.c: (gst_bin_class_init):
6182         * gst/gstbin.h:
6183         * gst/gstutils.c:
6184         Documentation updates.
6185
6186 2005-10-28  Wim Taymans  <wim@fluendo.com>
6187
6188         * docs/gst/gstreamer-sections.txt:
6189         * gst/gstclock.c:
6190         * gst/gstclock.h:
6191         Documented the clocks.
6192
6193 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
6194
6195         * docs/gst/gstreamer-sections.txt:
6196           move some macros to private sections
6197         * gst/gstminiobject.c:
6198         * gst/gstminiobject.h:
6199           add descriptions provided by ds and some more
6200         * gst/gstpad.h:
6201           mark macro as to be removed
6202
6203 2005-10-28  Wim Taymans  <wim@fluendo.com>
6204
6205         * docs/design/part-TODO.txt:
6206         Add an item to TODO.
6207
6208         * gst/gstiterator.c: (gst_iterator_fold),
6209         (gst_iterator_find_custom):
6210         * gst/gstiterator.h:
6211         Add iterator docs.
6212
6213 2005-10-28  Wim Taymans  <wim@fluendo.com>
6214
6215         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6216         (gst_base_transform_init):
6217         Don't leak class.
6218
6219         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
6220         An EOS event marks the queue as completely filled.
6221
6222 2005-10-27  Wim Taymans  <wim@fluendo.com>
6223
6224         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6225         (gst_base_sink_do_sync), (gst_base_sink_get_position):
6226         Some more debugging.
6227
6228         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
6229         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
6230         (gst_base_transform_event), (gst_base_transform_getrange),
6231         (gst_base_transform_chain):
6232         * gst/base/gstbasetransform.h:
6233         Fix debugging,
6234         Protect transform and concurrent buffer alloc with a new lock.
6235         Try not to break ABI/API.
6236
6237 2005-10-27  Wim Taymans  <wim@fluendo.com>
6238
6239         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6240         (gst_base_src_init), (gst_base_src_query),
6241         (gst_base_src_default_newsegment),
6242         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6243         (gst_base_src_send_event), (gst_base_src_event_handler),
6244         (gst_base_src_pad_get_range), (gst_base_src_loop),
6245         (gst_base_src_unlock), (gst_base_src_default_negotiate),
6246         (gst_base_src_start), (gst_base_src_deactivate),
6247         (gst_base_src_activate_push), (gst_base_src_change_state):
6248         Move some stuff around and cleanup things.
6249
6250 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
6251
6252         * gst/base/gstbasesrc.c: (gst_base_src_query):
6253           Add missing break statements.
6254
6255 2005-10-27  Wim Taymans  <wim@fluendo.com>
6256
6257         * check/gst/gstbin.c: (GST_START_TEST):
6258         An extra refcount is taken in basesrc.
6259
6260         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6261         (gst_base_src_get_range), (gst_base_src_pad_get_range),
6262         (gst_base_src_loop):
6263         Small cleanups, check for flushing after being unlocked from the 
6264         LIVE_LOCK. take refcounts correctly (not yet everywhere).
6265         Don't send out EOS when going to READY.
6266
6267 2005-10-27  Wim Taymans  <wim@fluendo.com>
6268
6269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6270         (gst_base_sink_get_position):
6271         Some more debug.
6272
6273         * gst/gstbin.c: (message_check), (bin_replace_message),
6274         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6275         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6276         (bin_query_duration_init), (bin_query_duration_fold),
6277         (bin_query_duration_done), (bin_query_generic_fold),
6278         (gst_bin_query):
6279         * tools/gst-launch.c: (main):
6280         Remove old option.
6281
6282 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
6283
6284         * examples/controller/audio-example.c: (main):
6285         * examples/queue/queue.c: (event_loop):
6286         * gst/base/gstbasetransform.h:
6287         * gst/gstelement.c: (gst_element_send_event):
6288         * gst/gstevent.h:
6289         * gst/gstpad.c: (gst_pad_send_event):
6290           fixing examples
6291           fixing docs typos
6292           changing log priority in error situations
6293
6294 2005-10-25  Wim Taymans  <wim@fluendo.com>
6295
6296         * gst/gstbin.c: (message_check), (bin_replace_message),
6297         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6298         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6299         (bin_query_duration_init), (bin_query_duration_fold),
6300         (bin_query_duration_done), (bin_query_generic_fold),
6301         (gst_bin_query):
6302         Some doc and debug updates.
6303         Cache previously requested query DURATION for speed. invalidate
6304         cached duration if element posts a DURATION message.
6305
6306 2005-10-25  Wim Taymans  <wim@fluendo.com>
6307
6308         * docs/design/part-TODO.txt:
6309         Update TODO.
6310
6311         * gst/gstbin.c: (message_check), (bin_replace_message),
6312         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6313         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6314         (bin_query_duration_init), (bin_query_duration_fold),
6315         (bin_query_duration_done), (bin_query_generic_fold),
6316         (gst_bin_query):
6317         Handle SEGMENT_START/DONE messages correctly.
6318         More evolved query algorithm that handles duration queries
6319         correctly.
6320
6321         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
6322         (gst_element_get_state_func), (gst_element_abort_state),
6323         (gst_element_commit_state), (gst_element_lost_state):
6324         Some more debugging.
6325
6326         * gst/gstmessage.h:
6327         Added doc.
6328
6329 2005-10-25  Wim Taymans  <wim@fluendo.com>
6330
6331         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6332         Don't use invalid stream_time.
6333
6334         * gst/gstevent.c: (gst_event_new_newsegment):
6335         stream_time in newsegment cannot be undefined.
6336
6337 2005-10-24  Wim Taymans  <wim@fluendo.com>
6338
6339         * gst/gstbus.c:
6340         Doc fix.
6341
6342         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6343         (gst_queue_loop):
6344         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
6345
6346 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
6347
6348         * docs/libs/tmpl/gstdparam.sgml:
6349         * docs/libs/tmpl/gstdplinint.sgml:
6350         * docs/libs/tmpl/gstdpman.sgml:
6351         * docs/libs/tmpl/gstdpsmooth.sgml:
6352         * docs/libs/tmpl/gstunitconvert.sgml:
6353           these are obsolete
6354
6355 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6356
6357         * configure.ac:
6358           back to HEAD
6359
6360 === release 0.9.4 ===
6361
6362 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6363
6364         * configure.ac:
6365           releasing 0.9.4, "Tyrannosaurus Rex"
6366
6367 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
6368
6369         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6370         (gst_file_sink_get_current_offset):
6371           Use fseeko() and ftello() if available. When falling back on
6372           lseek() to get the current offset, fflush() first to make sure
6373           everything is up-to-date and we get the right offset.
6374
6375 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6376
6377         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6378         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6379         * gst/gsterror.c: (_gst_stream_errors_init):
6380         * gst/gsterror.h:
6381         * gst/gstqueue.c: (gst_queue_loop):
6382         * po/POTFILES.in:
6383           remove prematurely added error category and clean up the instances
6384
6385 2005-10-21  Wim Taymans  <wim@fluendo.com>
6386
6387         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6388         (gst_base_sink_get_position), (gst_base_sink_query),
6389         (gst_base_sink_change_state):
6390         Simply set the right flag when going to playing, that's all
6391         we need to do instead of calling a function inside the object
6392         lock (that could take the lock as well and deadlock)
6393
6394 2005-10-21  Wim Taymans  <wim@fluendo.com>
6395
6396         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
6397         (gst_base_src_loop):
6398         Don't warn, the peer element knows what to do best when
6399         the seek failed, it might try something else.
6400
6401 2005-10-21  Wim Taymans  <wim@fluendo.com>
6402
6403         * gst/base/gstbasesrc.c: (gst_base_src_init),
6404         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6405         Fix seeking.
6406
6407 2005-10-21  Wim Taymans  <wim@fluendo.com>
6408
6409         * docs/design/part-segments.txt:
6410         More docs.
6411
6412         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6413         Correctly set caps, even on the subbufer.
6414
6415 2005-10-21  Wim Taymans  <wim@fluendo.com>
6416
6417         * docs/gst/gstreamer-docs.sgml:
6418         * docs/gst/gstreamer-sections.txt:
6419         * gst/gstelement.h:
6420         * gst/gstevent.c:
6421         * gst/gstevent.h:
6422         * gst/gstmessage.h:
6423         * gst/gstpad.h:
6424         * gst/gstparse.h:
6425         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
6426         * gst/gsttask.h:
6427         * gst/gstutils.c:
6428         * gst/gstutils.h:
6429         And 2% more doc coverage.
6430
6431 2005-10-21  Andy Wingo  <wingo@pobox.com>
6432
6433         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
6434         position reporting.
6435
6436 2005-10-20  Wim Taymans  <wim@fluendo.com>
6437
6438         * gst/gsterror.c: (gst_error_get_message):
6439         * gst/gstparse.h:
6440         * gst/gstquery.h:
6441         * gst/gststructure.c:
6442         * gst/gsttrace.c:
6443         * gst/gstutils.c:
6444         More docs.
6445
6446 2005-10-20  Wim Taymans  <wim@fluendo.com>
6447
6448         * gst/gstbuffer.h:
6449         * gst/gstpad.c:
6450         * gst/gstparse.c:
6451         Another 1% more coverage.
6452
6453 2005-10-20  Wim Taymans  <wim@fluendo.com>
6454
6455         * docs/gst/gstreamer-sections.txt:
6456         * gst/gstelement.c: (gst_element_get_state_func),
6457         (gst_element_abort_state), (gst_element_commit_state),
6458         (gst_element_lost_state):
6459         * gst/gstevent.h:
6460         * gst/gstquery.c: (gst_query_set_position),
6461         (gst_query_parse_position), (gst_query_set_duration),
6462         (gst_query_parse_duration), (gst_query_new_convert):
6463         * gst/gstutils.c:
6464         Yay! 1% more docs coverage.
6465
6466 2005-10-20  Wim Taymans  <wim@fluendo.com>
6467
6468         * gst/gstpad.h:
6469         * gst/gstquery.c: (gst_query_set_position),
6470         (gst_query_parse_position), (gst_query_set_duration),
6471         (gst_query_parse_duration), (gst_query_new_convert):
6472         * gst/gstquery.h:
6473         * gst/gstutils.c: (gst_element_query_convert):
6474         * gst/gstutils.h:
6475         Docs and consistency fixes.
6476
6477 2005-10-20  Wim Taymans  <wim@fluendo.com>
6478
6479         * gst/gsttask.c:
6480         * gst/gsttask.h:
6481         More docs.
6482
6483 2005-10-20  Wim Taymans  <wim@fluendo.com>
6484
6485         * gst/gstbin.c: (message_check), (bin_replace_message),
6486         (bin_remove_messages), (is_eos), (gst_bin_add_func),
6487         (update_degree), (gst_bin_sort_iterator_next),
6488         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
6489         Reworked the message handling a bit, cache the messages instead of
6490         only the senders. alows us to do more in the future.
6491
6492 2005-10-20  Wim Taymans  <wim@fluendo.com>
6493
6494         * docs/design/part-TODO.txt:
6495         Update TODO
6496
6497         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6498         (gst_base_sink_query):
6499         Don't use clock time to report position when in EOS.
6500
6501 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
6502
6503         * tools/gst-inspect.c: (print_interfaces),
6504         (print_element_properties_info), (print_element_info):
6505           Fix interface output with gst-inspect -a; don't print
6506           newlines after double/float properties.
6507
6508 2005-10-20  Wim Taymans  <wim@fluendo.com>
6509
6510         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6511         (gst_base_sink_query):
6512         Speed up current position calculation.
6513
6514         * gst/base/gstbasesrc.c: (gst_base_src_query),
6515         (gst_base_src_default_newsegment):
6516         Correctly set stream position in newsegment.
6517
6518         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6519         (update_degree), (gst_bin_sort_iterator_next),
6520         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6521         * gst/gstmessage.c: (gst_message_new_custom):
6522         Clean up debugging info
6523
6524         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6525         (gst_queue_loop), (gst_queue_handle_src_query):
6526         Pause task faster.
6527
6528 2005-10-19  Wim Taymans  <wim@fluendo.com>
6529
6530         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6531         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6532         Fix query handling again.
6533
6534 2005-10-19  Wim Taymans  <wim@fluendo.com>
6535
6536         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6537         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6538         * gst/base/gstbasesrc.c: (gst_base_src_query):
6539         * gst/elements/gstfilesink.c: (gst_file_sink_query):
6540         * gst/elements/gsttypefindelement.c:
6541         (gst_type_find_handle_src_query), (find_element_get_length),
6542         (gst_type_find_element_activate):
6543         API change fix.
6544
6545         * gst/gstquery.c: (gst_query_new_position),
6546         (gst_query_set_position), (gst_query_parse_position),
6547         (gst_query_new_duration), (gst_query_set_duration),
6548         (gst_query_parse_duration), (gst_query_set_segment),
6549         (gst_query_parse_segment):
6550         * gst/gstquery.h:
6551         Bundling query position/duration is not a good idea since duration
6552         does not change much and we don't want to recalculate it for every
6553         position query, so they are separated again..
6554         Base value in segment query is not needed.
6555
6556         * gst/gstqueue.c: (gst_queue_handle_src_query):
6557         * gst/gstutils.c: (gst_element_query_position),
6558         (gst_element_query_duration), (gst_pad_query_position),
6559         (gst_pad_query_duration):
6560         * gst/gstutils.h:
6561         Updates for query API change.
6562         Added some docs here and there.
6563
6564 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6565
6566         * check/gst/gstbin.c: (GST_START_TEST):
6567         * check/gst/gstghostpad.c: (GST_START_TEST):
6568         * check/pipelines/cleanup.c: (GST_START_TEST):
6569           wait on thread to die so we can check refcount correctly
6570
6571 2005-10-18  Wim Taymans  <wim@fluendo.com>
6572
6573         * check/pipelines/stress.c: (GST_START_TEST):
6574         Make check a little more time consuming.
6575
6576 2005-10-18  Wim Taymans  <wim@fluendo.com>
6577
6578         * check/Makefile.am:
6579         * check/pipelines/stress.c: (GST_START_TEST),
6580         (simple_launch_lines_suite), (main):
6581         Small state change torture test.
6582
6583         * docs/design/part-states.txt:
6584         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6585         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
6586         (gst_base_sink_change_state):
6587         Never take state lock from streaming thread, clean up ugly
6588         hacks. Unfortunatly core does not yet support nice ways to
6589         async commit state.
6590         
6591         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
6592         (bin_bus_handler):
6593         Start state recalc if a STATE_DIRTY message is posted, but only
6594         on the toplevel bin.
6595
6596         * gst/gstelement.c: (gst_element_sync_state_with_parent),
6597         (gst_element_get_state_func), (gst_element_abort_state),
6598         (gst_element_commit_state), (gst_element_lost_state),
6599         (gst_element_set_state_func), (gst_element_change_state):
6600         * gst/gstelement.h:
6601         State variables are now protected with the LOCK, the state
6602         lock is only used to serialize _set_state().
6603
6604 2005-10-18  Wim Taymans  <wim@fluendo.com>
6605
6606         * check/gst/gstbin.c: (GST_START_TEST):
6607         * check/gst/gstmessage.c: (GST_START_TEST):
6608         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6609         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
6610         (bin_bus_handler):
6611         * gst/gstelement.c: (gst_element_abort_state),
6612         (gst_element_commit_state), (gst_element_lost_state):
6613         * gst/gstmessage.c: (gst_message_new_state_changed),
6614         (gst_message_new_state_dirty), (gst_message_new_segment_start),
6615         (gst_message_new_segment_done), (gst_message_new_duration),
6616         (gst_message_parse_state_changed),
6617         (gst_message_parse_segment_start),
6618         (gst_message_parse_segment_done), (gst_message_parse_duration):
6619         * gst/gstmessage.h:
6620         * tools/gst-launch.c: (event_loop):
6621         Seriously, this is better than a previous commit as we only need
6622         to notify the fact that an element changed state in a streaming
6623         thread, marking the state of the parents dirty, hence the 
6624         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
6625         message.
6626
6627 2005-10-18  Wim Taymans  <wim@fluendo.com>
6628
6629         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6630         (gst_bin_recalc_func):
6631         * gst/gstelement.c: (gst_element_set_clock),
6632         (gst_element_abort_state), (gst_element_lost_state):
6633         Cleanups, prepare for state change fixes.
6634
6635 2005-10-18  Wim Taymans  <wim@fluendo.com>
6636
6637         * gst/gstbin.h:
6638         * gst/gstelement.c: (gst_element_class_init),
6639         (gst_element_set_state), (gst_element_set_state_func):
6640         * gst/gstelement.h:
6641         Pending ABI changes.
6642         GThreadPool in GstBinClass to monitor async state changes.
6643         state_cookie in GstElement to detect concurrent gst/set state.
6644         set_state is now virtual too in case a very complicated element
6645         has to be constructed.
6646
6647 2005-10-18  Wim Taymans  <wim@fluendo.com>
6648
6649         * check/gst/gstbin.c: (GST_START_TEST):
6650         * check/gst/gstmessage.c: (GST_START_TEST):
6651         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6652         * gst/gstbin.c: (bin_bus_handler):
6653         * gst/gstelement.c: (gst_element_commit_state),
6654         (gst_element_lost_state):
6655         * gst/gstmessage.c: (gst_message_new_state_changed),
6656         (gst_message_new_segment_start), (gst_message_new_segment_done),
6657         (gst_message_new_duration), (gst_message_parse_state_changed),
6658         (gst_message_parse_segment_start),
6659         (gst_message_parse_segment_done), (gst_message_parse_duration):
6660         * gst/gstmessage.h:
6661         * tools/gst-launch.c: (event_loop):
6662         Make messages future proof.
6663         state-change gets a flag if it was a message comming from the
6664         streaming thread.
6665         segment-start/stop can also be specified in other formats.
6666         A message to notify an app that a pipeline changed playback 
6667         duration.
6668         Also fix a GstMessage leak in -launch
6669
6670 2005-10-18  Andy Wingo  <wingo@pobox.com>
6671
6672         * gst/gstelement.c (gst_element_dispose): More helpful message.
6673
6674 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6675
6676         reviewed by: <delete if not using a buddy>
6677
6678         * common/gtk-doc.mak:
6679
6680 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6681
6682         * gst/gstregistry.c: (gst_registry_scan_path_level):
6683           unref a plug-in we get that was already initialized
6684
6685 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
6686
6687         * docs/gst/gstreamer-sections.txt:
6688         * docs/libs/gstreamer-libs-sections.txt:
6689         * gst/gstelement.h:
6690           add new api entries
6691           hide internal macro
6692
6693 2005-10-17  Andy Wingo  <wingo@pobox.com>
6694
6695         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
6696         cleanup.
6697
6698         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
6699
6700         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
6701
6702         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
6703         (gst_element_get_state_func): Better debug message.
6704         (gst_element_commit_state): s/INFO/DEBUG/.
6705         (gst_element_lost_state, gst_element_change_state): 
6706
6707         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
6708         (gst_message_new_custom): s/INFO/LOG/.
6709
6710 2005-10-17  Michael Smith <msmith@fluendo.com>
6711
6712         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6713           Check if end time is valid using end time, not start time.
6714
6715 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
6716
6717         * check/gst-libs/controller.c: (GST_START_TEST),
6718         (gst_controller_suite):
6719         * libs/gst/controller/gstcontroller.c:
6720         (gst_controlled_property_set_interpolation_mode):
6721         * libs/gst/controller/gstcontroller.h:
6722         * libs/gst/controller/gstinterpolation.c:
6723         * testsuite/controller/.cvsignore:
6724         * testsuite/controller/Makefile.am:
6725         * testsuite/controller/interpolator.c:
6726           merge controller testsuites
6727           fix broken tests
6728           remove mem-chunk from docs
6729
6730 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6731
6732         * gst/gstmemchunk.c:
6733         * gst/gstmemchunk.h:
6734         * gst/gsttrashstack.c:
6735         * gst/gsttrashstack.h:
6736           out.  get out.  you're fired.  to the Attic !
6737
6738 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6739
6740         * gst/gstcaps.c: (gst_caps_intersect):
6741           fix signedness issues in a (hopefully) correct way
6742         * gst/gstelement.c: (gst_element_pads_activate):
6743           some debugging
6744         * gst/gstobject.c: (gst_object_set_parent):
6745           some debugging
6746
6747 2005-10-17  Julien MOUTTE  <julien@moutte.net>
6748
6749         * gst/gstvalue.h: Fix prototypes.
6750
6751 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6752
6753         * docs/gst/gstreamer-sections.txt:
6754         * gst/gst.c: (gst_version_string):
6755         * gst/gst.h:
6756         * gst/gstversion.h.in:
6757         * win32/common/libgstreamer.def:
6758           add gst_version_string ()
6759
6760 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6761
6762         * configure.ac:
6763           clean up further
6764         * gst/gst.c: (init_post):
6765         * win32/common/config.h.in:
6766           it's PLUGINDIR now
6767         * gst/gstcaps.c: (gst_caps_intersect):
6768           use gint64, the range could be bigger than a guint
6769
6770 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6771
6772         * gst/gstclock.h:
6773           document potential problem in 2038
6774
6775 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6776
6777         * gst/gstcaps.c: (gst_caps_intersect):
6778           Fix guint j diving under 0
6779
6780 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6781
6782         * configure.ac:
6783         * win32/common/config.h:
6784         * win32/common/config.h.in:
6785           check for process.h, declares getpid() on Windows
6786         * gst/gstinfo.c:
6787           include process.h if we have it
6788         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
6789         * gst/gstmemchunk.h:
6790           fix signedness issues
6791         * win32/common/libgstreamer.def:
6792           fix get_type's
6793
6794 2005-10-16  Julien MOUTTE  <julien@moutte.net>
6795
6796         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
6797         fix. Because of unsigned ints, caps intersection was going nuts and
6798         trying to access structures with G_MAXUINT index. That fixes
6799         videotestsrc ! ffmpegcolorspace ! fakesink
6800         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
6801         consistency.
6802
6803 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6804
6805         * configure.ac:
6806           use the gettext macro
6807         * gst/elements/gstelements.c:
6808         * gst/gst.c:
6809         * gst/indexers/gstindexers.c:
6810           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
6811         * win32/common/config.h:
6812           updated config.h
6813         * win32/common/config.h.in:
6814           add the template to generate config.h
6815         * win32/common/gstenumtypes.c:
6816         * win32/common/gstversion.h:
6817           updated copies
6818
6819 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6820
6821         * gst/gst.c: (gst_version):
6822         * gst/gstversion.h.in:
6823           add the nano
6824
6825 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6826
6827         * gst/gstevent.h:
6828           Oops, add missing closing bracket.
6829
6830 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6831
6832         * configure.ac:
6833           use common m4's for argument checking
6834
6835 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6836
6837         * docs/gst/gstreamer-sections.txt:
6838         * gst/gstevent.h:
6839           Add GST_EVENT_TYPE_NAME() macro.
6840
6841 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6842
6843         * gst/gstinfo.c:
6844         * gst/gstpluginfeature.c:
6845         * gst/gsttask.c:
6846           privatize more symbols
6847
6848 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6849
6850         * configure.ac:
6851           add srcdir, builddir includes to GST_ALL_CFLAGS, since
6852           everything that uses GStreamer API should have the includes
6853
6854 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6855
6856         * docs/gst/gstreamer-sections.txt:
6857         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6858         * gst/gstvalue.h:
6859           give each value a _get_type, removes the DATA exports
6860
6861 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6862
6863         * gst/gst.c:
6864         * gst/gst.h:
6865           remove _gst_registry_auto_load, not used anymore
6866         * gst/gstbin.c: (gst_bin_get_type):
6867         * gst/gstbin.h:
6868         * gst/gstelement.c: (gst_element_get_type):
6869         * gst/gstelement.h:
6870         * gst/gstobject.c: (gst_object_get_type):
6871         * gst/gstobject.h:
6872         * gst/gstpad.c: (gst_pad_get_type):
6873         * gst/gstpad.h:
6874           make _get_type functions similar, fixes data export from library
6875
6876 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6877
6878         * configure.ac:
6879           correctly make conditionals
6880         * gst/elements/Makefile.am:
6881         * gst/elements/gstelements.c:
6882           fix typo causing fdsrc not to build
6883
6884 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6885
6886         * testsuite/Makefile.am:
6887         * testsuite/bytestream/.cvsignore:
6888         * testsuite/bytestream/Makefile.am:
6889         * testsuite/bytestream/filepadsink.c:
6890         * testsuite/bytestream/gstbstest.c:
6891         * testsuite/bytestream/test1.c:
6892         * testsuite/bytestream/testfile1:
6893         * testsuite/caps/normalisation.c:
6894         * testsuite/caps/random.c: (main):
6895         * testsuite/cleanup/.cvsignore:
6896         * testsuite/cleanup/Makefile.am:
6897         * testsuite/cleanup/cleanup1.c:
6898         * testsuite/cleanup/cleanup2.c:
6899         * testsuite/cleanup/cleanup3.c:
6900         * testsuite/cleanup/cleanup4.c:
6901         * testsuite/cleanup/cleanup5.c:
6902         * testsuite/controller/interpolator.c:
6903         * testsuite/debug/printf_extension.c: (main):
6904         * testsuite/elements/tee.c:
6905         * testsuite/negotiation/.cvsignore:
6906         * testsuite/negotiation/Makefile.am:
6907         * testsuite/negotiation/pad_link.c:
6908         * testsuite/pad/Makefile.am:
6909         * testsuite/pad/chainnopull.c:
6910         * testsuite/pad/getnopush.c:
6911         * testsuite/pad/link.c:
6912         * testsuite/refcounting/sched.c: (create_pipeline):
6913         * testsuite/registry/Makefile.am:
6914         * testsuite/registry/gst-print-formats.c:
6915         * testsuite/schedulers/.cvsignore:
6916         * testsuite/schedulers/142183-2.c:
6917         * testsuite/schedulers/142183.c:
6918         * testsuite/schedulers/143777-2.c:
6919         * testsuite/schedulers/143777.c:
6920         * testsuite/schedulers/147713.c:
6921         * testsuite/schedulers/147819.c:
6922         * testsuite/schedulers/147894-2.c:
6923         * testsuite/schedulers/147894.c:
6924         * testsuite/schedulers/Makefile.am:
6925         * testsuite/schedulers/group_link.c:
6926         * testsuite/schedulers/queue_link.c:
6927         * testsuite/schedulers/relink.c:
6928         * testsuite/schedulers/unlink.c:
6929         * testsuite/schedulers/unref.c:
6930         * testsuite/schedulers/useless_iteration.c:
6931         * testsuite/states/bin.c:
6932           clean out/remove some stuff from the testsuite directories
6933
6934 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6935
6936         * configure.ac:
6937           check for some headers
6938         * gst/elements/Makefile.am:
6939         * gst/elements/gstelements.c:
6940           don't compile fdsrc without sys/socket.h
6941         * gst/indexers/Makefile.am:
6942         * gst/indexers/gstindexers.c: (plugin_init):
6943           don't compile fileindex without mmap
6944
6945 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6946
6947         * configure.ac:
6948           reorganize
6949           clean up
6950           document more
6951           remove cruft
6952         * check/Makefile.am:
6953         * docs/gst/Makefile.am:
6954         * examples/helloworld/Makefile.am:
6955         * gst/Makefile.am:
6956         * gst/base/Makefile.am:
6957         * gst/check/Makefile.am:
6958         * gst/elements/Makefile.am:
6959         * gst/indexers/Makefile.am:
6960         * gst/parse/Makefile.am:
6961         * libs/gst/controller/Makefile.am:
6962         * libs/gst/dataprotocol/Makefile.am:
6963         * examples/helloworld/helloworld.c: (event_loop):
6964           compile fixes, though it's not being compiled currently
6965
6966 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6967
6968         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
6969           Add some simple tests for the new taglist date API.
6970
6971 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6972
6973         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
6974         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
6975           Beautify 'last-message' output: print 'none' for buffer timestamps
6976           and durations if none is set; improve alignment with next messages.
6977
6978 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
6979
6980         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
6981         * gst/gstpluginfeature.h:
6982         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
6983         * gst/gstregistry.h:
6984         * docs/gst/gstreamer-sections.txt:
6985           Add new API to check plugin feature version requirements.
6986
6987         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
6988           Some basic tests for the above.         
6989
6990 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6991
6992         * gst/gststructure.c: (gst_structure_to_string):
6993           guard against NULL printf - happens when for example
6994           a message structure with GstClock gets serialized
6995
6996 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6997
6998         * gst/base/gstcollectpads.c: (gst_collectpads_event):
6999           Fix presumable copy'n'pasto.
7000
7001 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7002
7003         * gst/elements/gstfakesrc.h:
7004         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7005         * gst/elements/gsttypefindelement.c:
7006           fix some signedness
7007         * gst/elements/gstfilesink.c: (gst_file_sink_render):
7008           I wonder if this could actually write +2GB files before
7009
7010 2005-10-13  Andy Wingo  <wingo@pobox.com>
7011
7012         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7013         Fix Timmeke Waymans bug.
7014         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7015         string of the proper length to gst_caps_from_string. There's a
7016         potential for, before this fix, that this could cause someone
7017         connecting over the network to cause a segfault if the payload is
7018         not NUL-terminated.
7019
7020 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7021
7022         * docs/design/draft-push-pull.txt:
7023         * docs/design/part-overview.txt:
7024         * docs/random/TODO-pre-0.9:
7025         * docs/random/old/ChangeLog.gstreamer:
7026         * gst/base/gstpushsrc.c:
7027         * gst/gstclock.c:
7028           fixed typos
7029
7030 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7031
7032         * gst/glib-compat.c: (gst_flags_get_first_value):
7033         * gst/glib-compat.h:
7034         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7035         (gst_value_compare_double), (gst_value_serialize_flags):
7036           GLib 2.6 g_flags_get_first_value has a bug that triggers an
7037           infinite loop
7038
7039 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7040
7041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7042         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7043           fix up debugging
7044         * tools/gst-launch.c: (event_loop):
7045           print out clock nicely
7046
7047 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7048
7049         * docs/gst/gstreamer-sections.txt:
7050         * gst/gsttaglist.h:
7051         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7052         (gst_tag_list_get_date_index):
7053           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7054           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7055
7056 2005-10-13  Julien MOUTTE  <julien@moutte.net>
7057
7058         * gst/base/gstcollectpads.c: (gst_collectpads_event),
7059         (gst_collectpads_chain):
7060         * gst/base/gstcollectpads.h: Handle newsegment and store informations
7061         in CollectData.
7062
7063 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
7064
7065         * docs/gst/gstreamer-sections.txt:
7066         * gst/gst.c:
7067         * gst/gsterror.h:
7068         * tools/gst-inspect.c: (main):
7069         * tools/gst-launch.c: (main):
7070         * tools/gst-run.c: (main):
7071         * tools/gst-xmlinspect.c: (main):
7072           fix GOption context leaks
7073           doc fixes
7074
7075 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7076
7077         * gst/gstbus.c:
7078           use HAVE_UNISTD_H
7079         * win32/common/config.h:
7080           update config
7081         * win32/vs6/grammar.dsp:
7082         * win32/vs6/libgstelements.dsp:
7083         * win32/vs6/libgstreamer.dsp:
7084           update vs6 files
7085
7086 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7087
7088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7089         * gst/base/gstbasesrc.c: (gst_base_src_query):
7090           fix more guint64<->gdouble conversions
7091
7092 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7093
7094         * Makefile.am:
7095           add win32-update target
7096         * win32/common/gstconfig.h:
7097         * win32/common/gstenumtypes.c:
7098         * win32/common/gstenumtypes.h:
7099         * win32/common/gstversion.h:
7100           add files that visual studio can't generate
7101
7102 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7103
7104         * Makefile.am:
7105           add a win32-update target
7106         * configure.ac:
7107
7108 2005-10-12  Wim Taymans  <wim@fluendo.com>
7109
7110         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7111         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7112         * gst/gstelement.c: (gst_element_commit_state),
7113         (gst_element_set_state):
7114         Protect flags with proper lock.
7115         unref provided cached clock in dispose.
7116
7117 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7118
7119         * gst/gst.c:
7120         * gst/gstminiobject.h:
7121         * gst/gstpad.h:
7122         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7123           removed unused flags from miniobject
7124           doc fixes
7125
7126 2005-10-12  Wim Taymans  <wim@fluendo.com>
7127
7128         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7129         (gst_file_sink_event), (gst_file_sink_render):
7130         Flush before seeking.
7131
7132 2005-10-12  Andy Wingo  <wingo@pobox.com>
7133
7134         * gst/gst.c (gst_init_check): Ignore unknown options, as has
7135         always been the case.
7136
7137 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
7138
7139         * check/gst/gstbin.c: (GST_START_TEST):
7140         * docs/gst/gstreamer-sections.txt:
7141         * gst/base/gstbasesink.c: (gst_base_sink_init):
7142         * gst/base/gstbasesrc.c: (gst_base_src_init),
7143         (gst_base_src_get_range), (gst_base_src_check_get_range),
7144         (gst_base_src_start), (gst_base_src_stop):
7145         * gst/base/gstbasesrc.h:
7146         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7147         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7148         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7149         (bin_bus_handler):
7150         * gst/gstbin.h:
7151         * gst/gstbuffer.h:
7152         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
7153         * gst/gstbus.h:
7154         * gst/gstelement.c: (gst_element_is_locked_state),
7155         (gst_element_set_locked_state), (gst_element_commit_state),
7156         (gst_element_set_state):
7157         * gst/gstelement.h:
7158         * gst/gstindex.c: (gst_index_init):
7159         * gst/gstindex.h:
7160         * gst/gstminiobject.h:
7161         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
7162         (gst_object_set_parent):
7163         * gst/gstobject.h:
7164         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
7165         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
7166         * gst/gstpad.h:
7167         * gst/gstpadtemplate.h:
7168         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
7169         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7170         * gst/gstpipeline.h:
7171         * gst/indexers/gstfileindex.c: (gst_file_index_load),
7172         (gst_file_index_commit):
7173         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
7174         * testsuite/pad/link.c: (gst_test_src_init),
7175         (gst_test_filter_init), (gst_test_sink_init):
7176         * testsuite/states/locked.c: (main):
7177           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
7178           moved bitshift from macro to enum definition
7179
7180 2005-10-12  Wim Taymans  <wim@fluendo.com>
7181
7182         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
7183         * gst/elements/gstfilesink.c: (gst_file_sink_event),
7184         (gst_file_sink_render):
7185         Some more debugging info.
7186
7187 2005-10-12  Wim Taymans  <wim@fluendo.com>
7188
7189         * docs/design/part-states.txt:
7190         * tools/gst-launch.c: (main):
7191         Some doc updates.
7192         Revert non-intentional change.
7193
7194 2005-10-12  Wim Taymans  <wim@fluendo.com>
7195
7196         * check/gst/gstbin.c: (GST_START_TEST):
7197         * check/gst/gstelement.c: (GST_START_TEST):
7198         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
7199         * check/gst/gstghostpad.c: (GST_START_TEST):
7200         * check/gst/gstpipeline.c: (GST_START_TEST):
7201         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7202         * check/states/sinks.c: (GST_START_TEST):
7203         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7204         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7205         (gst_bin_remove_func), (gst_bin_get_state_func),
7206         (gst_bin_recalc_state), (gst_bin_change_state_func),
7207         (bin_bus_handler):
7208         * gst/gstelement.c: (gst_element_get_state_func),
7209         (gst_element_get_state), (gst_element_abort_state),
7210         (gst_element_commit_state), (gst_element_set_state),
7211         (gst_element_change_state), (gst_element_change_state_func):
7212         * gst/gstelement.h:
7213         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
7214         (gst_pipeline_provide_clock_func):
7215         * gst/gstutils.c: (gst_element_link_pads_filtered):
7216         * tools/gst-launch.c: (main):
7217         * tools/gst-typefind.c: (main):
7218         Use GstClockTime in _get_state() instead of GTimeVal.
7219         Remove old code in gstutils.c
7220
7221 2005-10-12  Andy Wingo  <wingo@pobox.com>
7222
7223         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
7224         removed.
7225
7226         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
7227         there is no task. Shouldn't affect any code, as nothing in our
7228         plugins checks this return value.
7229         (gst_pad_stop_task): Also take the stream lock if the pad has no
7230         task. Docs updated.
7231
7232 2005-10-12  Wim Taymans  <wim@fluendo.com>
7233
7234         * gst/gstpad.c: (pre_activate), (post_activate),
7235         (gst_pad_activate_pull), (gst_pad_activate_push):
7236         Cleanup activation code. Reset old state if
7237         activation failed.
7238
7239 2005-10-12  Wim Taymans  <wim@fluendo.com>
7240
7241         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7242         (gst_base_sink_change_state):
7243         No need to prerol after receiving EOS.
7244
7245         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7246         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
7247         * gst/elements/gstidentity.c: (gst_identity_event):
7248         Print events more verbosely.
7249
7250 2005-10-12  Wim Taymans  <wim@fluendo.com>
7251
7252         * check/Makefile.am:
7253         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7254         * check/states/sinks2.c:
7255         Moved sinks2 testcode in sinks check.
7256
7257         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7258         (gst_bin_remove_func), (gst_bin_recalc_state),
7259         (gst_bin_change_state_func), (bin_bus_handler):
7260         Fix potential race condition when _get_state() iterated over an
7261         ASYNC element right before it posted a state completion.
7262
7263         * gst/gstclock.h:
7264         Do proper cast here.
7265
7266         * gst/gstevent.c: (gst_event_new_newsegment),
7267         (gst_event_parse_newsegment):
7268         A playback rate of 0.0 is not allowed.
7269
7270 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7271
7272         * win32/common/config.h:
7273         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7274         (_trewinddir), (_ttelldir), (_tseekdir):
7275         * win32/common/dirent.h:
7276         * win32/common/gtchar.h:
7277         * win32/common/libgstbase.def:
7278         * win32/common/libgstreamer.def:
7279         * win32/vs6/grammar.dsp:
7280         * win32/vs6/gst_inspect.dsp:
7281         * win32/vs6/gst_launch.dsp:
7282         * win32/vs6/gstreamer.dsw:
7283         * win32/vs6/libgstbase.dsp:
7284         * win32/vs6/libgstelements.dsp:
7285         * win32/vs6/libgstreamer.dsp:
7286           Visual Studio 6 project files, and a new common directory.
7287           Phear.
7288
7289 2005-10-11  Wim Taymans  <wim@fluendo.com>
7290
7291         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7292         (gst_base_sink_do_sync), (gst_base_sink_query),
7293         (gst_base_sink_change_state):
7294         * gst/base/gstbasesink.h:
7295         Correctly parse newsegment info.
7296
7297 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7298
7299         * gst/gst.c: (init_post):
7300           split plugin paths correctly
7301
7302 2005-10-11  Wim Taymans  <wim@fluendo.com>
7303
7304         * check/gst/gstevent.c: (GST_START_TEST):
7305         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7306         (gst_base_sink_change_state):
7307         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
7308         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7309         * gst/elements/gstfilesink.c: (gst_file_sink_event):
7310         * gst/gstevent.c: (gst_event_new_newsegment),
7311         (gst_event_parse_newsegment):
7312         * gst/gstevent.h:
7313         Added extra flag to newsegment for future API freeze.
7314         Updated check and base elements.
7315
7316 2005-10-11  Julien MOUTTE  <julien@moutte.net>
7317
7318         * gst/base/gstcollectpads.c: (gst_collectpads_init),
7319         (gst_collectpads_add_pad), (gst_collectpads_pop),
7320         (gst_collectpads_event), (gst_collectpads_chain):
7321         * gst/base/gstcollectpads.h: Handle EOS correctly.
7322
7323 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7324
7325         * tools/gst-launch.c: (main):
7326           more null protecting
7327
7328 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7329
7330         * gst/gst-i18n-lib.h:
7331           check for ENABLE_NLS, not GETTEXT_PACKAGE
7332         * gst/gstregistry.c: (gst_registry_add_plugin),
7333         (gst_registry_scan_path_level),
7334         (_gst_registry_remove_cache_plugins):
7335           protect possibly NULL strings
7336         * gst/parse/types.h:
7337           config.h already included before
7338         * tools/gst-inspect.c: (main):
7339           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
7340           check for ENABLE_NLS, not GETTEXT_PACKAGE
7341         * tools/gst-launch.c: (main):
7342           check for ENABLE_NLS, not GETTEXT_PACKAGE
7343
7344 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7345
7346         * configure.ac:
7347           if we don't have glib, fail before testing 2.8
7348         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
7349           fix a leak, should fix plugins-base testsuite
7350
7351 2005-10-11  Andy Wingo  <wingo@pobox.com>
7352
7353         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
7354         take the mode we're going to as an arg. Go head and set the mode
7355         and flushing flags now, so that if the activate function starts a
7356         thread all the flags will be in the right state.
7357         (post_activate): Renamed also. Just handle making sure streaming
7358         finishes for the deactivation case, and setting the deactivated
7359         mode.
7360         (gst_pad_set_active): Complain loudly if deactivation fails.
7361         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
7362         (gst_pad_activate_push): Adapt to pre/post_activate changes,
7363         remove the terrible hack.
7364
7365 2005-10-11  Wim Taymans  <wim@fluendo.com>
7366
7367         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7368         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
7369         (gst_bin_recalc_state), (gst_bin_change_state_func),
7370         (gst_bin_dispose), (bin_bus_handler):
7371         * gst/gstbin.h:
7372         Prepare to make current EOS message queue more generic.
7373         Fix some typos.
7374
7375         * gst/gstevent.c: (gst_event_new_newsegment),
7376         (gst_event_parse_newsegment):
7377         * gst/gstevent.h:
7378         Rename base to stream_time.
7379
7380         * gst/gstmessage.h:
7381         Fix typo in docs.
7382
7383 2005-10-11  Wim Taymans  <wim@fluendo.com>
7384
7385         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7386         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
7387         (gst_bin_change_state_func), (bin_bus_handler):
7388         * gst/gstbin.h:
7389         Work on proper clock selection.
7390
7391 2005-10-11  Edward Hervey  <edward@fluendo.com>
7392
7393         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
7394         * libs/gst/controller/gstcontroller.h:
7395         Added GList* version of _remove_properties() in order to be able to wrap
7396         it in bindings.
7397
7398 2005-10-11  Wim Taymans  <wim@fluendo.com>
7399
7400         * docs/design/part-states.txt:
7401         Some more docs.
7402
7403         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
7404         (gst_bin_change_state_func), (bin_bus_handler):
7405         Doc updates. Don't distribute the same clock over and over again.
7406
7407         * gst/gstclock.c:
7408         * gst/gstclock.h:
7409         Doc updates.
7410
7411         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
7412         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
7413         (gst_pad_send_event):
7414         * gst/gstpad.h:
7415         Make probe emission threadsafe again.
7416         Register quarks and move _get_name() from utils.
7417         Doc updates.
7418
7419         * gst/gstpipeline.c: (gst_pipeline_class_init),
7420         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7421         Only redistribute the clock of it changed.
7422
7423         * gst/gstsystemclock.h:
7424         Doc updates. 
7425
7426         * gst/gstutils.c:
7427         * gst/gstutils.h:
7428         Moved the _flow_get_name() to GstPad.
7429
7430 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7431
7432         * check/gst-libs/gdp.c: (GST_START_TEST):
7433         * check/gst/gstcaps.c: (GST_START_TEST):
7434         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7435         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
7436         (gst_dp_packet_from_caps):
7437           fix more valgrind warnings before turning up the heat
7438
7439 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7440
7441         * gst/parse/grammar.y:
7442           some cleanup before the hacking
7443
7444 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7445
7446         * gst/base/gstbasesrc.c: (gst_base_src_query):
7447           use conversions
7448         * gst/gstutils.c: (gst_guint64_to_gdouble),
7449         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
7450         * gst/gstutils.h:
7451           externalize, basesrc uses it
7452           obviously the implementation needs testing
7453
7454 2005-10-10  Wim Taymans  <wim@fluendo.com>
7455
7456         * tests/sched/Makefile.am:
7457         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
7458         (make_pipeline3), (make_pipeline4), (print_elem), (main):
7459
7460 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
7463           apparently converting from guint64 to double is not implemented
7464           on MSVC
7465
7466 2005-10-10  Wim Taymans  <wim@fluendo.com>
7467
7468         * check/Makefile.am:
7469         * check/generic/states.c: (GST_START_TEST):
7470         * check/gst/gstbin.c: (GST_START_TEST):
7471         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7472         * check/states/sinks.c: (GST_START_TEST):
7473         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
7474         (main):
7475         Check fixes, use API as stated in design docs, remove hacks.
7476
7477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7478         (gst_base_sink_change_state):
7479         Catch stopping our task while we're shutting down.
7480
7481         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7482         (gst_bin_remove_func), (gst_bin_get_state_func),
7483         (gst_bin_recalc_state), (gst_bin_change_state_func),
7484         (bin_bus_handler):
7485         * gst/gstbin.h:
7486         * gst/gstelement.c: (gst_element_init),
7487         (gst_element_get_state_func), (gst_element_abort_state),
7488         (gst_element_commit_state), (gst_element_lost_state),
7489         (gst_element_set_state), (gst_element_change_state),
7490         (gst_element_change_state_func):
7491         * gst/gstelement.h:
7492         New state change algorithm (see #318116)
7493
7494         * gst/gstpipeline.c: (gst_pipeline_class_init),
7495         (gst_pipeline_init), (gst_pipeline_set_property),
7496         (gst_pipeline_get_property), (do_pipeline_seek),
7497         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7498         * gst/gstpipeline.h:
7499         Remove crude state change hacks.
7500
7501         * gst/gstutils.h:
7502         Remove crude hacks.
7503
7504         * tools/gst-launch.c: (main):
7505         Fixes for state change. Needs some more work to fully use the
7506         new stuff.
7507
7508 2005-10-10  Andy Wingo  <wingo@pobox.com>
7509
7510         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7511
7512         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7513         this flag, but it's not even in GLib 2.6. Odd. Hack around the
7514         issue.
7515
7516 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7517
7518         * gst/gstiterator.c: (gst_iterator_new):
7519           Fix my previous commit: GTypes passed to gst_iterator_new()
7520           can be fundamental types.
7521
7522 2005-10-10  Wim Taymans  <wim@fluendo.com>
7523
7524         * gst/gstelement.c: (gst_element_iterate_pad_list),
7525         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7526         (gst_element_iterate_sink_pads):
7527         Use src/sink pads lists for the respective iterators instead
7528         of filtering.
7529
7530 2005-10-10  Andy Wingo  <wingo@pobox.com>
7531
7532         Merged in popt removal + GOption addition patch from Ronald, bug
7533         #169772.
7534
7535         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7536         GstElement macros around, remove popt-related symbols, add goption
7537         stuff.
7538
7539         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7540         
7541         * docs/gst/Makefile.am:
7542         * docs/libs/Makefile.am: No POPT_CFLAGS.
7543         
7544         * examples/manual/Makefile.am:
7545         * docs/manual/basics-init.xml: Doc updates with an example.
7546         
7547         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7548         (gst_init), (parse_one_option), (parse_goption_arg):
7549         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
7550         bit of hand merging and debugging to get the GOption stuff working
7551         tho.
7552         
7553         * tests/Makefile.am:
7554         * tools/Makefile.am:
7555         * tools/gst-inspect.c: (main):
7556         * tools/gst-launch.c: (main):
7557         * tools/gst-run.c: (main):
7558         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
7559
7560 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7561
7562         * gst/gstiterator.c: (gst_iterator_new):
7563           Add assertions to make sure passed GType is likely to really
7564           be a GType (as the compiler won't catch it if the size and
7565           GType arguments get mixed up, see #318447).
7566
7567 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
7568
7569         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7570
7571         * gst/gstbin.c: (gst_bin_iterate_sorted):
7572           Pass GType and size arguments to gst_iterator_new() in the right
7573           order (maybe we should make _new() take the GType as first argument
7574           just like _new_list()?) (#318447).
7575           
7576
7577 2005-10-10  Wim Taymans  <wim@fluendo.com>
7578
7579         * gst/gstelement.c: (gst_element_finalize):
7580         And free the GStaticRecMutex too
7581
7582 2005-10-10  Andy Wingo  <wingo@pobox.com>
7583
7584         * gst/gstelement.c (gst_element_init, gst_element_finalize):
7585         Allocate and free the mutex properly.
7586
7587         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
7588         New macros.
7589         (GstElement): The state_lock is now recursive. Rebuild your
7590         plugins, suckers. Old macros adapted.
7591
7592         * docs/gst/gstreamer-sections.txt: Doc updates.
7593
7594         * gst/gstutils.h:
7595         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
7596         (g_static_rec_cond_wait): Ported from state changes patch, while
7597         we wait on bug #317802 to be solved in a well-distributed GLib.
7598
7599         * gst/gstelement.c (gst_element_change_state_func): Renamed from
7600         gst_element_change_state, variable name changes.
7601         (gst_element_change_state): Split out of gst_element_set_state in
7602         preparation for the state change merge. Doesn't pay attention to
7603         the 'transition' argument.
7604         (gst_element_set_state): Updates, hopefully purely cosmetic.
7605         (gst_element_sync_state_with_parent): MT-safety. Ported from the
7606         state change patch.
7607         (gst_element_get_state_func): Renamed from get_state, cosmetic
7608         changes.
7609
7610 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7611
7612         * gst/elements/gstelements.c:
7613         * win32/GStreamer.vcproj:
7614         * win32/config.h:
7615         * win32/dirent.c: (_tseekdir):
7616         * win32/gst-inspect.vcproj:
7617         * win32/gst-launch.vcproj:
7618         * win32/gstconfig.h:
7619         * win32/gstelements.vcproj:
7620         * win32/gstenumtypes.c: (gst_object_flags_get_type):
7621         * win32/gstreamer.def:
7622         * win32/msvc71.sln:
7623           updates for the win32 build (patch from Sebastien Moutte)
7624
7625 2005-10-10  Andy Wingo  <wingo@pobox.com>
7626
7627         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
7628         gst_bin_get_state, cleaned up (but no logic changes).
7629         (bin_element_is_sink): Comment updates.
7630         (sink_iterator_filter): Remove needless cast.
7631         (gst_bin_iterate_sinks): Doc update.
7632         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
7633         cleaned up (but no logic changes).
7634
7635         * check/states/sinks.c (test_src_sink): Cleanups from the state
7636         change patch.
7637         (test_livesrc_sink): Sync on the state.
7638
7639         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
7640         the state change patch.
7641
7642         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
7643         change patch.
7644
7645         * check/gst/gstbin.c: Merge in some style fixes and additional
7646         checks from Wim's state change patch.
7647
7648 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
7649
7650         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7651         (gst_type_find_helper):
7652           Check whether we have the requested data already in our list of
7653           cached buffers before pulling a new buffer; also make the buffer
7654           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
7655
7656 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7657
7658         * gst/gstcaps.c:
7659         * gst/gstevent.c:
7660           doc updates
7661         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7662           don't use long long, it's not portable.  Replacing with
7663           gint64 seems to work; let's hope no skeletons fall out of the closet.
7664
7665 2005-10-10  Andy Wingo  <wingo@pobox.com>
7666
7667         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
7668
7669 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
7670
7671         * docs/gst/gstreamer-sections.txt:
7672         * gst/gstevent.c:
7673         * gst/gstevent.h:
7674         * gst/gstinfo.c:
7675         * gst/gstinfo.h:
7676         * gst/gstmessage.c: (gst_message_parse_state_changed):
7677         * gst/gstpad.c:
7678         * gst/gstpad.h:
7679           more docs, fix compilation
7680
7681 2005-10-09  Philippe Khalaf <burger@speedy.org>
7682         * gst/gstmessage.c:
7683           Fixed a few forgotten variables on previous commit
7684
7685 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7686
7687         * gst/base/gsttypefindhelper.c: (helper_find_peek):
7688           Fix evil typefind crasher: getrange() might return a short
7689           buffer at the end of a file, but gst_type_find_peek() must
7690           either return the full data as requested or NULL, but
7691           never a short buffer.
7692
7693 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7694
7695         * gst/gstmessage.c: (gst_message_new_state_changed),
7696         (gst_message_parse_state_changed):
7697         * gst/gstmessage.h:
7698           don't use "new", it's a C++ keyword
7699
7700 2005-10-08  Wim Taymans  <wim@fluendo.com>
7701
7702         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
7703         * gst/gstelement.c: (gst_element_post_message):
7704         * gst/gstpipeline.c: (gst_pipeline_change_state):
7705         Small docs and debug updates.
7706
7707 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7708
7709         * docs/gst/gstreamer-sections.txt:
7710         * gst/gstelementfactory.c:
7711         * gst/gstevent.c:
7712         * gst/gsttaglist.c:
7713           more docs
7714
7715 2005-10-08  Wim Taymans  <wim@fluendo.com>
7716
7717         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
7718         (gst_bin_dispose), (bin_bus_handler):
7719         Fix typos, add comments.
7720         Clear EOS list when going to PAUSED from any direction and do it
7721         in a threadsafe way.
7722         Get base time in a threadsafe way too.
7723         Fix confusing debug in the change_state function.
7724         Various other small cleanups.
7725         
7726         * gst/gstelement.c: (gst_element_post_message):
7727         Fix very verbose bus posting code.
7728
7729         * gst/gstpipeline.c: (gst_pipeline_class_init),
7730         (gst_pipeline_set_property), (gst_pipeline_get_property),
7731         (gst_pipeline_change_state):
7732         Small ARG_ -> PROP_ cleanup
7733
7734 2005-10-08  Wim Taymans  <wim@fluendo.com>
7735
7736         * gst/gstbin.c: (is_eos), (bin_bus_handler):
7737         Do a less CPU demanding EOS check because we can.
7738
7739 2005-10-08  Wim Taymans  <wim@fluendo.com>
7740
7741         * libs/gst/dataprotocol/dataprotocol.c:
7742         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7743         (gst_dp_packet_from_event):
7744         * libs/gst/dataprotocol/dataprotocol.h:
7745         * libs/gst/dataprotocol/dp-private.h:
7746         It's about time we bump the version number.
7747         Since event types don't fit in the guint8 anymore describing
7748         the payload type, make payload type 16 bits wide.
7749
7750 2005-10-08  Wim Taymans  <wim@fluendo.com>
7751
7752         * docs/design/part-TODO.txt:
7753         * docs/design/part-clocks.txt:
7754         * docs/design/part-events.txt:
7755         * docs/design/part-gstbin.txt:
7756         * docs/design/part-gstelement.txt:
7757         * docs/design/part-gstpipeline.txt:
7758         * docs/design/part-live-source.txt:
7759         * docs/design/part-messages.txt:
7760         * docs/design/part-overview.txt:
7761         * docs/design/part-states.txt:
7762         Many doc updates.
7763
7764 2005-10-08  Wim Taymans  <wim@fluendo.com>
7765
7766         * gst/gstevent.c:
7767         * gst/gstevent.h:
7768         Fix event quark registration.
7769         Add some space between events so we can insert them in the
7770         right groups.
7771
7772 2005-10-08  Wim Taymans  <wim@fluendo.com>
7773
7774         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7775         (gst_base_sink_handle_buffer):
7776         Better log message.
7777
7778         * gst/gstbus.h:
7779         * gst/gstelement.h:
7780         More docs.
7781
7782         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7783         (gst_queue_set_property), (gst_queue_get_property):
7784         * gst/gstqueue.h:
7785         Remove old unused properties.
7786
7787 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
7788         * docs/gst/gstreamer-sections.txt:
7789         * gst/gstmessage.c:
7790         * gst/gstmessage.h:
7791         * gst/gstminiobject.c:
7792         * gst/gstminiobject.h:
7793         * gst/gstobject.h:
7794         * gst/gstpad.h:
7795         * gst/gstutils.h:
7796           lots of new docs and doc fixes
7797
7798 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7799
7800         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
7801         * gst/gstplugin.h:
7802         * gst/gstregistry.c: (gst_registry_lookup_locked),
7803         (gst_registry_scan_path_level):
7804         * gst/gstregistryxml.c: (load_plugin):
7805           Only ever load one plugin for a given plugin basename.
7806           This ensures correct overriding of GST_PLUGIN_PATH over
7807           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
7808           system installed plugins.
7809
7810 2005-10-08  Wim Taymans  <wim@fluendo.com>
7811
7812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7813         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
7814         Prepare for doing QOS.
7815
7816 2005-10-08  Wim Taymans  <wim@fluendo.com>
7817
7818         * check/gst/gstbin.c: (GST_START_TEST):
7819         * check/pipelines/cleanup.c: (GST_START_TEST):
7820         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7821         Allow new clock message too.
7822
7823 2005-10-08  Wim Taymans  <wim@fluendo.com>
7824
7825         * gst/gstmessage.c: (gst_message_new_error),
7826         (gst_message_new_warning), (gst_message_new_tag),
7827         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7828         (gst_message_new_clock_lost), (gst_message_new_new_clock),
7829         (gst_message_new_segment_start), (gst_message_new_segment_done),
7830         (gst_message_parse_state_changed),
7831         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
7832         (gst_message_parse_new_clock):
7833         * gst/gstmessage.h:
7834         Also carry the clock in question.
7835
7836 2005-10-08  Wim Taymans  <wim@fluendo.com>
7837
7838         * gst/gstmessage.c: (gst_message_new_custom),
7839         (gst_message_new_eos), (gst_message_new_error),
7840         (gst_message_new_warning), (gst_message_new_tag),
7841         (gst_message_new_state_changed), (gst_message_new_clock_provide),
7842         (gst_message_new_new_clock), (gst_message_new_segment_start),
7843         (gst_message_new_segment_done), (gst_message_parse_state_changed),
7844         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
7845         * gst/gstmessage.h:
7846         Clean up.
7847         Added clock related messages.
7848
7849         * gst/gstpipeline.c: (gst_pipeline_change_state):
7850         Post message when the clock changed.
7851
7852         * tools/gst-launch.c: (event_loop):
7853         Print new clock.
7854
7855 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7856
7857         * tools/gst-inspect.c: (print_element_properties_info):
7858           Can't pass NULL strings to g_print() on windows.
7859
7860 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7861
7862         * docs/Makefile.am:
7863         * docs/gst/Makefile.am:
7864         * docs/gst/gstreamer-docs.sgml:
7865         * docs/gst/running.xml:
7866         * docs/version.entities.in:
7867           add a chapter on running GStreamer.
7868           document GST_DEBUG and GST_PLUGIN* env vars
7869
7870 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7871
7872         * Makefile.am:
7873           remove include dir
7874         * configure.ac:
7875           remove PLUGINS_BUILDDIR stuff
7876         * gst/gst.c: (init_post):
7877           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
7878         * idiottest.mak:
7879           remove, it was condescending and not needed
7880
7881 2005-10-08  Wim Taymans  <wim@fluendo.com>
7882
7883         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7884         (gst_base_sink_handle_object), (gst_base_sink_event),
7885         (gst_base_sink_wait), (gst_base_sink_handle_event),
7886         (gst_base_sink_change_state):
7887         * gst/base/gstbasesink.h:
7888         Repost EOS message while going to PLAYING if still EOS.
7889         Make sure that when receiving a FLUSH_START we don't attempt
7890         to sync on the clock anymore.
7891
7892 2005-10-08  Wim Taymans  <wim@fluendo.com>
7893
7894         * tools/gst-launch.c: (event_loop):
7895         Better message printout.
7896
7897 2005-10-08  Wim Taymans  <wim@fluendo.com>
7898
7899         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
7900         (gst_bin_child_proxy_get_children_count):
7901         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7902         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
7903         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
7904         (gst_child_proxy_set_valist):
7905         * gst/parse/grammar.y:
7906         Make ChildProxy threadsafe and fix mem leaks.
7907
7908 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7909
7910         * gst/gst.c: (init_post):
7911           debug the GST_PLUGIN_ env vars
7912
7913 2005-10-08  Wim Taymans  <wim@fluendo.com>
7914
7915         * check/gst/gstbin.c: (GST_START_TEST):
7916         * check/gst/gstmessage.c: (GST_START_TEST):
7917         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7918         * gst/gstelement.c: (gst_element_commit_state),
7919         (gst_element_lost_state):
7920         * gst/gstmessage.c: (gst_message_new_state_changed),
7921         (gst_message_parse_state_changed):
7922         * gst/gstmessage.h:
7923         * tools/gst-launch.c: (event_loop):
7924         Added extra field to STATE_CHANGE message with the pending
7925         state, which will be different from the new state soon.
7926
7927 2005-10-08  Wim Taymans  <wim@fluendo.com>
7928
7929         * gst/gstbus.c: (gst_bus_pop):
7930         * gst/gstclock.c:
7931         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7932         Small cleanups and doc updates.
7933
7934 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7935
7936         * gst/gst.c: (init_pre):
7937         * gst/gstbin.c: (gst_bin_add_func):
7938           log distributing clocks and base time
7939         * gst/gstregistry.c: (gst_registry_add_plugin),
7940         (gst_registry_scan_path_level), (gst_registry_scan_path):
7941           clean up the debugging output a little
7942         * gst/gstutils.c: (gst_element_state_get_name):
7943           warn about a memleak (I've actually seen this be used, though
7944           it was probably a bug)
7945
7946 2005-10-07  Wim Taymans  <wim@fluendo.com>
7947
7948         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7949         (gst_base_src_init), (gst_base_src_default_newsegment),
7950         (gst_base_src_newsegment), (gst_base_src_do_seek),
7951         (gst_base_src_loop), (gst_base_src_start):
7952         * gst/base/gstbasesrc.h:
7953         Make the newsegment event customizable by subclasses.
7954
7955 2005-10-07  Wim Taymans  <wim@fluendo.com>
7956
7957         * gst/gstevent.c: (gst_event_new_buffersize),
7958         (gst_event_parse_buffersize):
7959         * gst/gstevent.h:
7960         New event for future idea.
7961
7962 2005-10-07  Andy Wingo  <wingo@pobox.com>
7963
7964         * gst/gstelement.c (gst_element_post_message): Doc update.
7965
7966         * docs/gst/gstreamer-sections.txt: Update.
7967
7968         * gst/gstmessage.c (gst_message_new_application): Made into a
7969         function like honest API calls.
7970         (gst_message_new_element): New message type.
7971
7972         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
7973
7974         * check/elements/fakesrc.c (test_no_preroll): New check, checks
7975         that setting a live fakesrc to PAUSED returns NO_PREROLL both
7976         times.
7977
7978         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
7979         NO_PREROLL from gst_element_change_state to fall through.
7980
7981 2005-10-07  Wim Taymans  <wim@fluendo.com>
7982
7983         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
7984         (gst_ghost_pad_do_activate_push):
7985         Activating a ghostpad with no internal pad in push mode
7986         is ok.
7987
7988 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7989
7990         * gst/gstobject.h:
7991           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
7992           Fixes compilation on Windows.
7993
7994 2005-10-07  Michael Smith <msmith@fluendo.com>
7995
7996         * tools/gst-inspect.c:
7997           Print out feature and plugin count at the end when printing out
7998           all features.
7999
8000 2005-10-04  Michael Smith <msmith@fluendo.com>
8001
8002         * gst/gsterror.c: (_gst_stream_errors_init):
8003           Add another error string used in a few existing plugins.
8004
8005         * gst/gstplugin.c:
8006         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8007         * tools/gst-inspect.c: (print_element_info):
8008           When a feature disappears from a plugin (and the feature exists in
8009           the cached registry file), things went horribly wrong. This isn't a
8010           complete fix, we should actually be removing the 'missing' features
8011           from the features list when we load the actual plugin. That's not
8012           yet implemented. 
8013
8014 2005-10-04  Johan Dahlin  <johan@gnome.org>
8015
8016         * check/gst/gstiterator.c: (GST_START_TEST):
8017         * gst/gstbin.c: (gst_bin_iterate_elements),
8018         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8019         * gst/gstelement.c: (gst_element_iterate_pads):
8020         * gst/gstformat.c: (gst_format_iterate_definitions):
8021         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8022         (gst_iterator_new_list), (gst_iterator_filter):
8023         * gst/gstiterator.h:
8024         * gst/gstquery.c: (gst_query_type_iterate_definitions):
8025         Add a GType to GstIterator, update callsites and tests.
8026
8027 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8028
8029         * gst/gstpad.c: (gst_pad_event_default_dispatch):
8030           give events a chance to be handled by event probes when the pad
8031           is not linked
8032
8033 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8034
8035         * gst/gstevent.c: (gst_event_type_get_name),
8036         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8037         * gst/gstevent.h:
8038           add string representations for event types
8039
8040 2005-10-06  Wim Taymans  <wim@fluendo.com>
8041
8042         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8043         Don't use NULL pointers.
8044
8045 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8046
8047         * gst/gst_private.h:
8048         * gst/gstbus.c:
8049         * gst/gstelement.c:
8050         * gst/gstinfo.c:
8051         * gst/gstpluginfeature.c:
8052           widen the debug category in output to fit the biggest one we have
8053           add a bus category and use it
8054           play with the colors
8055           fix up some categories
8056
8057 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8058
8059         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8060           add push activation of sink ghost pads.
8061           Andye, please verify
8062
8063 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8064
8065         * gst/gstutils.c: (gst_element_link_pads):
8066           fix a bug in the case where neither element has a pad
8067         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8068           add a test for that case
8069
8070 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8071
8072         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8073           emit have-data before checking for peers.  This allows
8074           for probe handlers to connect elements.  This helps autopluggers.
8075         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8076         (gst_pad_suite):
8077           add six checks, linked/unlinked with no/true/false probe
8078
8079 2005-10-04  Wim Taymans  <wim@fluendo.com>
8080
8081         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8082         (gst_fake_sink_event), (gst_fake_sink_preroll),
8083         (gst_fake_sink_render), (gst_fake_sink_change_state):
8084         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8085         (gst_fake_src_get_property), (gst_fake_src_create),
8086         (gst_fake_src_stop):
8087         * gst/elements/gstidentity.c: (gst_identity_stop):
8088         Protect last_message with lock.
8089
8090 2005-10-04  Edward Hervey  <edward@fluendo.com>
8091
8092         * gst/gstformat.h: 
8093         Added precision in the comments for GST_FORMAT_DEFAULT
8094
8095 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
8096
8097         * tools/gst-launch.c: (main):
8098           Don't try to run erroneous pipelines.
8099
8100 2005-10-04  Julien MOUTTE  <julien@moutte.net>
8101
8102         * gst/gstbus.c: We don't need this header.
8103
8104 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8105
8106         * configure.ac:
8107           back to development
8108
8109 === release 0.9.3 ===
8110
8111 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8112
8113         * README:
8114         * configure.ac:
8115           Releasing 0.9.3, "Unregistered"
8116
8117 2005-10-03  Andy Wingo  <wingo@pobox.com>
8118
8119         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8120         whereby calling a pad's activatepush() function can start a thread
8121         that starts to push or pull before the pad gets the FLUSHING flag
8122         unset. Hack around it by holding the stream lock until the flag is
8123         set. Need to replace this with a proper solution. Together with
8124         the ghost pad fixes, this fixes mp3 playing/tagreading.
8125
8126         * docs/design/part-gstghostpad.txt: Add a note about activation of
8127         proxy pads outside of ghost pads.
8128
8129         * gst/gstghostpad.c: Implement the ghost pad activation design.
8130
8131 2005-10-02  Andy Wingo  <wingo@pobox.com>
8132
8133         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8134         It is volatile, after all.
8135
8136         * docs/design/part-gstghostpad.txt: Flesh out activation with
8137         ghost pads.
8138
8139         * gst/base/gstbasesrc.c (gst_base_src_init): Use
8140         GST_DEBUG_FUNCPTR.
8141
8142 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8143
8144         * configure.ac:
8145           Fix (unused) AM_CONDITIONAL tests.
8146
8147 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
8148
8149         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8150
8151         * gst/gstutils.c: (gst_pad_query_convert):
8152           Add assertion that makes sure src_val is >=0, just like
8153           gst_query_new_convert() has. (#315895)
8154
8155 2005-09-30  Edward Hervey  <edward@fluendo.com>
8156
8157         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
8158         Let's not iterate pads we're not interested in, it avoids getting 
8159         sky-high refcounts on sinkpad.
8160
8161 2005-09-30  Wim Taymans  <wim@fluendo.com>
8162
8163         * gst/gstelement.c: (gst_element_set_state),
8164         (gst_element_change_state):
8165         Small tweak, element in ASYNC remains ASYNC.
8166
8167 2005-09-30  Wim Taymans  <wim@fluendo.com>
8168
8169         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8170         Only error is an error.
8171
8172         * gst/gstbin.c: (gst_bin_change_state):
8173         Better debugging.
8174
8175         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
8176         Also call pad_block in pad alloc.
8177
8178         * gst/gstutils.c: (gst_flow_get_name):
8179         Better debugging.
8180
8181 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8182
8183         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8184         (gst_base_src_get_range):
8185           Fix documentation typos. Add some more debug info.
8186
8187 2005-09-29  David Schleef  <ds@schleef.org>
8188
8189         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
8190           more end-user friendly.
8191         * tools/gst-inspect.c: (main): Check if command-line argument is
8192           a file and attempt to load that file as a plugin.
8193
8194 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * check/gst/gstbin.c:
8197         * check/states/sinks.c:
8198           fix tests for the new warning
8199         * check/gst/gstpipeline.c:
8200           add a test for pipeline and bus interaction
8201         * gst/gstelement.c:
8202           elements should be NULL if they get disposed; add a warning if not
8203
8204 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8205
8206         * gst/gstobject.c:
8207           for 2.6 refcounting, make debug log more correct by printing
8208           the actual refcounts at the time of swap (Wim)
8209
8210 2005-09-29  Andy Wingo  <wingo@pobox.com>
8211
8212         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
8213         removes signal watches previously added via
8214         gst_bus_add_signal_watch.
8215         (gst_bus_add_signal_watch): Don't return the source id, just store
8216         it on the bus if there wasn't an id already.
8217
8218         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
8219         add_signal_watch and remove_signal_watch.
8220
8221 2005-09-29  Edward Hervey  <edward@fluendo.com>
8222
8223         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
8224         Better if we actually iterate the list :)
8225
8226 2005-09-29  Wim Taymans  <wim@fluendo.com>
8227
8228         * check/gst/gstbin.c: (GST_START_TEST):
8229         Change for new bus API.
8230
8231         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8232         (send_messages), (GST_START_TEST), (gstbus_suite):
8233         Change for new bus signal API.
8234
8235         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
8236         (gst_bus_source_prepare), (gst_bus_source_check),
8237         (gst_bus_create_watch), (gst_bus_add_watch_full),
8238         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
8239         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
8240         * gst/gstbus.h:
8241         Remove support for multiple GSources operating on different
8242         message types as it is too complex and unneeded when using
8243         signals.
8244         Added support for receiving signals from the bus.
8245
8246 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8247
8248         * docs/libs/tmpl/gstdataprotocol.sgml:
8249         * docs/manual/advanced-dataaccess.xml:
8250         * gst/elements/gstcapsfilter.c:
8251         * gst/gstutils.c:
8252           rename filter-caps to caps property
8253
8254 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8255
8256         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8257           More robust fraction string parsing.
8258
8259         * docs/pwg/appendix-porting.xml:
8260           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
8261
8262 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8263
8264         * gst/gstcaps.c: (gst_caps_do_simplify):
8265           Thou shalt not free a structure and then continue using it
8266           in the next loop iteration.
8267
8268         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
8269         (gst_caps_suite):
8270           Add test case for caps simplification.
8271
8272 2005-09-29  Wim Taymans  <wim@fluendo.com>
8273
8274         * check/gst/gstbin.c: (GST_START_TEST):
8275         Oops.
8276
8277 2005-09-29  Wim Taymans  <wim@fluendo.com>
8278
8279         * check/gst/gstbin.c: (GST_START_TEST):
8280         Add bus to bin.
8281
8282         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8283         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8284         (find_element), (gst_bin_sort_iterator_next),
8285         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8286         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8287         (gst_bin_change_state), (gst_bin_dispose):
8288         A bin does not have a bus, it gets the bus from the parent.
8289
8290         * gst/gstelement.c: (gst_element_requires_clock),
8291         (gst_element_provides_clock), (gst_element_is_indexable),
8292         (gst_element_is_locked_state), (gst_element_change_state),
8293         (gst_element_set_bus_func):
8294         Small cleanups.
8295
8296         * gst/gstpipeline.c: (gst_pipeline_class_init),
8297         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
8298         The pipeline provides a bus.
8299
8300 2005-09-28  Johan Dahlin  <johan@gnome.org>
8301
8302         * gst/gstmessage.c (gst_message_parse_state_changed): Use
8303         gst_structure_get_enum instead of gst_structure_get_int
8304
8305         * gst/gststructure.c (gst_structure_get_enum): Impl.
8306
8307         * gst/gststructure.h (gst_structure_get_enum): Add
8308
8309         * docs/gst/gstreamer-sections.txt: Ditto
8310
8311         * gst/gstmessage.c (gst_message_new_state_changed): Use
8312         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
8313         which does introspection.
8314         Reviewed by Christian Schaller
8315
8316 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8317
8318         * gst/gstinfo.c: (gst_debug_log_default):
8319           don't do dummy g_strdup()s
8320         * libs/gst/controller/gstcontroller.c:
8321         (on_object_controlled_property_changed),
8322         (gst_controlled_property_new), (gst_controller_new_valist),
8323         (gst_controller_new_list),
8324         (gst_controller_remove_properties_valist), (gst_controller_set),
8325         (gst_controller_get), (gst_controller_sync_values),
8326         (gst_controller_get_value_array), (_gst_controller_class_init),
8327         (gst_controller_get_type):
8328         * libs/gst/controller/gstcontroller.h:
8329         * libs/gst/controller/gstinterpolation.c:
8330         (gst_controlled_property_find_timed_value_node):
8331           convert // to /**/ comments
8332
8333 2005-09-28  Wim Taymans  <wim@fluendo.com>
8334
8335         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
8336         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
8337         (gst_bus_sync_signal_handler):
8338         * gst/gstbus.h:
8339         Added async-message and sync-message signals to the bus.
8340         Added helper BusFunc to emit signals for all posted messages.
8341
8342         * gst/gstmessage.c: (gst_message_type_get_name),
8343         (gst_message_type_to_quark), (gst_message_get_type):
8344         * gst/gstmessage.h:
8345         Register quarks for message names.
8346
8347 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
8348
8349         * docs/libs/gstreamer-libs-sections.txt:
8350         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8351         (gst_controller_new_list):
8352         * libs/gst/controller/gstcontroller.h:
8353           added another constructor for language bindings
8354
8355 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8356
8357         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8358           add another check
8359         * gst/gstbus.c:
8360           add some doc
8361         * gst/gstinfo.c: (_gst_debug_init):
8362           slightly more readable color for refcount debugging
8363
8364 2005-09-28  Wim Taymans  <wim@fluendo.com>
8365
8366         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8367         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8368         (find_element), (gst_bin_sort_iterator_next),
8369         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8370         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8371         (gst_bin_change_state), (gst_bin_dispose):
8372         Small doc fixes. get_clock -> provide_clock.
8373
8374         * gst/gstelement.c: (gst_element_class_init),
8375         (gst_element_provides_clock), (gst_element_provide_clock),
8376         (gst_element_get_clock), (gst_element_commit_state),
8377         (gst_element_lost_state):
8378         * gst/gstelement.h:
8379         Make get/set_clock() symetric. Add provide_clock vmethod since
8380         that is actually what this function does.
8381
8382         * gst/gstpipeline.c: (gst_pipeline_class_init),
8383         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
8384         (gst_pipeline_get_clock):
8385         get_clock -> provide_clock.
8386
8387 2005-09-28  Andy Wingo  <wingo@pobox.com>
8388
8389         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
8390         lieu of real docs...
8391
8392         * gst/elements/gstfdsrc.c: Cleaned up a bit.
8393
8394 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
8395
8396         * gst/elements/gstcapsfilter.c:
8397         * gst/elements/gstfakesink.c:
8398         * gst/elements/gstfakesrc.c:
8399         * gst/elements/gstfdsink.c:
8400         * gst/elements/gstfdsrc.c:
8401         * gst/elements/gstfilesink.c:
8402         * gst/elements/gstfilesrc.c:
8403         * gst/elements/gstidentity.c:
8404         * gst/elements/gsttee.c:
8405         * gst/elements/gsttypefindelement.c:
8406           Make element details static.
8407
8408 2005-09-28  Wim Taymans  <wim@fluendo.com>
8409
8410         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8411         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8412         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8413         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8414         (gst_bin_change_state), (gst_bin_dispose):
8415         Some documentation updates.
8416         Clean up dispose handlers.
8417
8418         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
8419         * gst/gstpad.c: (gst_pad_dispose):
8420         Clean up dispose handler.
8421
8422         * gst/gstpipeline.c: (gst_pipeline_change_state):
8423         Removed spurious UNLOCK.
8424
8425 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
8426
8427         * docs/gst/gstreamer-sections.txt:
8428         * gst/base/gstbasesrc.h:
8429         * gst/gstelement.h:
8430         * gst/gstevent.h:
8431         * gst/gstobject.h:
8432         * gst/gstpad.h:
8433         * gst/gstpipeline.c:
8434         * gst/gstpipeline.h:
8435         * gst/gstutils.h:
8436         * gst/gstxml.h:
8437           added two new functions to the docs
8438                 documents all undocumented GstXXXFlags
8439                 completed some incomplete docs 
8440
8441 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8442
8443         * gst/gstbin.c: (gst_bin_dispose):
8444         * gst/gstelement.c: (gst_element_dispose):
8445           remove now useless and leaky resurrection code in dispose
8446         * gst/base/gstbasesrc.c: (gst_base_src_init):
8447         * gst/gstelementfactory.c: (gst_element_factory_create):
8448         * gst/gstobject.c: (gst_object_set_parent):
8449           add some debugging
8450
8451 2005-09-27  Wim Taymans  <wim@fluendo.com>
8452
8453         * docs/design/part-TODO.txt:
8454         Update TODO.
8455
8456         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8457         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8458         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8459         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8460         (gst_bin_change_state):
8461         * gst/gstelement.h:
8462         Remove element variable, we keep element info in the iterator now.
8463
8464 2005-09-27  Andy Wingo  <wingo@pobox.com>
8465
8466         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
8467         values.
8468
8469 2005-09-27  Wim Taymans  <wim@fluendo.com>
8470
8471         * check/gst/gstbin.c: (GST_START_TEST):
8472         Enable check that works now.
8473
8474         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8475         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8476         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8477         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8478         (gst_bin_change_state):
8479         * gst/gstbin.h:
8480         Redid the state change algorithm using a topological sort algo.
8481         Handles all cases correctly.
8482         Exposed iterator for state change order.
8483
8484         * gst/gstelement.h:
8485         Temp storage for state changes. Need to get rid of this soon.
8486
8487 2005-09-27  Wim Taymans  <wim@fluendo.com>
8488
8489         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
8490         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
8491         (link_fold_func), (gst_pad_proxy_setcaps):
8492         Leak fixes, the fold functions need to unref the passed object and
8493         _get_parent_*() returns ref to parent.
8494
8495 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8496
8497         * check/gst/gstbuffer.c: (test_make_writable):
8498           Plug leak in test case and fix 'make check-valgrind'
8499
8500 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8501
8502         * gst/gstbuffer.c: (gst_subbuffer_init):
8503           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8504           works correctly in all circumstances (we could have just copied
8505           the parent buffer's readonly flag, but conceptually it seems
8506           cleaner to mark all subbuffers as read-only). (based on patch
8507           by Alessandro Decina, #314710).
8508         
8509         * check/gst/gstbuffer.c: (create_read_only_buffer),
8510         (test_make_writable), (test_subbuffer_make_writable),
8511         (gst_test_suite):
8512           Add some tests for gst_buffer_make_writable().
8513
8514 2005-09-27  Wim Taymans  <wim@fluendo.com>
8515
8516         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8517         use gst_object_has_ancestor().
8518
8519         * gst/gstobject.c: (gst_object_has_ancestor):
8520         * gst/gstobject.h:
8521         gst_object_has_ancestor() copied from gstbin.c as it is a
8522         usefull function.
8523
8524         * tests/instantiate/create.c: (create_all_elements):
8525         * tests/lat.c: (handoff_src), (handoff_sink):
8526         * tests/sched/runxml.c: (main):
8527         * tests/seeking/seeking1.c: (main):
8528         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8529         (main):
8530         Fix compilation of some tests.
8531
8532 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8533
8534         * gst/gsterror.h:
8535           Remove comment. GST_TYPE_G_ERROR is here to stay,
8536           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8537           (#316961, #300610).
8538
8539 2005-09-26  Wim Taymans  <wim@fluendo.com>
8540
8541         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8542         Added check that shows error in state change order.
8543
8544 2005-09-26  Wim Taymans  <wim@fluendo.com>
8545
8546         * gst/gstbin.c: (gst_bin_change_state):
8547         Make state change function use 3 queues again, we were
8548         adding elements in the wrong order.
8549
8550         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8551         Some debug info,
8552
8553         * gst/gstpad.c: (gst_pad_dispose):
8554         Added some debug info first.
8555
8556 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
8557
8558         * docs/design/draft-push-pull.txt:
8559         * docs/design/part-events.txt:
8560         * docs/design/part-overview.txt:
8561         * docs/design/part-scheduling.txt:
8562           Replace all _pull_region() with _pull_range()
8563           
8564 2005-09-26  Andy Wingo  <wingo@pobox.com>
8565
8566         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
8567
8568         * check/gst-libs/controller.c: Update for controller api change.
8569
8570         * configure.ac: 
8571         * tests/Makefile.am:
8572         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
8573         over by GLib bug 118439.
8574         
8575         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
8576         routines to a function.
8577
8578         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
8579
8580         * libs/gst/controller/gsthelper.c:
8581         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
8582         (gst_object_sync_values): Renamed from sink_values. Ugh.
8583
8584         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
8585
8586         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
8587         Renamed from controller_key, as it is exported.
8588
8589         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
8590
8591 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * gst/Makefile.am:
8594         * gst/gst.h:
8595         * gst/gstpad.h:
8596         * gst/gstpadtemplate.h:
8597         * gst/gstquery.c:
8598         * gst/gstquery.h:
8599         * gst/gstqueryutils.c:
8600         * gst/gstqueryutils.h:
8601           remove queryutils headers after moving the two used functions
8602           to gstquery.  also fixes build problem for gstsiddec
8603
8604 2005-09-26  Michael Smith <msmith@fluendo.com>
8605
8606         * tools/gst-launch.1.in:
8607         Correct documentation in manpage of debug syntax
8608
8609 2005-09-26  Wim Taymans  <wim@fluendo.com>
8610
8611         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8612         (gst_base_src_is_seekable), (gst_base_src_change_state):
8613         Some more debugging info.
8614
8615 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8616
8617         * docs/gst/gstreamer-sections.txt:
8618         * gst/base/gstbasetransform.h:
8619         * gst/gstindex.h:
8620           added more docs
8621
8622 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8623
8624         * docs/gst/.cvsignore:
8625         * docs/gst/tmpl/.cvsignore:
8626         * docs/gst/tmpl/gstpipeline.sgml:
8627         * docs/gst/tmpl/gstplugin.sgml:
8628         * gst/gstpipeline.c:
8629         * gst/gstplugin.c:
8630         * gst/gstplugin.h:
8631           inlined the last two docs files
8632           removed the tmpl directory from cvs (no more conflicts here!)
8633
8634 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
8635
8636         * docs/gst/gstreamer-sections.txt:
8637         * docs/gst/tmpl/.cvsignore:
8638         * docs/gst/tmpl/gstpad.sgml:
8639         * docs/gst/tmpl/gstpadtemplate.sgml:
8640         * gst/Makefile.am:
8641         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8642         (gst_pad_finalize), (gst_pad_set_pad_template):
8643         * gst/gstpad.h:
8644         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8645         (gst_pad_template_class_init), (gst_pad_template_init),
8646         (gst_pad_template_dispose), (name_is_valid),
8647         (gst_static_pad_template_get), (gst_pad_template_new),
8648         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
8649         (gst_pad_template_pad_created):
8650         * gst/gstpadtemplate.h:
8651           inlined two more docs
8652           factored gstpadtemplate out of gstpad
8653
8654 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
8655
8656         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8657         (test_children_state_change_order_semi_sink):
8658           Fix test case: we can't rely on a fixed state change order when
8659           going from READY => PAUSED because the sink might commit its 
8660           new state first when the first buffer created by the source 
8661           reaches the sink before the source has finished its change state.
8662           (Test case still fails at times, see #316856, comment 5 onwards)
8663
8664 2005-09-24  Wim Taymans  <wim@fluendo.com>
8665
8666         * docs/design/part-events.txt:
8667         * docs/design/part-gstbus.txt:
8668         * docs/design/part-gstpipeline.txt:
8669         * docs/design/part-messages.txt:
8670         * docs/design/part-overview.txt:
8671         * docs/design/part-segments.txt:
8672         * gst/gstbin.c:
8673         * gst/gstbuffer.c:
8674         * gst/gstclock.c:
8675         * gst/gstelement.c:
8676         * gst/gstevent.c:
8677         * gst/gstfilter.c:
8678         * gst/gstiterator.c:
8679         Various documentation updates.
8680
8681 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8682
8683         * gst/gstclock.h:
8684           Well, that's embarassing.  Luckily we weren't using
8685           GST_CLOCK_DIFF anywhere.
8686
8687 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8688
8689         * common/gtk-doc.mak:
8690           don't fail on building XML, FC4 slave shows a bunch of doc
8691           missing bits that I don't get
8692         * gst/gstpad.c:
8693         * gst/gstpipeline.c:
8694         * gst/gststructure.c:
8695           some doc updates
8696
8697 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8698
8699         * docs/design/part-gstbin.txt:
8700         * docs/design/part-gstbus.txt:
8701         * gst/gstbus.c:
8702           Add blurb about how the bus goes into flushing mode and
8703           drops all messages when its bin goes from READY into NULL 
8704           state.
8705
8706 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * docs/gst/gstreamer-sections.txt:
8709         * gst/gststructure.c: (gst_structure_get_clock_time):
8710         * gst/gststructure.h:
8711           add a method to get a GstClockTime out of a structure
8712
8713 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
8714
8715         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8716         (test_children_state_change_order_semi_sink), (gst_bin_suite):
8717           Added test to check state change order in bins (can still be made
8718           to fail here under heavy disk load; bails out with 'Push on pad
8719           fakesink:sink0, but it was not activated in push mode').
8720
8721         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
8722           Fix state change order when there is only a semi sink (#316856)
8723
8724         * gst/gstbus.c: (gst_bus_class_init):
8725           Use _class_peek_parent(), not _class_ref(); fix docs to say
8726           'default main context' instead of 'mainloop' where that is
8727           what's meant.
8728
8729         * gst/gstelement.c: (gst_element_commit_state),
8730         (gst_element_set_state):
8731           Fix typos in debug messages
8732
8733 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8734
8735         * docs/README:
8736         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
8737         * gst/gstpluginfeature.c:
8738         * gst/gstutils.c:
8739           various doc updates
8740         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8741           change an assert into an error until it gets fixed properly
8742
8743 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
8744
8745         * docs/gst/gstreamer-sections.txt:
8746         * docs/gst/tmpl/.cvsignore:
8747         * docs/gst/tmpl/gstelement.sgml:
8748         * docs/gst/tmpl/gstinfo.sgml:
8749         * docs/gst/tmpl/gstobject.sgml:
8750         * gst/gstelement.c:
8751         * gst/gstelement.h:
8752         * gst/gstinfo.c:
8753         * gst/gstinfo.h:
8754         * gst/gstobject.c: (gst_object_class_init):
8755         * gst/gstobject.h:
8756           inlined 3 more biiiig doc files and added some missing docs on the fly
8757
8758 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8759
8760         * check/gst/.cvsignore:
8761         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
8762         * gst/gstregistryxml.c: (load_plugin),
8763         (gst_registry_xml_save_plugin):
8764           put back source in registry.  add checks for find_plugin.
8765         * testsuite/states/bin.c: (assert_state), (empty_bin),
8766         (test_adding_one_element), (main):
8767         * testsuite/states/locked.c: (main):
8768           some compile/run fixes
8769
8770 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8771
8772         * check/gst/gstvalue.c: (GST_START_TEST):
8773           fix leaks in the test itself
8774
8775 2005-09-22  Wim Taymans  <wim@fluendo.com>
8776
8777         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8778         (gst_base_sink_send_event), (gst_base_sink_peer_query),
8779         (gst_base_sink_query):
8780         Prepare for more accurate position reporting and query
8781         handling.
8782
8783         * gst/gstelement.c: (gst_element_send_event),
8784         (gst_element_set_state):
8785         Add some comment.
8786
8787 2005-09-22  Wim Taymans  <wim@fluendo.com>
8788
8789         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
8790         (gst_query_parse_segment):
8791         * gst/gstquery.h:
8792         More documentation.
8793         Add segment query for future use.
8794
8795 2005-09-22  Wim Taymans  <wim@fluendo.com>
8796
8797         * gst/gstbin.c: (gst_bin_add_func):
8798         Some more debug info.
8799
8800         * gst/gstelement.c: (gst_element_send_event):
8801         Simplify send_event
8802
8803         * gst/gstelement.h:
8804         Don't know how flags got broken.
8805
8806         * gst/gstquery.h:
8807         Added new query.
8808
8809 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8810
8811         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
8812           Add simplistic test suite for GST_TYPE_DATE serialisation and
8813           deserialisation.
8814
8815 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8816
8817         * docs/gst/gstreamer-sections.txt:
8818         * gst/gststructure.c: (gst_structure_set_valist),
8819         (gst_structure_get_date):
8820         * gst/gststructure.h:
8821         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
8822         (gst_date_copy), (gst_value_compare_date),
8823         (gst_value_serialize_date), (gst_value_deserialize_date),
8824         (gst_value_transform_date_string),
8825         (gst_value_transform_string_date), (_gst_value_initialize):
8826         * gst/gstvalue.h:
8827           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
8828           bunch of utility functions along with a hack that checks that
8829           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
8830           is required. Part of the grand scheme in #170777.
8831
8832 2005-09-22  Andy Wingo  <wingo@pobox.com>
8833
8834         * gst/gstconfig.h.in: Psych out gtk-doc.
8835
8836         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
8837
8838         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
8839
8840         * tools/gst-inspect.c (print_element_list): Plug some
8841         inconsequential leaks.
8842
8843         * gst/gstregistry.c (gst_registry_get_default): Doc.
8844
8845         * check/gst/gstplugin.c: 
8846         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
8847         * gst/gstelementfactory.c (gst_element_factory_create): 
8848         * gst/gstindexfactory.c (gst_index_factory_create): Update for
8849         refcount changes.
8850
8851         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
8852         (gst_plugin_feature_load): Doc, don't eat refs.
8853
8854         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
8855         (gst_plugin_list_free): Doc.
8856         (gst_plugin_load_file): Doc updates.
8857
8858         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
8859         accessors returning refcounted objects, return a ref.
8860
8861         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
8862         accessor for caps. IDEMPOTENCE. Oh yes.
8863
8864 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
8865
8866         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8867
8868         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8869         (_gst_debug_register_funcptr):
8870           Add mutex to serialise access to the hash table with
8871           the function pointer => function name string mapping;
8872           make that hash table static scope (#316809).
8873
8874         * gst/registries/.cvsignore:
8875           Remove left-over file.
8876
8877 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8878
8879         * docs/pwg/appendix-porting.xml:
8880           And something about newsegment events and caps-on-buffers to
8881           the porting guide (feel free to improve).
8882
8883 2005-09-21  Andy Wingo  <wingo@pobox.com>
8884
8885         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
8886         data and event probes on the same pad.
8887         (test_buffer_probe_once): Test that removing probes from within
8888         the probe functions works.
8889
8890 2005-09-21  Andy Wingo  <wingo@pobox.com>
8891
8892         * check/gst/gstutils.c: New file.
8893         (test_buffer_probe_n_times): A simple buffer probe test. More to
8894         come, foolios.
8895
8896         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
8897         have-data::buffer, not have-data.
8898         (gst_pad_add_event_probe): Likewise for have-data::event.
8899         (gst_pad_add_data_probe): More docs. The part about 'resolving the
8900         peer' isn't quite right yet though.
8901         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
8902         (gst_pad_remove_data_probe): Change to take the guint handler_id
8903         as their arg, not the function+data, which is more glib-like.
8904
8905         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
8906         the signal emission to indicate if the data is a buffer or an
8907         event.
8908         (gst_pad_get_type): Initialize buffer and event quarks.
8909         (gst_pad_class_init): have-data is now a detailed signal, yes it
8910         is.
8911
8912 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
8913
8914         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8915         * gst/gstutils.c: (gst_util_set_value_from_string),
8916         (gst_util_set_object_arg):
8917           Don't put functional code in g_return_if_fail() or
8918           g_return_val_if_fail() statements, otherwise things will 
8919           break when G_DISABLE_CHECKS is defined during compilation.
8920
8921 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8922
8923         * docs/gst/tmpl/.cvsignore:
8924         * docs/gst/tmpl/gstvalue.sgml:
8925         * gst/gstvalue.c:
8926         * gst/gstvalue.h:
8927           inlied another one and added  some obvious docs
8928
8929 2005-09-21  Wim Taymans  <wim@fluendo.com>
8930
8931         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8932         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
8933         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
8934         (gst_fdsrc_get_property), (gst_fdsrc_create):
8935         * gst/elements/gstfdsrc.h:
8936         Properly implement fdsrc. Removed signal and timeout,
8937         better implemented somewhere else.
8938
8939 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8940
8941         * docs/gst/tmpl/.cvsignore:
8942         * docs/gst/tmpl/gstimplementsinterface.sgml:
8943         * gst/gstinterface.c:
8944           inlined more docs
8945
8946 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8947
8948         * docs/gst/gstreamer-sections.txt:
8949         * docs/gst/tmpl/.cvsignore:
8950         * docs/gst/tmpl/gstenumtypes.sgml:
8951           remove obsolete doc file
8952
8953 2005-09-21  David Schleef  <ds@schleef.org>
8954
8955         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
8956         little beer, fix a little leak.
8957
8958 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
8959
8960         * docs/gst/gstreamer-docs.sgml:
8961         * docs/gst/gstreamer-sections.txt:
8962         * docs/gst/tmpl/.cvsignore:
8963         * gst/Makefile.am:
8964         * gst/gst.h:
8965         * gst/gstbin.c:
8966         * gst/gstelement.h:
8967         * gst/gstindex.c: (gst_index_class_init):
8968         * gst/gstindex.h:
8969         * gst/gstindexfactory.c: (gst_index_factory_get_type),
8970         (gst_index_factory_class_init), (gst_index_factory_init),
8971         (gst_index_factory_finalize), (gst_index_factory_new),
8972         (gst_index_factory_destroy), (gst_index_factory_find),
8973         (gst_index_factory_create), (gst_index_factory_make):
8974         * gst/gstindexfactory.h:
8975         * gst/gstpluginfeature.c:
8976         * gst/gstpluginfeature.h:
8977         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8978           more docs inlined, splitted gstindex.{c,h}
8979
8980 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8981
8982         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8983           fix a leak
8984
8985 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
8986
8987         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8988           Set sync to FALSE by default.
8989
8990 2005-09-20  Wim Taymans  <wim@fluendo.com>
8991
8992         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8993         (gst_base_sink_init):
8994         Make sync property settable from subclass.
8995
8996         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8997         (gst_fake_sink_change_state):
8998         Set sync to FALSE by default.
8999
9000 2005-09-20  Wim Taymans  <wim@fluendo.com>
9001
9002         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9003         * tools/gst-launch.c: (main):
9004         The timeout handler should have lower priority than the source
9005         so we don't timeout before popping a message with 0 timeout.
9006         Dump error messages after failed state change.
9007
9008 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
9009
9010         * tools/gst-inspect.c: (print_element_properties_info):
9011           Fix two typos.
9012
9013 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9014
9015         * check/gst/gstevent.c:
9016         * gst/elements/gstfakesink.c:
9017         * gst/elements/gstfakesink.h:
9018           remove the sync property from fakesink.
9019           has the side effect of setting sync TRUE
9020           for fakesink, which is a change.  Anyone who knows how
9021           to fix this nicely in a GObject-y way, feel free.
9022
9023 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9024
9025         * docs/gst/gstreamer-docs.sgml:
9026           remove probe refsection
9027
9028 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9029
9030         * check/Makefile.am:
9031           disable valgrinding the controller test again
9032         * docs/gst/gstreamer-sections.txt:
9033           update for api-changes
9034
9035 2005-09-20  Wim Taymans  <wim@fluendo.com>
9036
9037         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9038         (gst_base_sink_set_property), (gst_base_sink_get_property),
9039         (gst_base_sink_do_sync):
9040         * gst/base/gstbasesink.h:
9041         Added sync property to basesink to disable clock sync.
9042
9043 2005-09-20  Andy Wingo  <wingo@pobox.com>
9044
9045         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9046         eating the caller's refcount.
9047
9048         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
9049         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9050         refcount.
9051
9052         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9053         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9054         of GLib 2.8 public, so we can know which refcount to check in
9055         tests.
9056
9057         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9058         (gst_object_init): Only set the gst refcount if we're going ahead
9059         with the refcount hack.
9060
9061 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9062
9063         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9064         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9065           more leaks plumbed, added more debug-logging
9066         * gst/gstmacros.h:
9067           whitespace fix
9068
9069 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9070
9071         * gst/gstmessage.c:
9072           remove include of gstmemchunk.h
9073
9074 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9075
9076         * gst/gstclock.c: (_gst_clock_id_free):
9077           Commit from the Political Party For More Atomic CVS Commits,
9078           so that people don't waste too much of their day fishing
9079           out obvious leaks out of massive commits.
9080           Oh, and fix a pretty damn obvious leak in the memchunk
9081           removal code.
9082
9083 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
9084
9085         * check/Makefile.am:
9086         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9087           plug mem-leak, re-add to valgrindable tests
9088
9089 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9090
9091         * gst/gstplugin.h:
9092           unbreak the build for those who have chronic arthritis
9093           and typing "make check" is just too taxing on the hands
9094
9095 2005-09-20  Andy Wingo  <wingo@pobox.com>
9096
9097         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9098         really want it out, you should fix plugins at the same time.
9099
9100 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
9101
9102         * configure.ac:
9103         * docs/gst/gstreamer-sections.txt:
9104         * gst/gstobject.c:
9105           added missing symbols to api docs
9106           disable ref-count hack if we have glib >= 2.8
9107
9108 2005-09-19  David Schleef  <ds@schleef.org>
9109
9110         * docs/gst/Makefile.am: Ignore a few more internal headers
9111         * docs/gst/gstreamer-docs.sgml: Remove old sections
9112         * docs/gst/gstreamer-sections.txt: Remove old sections
9113         * docs/gst/tmpl/gstobject.sgml: update
9114         * docs/gst/tmpl/gstplugin.sgml: update
9115         * docs/gst/tmpl/gstpluginfeature.sgml: update
9116         * docs/random/ds/0.9-suggested-changes: update.
9117         * gst/Makefile.am: remove memchunk and trashstack, since they're
9118           not used.
9119         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9120         * gst/gst.h: don't include some headers
9121         * gst/gstchildproxy.c: add gstmarshal.h
9122         * gst/gstclock.c: Don't use memchunks
9123         * gst/gstminiobject.c: Add some docs
9124         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9125         * gst/gstobject.h: same
9126         * gst/gstplugin.c: include gstmacros.h
9127         * gst/gstplugin.h: don't include gstmacros.h, since it's private
9128         * gst/gstquery.c: don't use memchunks
9129         * gst/gstregistry.c: rename gst_registry_deinit()
9130         * gst/gstregistry.h: same
9131
9132 2005-09-19  David Schleef  <ds@schleef.org>
9133
9134         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9135         * docs/libs/gstreamer-libs-sections.txt:
9136         * docs/libs/tmpl/gstgetbits.sgml:
9137         * docs/libs/tmpl/gstputbits.sgml:
9138
9139 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
9140
9141         * win32/gstenumtypes.c:
9142         * win32/gstenumtypes.h:
9143           Update.
9144
9145 2005-09-19  Wim Taymans  <wim@fluendo.com>
9146
9147         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9148         Automatically PAUSE and RESUME a pipeline when a flushing seek
9149         is performed.
9150
9151 2005-09-19  Andy Wingo  <wingo@pobox.com>
9152
9153         * gst/gstregistry.h: Spacing fixen.
9154
9155 2005-09-19  Wim Taymans  <wim@fluendo.com>
9156
9157         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
9158         Handle state change failure more correctly.
9159
9160 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9161
9162         * check/Makefile.am:
9163         * check/pipelines/cleanup.c: (run_pipeline):
9164         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9165         (GST_START_TEST):
9166           enable cleanup again after fixing the leak
9167         * docs/README:
9168           some more info on docs
9169
9170 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9171
9172         * check/Makefile.am:
9173           re-enable tests now that leaks are plugged
9174         * check/gst/gst.c:
9175         * check/gst/gstbin.c:
9176         * check/gst/gstpipeline.c:
9177           add some more tests while fixing leaks
9178         * common/check.mak:
9179           make sure binaries are uptodate when valgrinding/gdbing
9180         * gst/gst.c:
9181         * gst/gstelementfactory.c:
9182           remove a ref too many, and add a FIXME for when we get
9183           round to disposing of classes
9184         * gst/gstplugin.c:
9185           fix the refcounting when loading a plugin from a file and
9186           the code pretends that the pointer is the same even though
9187           of course it can change
9188         * gst/gstpluginfeature.c:
9189           unref plugins marked cached (a bit confusing as a name)
9190           as the docs state should be done
9191           various doc additions to explain refcounting
9192         * gst/gstregistry.c:
9193         * gst/gstregistryxml.c:
9194           debugging
9195
9196 2005-09-19  Wim Taymans  <wim@fluendo.com>
9197
9198         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9199         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9200         (send_messages), (GST_START_TEST), (gstbus_suite):
9201         * check/gst/gstpipeline.c: (GST_START_TEST):
9202         * check/pipelines/cleanup.c: (run_pipeline):
9203         * check/pipelines/simple_launch_lines.c: (run_pipeline),
9204         (GST_START_TEST):
9205         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
9206         (gst_bus_source_check), (gst_bus_source_dispatch),
9207         (gst_bus_create_watch), (gst_bus_add_watch_full),
9208         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
9209         * gst/gstbus.h:
9210         * tools/gst-launch.c: (event_loop):
9211         * tools/gst-md5sum.c: (event_loop):
9212         GstBusHandler -> GstBusFunc, return value has the same meaning as
9213         any other GSource (FALSE == remove source).
9214         _add_watch() and _add_watch_full() now take a MessageType mask to
9215         only handle specific types of messages.
9216         _poll() returns the GstMessage instead of the message type to avoid
9217         race conditions.
9218         _have_pending() takes a MessageType mask now too.
9219         Added testsuite for multiple bus watches.
9220         Fix testsuites and applications for new bus API.
9221
9222 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9223
9224         * check/Makefile.am:
9225           mark a bunch of the tests as to fix until we fix them
9226
9227 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9228
9229         * common/check.mak:
9230           use GST_PLUGIN settings for valgrind tests as well, so we're
9231           valgrinding the correct thing
9232         * gst/gst.c: (init_post):
9233           plug another leak
9234
9235 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9236
9237         * gst/gst.c: (init_post), (gst_deinit):
9238         * gst/gstelementfactory.c: (gst_element_factory_class_init),
9239         (gst_element_factory_finalize), (gst_element_factory_cleanup):
9240         * gst/gstindex.c: (gst_index_factory_class_init),
9241         (gst_index_factory_finalize):
9242         * gst/gstobject.c: (gst_object_dispose):
9243         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9244         (gst_plugin_load_file), (gst_plugin_desc_free):
9245         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
9246         (gst_plugin_feature_finalize):
9247         * gst/gstregistry.c: (gst_registry_class_init),
9248         (gst_registry_init), (gst_registry_finalize),
9249         (gst_registry_get_default), (gst_registry_deinit):
9250         * gst/gstregistry.h:
9251         * gst/gstregistryxml.c: (load_feature), (load_plugin):
9252           various cleanups and memleak plugging.  make valgrind is happy now.
9253
9254 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9255
9256         * common/check.mak:
9257           add a check-valgrind target
9258
9259 2005-09-18  David Schleef  <ds@schleef.org>
9260
9261         * tools/gst-inspect.c: Revert the GOption code.
9262
9263 2005-09-17  David Schleef  <ds@schleef.org>
9264
9265         * check/Makefile.am: Fix environment variables.
9266         * check/gst/gstplugin.c: Fix for API changes.
9267         * tools/gst-inspect.c: Fix for API changes.
9268         * tools/gst-xmlinspect.c: Fix for API changes.
9269         * gst/gstelementfactory.c:
9270         * gst/gstplugin.c:
9271         * gst/gstplugin.h:
9272         * gst/gstpluginfeature.c:
9273         * gst/gstpluginfeature.h:
9274         * gst/gstregistry.c:
9275         * gst/gstregistry.h:
9276         * gst/gstregistryxml.c:
9277         * gst/gsttypefind.c:
9278         * gst/gsttypefindfactory.c:
9279         * gst/indexers/gstfileindex.c:
9280         * gst/indexers/gstmemindex.c:
9281         * gst/schedulers/Makefile.am:
9282           Change registry to keep track of both plugins and features,
9283           removing the feature tracking from plugins themselves.
9284
9285 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9286
9287         * check/Makefile.am:
9288         * tools/gst-register.1.in:
9289           remove gst-register
9290
9291 2005-09-15  David Schleef  <ds@schleef.org>
9292
9293         * check/gst/gstplugin.c:
9294         * gst/gstelementfactory.c:
9295         * gst/gstplugin.c:
9296         * gst/gstpluginfeature.c:
9297         * gst/gstregistry.c:
9298           Getting tired of debugging.  Disabled all the unreffing of
9299           plugins and features, which fixes the segfaults, but of
9300           course leaks like crazy.  At least playbin works.
9301
9302 2005-09-15  David Schleef  <ds@schleef.org>
9303
9304         * check/gst/gstplugin.c: (register_check_elements),
9305         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
9306         More testing
9307         * gst/elements/gsttypefindelement.c: Fix refcounting.
9308         * gst/gsttypefind.c:
9309         * gst/gsttypefindfactory.c:
9310         * gst/gsttypefindfactory.h:
9311
9312 2005-09-15  David Schleef  <ds@schleef.org>
9313
9314         * gst/gstindex.c: get refcounting correct.
9315         * gst/gstregistry.c: Handle the case where a feature/plugin is
9316           not found.
9317
9318 2005-09-15  David Schleef  <ds@schleef.org>
9319
9320         * check/Makefile.am:
9321         * check/gst/gstplugin.c: Add test
9322         * gst/gstplugin.c: Fix problems noticed by testsuite
9323         * gst/gstplugin.h:
9324         * gst/gstregistry.c: 
9325         * gst/gstregistry.h:
9326
9327 2005-09-15  David Schleef  <ds@schleef.org>
9328
9329         * gst/gstplugin.c: Implement semi-decent recounting and locking
9330           in plugins and plugin features.
9331         * gst/gstplugin.h:
9332         * gst/gstpluginfeature.c:
9333         * gst/gstpluginfeature.h:
9334         * gst/gstregistry.c:
9335
9336 2005-09-15  Michael Smith <msmith@fluendo.com>
9337
9338         * gst/gstregistry.c: (gst_registry_get_feature_list):
9339           Implement this. Makes oggdemux work; decodebin still broken.
9340
9341 2005-09-14  David Schleef  <ds@schleef.org>
9342
9343         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
9344           #316076)
9345         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
9346         * gst/check/Makefile.am:
9347         * libs/gst/controller/Makefile.am:
9348         * libs/gst/dataprotocol/Makefile.am:
9349
9350 2005-09-14  David Schleef  <ds@schleef.org>
9351
9352         * configure.ac: Remove getbits library.  Nothing uses it, and
9353           it should be in something like liboil if someone did want
9354           to use it.
9355         * libs/gst/Makefile.am:
9356         * libs/gst/getbits/Makefile.am:
9357         * libs/gst/getbits/gbtest.c:
9358         * libs/gst/getbits/getbits.c:
9359         * libs/gst/getbits/getbits.h:
9360         * libs/gst/getbits/gstgetbits_generic.c:
9361         * libs/gst/getbits/gstgetbits_i386.s:
9362         * libs/gst/getbits/gstgetbits_inl.h:
9363
9364 2005-09-14  David Schleef  <ds@schleef.org>
9365
9366         * gst/Makefile.am: Dist glib-compat.h
9367
9368 2005-09-14  David Schleef  <ds@schleef.org>
9369
9370         * configure.ac: Remove gst/registries, since it's no longer used.
9371         * gst/registries/Makefile.am:
9372         * gst/registries/gstlibxmlregistry.c:
9373         * gst/registries/gstlibxmlregistry.h:
9374         * gst/registries/gstxmlregistry.c:
9375         * gst/registries/gstxmlregistry.h:
9376         * gst/registries/registrytest.c:
9377
9378 2005-09-14  David Schleef  <ds@schleef.org>
9379
9380         * gst/glib-compat.h:
9381         * gst/gstregistryxml.c:
9382           Convergence is near.  Seriously.
9383
9384 2005-09-14  David Schleef  <ds@schleef.org>
9385
9386         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9387         * gst/glib-compat.h:
9388           Attempt #4 to appease the buildbots.
9389
9390 2005-09-14  David Schleef  <ds@schleef.org>
9391
9392         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9393           Attempt #3.
9394
9395 2005-09-14  David Schleef  <ds@schleef.org>
9396
9397         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9398         Attempt #2.
9399
9400 2005-09-14  David Schleef  <ds@schleef.org>
9401
9402         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
9403           the new functions.
9404
9405 2005-09-14  David Schleef  <ds@schleef.org>
9406
9407         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9408         * gst/glib-compat.h: Add some functions that are in newer versions
9409           of glib than we care to require.
9410         * gst/gstregistryxml.c: Use them.
9411
9412 2005-09-14  David Schleef  <ds@schleef.org>
9413
9414         * po/POTFILES.in: remove gst-register.c
9415
9416 2005-09-14  David Schleef  <ds@schleef.org>
9417
9418         * docs/gst/gstreamer-docs.sgml:
9419         * docs/gst/gstreamer-sections.txt:
9420         * docs/gst/gstreamer.types:
9421         * docs/gst/tmpl/gstelement.sgml:
9422         * docs/gst/tmpl/gstplugin.sgml:
9423         * docs/gst/tmpl/gstpluginfeature.sgml:
9424           Documentation updates for registry changes.
9425
9426 2005-09-14  David Schleef  <ds@schleef.org>
9427
9428         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
9429           because we don't require glib-2.8.
9430
9431 2005-09-14  David Schleef  <ds@schleef.org>
9432
9433         * gst/gstregistryxml.c: Added.  Essentially moved out of the
9434           registries directory.
9435
9436 2005-09-14  David Schleef  <ds@schleef.org>
9437
9438         * check/Makefile.am:
9439         * check/generic/states.c:
9440         * gst/Makefile.am:
9441         * gst/gst.c:
9442         * gst/gst.h:
9443         * gst/gst_private.h:
9444         * gst/gstelementfactory.c:
9445         * gst/gstindex.c:
9446         * gst/gstinfo.c:
9447         * gst/gstplugin.c:
9448         * gst/gstplugin.h:
9449         * gst/gstpluginfeature.c:
9450         * gst/gstpluginfeature.h:
9451         * gst/gstregistry.c:
9452         * gst/gstregistry.h:
9453         * gst/gstregistrypool.c: remove
9454         * gst/gstregistrypool.h: remove
9455         * gst/gsttypefind.c:
9456         * gst/gsttypefindfactory.c:
9457         * gst/gsturi.c:
9458         * tools/Makefile.am:
9459         * tools/gst-compprep.c:
9460         * tools/gst-inspect.c:
9461         * tools/gst-register.c: remove
9462         * tools/gst-xmlinspect.c:
9463           Registry rewrite.  Changes registry from being a file created
9464           by a tool into a simple cache file created automatically by 
9465           libgstreamer.  Removed gst-register (because it's no longer
9466           needed).  Remove registry pools, because we only have one
9467           registry implementation (XML).  Fix up other subsystems as
9468           necessary.
9469
9470 2005-09-13  Michael Smith <msmith@fluendo.com>
9471
9472         * gst/gstconfig.h.in:
9473           Don't Use windows linking attributes for MinGW. Fixes #316157
9474
9475 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9476
9477         * gst/gstutils.c: (set_state_async_thread_func),
9478         (gst_element_set_state_async):
9479           Apparently people think it's better if this function doesn't
9480           try to set the state to whatever state was asked for on the first
9481           call to this function for any object.  Seriously.
9482
9483 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9484
9485         * check/gst/gstpipeline.c: (GST_START_TEST):
9486         * docs/gst/gstreamer-sections.txt:
9487         * gst/gstutils.c: (set_state_async_thread_func),
9488         (gst_element_set_state_async):
9489         * gst/gstutils.h:
9490           add a "gst_element_set_state_async" method that
9491           sets the state and starts a thread to make sure the state
9492           change completes as best as it can
9493
9494 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9495
9496         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9497           codify design+behaviour in testsuite after discussion
9498
9499 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * docs/gst/tmpl/gstelement.sgml:
9502         * docs/manual/appendix-quotes.xml:
9503           add a quote
9504         * gst/gstelement.c: (gst_element_set_state):
9505           add some debug
9506
9507 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
9508
9509         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9510         (gst_base_transform_prepare_output_buf),
9511         (gst_base_transform_handle_buffer):
9512         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9513         (gst_capsfilter_prepare_buf):
9514           Remove the requirement for sub-classes to call the parent
9515           implementation of prepare_output_buffer with a wrapper function.
9516           
9517         * gst/gsttaglist.h:
9518         * gst/gsttagsetter.h:
9519           Fix #define wrapper
9520
9521 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
9522
9523         * docs/gst/gstreamer-sections.txt:
9524           more doc cleanups
9525
9526 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9527
9528         * docs/gst/gstreamer-sections.txt:
9529         * docs/gst/tmpl/gstelement.sgml:
9530         * docs/gst/tmpl/gstplugin.sgml:
9531         * gst/gstminiobject.c:
9532         * gst/gstvalue.h:
9533           docs now stop throwing warnings
9534
9535 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9536
9537         * docs/gst/gstreamer-sections.txt:
9538         * docs/gst/gstreamer.types:
9539         * docs/gst/tmpl/gstpad.sgml:
9540         * docs/gst/tmpl/gsttypes.sgml:
9541         * gst/base/gstadapter.h:
9542         * gst/base/gstbasesink.h:
9543         * gst/base/gstbasesrc.h:
9544         * gst/gstbin.h:
9545         * gst/gstbuffer.h:
9546         * gst/gstbus.h:
9547         * gst/gstcaps.h:
9548         * gst/gstclock.h:
9549         * gst/gstelement.h:
9550         * gst/gstevent.h:
9551         * gst/gstmessage.h:
9552         * gst/gstpad.h:
9553         * gst/gststructure.c:
9554         * gst/registries/gstlibxmlregistry.h:
9555           various documentation fixes
9556
9557 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9558
9559         * docs/gst/gstreamer-sections.txt:
9560         * docs/gst/tmpl/gstvalue.sgml:
9561           rearrange gstvalue section
9562         * gst/gstutils.c: (gst_element_state_get_name):
9563           NONE -> VOID
9564         * gst/gstvalue.c: (_gst_value_initialize):
9565         * gst/gstvalue.h:
9566           doc updates
9567
9568 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
9569
9570         * check/gst-libs/controller.c:
9571           Header include fix.
9572         * gst/base/gstbasetransform.c:
9573         (gst_base_transform_default_prepare_buf),
9574         (gst_base_transform_handle_buffer):
9575         * gst/base/gstbasetransform.h:
9576           Some more basetransform changes and fixes to enable sub-classes
9577           that modify buffer metadata only.
9578         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9579         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
9580         (gst_capsfilter_prepare_buf):
9581           If the output pad has fixed allowed caps and input buffers 
9582           don't have any, set the fixed caps on outgoing buffers.
9583
9584 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
9585         * check/elements/identity.c: (GST_START_TEST):
9586           Make the error a little clearer when the test fails because
9587           identity made a copy of the buffer.
9588         * docs/gst/gstreamer-sections.txt:
9589           New symbols in gstbasetransform.h
9590         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9591         (gst_base_transform_init), (gst_base_transform_transform_size),
9592         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9593         (gst_base_transform_default_prepare_buf),
9594         (gst_base_transform_get_unit_size),
9595         (gst_base_transform_buffer_alloc),
9596         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9597         (gst_base_transform_change_state),
9598         (gst_base_transform_set_passthrough),
9599         (gst_base_transform_set_in_place),
9600         (gst_base_transform_is_in_place):
9601         * gst/base/gstbasetransform.h:
9602           Change BaseTransform to separate in_place operate from same_caps
9603           output. in_place implies that the element can perform the transform
9604           on incoming buffers in-place, even if the caps on the output are
9605           different.
9606           Sub-class elements can now implement special buffer allocation
9607           methods for outgoing buffers if they wish to.
9608           Big documentation addition.
9609         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
9610         * gst/elements/gstelements.c:
9611           Changes for basetransform modifications.
9612         * gst/elements/Makefile.am:
9613         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
9614           Compile fix. Extra debug output.
9615
9616 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
9619         (gst_pad_suite):
9620           add tests for valid pad naming
9621         * gst/check/gstcheck.c: (gst_check_log_message_func),
9622         (gst_check_log_critical_func):
9623           add ASSERT_WARNING
9624           remove printing of code, it is fragile when the code contains
9625           % and the line number is enough info
9626         * gst/check/gstcheck.h:
9627         * gst/gstpad.c: (gst_pad_template_new):
9628           fix memleaks
9629
9630 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * configure.ac:
9633           say what CHECK flags we use
9634         * docs/libs/gstreamer-libs.types:
9635         * libs/gst/controller/Makefile.am:
9636         * libs/gst/controller/gst-controller.c:
9637         * libs/gst/controller/gst-controller.h:
9638         * libs/gst/controller/gst-helper.c:
9639         * libs/gst/controller/gst-interpolation.c:
9640         * libs/gst/controller/gstcontroller.c:
9641         * libs/gst/controller/gsthelper.c:
9642         * libs/gst/controller/gstinterpolation.c:
9643         * tools/gst-inspect.c: (print_plugin_info):
9644           we don't use dashes in header names
9645
9646 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9647
9648         * check/Makefile.am:
9649         * check/gst/.cvsignore:
9650         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
9651         (gst_pipeline_suite), (main):
9652           adding a test for pipelines and state changes
9653         * gst/gstutils.c: (get_state_func):
9654           add some debugging
9655         * gstreamer.spec.in:
9656           fix up spec file
9657
9658 2005-09-08  Michael Smith <msmith@fluendo.com>
9659
9660         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
9661         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
9662         (gst_file_src_is_seekable), (gst_file_src_get_size),
9663         (gst_file_src_start):
9664         * gst/elements/gstfilesrc.h:
9665           Various fixes for unseekable, unmmapable, and non-normal files, so
9666           that fallback to read() rather than mmap() works.
9667         * gst/gstevent.c: (gst_event_new_newsegment):
9668           Allow newsegment events with segment_start == segment_end, as will
9669           correctly happen if you use filesrc on a zero-size file, for
9670           example.
9671
9672 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9673
9674         * gst/gstplugin.c: (gst_plugin_load_file):
9675           Call g_module_close when we don't load the module
9676
9677         * gst/registries/gstlibxmlregistry.c:
9678         (gst_xml_registry_get_property):
9679           Port leak fix from 0.8
9680
9681 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9682
9683         * docs/gst/gstreamer-docs.sgml:
9684         * docs/gst/tmpl/.cvsignore:
9685         * docs/gst/tmpl/gsttrace.sgml:
9686         * docs/gst/tmpl/gsttrashstack.sgml:
9687         * gst/Makefile.am:
9688         * gst/gst.h:
9689         * gst/gstelement.h:
9690         * gst/gstevent.h:
9691         * gst/gstmessage.c:
9692         * gst/gstmessage.h:
9693         * gst/gsttag.c:
9694         * gst/gsttag.h:
9695         * gst/gsttaginterface.c:
9696         * gst/gsttaginterface.h:
9697         * gst/gsttaglist.c:
9698         * gst/gsttaglist.h:
9699         * gst/gsttagsetter.c:
9700         * gst/gsttagsetter.h:
9701         * gst/gsttrace.c:
9702         * gst/gsttrace.h:
9703         * gst/gsttrashstack.c:
9704           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
9705           inlined docs for gsttrace, gsttrashstack
9706
9707 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9708
9709         * gst/Makefile.am:
9710         * gst/elements/gstbufferstore.h:
9711         * gst/elements/gsttypefindelement.c:
9712         * gst/elements/gsttypefindelement.h:
9713         * gst/gst.h:
9714         * gst/gsttypefind.c:
9715         * gst/gsttypefind.h:
9716         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
9717         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
9718         (gst_type_find_factory_dispose),
9719         (gst_type_find_factory_unload_thyself),
9720         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
9721         (gst_type_find_factory_get_caps),
9722         (gst_type_find_factory_get_extensions),
9723         (gst_type_find_factory_call_function):
9724         * gst/gsttypefindfactory.h:
9725         * gst/registries/gstlibxmlregistry.c:
9726         * gst/registries/gstxmlregistry.c:
9727           splitted gsttypefind into gsttypefind, gsttypefindfactory
9728
9729 2005-09-07  Andy Wingo  <wingo@pobox.com>
9730
9731         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
9732         condition whereby the pad's task function is entered before the
9733         pad_mode variable was set.
9734
9735 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
9736
9737         * gst/gstpad.c: (gst_pad_alloc_buffer):
9738           Catch misbehaving pad_alloc functions that don't
9739           set up caps and do it for them.
9740
9741 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
9742
9743         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9744           test for pipe!=NULL
9745         * docs/gst/tmpl/.cvsignore:
9746         * docs/gst/tmpl/gstmemchunk.sgml:
9747         * docs/gst/tmpl/gstparse.sgml:
9748         * docs/gst/tmpl/gsttaglist.sgml:
9749         * docs/gst/tmpl/gsttagsetter.sgml:
9750         * docs/gst/tmpl/gsttypefind.sgml:
9751         * docs/gst/tmpl/gsttypefindfactory.sgml:
9752         * gst/gstmemchunk.c:
9753         * gst/gstparse.c:
9754         * gst/gsttag.c:
9755         * gst/gsttaginterface.c:
9756         * gst/gsttypefind.c:
9757         * gst/gsttypefind.h:
9758           inlined more docs
9759
9760 === release 0.9.2 ===
9761
9762 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * NEWS:
9765         * RELEASE:
9766         * configure.ac:
9767           releasing 0.9.2, "South"
9768
9769 2005-09-05  Andy Wingo  <wingo@pobox.com>
9770
9771         * gst/registries/gstxmlregistry.h:
9772         * gst/registries/gstxmlregistry.c: Um... resurrect...
9773         
9774         * gst/registries/gstxmlregistry.h:
9775         * gst/registries/gstxmlregistry.c: and update to newer API.
9776         Incidentally they should be a bit faster now that they don't have
9777         to parse the caps.
9778         
9779 2005-09-05  Andy Wingo  <wingo@pobox.com>
9780
9781         * gst/registries/gstxmlregistry.h:
9782         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
9783         replaced by the libxml registry a while back
9784
9785 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9786
9787         * docs/gst/tmpl/gstplugin.sgml:
9788         * gst/elements/gstelements.c:
9789         * gst/gst.c:
9790         * gst/gstplugin.c: (gst_plugin_register_func),
9791         (gst_plugin_desc_copy), (gst_plugin_desc_free),
9792         (gst_plugin_get_source):
9793         * gst/gstplugin.h:
9794         * gst/registries/gstlibxmlregistry.c: (load_plugin),
9795         (gst_xml_registry_save_plugin):
9796         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
9797         (gst_xml_registry_save_plugin):
9798         * tools/gst-inspect.c: (print_plugin_info):
9799           add a "source" plugin description field, to represent the source
9800           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
9801           will set it to PACKAGE, which is automake's idea of the name of
9802           the source project.
9803
9804 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9805
9806         * Makefile.am:
9807         * autogen.sh:
9808         * configure.ac:
9809         * docs/Makefile.am:
9810         * docs/faq/Makefile.am:
9811         * docs/gst/tmpl/gstelement.sgml:
9812         * docs/gst/tmpl/gsttypes.sgml:
9813         * docs/htmlinstall.mak:
9814         * docs/manual/Makefile.am:
9815         * docs/pwg/Makefile.am:
9816           reorganize doc build a little
9817           split out docbook and gtk-doc stuff
9818           have two separate --enable's and enable them through autogen
9819           but disable by default in configure (to be similar to other
9820           projects)
9821         * gstreamer.spec.in:
9822           clean up docs install
9823         * po/af.po:
9824         * po/az.po:
9825         * po/ca.po:
9826         * po/cs.po:
9827         * po/de.po:
9828         * po/en_GB.po:
9829         * po/fr.po:
9830         * po/it.po:
9831         * po/nb.po:
9832         * po/nl.po:
9833         * po/ru.po:
9834         * po/sq.po:
9835         * po/sr.po:
9836         * po/sv.po:
9837         * po/tr.po:
9838         * po/uk.po:
9839         * po/vi.po:
9840           translation updates
9841
9842 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
9843
9844         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
9845           Add comment.
9846           
9847         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9848         (gst_fake_sink_change_state):
9849           Make state change function thread-safe.
9850           
9851         * gst/gstpad.c: (gst_pad_alloc_buffer):
9852           Set offset on generic buffer allocated by fallback.
9853
9854 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
9855
9856         * docs/gst/gstreamer-sections.txt:
9857         * docs/gst/tmpl/gstelement.sgml:
9858         * gst/gstpad.c:
9859         * libs/gst/controller/gst-controller.c:
9860         (gst_controlled_property_set_interpolation_mode),
9861         (gst_controlled_property_new),
9862         (gst_controller_find_controlled_property):
9863          run the wingo-magic script against the docs
9864
9865 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9866
9867         * docs/gst/gstreamer-docs.sgml:
9868         * docs/gst/gstreamer-sections.txt:
9869         * docs/gst/tmpl/.cvsignore:
9870         * docs/gst/tmpl/gstelementdetails.sgml:
9871         * docs/gst/tmpl/gstelementfactory.sgml:
9872         * gst/gst.c:
9873         * gst/gstbus.c:
9874         * gst/gstelementfactory.c:
9875         * gst/gstelementfactory.h:
9876           merged elementdetails docs into elementfactory docs
9877           inlined both
9878
9879 2005-09-02  Andy Wingo  <wingo@pobox.com>
9880
9881         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
9882         consider this enum an enum and not a flags.
9883
9884 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
9885
9886         * docs/gst/gstreamer-docs.sgml:
9887         * docs/gst/tmpl/.cvsignore:
9888         * docs/gst/tmpl/gstghostpad.sgml:
9889         * docs/gst/tmpl/gstiterator.sgml:
9890         * docs/gst/tmpl/gstmacros.sgml:
9891         * docs/gst/tmpl/gstrealpad.sgml:
9892         * docs/gst/tmpl/gstregistry.sgml:
9893         * docs/gst/tmpl/gstregistrypool.sgml:
9894         * docs/gst/tmpl/gststructure.sgml:
9895         * docs/gst/tmpl/gstsystemclock.sgml:
9896         * docs/gst/tmpl/gsttrace.sgml:
9897         * gst/gstghostpad.c:
9898         * gst/gstmacros.h:
9899         * gst/gstmemchunk.c:
9900         * gst/gstmemchunk.h:
9901         * gst/gstqueue.c:
9902         * gst/gstregistry.c:
9903         * gst/gstregistrypool.c:
9904         * gst/gststructure.c:
9905         * gst/gstsystemclock.c:
9906           more docs inlined
9907
9908 2005-09-02  Andy Wingo  <wingo@pobox.com>
9909
9910         * gst/gstelement.h (GstState): Renamed from GstElementState,
9911         changed to be a normal enum instead of flags.
9912         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
9913         munged to be GST_STATE_CHANGE_*.
9914         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
9915         work with the new state representation.
9916         (GstStateChange): New enumeration of possible state transitions.
9917         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
9918         (GstElementClass::change_state): Pass the GstStateChange along as
9919         an argument. Helps language bindings, so they don't have to use
9920         tricky lock-needing macros like GST_STATE_CHANGE ().
9921
9922         * scripts/update-states (file): New script. Run it on a file to
9923         update it for state naming and API changes. Updates files in
9924         place.
9925
9926         * All files updated for the new API.
9927
9928 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9929
9930         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
9931         * gst/gstutils.c: (gst_util_set_value_from_string),
9932         (gst_util_set_object_arg):
9933           fix a bunch of unchecked return values
9934         * tools/gst-complete.c: (main):
9935         * gstreamer.spec.in:
9936           clean up a little
9937
9938 2005-09-01  Wim Taymans  <wim@fluendo.com>
9939
9940         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9941         (gst_base_sink_event), (gst_base_sink_do_sync),
9942         (gst_base_sink_handle_event):
9943         * gst/base/gstbasesink.h:
9944         Handle newsegments more correctly.
9945
9946         * gst/gstbus.c:
9947         Fix docs.
9948
9949         * gst/gstevent.c: (gst_event_new_newsegment):
9950         A newsegment cannot have a start_time of -1
9951
9952 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
9953
9954         * win32/gstenumtypes.c:
9955         * win32/gstenumtypes.h:
9956           Update
9957
9958 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9959
9960         * libs/gst/controller/gst-controller.c:
9961         (gst_controlled_property_set_interpolation_mode),
9962         (gst_controlled_property_new):
9963          fixed boolean again
9964
9965 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
9966
9967         * docs/faq/gst-uninstalled:
9968           add -good
9969         * gst/gstevent.c:
9970         * gst/gstevent.h:
9971           remove wrong docs
9972         * gst/gstutils.c: (gst_element_link_filtered):
9973         * gst/gstutils.h:
9974           add gst_element_link_filtered
9975
9976 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
9977
9978         * docs/gst/gstreamer-docs.sgml:
9979         * docs/gst/gstreamer-sections.txt:
9980         * docs/gst/tmpl/.cvsignore:
9981         * docs/gst/tmpl/gsterror.sgml:
9982         * docs/gst/tmpl/gstfilter.sgml:
9983         * docs/gst/tmpl/gsturihandler.sgml:
9984         * docs/gst/tmpl/gsturitype.sgml:
9985         * docs/gst/tmpl/gstutils.sgml:
9986         * docs/gst/tmpl/gstxml.sgml:
9987         * gst/gsterror.c:
9988         * gst/gsterror.h:
9989         * gst/gstfilter.c:
9990         * gst/gsturi.c:
9991         * gst/gsturitype.c:
9992         * gst/gstutils.c:
9993         * gst/gstxml.c:
9994           inlined more docs, fixed double id-ref
9995
9996 2005-08-31  Wim Taymans  <wim@fluendo.com>
9997
9998         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9999         (gst_base_transform_handle_buffer):
10000         Passthrough elements don't need the caps as they don't care.
10001
10002 2005-08-31  Wim Taymans  <wim@fluendo.com>
10003
10004         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10005         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10006         Don't leak refcounts on buffers.
10007
10008 2005-08-31  Wim Taymans  <wim@fluendo.com>
10009
10010         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10011         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10012         (gst_base_transform_chain), (gst_base_transform_change_state):
10013         * gst/base/gstbasetransform.h:
10014         Handle the case where we are not negotiated more gracefully.
10015
10016 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
10017
10018         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10019         (gst_file_src_map_region):
10020           Set READONLY flag on mmap'ed buffers, otherwise
10021           gst_buffer_make_writable() won't work properly (#314708).
10022
10023 2005-08-31  Wim Taymans  <wim@fluendo.com>
10024
10025         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10026         passthrough elements can even do inplace on non writable
10027         buffers (as they don't touch them).
10028
10029 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
10030
10031         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10032         (gst_test_mono_source_set_property),
10033         (gst_test_mono_source_class_init), (GST_START_TEST),
10034         (gst_controller_suite):
10035           more tests (hehe I have the most)
10036         * gst/gstbus.c:
10037           describe popping messages whenusing mulltiple sources
10038         * libs/gst/controller/gst-controller.c:
10039         (gst_controlled_property_set_interpolation_mode),
10040         (gst_controlled_property_new):
10041         * libs/gst/controller/gst-controller.h:
10042         * libs/gst/controller/gst-interpolation.c:
10043           implement boolean properties
10044
10045 2005-08-31  Wim Taymans  <wim@fluendo.com>
10046
10047         * gst/gstminiobject.c: (gst_mini_object_ref):
10048         Cannot assert that the refcount has to be positive
10049         since a disposed object can be resurrected.
10050
10051 2005-08-31  Wim Taymans  <wim@fluendo.com>
10052
10053         * gst/gstpad.c: (gst_pad_init):
10054         Revert change, need to first fix badly behaving 
10055         apps.
10056
10057 2005-08-30  Wim Taymans  <wim@fluendo.com>
10058
10059         * check/elements/fakesrc.c: (setup_fakesrc):
10060         * check/elements/identity.c: (setup_identity):
10061         Activate pads before using them.
10062
10063 2005-08-30  Wim Taymans  <wim@fluendo.com>
10064
10065         * gst/base/gstadapter.c: (gst_adapter_flush):
10066         Flushing out 0 bytes is ok for this function.
10067
10068         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10069         no newsegment gives a warning and sets the start/stop to 
10070         invalid.
10071
10072         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10073         (gst_base_transform_set_passthrough):
10074         Some debug info.
10075
10076         * gst/gstminiobject.c: (gst_mini_object_ref):
10077         Check refcount here too.
10078
10079         * gst/gstpad.c: (gst_pad_init):
10080         Pads are initially flushing and refusing data.
10081
10082         * gst/gstutils.c: (gst_element_link_pads_filtered):
10083         When adding a capsfilter element make sure it has the
10084         same state as the parent bin.
10085
10086 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10087
10088         * docs/gst/tmpl/.cvsignore:
10089         * docs/gst/tmpl/gstformat.sgml:
10090         * docs/gst/tmpl/gstversion.sgml:
10091         * gst/gstbus.h:
10092         * gst/gstformat.c:
10093         * gst/gstformat.h:
10094         * gst/gstversion.h.in:
10095           more docs and two more inlined
10096
10097 2005-08-30  Wim Taymans  <wim@fluendo.com>
10098
10099         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10100         Don't sync to clock.
10101
10102 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10103
10104         * docs/gst/gstreamer-sections.txt:
10105           ultral33t func10ns deserve to appear in the docs actually
10106         * docs/gst/tmpl/.cvsignore:
10107         * docs/gst/tmpl/gstcompat.sgml:
10108         * docs/gst/tmpl/gstconfig.sgml:
10109         * gst/check/gstcheck.c:
10110         * gst/gstcompat.h:
10111         * gst/gstconfig.h.in:
10112           inlined more docs
10113
10114 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10115
10116         * docs/gst/tmpl/.cvsignore:
10117         * docs/gst/tmpl/gstquery.sgml:
10118         * docs/gst/tmpl/gstutils.sgml:
10119         * gst/gstquery.c:
10120         * gst/gstquery.h:
10121           inlined and extended docs
10122
10123 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
10124
10125         * check/gst-libs/controller.c: (GST_START_TEST),
10126         (gst_controller_suite):
10127           more tests
10128         * docs/gst/tmpl/gstutils.sgml:
10129         * docs/libs/gstreamer-libs-sections.txt:
10130         * docs/libs/tmpl/gstdataprotocol.sgml:
10131           include path fixes
10132         * examples/controller/audio-example.c: (main):
10133           controller example works now
10134         * gst/gstclock.h:
10135           doc fixes
10136         * tools/gst-inspect.c: (print_element_properties_info):
10137           show param spec flags
10138
10139 2005-08-29  Andy Wingo  <wingo@pobox.com>
10140
10141         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10142
10143 2005-08-28  Andy Wingo  <wingo@pobox.com>
10144
10145         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10146         as having two arguments instead of just one. Allows superclasses
10147         to access information on subclasses -- see the terrible for() loop
10148         in gtype.c:g_type_create_instance for the reason why. All callers
10149         changed.
10150
10151 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10152
10153         * docs/design/part-messages.txt:
10154           update info
10155         * docs/gst/tmpl/.cvsignore:
10156         * docs/gst/tmpl/gstcaps.sgml:
10157         * docs/gst/tmpl/gstclock.sgml:
10158         * gst/gstbus.c:
10159         * gst/gstcaps.c:
10160         * gst/gstcaps.h:
10161         * gst/gstclock.c:
10162         * gst/gstclock.h:
10163         * gst/gstmessage.c:
10164           added descriptions for bus and message
10165           inline caps and clock docs
10166
10167 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10168
10169         * gst/gstmessage.c:
10170         * gst/gstmessage.h:
10171           doc fixes
10172
10173 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
10174
10175         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10176           fix div-by-zero
10177
10178 2005-08-26  Andy Wingo  <wingo@pobox.com>
10179
10180         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
10181         element_set_state's return val.
10182         (test_2_elements): Add test that's been disabled for months.
10183
10184         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
10185         can-activate-pull properties.
10186
10187         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
10188         can-activate-pull properties. Implement is_seekable so fakesrc can
10189         operate in pull mode.
10190
10191         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
10192         properties.
10193         (gst_base_sink_activate, gst_base_sink_activate_pull)
10194         (gst_base_sink_activate_push): Make activation mode choosing work.
10195         Cleanups.
10196         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
10197         is right. Make pull mode work. Post an eos before pausing in pull
10198         mode.
10199         (gst_base_sink_change_state): Pay attention to the core's
10200         change_state() return val.
10201         
10202         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
10203         has-getrange properties. Cleanups.
10204         
10205         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
10206         has_getrange and replace with can_activate_pull and
10207         can_activate_push.
10208
10209         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
10210         locking comments. Remove has_loop, has_chain and replace with
10211         can_activate_pull and can_activate_push.
10212
10213 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
10214
10215         * configure.ac:
10216         * examples/Makefile.am:
10217         * examples/metadata/Makefile.am:
10218         * examples/metadata/read-metadata.c: (message_loop),
10219         (have_pad_handler), (make_pipeline), (print_tag), (main):
10220           Add metadata reading example that loops over a list of filenames,
10221           dumping any tags found.
10222
10223         * gst/gstbus.c: (gst_bus_dispose):
10224         * gst/gstelement.c: (gst_element_dispose):
10225           Release a few potentially-held references in dispose.
10226
10227 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10228
10229         * docs/gst/tmpl/gstminiobject.sgml:
10230           do *not* add tmpl/*.sgml files to CVS!
10231
10232 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10233
10234         * libs/gst/bytestream/.cvsignore:
10235         * libs/gst/bytestream/Makefile.am:
10236         * libs/gst/bytestream/adapter.c:
10237         * libs/gst/bytestream/adapter.h:
10238         * libs/gst/bytestream/bytestream.c:
10239         * libs/gst/bytestream/bytestream.h:
10240         * libs/gst/bytestream/filepad.c:
10241         * libs/gst/bytestream/filepad.h:
10242           removing obsolete files
10243
10244 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10245
10246         * docs/gst/gstreamer-docs.sgml:
10247         * docs/libs/gstreamer-libs-docs.sgml:
10248           disabed additional index entries again, as this makes docs-gen just
10249           slow and they aren't useful yet
10250         * docs/libs/gstreamer-libs-sections.txt:
10251           little -section.txt cleanup for libs
10252
10253 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10254
10255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10256         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
10257           fix up some debugging
10258         (gst_base_transform_get_unit_size),
10259         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10260         (gst_base_transform_handle_buffer):
10261         * gst/base/gstbasetransform.h:
10262           handle and store timed NEWSEGMENT events so that subclasses that
10263           calculate time by counting samples have a segment_start time they
10264           need to add to their timestamps - see audioresample
10265
10266 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
10267
10268         * gst/gstbin.h:
10269           removed ';' from the end of macro defs
10270         * docs/gst/gstreamer-docs.sgml:
10271         * docs/gst/gstreamer-sections.txt:
10272         * docs/gst/tmpl/.cvsignore:
10273         * gst/gstbus.h:
10274         * gst/gstelement.c: (gst_element_class_init),
10275         (gst_element_set_state), (activate_pads),
10276         (gst_element_save_thyself):
10277         * gst/gstevent.c: (gst_event_new_newsegment):
10278         * gst/gstevent.h:
10279         * gst/gstiterator.c:
10280         * gst/gstiterator.h:
10281         * gst/gstpad.c:
10282         * gst/gstprobe.h:
10283         * gst/gstutils.c: (gst_pad_query_convert):
10284         * gst/gstutils.h:
10285           fixed parameter name mismatches between source, header and docs
10286           added some more docs, resolved the last batch of unused elements in
10287           docs (now someone needs to doc them)
10288
10289 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10290
10291         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
10292         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
10293           don't walk through the plugins backwards.  Where is all this
10294           reversed logic coming from ?
10295
10296 2005-08-25  Wim Taymans  <wim@fluendo.com>
10297
10298         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10299         (gst_base_transform_transform_size),
10300         (gst_base_transform_configure_caps),
10301         (gst_base_transform_get_unit_size),
10302         (gst_base_transform_buffer_alloc),
10303         (gst_base_transform_change_state):
10304         * gst/base/gstbasetransform.h:
10305         Cache caps unit_size.
10306         Make sure we cannot negotiate up and downstream at the
10307         same time.
10308
10309 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10310
10311         * gst/gst.c: (init_pre), (init_post):
10312           register the installed plugin path after the env var
10313         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
10314         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
10315           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
10316           directories, so the tests can prefer uninstalled over installed
10317
10318 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10319
10320         * gst/base/gstbasetransform.h:
10321           comment
10322         * gst/gstpad.c:
10323           add to docs
10324
10325 2005-08-25  Wim Taymans  <wim@fluendo.com>
10326
10327         * gst/gstbin.c: (bin_bus_handler):
10328         Be a bit more conservative about the posted message.
10329         
10330         * gst/gstbus.c: (gst_bus_post):
10331         Some cleanups, warn wrong return values.
10332
10333 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
10334
10335         * check/gst/gstbin.c: (GST_START_TEST):
10336         * gst/gstbin.c: (bin_bus_handler):
10337         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10338         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10339         (gst_message_new_warning), (gst_message_new_tag),
10340         (gst_message_new_state_changed), (gst_message_new_segment_start),
10341         (gst_message_new_segment_done), (gst_message_new_custom):
10342         * gst/gstmessage.h:
10343         * tools/gst-launch.c: (event_loop):
10344         * tools/gst-md5sum.c: (event_loop):
10345           Revert unpopular change for GST_MESSAGE_SRC to GObject.
10346
10347 2005-08-25  Wim Taymans  <wim@fluendo.com>
10348
10349         * check/generic/states.c: (GST_START_TEST):
10350         Cleanup can be done at the end.
10351
10352         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
10353         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10354         (gst_task_get_state), (gst_task_start), (gst_task_pause):
10355         Oh boy.. Thanks for finding this, Thomas. 
10356
10357 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10358
10359         * docs/gst/gstreamer.types:
10360           added missing types
10361
10362 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
10363
10364         * docs/gst/gstreamer-docs.sgml:
10365         * docs/gst/gstreamer-sections.txt:
10366         * docs/gst/tmpl/.cvsignore:
10367         * gst/gstbin.c:
10368         * gst/gstiterator.c:
10369         * gst/gstutils.c:
10370         * gst/registries/gstxmlregistry.h:
10371           added missing classes and symbols (123 more to go)
10372           removed removed symbols from section file
10373           fixed many doc-comments
10374
10375 2005-08-24  Wim Taymans  <wim@fluendo.com>
10376
10377         * check/generic/states.c: (GST_START_TEST):
10378         Make sure all tasks are stopped.
10379
10380         * check/gst/gstbin.c: (GST_START_TEST):
10381         Unref after usage for proper valgrinding.
10382
10383         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
10384         Really wait for the task to stop before destroying the
10385         mutex.
10386
10387         * gst/gstqueue.c: (gst_queue_sink_activate_push),
10388         (gst_queue_src_activate_push):
10389         Small cleanups. Don't stop the task when we did not start
10390         it.
10391
10392         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
10393         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10394         (gst_task_get_state), (gst_task_start), (gst_task_pause),
10395         (gst_task_join):
10396         * gst/gsttask.h:
10397         Protect the stream lock with the object lock.
10398         Disallow setting the stream lock when running.
10399         Add cleanup_all to wait for the threadpool to finish.
10400         Remove code to autoallocate a mutex if none was provided.
10401         Add _join() to wait for a task to stop.
10402         Protect the thread pool with a global lock.
10403
10404 2005-08-24  Wim Taymans  <wim@fluendo.com>
10405
10406         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10407         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10408         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
10409         * gst/base/gstbasesink.h:
10410         Handle newsegment events correctly.
10411         Drop buffers out of the segment range.
10412
10413 2005-08-22  Andy Wingo  <wingo@pobox.com>
10414
10415         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
10416         macro, implements an interface and gstimplementsinterface for a
10417         new type.
10418
10419 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10420
10421         * check/Makefile.am:
10422         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
10423           add a test that does a bunch of state changes on elements
10424           needs some fixing for valgrind
10425         * check/states/sinks.c: (gst_object_suite):
10426           whitespace
10427         * gst/gstcaps.h:
10428           add prototype for gst_caps_is_equal_fixed
10429         * gst/gstplugin.c:
10430         * gst/gstregistrypool.c:
10431           doc fixes
10432
10433 2005-08-24  Andy Wingo  <wingo@pobox.com>
10434
10435         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
10436         convert a negative value. Doesn't make much sense. Mostly this is
10437         here to force callers to ensure -1 maps to -1.
10438
10439 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10440
10441         * docs/pwg/advanced-types.xml:
10442           Well done to Michael for catching my deliberate introduction
10443           of this spelling mistake. 
10444         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
10445         * gst/gstelement.h:
10446           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
10447           unlink pads before removing the element from the bin.
10448
10449 2005-08-24  Andy Wingo  <wingo@pobox.com>
10450
10451         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
10452         the same thing as GST_DEBUG=*:4.
10453         (parse_debug_level, parse_debug_category): New helper parsers.
10454
10455 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10456
10457         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10458         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
10459         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
10460         (gst_base_transform_buffer_alloc),
10461         (gst_base_transform_handle_buffer):
10462           use gboolean return values and pointers to size so we can use the
10463           full GST_BUFFER_SIZE range (guint) for buffer sizes
10464           use GstPadDirection for transform_caps
10465         * gst/base/gstbasetransform.h:
10466           rename get_size to get_unit_size since that's what it is
10467         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
10468           use GstPadDirection for transform_caps
10469         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10470         * gst/gstutils.h:
10471           cleanup and debugging
10472
10473 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10474
10475         * gst/gstelement.c: (gst_element_class_init),
10476         (gst_element_set_state), (activate_pads),
10477         (gst_element_save_thyself):
10478         * tools/gst-compprep.c: (main):
10479         * tools/gst-inspect.c: (print_element_properties_info):
10480         * tools/gst-xmlinspect.c: (print_element_properties):
10481           Fixed long standing mem-leak
10482
10483 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
10484
10485         * check/gst/gstbin.c: (GST_START_TEST):
10486         * gst/gstbin.c: (bin_bus_handler):
10487         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10488         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10489         (gst_message_new_warning), (gst_message_new_tag),
10490         (gst_message_new_state_changed), (gst_message_new_segment_start),
10491         (gst_message_new_segment_done), (gst_message_new_custom):
10492         * gst/gstmessage.h:
10493         * tools/gst-launch.c: (event_loop):
10494         * tools/gst-md5sum.c: (event_loop):
10495           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
10496           that applications can sensibly post custom messages with references
10497           to their own objects.
10498
10499 2005-08-24  Andy Wingo  <wingo@pobox.com>
10500
10501         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10502         already.
10503
10504 2005-08-24  Wim Taymans  <wim@fluendo.com>
10505
10506         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10507         (gst_base_transform_transform_caps),
10508         (gst_base_transform_transform_size),
10509         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10510         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10511         (gst_base_transform_handle_buffer):
10512         * gst/base/gstbasetransform.h:
10513         Many fixes and new features added by Thomas. Can now also do
10514         transforms with variable sizes and a custom fixate_caps function.
10515
10516 2005-08-24  Wim Taymans  <wim@fluendo.com>
10517
10518         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10519         Some debugging.
10520
10521         * gst/gstclock.h:
10522         Cast to ClockTime before formatting to time.
10523
10524         * gst/gstutils.h:
10525         Cleanups.
10526
10527 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
10528
10529         * check/gst-libs/controller.c: (GST_START_TEST),
10530         (gst_controller_suite):
10531         * docs/gst/tmpl/gstcaps.sgml:
10532         * docs/gst/tmpl/gstghostpad.sgml:
10533         * docs/gst/tmpl/gstquery.sgml:
10534         * docs/gst/tmpl/gstutils.sgml:
10535         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10536         (gst_object_sink_values), (gst_object_get_value_arrays),
10537         (gst_object_get_value_array):
10538           gracefully handle helper method calls to objects that are not beeing
10539           controlled, added test case for that          
10540
10541 2005-08-23  Wim Taymans  <wim@fluendo.com>
10542
10543         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
10544         (gst_event_new_newsegment), (gst_event_parse_newsegment),
10545         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
10546         (gst_event_parse_qos), (gst_event_new_seek),
10547         (gst_event_parse_seek):
10548         * gst/gstevent.h:
10549         Some more debugging output and doc cleanups.
10550
10551         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10552         Fix possible deadlock.
10553
10554 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10555
10556         * docs/gst/gstreamer-docs.sgml:
10557         * docs/gst/gstreamer-sections.txt:
10558         * docs/gst/gstreamer.types:
10559         * docs/gst/tmpl/.cvsignore:
10560         * gst/gstbin.h:
10561         * gst/gstbus.c:
10562         * gst/gstelement.c:
10563         * gst/gstevent.h:
10564           added 100 symbols from gstreamer-unused.txt to the right sections
10565           fixed more broken comments
10566           added GstBus to docs
10567
10568 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10569
10570         * docs/gst/gstreamer-sections.txt:
10571         * docs/gst/tmpl/.cvsignore:
10572         * docs/gst/tmpl/gstbin.sgml:
10573         * docs/gst/tmpl/gstbuffer.sgml:
10574         * gst/base/gstbasesrc.c:
10575         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
10576         * gst/gstbuffer.c:
10577         * gst/gstbuffer.h:
10578         * tools/gst-launch.1.in:
10579           inlined more doc comments, added missing comments and fixed comments
10580           fixed typos
10581
10582 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10583
10584         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10585           some debugging
10586         * gst/gstcaps.h:
10587           whitespace fixes
10588         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
10589           more debugging
10590         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
10591         * gst/gststructure.h:
10592           add a fixate function for booleans; add a FIXME that these func
10593           names should probably be gst_structure_fixate_*
10594
10595 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
10596
10597         * docs/gst/gstreamer-docs.sgml:
10598         * docs/gst/gstreamer-sections.txt:
10599         * gst/Makefile.am:
10600         * gst/gstbin.c: (gst_bin_get_type),
10601         (gst_bin_child_proxy_get_child_by_index),
10602         (gst_bin_child_proxy_get_children_count),
10603         (gst_bin_child_proxy_init):
10604         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10605         (gst_child_proxy_get_child_by_index),
10606         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
10607         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
10608         (gst_child_proxy_get), (gst_child_proxy_set_property),
10609         (gst_child_proxy_set_valist), (gst_child_proxy_set),
10610         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
10611         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
10612         * gst/gstchildproxy.h:
10613         * gst/parse/grammar.y:
10614         * tools/gst-inspect.c: (print_interfaces),
10615         (print_element_properties_info), (print_element_info):
10616           ported gstchildproxy over from 0.8
10617           ported gst-inspect fixes and enhancements over from 0.8
10618
10619 2005-08-22  Wim Taymans  <wim@fluendo.com>
10620
10621         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10622         (gst_base_transform_handle_buffer):
10623         Also call the transform function if we have ANY caps.
10624
10625         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
10626         Fix debug info.
10627
10628 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10629
10630         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
10631           Don't pretend to handle seek events if the source is not seekable
10632
10633 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
10634
10635         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10636           Remove extra parameter to debug output
10637
10638         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10639         (gst_base_src_do_seek), (gst_base_src_activate_push):
10640           Fix seek event handling.
10641
10642         * gst/gstpipeline.c: (gst_pipeline_change_state):
10643         * gst/gstqueue.c: (gst_queue_handle_sink_event),
10644         (gst_queue_src_activate_push):
10645           Don't start the src pad task on FLUSH_STOP if the pad
10646           isn't linked.
10647           Debug changes.
10648
10649 2005-08-22  Wim Taymans  <wim@fluendo.com>
10650
10651         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10652         Added check for gst_static_caps_get() refcounting.
10653
10654 2005-08-22  Wim Taymans  <wim@fluendo.com>
10655
10656         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
10657         Make _static_caps_get() refcounting sane.
10658         
10659         * gst/gstelement.c: (gst_element_set_state):
10660         Add g_return_val_if_fail() to protect against segfaults.
10661
10662 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
10663
10664         * docs/gst/tmpl/gstevent.sgml:
10665         * gst/gstevent.c:
10666         * gst/gstevent.h:
10667           inlined remaining docs, added missing doc comments
10668
10669 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10670
10671         * check/gst/gstbin.c: (GST_START_TEST):
10672           since we don't know when preroll is done, use refcount range
10673           check for the sink
10674         * gst/check/gstcheck.h:
10675           add macro for checking refcount range
10676
10677 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10678
10679         * check/Makefile.am:
10680           clean up environment for when registry gets built versus
10681           when actual tests are run; valgrind seems to not report
10682           leaks if GST_PLUGIN_PATH is set to some specific values
10683         * check/gst/gstbin.c: (GST_START_TEST):
10684           add more refcounting checks; maybe this exposes a
10685           preroll lock bug ?
10686         * common/check.mak:
10687         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10688         * gst/check/gstcheck.h:
10689         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
10690         (gst_bin_change_state):
10691         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
10692           add/fix debugging/whitespace
10693
10694 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10695
10696         * check/gst/gstevent.c: (event_probe), (test_event),
10697         (GST_START_TEST):
10698          Er, don't call gst_bin_watch_for_state_change you idiot.
10699
10700 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
10701
10702         * check/Makefile.am:
10703           Use CHECK_CFLAGS and CHECK_LIBS
10704         * check/gst/gstevent.c: (event_probe), (test_event),
10705         (GST_START_TEST):
10706           Don't leak events.
10707         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10708         (gst_base_src_start), (gst_base_src_stop),
10709         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10710         (gst_base_src_change_state):
10711           Sprinkle gst_base_src_stop liberally around error paths to fix
10712           problems reusing a source after failed state changes.
10713         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10714         (helper_find_suggest), (gst_type_find_helper):
10715           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
10716         * gst/gstevent.h:
10717         * docs/gst/tmpl/gstevent.sgml:
10718           Migrate part of the docs from the SGML file. Wait for ensonic to
10719           tell me how I did it wrong ;)
10720         * tools/gst-typefind.c: (main):
10721           Extra robustness to state changes between files.
10722
10723 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10724
10725         * check/Makefile.am:
10726           don't valgrind the controller test - it's leaking - Stefan, HELP
10727         * gst/check/gstcheck.c: (gst_check_message_error),
10728         (gst_check_chain_func), (gst_check_setup_element),
10729         (gst_check_teardown_element), (gst_check_setup_src_pad),
10730         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10731         (gst_check_teardown_sink_pad):
10732         * gst/check/gstcheck.h:
10733           add a bunch of methods to set up elements, and src and sink pads
10734         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
10735         * check/elements/identity.c: (setup_identity), (cleanup_identity),
10736         (GST_START_TEST):
10737           use them
10738         * gst/gstmessage.c:
10739         * gst/gsttag.h:
10740           whitespace/doc fixes
10741
10742 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10743
10744         * gst/gstelement.h:
10745           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
10746           be handled by the application and not always printed as well
10747
10748 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10749
10750         * check/Makefile.am:
10751           set GST_TOOLS_DIR
10752         * gst/check/gstcheck.c: (gst_check_message_error):
10753         * gst/check/gstcheck.h:
10754           add a fail_unless_equals_int
10755           add fail_unless for error messages
10756
10757 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10758
10759         * check/Makefile.am:
10760         * check/gst.supp:
10761         * common/Makefile.am:
10762         * common/check.mak:
10763         * common/gst.supp:
10764           factor out some of the common stuff so we can use it
10765
10766 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10767
10768         * check/Makefile.am:
10769         * check/gst/gstiterator.c: (GST_START_TEST):
10770         * check/gst/gstsystemclock.c: (GST_START_TEST),
10771         (gst_systemclock_suite):
10772         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10773         * gst/gstclock.c:
10774           valgrind more tests
10775
10776 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * check/elements/.cvsignore:
10779         * check/elements/gstfakesrc.c:
10780           rename to name of element
10781         * check/elements/identity.c: (chain_func), (event_func),
10782         (setup_identity), (cleanup_identity), (GST_START_TEST),
10783         (identity_suite), (main):
10784           add a test for identity
10785         * check/Makefile.am:
10786         * pkgconfig/Makefile.am:
10787         * pkgconfig/gstreamer-check.pc.in:
10788         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10789         * gst/check:
10790         * gst/Makefile.am:
10791         * configure.ac:
10792           move the check stuff to a library that gets installed
10793         * check/gst-libs/controller.c: (GST_START_TEST):
10794         * check/gst-libs/gdp.c:
10795         * check/gst/gst.c: (GST_START_TEST):
10796         * check/gst/gstbin.c:
10797         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10798         * check/gst/gstbus.c:
10799         * check/gst/gstcaps.c: (GST_START_TEST):
10800         * check/gst/gstelement.c:
10801         * check/gst/gstghostpad.c:
10802         * check/gst/gstiterator.c:
10803         * check/gst/gstmessage.c:
10804         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
10805         * check/gst/gstobject.c:
10806         * check/gst/gstpad.c: (GST_START_TEST):
10807         * check/gst/gststructure.c: (GST_START_TEST):
10808         * check/gst/gstsystemclock.c: (GST_START_TEST),
10809         (gst_systemclock_suite):
10810         * check/gst/gsttag.c: (gst_tag_suite):
10811         * check/gst/gstvalue.c:
10812         * check/pipelines/cleanup.c:
10813         * check/pipelines/simple_launch_lines.c:
10814         * check/states/sinks.c:
10815           change include statement
10816
10817         * docs/gst/gstreamer-sections.txt:
10818         * docs/gst/tmpl/gstpad.sgml:
10819           document more pad stuff
10820         * gst/gstminiobject.c: (gst_mini_object_ref),
10821         (gst_mini_object_unref):
10822           debug refcounting
10823
10824 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
10825
10826         * docs/gst/tmpl/gst.sgml:
10827         * gst/gst.c:
10828           eliminate another tmpl file, fix spelling in the long-description
10829
10830 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10831
10832         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10833         (test_event), (timediff), (gstevents_suite):
10834           Should fix build on 64-bit arch's
10835
10836 2005-08-18  Andy Wingo  <wingo@pobox.com>
10837
10838         Make sure that when a pipeline goes to PLAYING, that data has
10839         actually hit the sink.
10840
10841         * check/states/sinks.c (test_sink): A sink that doesn't get any
10842         data shouldn't return SUCCESS for going to either PLAYING or
10843         PAUSED. Test also the return values on the way back down.
10844
10845         * gst/gstelement.c (gst_element_set_state): When changing the
10846         state of an element currently changing state asynchronously, go to
10847         lost-state after commiting the pending state. Makes future calls
10848         to get_state continue to return ASYNC.
10849
10850         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
10851         ASYNC when going to PLAYING if we still don't have preroll, as can
10852         happen with live sources.
10853
10854 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10855
10856         * docs/pwg/advanced-types.xml:
10857           Hack long paragraph into 2 chunks as a workaround for buggy
10858           jadetex version in sid and breezy that loops infinitely and
10859           eats all RAM.
10860
10861 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10862
10863         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10864         (test_event), (timediff), (gstevents_suite):
10865           Provide more error margin in clock measurements to allow for 
10866           g_get_current_time inaccuracies.
10867
10868 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10869
10870         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10871         (test_event), (timediff), (gstevents_suite):
10872            Fix error message output so I might be able to tell why the
10873            test works here but fails on the build farm.
10874
10875 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
10876
10877         * check/Makefile.am:
10878         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10879         (test_event), (timediff), (gstevents_suite), (main):
10880           I wrote a test!
10881
10882         * docs/design/part-seeking.txt:
10883           Spelling correction
10884
10885         * docs/gst/tmpl/gstevent.sgml:
10886         * docs/gst/tmpl/gstfakesrc.sgml:
10887           Docs updates.
10888
10889         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10890           Treat a buffer-without-newsegment the same as a receiving 
10891           a newsegment not in time format, and disable syncing to the clock
10892           with a warning.
10893
10894         * gst/gstbus.c: (gst_bus_set_sync_handler):
10895           Assert if anyone tries to replace the existing sync_handler for bus, 
10896           as only the owner should be setting it.
10897
10898         * gst/gstevent.h:
10899           Have a fixed set of custom event enums with events identified by
10900           their structure name (as in 0.8), rather than a free-for-all
10901           allowing collisions between enum values from different plugins.
10902
10903         * gst/gstpad.c: (gst_pad_class_init):
10904           Docs change.
10905           
10906         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10907           Handle out-of-band downstream events from the sending thread.
10908
10909 2005-08-17  Andy Wingo  <wingo@pobox.com>
10910
10911         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
10912         play-timeout==0 to mean no timeout at all. In that case, don't
10913         bother with a get_state or a warning, just return directly, even
10914         if it's ASYNC.
10915
10916         * gst/base/gstbasetransform.c: Debug changes.
10917
10918         * gst/gstutils.h:
10919         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
10920         ensure bins post state change messages. A bit of a hack but I can't
10921         think of a way to avoid it.
10922
10923         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
10924
10925 2005-08-16  Andy Wingo  <wingo@pobox.com>
10926
10927         * gst/base/gstadapter.h:
10928         * gst/base/gstadapter.c (gst_adapter_take): New function, like
10929         peek() but you own the data. Not terribly efficient atm.
10930
10931 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10932
10933         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
10934         (gst_element_found_tags):
10935         * gst/gstutils.h:
10936           Add two utility functions for tag handling.
10937
10938 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10939
10940         * docs/manual/advanced-dataaccess.xml:
10941         * docs/manual/basics-helloworld.xml:
10942           Fix docs to use _bin_add() before _link(), which fixes the examples
10943           with recent core versions (reported by Madhan Raj M
10944           <raj_madan@rediffmail.com>, #313199).
10945
10946 2005-08-16  Wim Taymans  <wim@fluendo.com>
10947
10948         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10949         Added subtract checks.
10950
10951         * docs/design/part-events.txt:
10952         Some more docs about newsegment
10953
10954         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10955         Fix FIXME
10956
10957         * gst/gstcaps.c: (gst_caps_to_string):
10958         Add comments, cleanups.
10959         
10960         * gst/gstelement.c: (gst_element_save_thyself):
10961         cleanups
10962         
10963         * gst/gstvalue.c: (gst_value_collect_int_range),
10964         (gst_string_unwrap), (gst_value_union_int_int_range),
10965         (gst_value_union_int_range_int_range),
10966         (gst_value_intersect_int_int_range),
10967         (gst_value_intersect_int_range_int_range),
10968         (gst_value_intersect_double_double_range),
10969         (gst_value_intersect_double_range_double_range),
10970         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
10971         (gst_value_subtract_int_range_int),
10972         (gst_value_subtract_double_range_double),
10973         (gst_value_subtract_double_range_double_range),
10974         (gst_value_subtract_from_list), (gst_value_subtract_list),
10975         (gst_value_can_compare), (gst_value_compare_fraction):
10976         Cleanups, add comments, remove unneeded asserts.
10977
10978 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10979
10980         * tools/gst-launch.c: (event_loop):
10981           don't convert NULL structures to strings
10982
10983 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
10984
10985         * docs/gst/gstreamer-sections.txt:
10986           made some defines private
10987         * docs/gst/tmpl/gstconfig.sgml:
10988         * docs/gst/tmpl/gstqueue.sgml:
10989         * docs/gst/tmpl/gsttaglist.sgml:
10990         * docs/gst/tmpl/gsttypes.sgml:
10991         * docs/gst/tmpl/gstutils.sgml:
10992         * docs/pwg/appendix-porting.xml:
10993         * gst/base/gstbasesink.h:
10994         * gst/base/gstbasesrc.c:
10995         * gst/base/gstbasesrc.h:
10996         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
10997         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
10998         * gst/gstelement.c: (gst_element_class_init):
10999         * gst/gstpad.c: (gst_pad_class_init):
11000         * gst/gstqueue.c: (gst_queue_class_init):
11001         * gst/gstxml.c: (gst_xml_class_init):
11002           documented all undocumented signal inline
11003         * libs/gst/controller/gst-controller.h:
11004           added padding
11005
11006 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11007
11008         * docs/pwg/appendix-porting.xml:
11009           Document _set_link_function -> _set_setcaps_function.
11010
11011 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11012
11013         * check/Makefile.am:
11014           add a .check target for running the check
11015         * check/gst-libs/controller.c: (GST_START_TEST):
11016           cosmetic fixups
11017         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11018           complete checks for gstbuffer; would be nice if I could get the
11019           gcov stuff to work so I can see if I actually completed gstbuffer.c
11020         * check/gstcheck.h:
11021           add ASSERT_BUFFER_REFCOUNT
11022
11023 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
11024
11025         * docs/gst/gstreamer-sections.txt:
11026         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11027         * gst/gsttag.h:
11028           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11029           spew out a warning if a tag that is already registered
11030           is re-registered, unless it is re-registered with a 
11031           different type (#308438).
11032
11033 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
11034
11035         * docs/pwg/appendix-porting.xml:
11036         * docs/pwg/building-state.xml:
11037           Add some paragraphs about state changes in 0.9 to the PWG
11038           and the porting guide, in particular about the new meaning
11039           of GST_STATE_PAUSED and how to write state change functions
11040           with concurrent access by multiple threads in mind.
11041
11042 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
11043
11044         * docs/gst/gstreamer-docs.sgml:
11045         * docs/libs/gstreamer-libs-docs.sgml:
11046           added deprecation and since indexes
11047         * libs/gst/controller/gst-controller.c:
11048         * libs/gst/controller/gst-helper.c:
11049           added since tags
11050
11051
11052 2005-08-11  Wim Taymans  <wim@fluendo.com>
11053
11054         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11055         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11056         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11057         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11058         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11059         (gst_ghost_pad_set_target):
11060         Actually implement (re)setting the target on a ghostpad
11061         as described in the docs.
11062
11063 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11064
11065         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11066           Check whether GST_DEBUG_NO_COLOR environment variable is
11067           set and disable coloured debug output if that is the case.
11068
11069 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
11070
11071         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11072         (gst_type_find_helper):
11073           The memory returned by gst_type_find_peek() needs to
11074           stay valid until the end of a typefind function, and
11075           typefind functions may keep results from different 
11076           offsets around, so we can't just unref the buffer from
11077           the previous _peek(), but have to save all buffers 
11078           returned by _peek() until typefinding is done and only
11079           free them then.
11080
11081 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11082
11083         * docs/gst/gstreamer-sections.txt:
11084         * gst/gstutils.h:
11085           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11086
11087 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11088
11089         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11090           Fix a pretty good memleak.
11091
11092 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11093
11094         * gst/gstiterator.h:
11095           Fix wrong include and 'make distcheck'.
11096
11097 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11098
11099         * gst/gstbin.c: (bin_bus_handler):
11100           Use gst_element_post_message() instead.
11101
11102 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11103
11104         * gst/base/gstadapter.h:
11105         * gst/base/gstbasesink.h:
11106         * gst/base/gstbasesrc.h:
11107         * gst/base/gstbasetransform.h:
11108         * gst/base/gstcollectpads.h:
11109         * gst/base/gstpushsrc.h:
11110         * gst/gstiterator.h:
11111           Add padding to our base elements' class and instance structs and
11112           to GstIterator (you will need to rebuild all plugins and apps!)
11113
11114 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11115
11116         * gst/gstbin.c: (bin_bus_handler):
11117           Make default message forwarding from child->bus to bin->bus
11118           threadsafe and make it not emit warnings if the parent has no bus.
11119
11120 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11121
11122         * gst/gstelement.c: (activate_pads):
11123           On paused->ready, set pad->caps to NULL, as is the documented
11124           behaviour in this state change. Fixes playback of series of
11125           media files when visualization is enabled in Totem.
11126
11127 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11128
11129         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11130           Allow NULL as filter-caps (which means "any").
11131
11132 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11133
11134         * docs/libs/gstreamer-libs-sections.txt:
11135         * libs/gst/controller/gst-controller.c:
11136         * libs/gst/controller/gst-controller.h:
11137         * libs/gst/controller/gst-helper.c:
11138           adding more entries to the docs and fix small doc-bugs
11139
11140 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11141
11142         * docs/gst/gstreamer-docs.sgml:
11143         * docs/gst/gstreamer-sections.txt:
11144         * docs/gst/gstreamer.types:
11145         * docs/gst/tmpl/gstbasesink.sgml:
11146         * docs/gst/tmpl/gstbasesrc.sgml:
11147         * docs/gst/tmpl/gstbasetransform.sgml:
11148         * docs/gst/tmpl/gstfakesrc.sgml:
11149         * gst/base/gstcollectpads.c:
11150         * gst/base/gstcollectpads.h:
11151         * libs/gst/controller/gst-controller.c:
11152         * libs/gst/controller/gst-controller.h:
11153         * libs/gst/controller/gst-helper.c:
11154         * libs/gst/controller/gst-interpolation.c:
11155         * libs/gst/controller/lib.c:
11156           added long/short desc for controller docs
11157           added collectpads base class docs
11158           added correct includes to base-class docs
11159
11160 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
11161
11162         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11163         (gst_test_mono_source_set_property),
11164         (gst_test_mono_source_class_init), (GST_START_TEST),
11165         (gst_controller_suite):
11166         * docs/gst/gstreamer-docs.sgml:
11167         * docs/gst/gstreamer-sections.txt:
11168         * docs/gst/gstreamer.types:
11169         * docs/libs/gstreamer-libs-docs.sgml:
11170         * docs/libs/gstreamer-libs-sections.txt:
11171         * gst/base/gstadapter.c:
11172         * libs/gst/controller/gst-controller.c:
11173         (gst_controlled_property_new), (gst_controlled_property_free),
11174         (gst_controller_new_valist),
11175         (gst_controller_remove_properties_valist),
11176         (gst_controller_sink_values), (_gst_controller_finalize):
11177         * libs/gst/controller/gst-controller.h:
11178         * libs/gst/controller/gst-helper.c:
11179         (gst_object_control_properties), (gst_object_uncontrol_properties),
11180         (gst_object_get_controller), (gst_object_set_controller),
11181         (gst_object_sink_values), (gst_object_get_value_arrays),
11182         (gst_object_get_value_array):
11183           more tests (and fixes) for the controller
11184           more docs for the controller
11185           integrated companies docs for the adapter 
11186
11187 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11188
11189         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
11190         (GST_START_TEST), (fakesrc_suite):
11191           add tests for sizetype
11192
11193 2005-08-04  Andy Wingo  <wingo@pobox.com>
11194
11195         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
11196         fixes buffer_alloc proxying among other things.
11197
11198         * gst/base/gstbasetransform.c:
11199         * gst/base/gstbasetransform.h:
11200         Revert patch to gstbasetransform from 7-28 removing
11201         delay_configure.
11202
11203         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
11204         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
11205         Semantics changed, should return not the size of the output buffer
11206         but the byte size of a buffer with a given caps.
11207
11208         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
11209         debug object.
11210         (gst_base_transform_configure_caps): Don't set out_size here: (in,
11211         out) are not the pad caps until setcaps finishes.
11212         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
11213         not-in-place case as well. Deal with changing from in-place to
11214         not-in-place within calling pad_alloc_buffer. Still a bit
11215         concerned about the overhead here...
11216
11217 2005-08-03  Andy Wingo  <wingo@pobox.com>
11218
11219         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
11220         fixating is an error.
11221
11222 2005-08-04  Edward Hervey  <edward@fluendo.com>
11223
11224         * gst/base/gstadapter.h: 
11225         Added gst_adapter_get_type() to the header
11226
11227 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11228
11229         * check/Makefile.am:
11230         * check/gst-libs/controller.c:
11231         * libs/gst/controller/gst-controller.c:
11232         (gst_controller_new_valist):
11233           added check test suite for the controller
11234         * gst/base/gstpushsrc.c:
11235           fixed a doc typo
11236
11237 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11238
11239         * docs/gst/Makefile.am:
11240         * docs/gst/gstreamer-docs.sgml:
11241         * docs/gst/gstreamer-sections.txt:
11242         * docs/gst/gstreamer.types:
11243         * docs/gst/tmpl/gstfakesrc.sgml:
11244         * gst/base/README:
11245         * gst/base/gstbasesink.c:
11246         * gst/base/gstbasesink.h:
11247         * gst/base/gstbasesrc.c:
11248         * gst/base/gstbasesrc.h:
11249         * gst/base/gstbasetransform.c:
11250         * gst/base/gstpushsrc.c:
11251         * gst/base/gstpushsrc.h:
11252           add short/long description docs to base classes
11253           add pushsrc to the docs
11254           remove consolidated doc fragments
11255
11256 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
11257
11258         * configure.ac:
11259         * docs/libs/Makefile.am:
11260         * docs/libs/gstreamer-libs-docs.sgml:
11261         * docs/libs/gstreamer-libs-sections.txt:
11262         * docs/libs/gstreamer-libs.types:
11263         * examples/Makefile.am:
11264         * examples/controller/.cvsignore:
11265         * examples/controller/Makefile.am:
11266         * examples/controller/audio-example.c: (main):
11267         * libs/gst/Makefile.am:
11268         * libs/gst/controller/.cvsignore:
11269         * libs/gst/controller/Makefile.am:
11270         * libs/gst/controller/gst-controller.c:
11271         (on_object_controlled_property_changed), (gst_timed_value_compare),
11272         (gst_timed_value_find),
11273         (gst_controlled_property_set_interpolation_mode),
11274         (gst_controlled_property_new), (gst_controlled_property_free),
11275         (gst_controller_find_controlled_property),
11276         (gst_controller_new_valist), (gst_controller_new),
11277         (gst_controller_remove_properties_valist),
11278         (gst_controller_remove_properties), (gst_controller_set),
11279         (gst_controller_set_from_list), (gst_controller_unset),
11280         (gst_controller_get), (gst_controller_get_all),
11281         (gst_controller_sink_values), (gst_controller_get_value_arrays),
11282         (gst_controller_get_value_array),
11283         (gst_controller_set_interpolation_mode),
11284         (_gst_controller_finalize), (_gst_controller_init),
11285         (_gst_controller_class_init), (gst_controller_get_type):
11286         * libs/gst/controller/gst-controller.h:
11287         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
11288         (g_object_uncontrol_properties), (g_object_get_controller),
11289         (g_object_set_controller), (g_object_sink_values),
11290         (g_object_get_value_arrays), (g_object_get_value_array):
11291         * libs/gst/controller/gst-interpolation.c:
11292         (gst_controlled_property_find_timed_value_node),
11293         (interpolate_none_get), (interpolate_trigger_get),
11294         (interpolate_trigger_get_value_array):
11295         * libs/gst/controller/lib.c: (gst_controller_init):
11296         * pkgconfig/Makefile.am:
11297         * pkgconfig/gstreamer-control-uninstalled.pc.in:
11298         * pkgconfig/gstreamer-control.pc.in:
11299         * testsuite/Makefile.am:
11300         * testsuite/controller/.cvsignore:
11301         * testsuite/controller/Makefile.am:
11302         * testsuite/controller/interpolator.c: (main):
11303           added controller code
11304           removed dparam pc files
11305
11306 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11307         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
11308         (gst_collectpads_stop):
11309           Broadcast the condition when shutting down, to make sure we wake all
11310           threads up. Shut down pads on finalize, for safety.
11311
11312 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
11313         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11314         (gst_base_transform_handle_buffer),
11315         (gst_base_transform_change_state):
11316           Handle PAUSED->READY->PAUSED transition after negotiation
11317           occurred already.
11318         * gst/gstmessage.c: (gst_message_init):
11319           Extra piece of debug for new messages.
11320
11321 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
11322
11323         * configure.ac:
11324         * docs/gst/tmpl/gstbasesrc.sgml:
11325         * docs/gst/tmpl/gstelement.sgml:
11326         * docs/gst/tmpl/gstevent.sgml:
11327         * docs/gst/tmpl/gstfakesrc.sgml:
11328         * docs/gst/tmpl/gstformat.sgml:
11329         * docs/gst/tmpl/gstghostpad.sgml:
11330         * docs/gst/tmpl/gstpad.sgml:
11331         * docs/gst/tmpl/gstquery.sgml:
11332         * docs/gst/tmpl/gststructure.sgml:
11333         * docs/gst/tmpl/gsttaglist.sgml:
11334         * docs/gst/tmpl/gstvalue.sgml:
11335         * docs/libs/gstreamer-libs-docs.sgml:
11336         * docs/libs/gstreamer-libs-sections.txt:
11337         * docs/libs/gstreamer-libs.types:
11338         * libs/gst/Makefile.am:
11339         * libs/gst/control/.cvsignore:
11340         * libs/gst/control/Makefile.am:
11341         * libs/gst/control/control.c:
11342         * libs/gst/control/control.h:
11343         * libs/gst/control/dparam.c:
11344         * libs/gst/control/dparam.h:
11345         * libs/gst/control/dparam_smooth.c:
11346         * libs/gst/control/dparam_smooth.h:
11347         * libs/gst/control/dparamcommon.h:
11348         * libs/gst/control/dparammanager.c:
11349         * libs/gst/control/dparammanager.h:
11350         * libs/gst/control/dplinearinterp.c:
11351         * libs/gst/control/dplinearinterp.h:
11352         * libs/gst/control/unitconvert.c:
11353         * libs/gst/control/unitconvert.h:
11354         * testsuite/Makefile.am:
11355         * testsuite/dynparams/.cvsignore:
11356         * testsuite/dynparams/Makefile.am:
11357         * testsuite/dynparams/dparamstest.c:
11358         * tools/Makefile.am:
11359         * tools/gst-inspect.c: (print_element_info), (main):
11360         * tools/gst-xmlinspect.c: (print_element_info), (main):
11361           deactivate and remove dparams (libgstcontrol)
11362
11363 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11364
11365         * gst/elements/gsttypefindelement.c:
11366         (gst_type_find_element_have_type), (gst_type_find_element_init),
11367         (stop_typefinding), (gst_type_find_element_handle_event),
11368         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11369         * gst/elements/gsttypefindelement.h:
11370           Set caps on all outgoing buffers, not just the first one.
11371
11372 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11373
11374         * gst/elements/gsttypefindelement.c:
11375         (gst_type_find_element_have_type),
11376         (gst_type_find_element_check_set_buffer_caps),
11377         (gst_type_find_element_init), (stop_typefinding),
11378         (gst_type_find_element_handle_event),
11379         (gst_type_find_element_chain), (gst_type_find_element_getrange):
11380         * gst/elements/gsttypefindelement.h:
11381           Set caps on first outgoing buffer when we've found the type.
11382
11383 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
11384
11385         * docs/gst/gstreamer-docs.sgml:
11386         * docs/gst/gstreamer-sections.txt:
11387         * docs/gst/tmpl/gstscheduler.sgml:
11388         * docs/gst/tmpl/gstschedulerfactory.sgml:
11389           Remove some old cruft from docs.
11390
11391 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
11392
11393         * gst/gstpad.h:
11394           Fix inline docs for GstPadLinkReturn.
11395           
11396         * gst/gststructure.c: (gst_structure_has_name):
11397         * gst/gststructure.h:
11398         * docs/gst/gstreamer-sections.txt:
11399           New API: gst_structure_has_name().
11400
11401 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
11402
11403         * configure.ac:
11404           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
11405           and _LARGEFILE_SOURCE in config.h as required. Do not 
11406           export those flags in our .pc files any longer (#142209).
11407
11408           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
11409
11410         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
11411         (gst_file_sink_do_seek), (gst_file_sink_event),
11412         (gst_file_sink_get_current_offset), (gst_file_sink_render):
11413           Redo seek/tell calls with large file support in mind; add some
11414           debugging messages; add log message that tells us when large
11415           file support is unavailable or not enabled for some reason.
11416
11417         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
11418           Add log message that tells us when large file support 
11419           is unavailable or not enabled for some reason.
11420
11421 2005-07-29  Wim Taymans  <wim@fluendo.com>
11422
11423         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11424         Added test for removing an element with ghostpad from a bin.
11425         Fixed test as current implementation does the right thing.
11426
11427         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
11428         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
11429         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
11430         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
11431         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
11432         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11433         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11434         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11435         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
11436         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
11437         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
11438         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
11439         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11440         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
11441         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
11442         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11443         * gst/gstghostpad.h:
11444         Clean up ghostpads, remove properties for internal stuff.
11445         Make threadsafe.
11446         Fix refcounting.
11447         Prepare for switching targets, not all use cases work yet.
11448
11449 2005-07-29  Wim Taymans  <wim@fluendo.com>
11450
11451         * docs/design/part-gstghostpad.txt:
11452         Small update.
11453
11454         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11455         (gst_bin_remove_func):
11456         Unlinking pads while holding the bin LOCK is not a good
11457         idea.
11458
11459         * gst/gstpad.c: (gst_pad_class_init),
11460         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
11461         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
11462         No prob setting template after creating the pad.
11463
11464 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
11465
11466         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
11467         (gst_bus_peek), (gst_bus_source_dispatch),
11468         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
11469         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
11470           gst_bus_poll may be called from other threads. Handle
11471           this nicely by not making poll_data disappear off the
11472           stack once gst_bus_poll returns.
11473           gst_bus_peek now increments the refcount on the returned
11474           message.
11475
11476 2005-07-29  Wim Taymans  <wim@fluendo.com>
11477
11478         * docs/design/part-gstghostpad.txt:
11479         Overview of current GhostPad datastructures and use
11480         cases for changing the target.
11481
11482 2005-07-28  Wim Taymans  <wim@fluendo.com>
11483
11484         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11485         Added checks for hierarchy consistency whan adding linked
11486         elements to bins.
11487
11488         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11489         Added check to test element scheduling without bin/pipeline.
11490
11491         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11492         First add elements to bin, then link.
11493         
11494         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11495         (gst_bin_remove_func):
11496         Unlink pads from elements added/removed from bin to maintain
11497         hierarchy consistency.
11498
11499 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11500
11501         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11502         (gst_base_transform_handle_buffer):
11503         * gst/base/gstbasetransform.h:
11504           Remove broken delay_configure (fixes renegotiation of software
11505           scaling pipelines); remove some leftover printf()s.
11506
11507 2005-07-28  Wim Taymans  <wim@fluendo.com>
11508
11509         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11510         Added some more tests for wrong hierarchy
11511
11512         * docs/design/part-overview.txt:
11513         Some updates.
11514
11515         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11516         Cleanups.
11517
11518         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11519         (gst_element_dispose):
11520         Some more cleanups.
11521
11522         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11523         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11524         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11525         (gst_pad_set_caps), (gst_pad_send_event):
11526         Check for correct hierarchy when linking pads. Moving to
11527         strict requirement for ghostpads when linking elements in
11528         different bins.
11529
11530         * gst/gstpad.h:
11531         Clean ups. Added WRONG_HIERARCHY return value.
11532
11533 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11534
11535         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11536           Better debug if no transform is possible.
11537
11538 2005-07-27  Wim Taymans  <wim@fluendo.com>
11539
11540         * docs/random/wtay/network-transp:
11541         Some old doc I had.
11542
11543 2005-07-27  Wim Taymans  <wim@fluendo.com>
11544
11545         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11546         (gst_dp_event_from_packet):
11547         Fix serialization of seek events.
11548
11549 2005-07-27  Wim Taymans  <wim@fluendo.com>
11550
11551         * check/gst-libs/gdp.c: (GST_START_TEST):
11552         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11553         Fix compilation and fix event serialization.
11554
11555 2005-07-27  Wim Taymans  <wim@fluendo.com>
11556
11557         * CHANGES-0.9:
11558         * docs/design/part-TODO.txt:
11559         * docs/design/part-events.txt:
11560         Some docs updates
11561
11562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11563         (gst_base_sink_event), (gst_base_sink_do_sync),
11564         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11565         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11566         (gst_base_src_do_seek), (gst_base_src_event_handler),
11567         (gst_base_src_loop):
11568         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11569         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11570         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11571         (gst_base_transform_event), (gst_base_transform_handle_buffer),
11572         (gst_base_transform_set_passthrough),
11573         (gst_base_transform_is_passthrough):
11574         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11575         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11576         Event updates.
11577
11578         * gst/gstbuffer.h:
11579         Use faster casts.
11580
11581         * gst/gstelement.c: (gst_element_seek):
11582         * gst/gstelement.h:
11583         Update gst_element_seek.
11584
11585         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
11586         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
11587         (gst_event_new_flush_start), (gst_event_new_flush_stop),
11588         (gst_event_new_eos), (gst_event_new_newsegment),
11589         (gst_event_parse_newsegment), (gst_event_new_tag),
11590         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
11591         (gst_event_parse_qos), (gst_event_new_seek),
11592         (gst_event_parse_seek), (gst_event_new_navigation):
11593         * gst/gstevent.h:
11594         Make GstEvent use GstStructure. Add parsing code, make sure the
11595         API is sufficiently generic.
11596         Mark possible directions of events and serialization.
11597
11598         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
11599         (_gst_message_copy), (gst_message_new_segment_start),
11600         (gst_message_new_segment_done), (gst_message_new_custom),
11601         (gst_message_parse_segment_start),
11602         (gst_message_parse_segment_done):
11603         Small cleanups.
11604
11605         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11606         (gst_pad_set_caps), (gst_pad_send_event):
11607         Update for new events. 
11608         Catch events sent in wrong directions.
11609
11610         * gst/gstqueue.c: (gst_queue_link_src),
11611         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11612         (gst_queue_handle_src_query):
11613         Event updates.
11614
11615         * gst/gsttag.c:
11616         * gst/gsttag.h:
11617         Remove event code from this file.
11618
11619         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11620         (gst_dp_event_from_packet):
11621         Event updates.
11622
11623 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11624
11625         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
11626         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11627         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
11628           Make debugging actually useful.
11629
11630 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11631
11632         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
11633         (gst_pad_fixate_caps):
11634           Implement default fixation once again, so that gst_pad_fixate()
11635           actually does anything at all. This probably needs to be some
11636           sort of a last resort, and use profile-based fixation first, but
11637           since that doesn't exist yet, this is the best we have. Fixes
11638           visualization in Totem.
11639
11640 2005-07-22  Wim Taymans  <wim@fluendo.com>
11641
11642         * docs/design/part-events.txt:
11643         Small update.
11644
11645         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11646         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
11647         (gst_base_sink_activate_pull):
11648         Some more comments.
11649
11650         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
11651         (gst_fake_src_create):
11652         Fix handoff marshall.
11653
11654         * gst/elements/gstidentity.c: (gst_identity_class_init),
11655         (gst_identity_transform_ip):
11656         We're a real inplace element.
11657
11658         * gst/gstbus.c: (gst_bus_post):
11659         Added some comments.
11660
11661         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
11662         * tests/muxing/case1.c: (main):
11663         * tests/sched/dynamic-pipeline.c: (main):
11664         * tests/sched/interrupt1.c: (main):
11665         * tests/sched/interrupt2.c: (main):
11666         * tests/sched/interrupt3.c: (main):
11667         * tests/sched/runxml.c: (main):
11668         * tests/sched/sched-stress.c: (main):
11669         * tests/seeking/seeking1.c: (event_received), (main):
11670         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11671         (main):
11672         * tests/threadstate/threadstate3.c: (main):
11673         * tests/threadstate/threadstate4.c: (main):
11674         * tests/threadstate/threadstate5.c: (main):
11675         Fix the tests.
11676
11677 2005-07-21  Wim Taymans  <wim@fluendo.com>
11678
11679         * docs/design/part-seeking.txt:
11680         Some small additions.
11681
11682         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11683         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11684         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11685         * gst/base/gstbasesink.h:
11686         discont values are gint64, handle the math correctly.
11687
11688         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11689         Make the basesrc report error if the source pad is not linked.
11690
11691         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
11692         (gst_queue_loop), (gst_queue_handle_src_query),
11693         (gst_queue_src_activate_push):
11694         Make queue collect data even if the srcpad is not linked.
11695         Start pushing out data as soon as it is linked.
11696
11697         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
11698         * gst/gstutils.h:
11699         Added gst_flow_get_name() to ease error reporting.
11700
11701 2005-07-20  Wim Taymans  <wim@fluendo.com>
11702
11703         * gst/gstmessage.c: (gst_message_new_segment_start),
11704         (gst_message_new_segment_done), (gst_message_parse_segment_start),
11705         (gst_message_parse_segment_done):
11706         * gst/gstmessage.h:
11707         Added a bunch of messages for advanced seeking.
11708
11709         * gst/parse/grammar.y:
11710         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
11711         (gst_dpman_state_changed):
11712         Fix some new-pad -> pad-added signals
11713
11714 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11715
11716         * docs/manual/appendix-porting.xml:
11717         * docs/pwg/appendix-porting.xml:
11718           Document new-pad/state-change signal renames and the FixedList
11719           type rename.
11720
11721 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11722
11723         * docs/manual/advanced-autoplugging.xml:
11724         * docs/manual/basics-helloworld.xml:
11725         * docs/manual/basics-pads.xml:
11726         * docs/random/ds/0.9-suggested-changes:
11727         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
11728         * gst/gstelement.h:
11729         * gst/gstevent.h:
11730         * gst/gstformat.h:
11731         * gst/gstquery.h:
11732         * gst/gststructure.c: (gst_structure_value_get_generic_type),
11733         (gst_structure_parse_array), (gst_structure_parse_value):
11734         * gst/gstvalue.c: (gst_type_is_fixed),
11735         (gst_value_list_prepend_value), (gst_value_list_append_value),
11736         (gst_value_list_get_size), (gst_value_list_get_value),
11737         (gst_value_transform_array_string), (gst_value_serialize_array),
11738         (gst_value_deserialize_array), (gst_value_intersect_array),
11739         (gst_value_is_fixed), (_gst_value_initialize):
11740         * gst/gstvalue.h:
11741           GstElement::new-pad -> pad-added, GstElement::state-change ->
11742           state-changed, GstValueFixedList -> GstValueArray, add format and
11743           flags as their own arguments in gst_element_seek() (should improve
11744           "bindeability"), remove function generators since they don't work
11745           under a whole bunch of compilers (they were deprecated already
11746           anyway).
11747
11748 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11749
11750         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11751         (_gst_debug_register_funcptr):
11752         * gst/gstinfo.h:
11753           Fix illegal cast on some platforms (#309253).
11754
11755 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11756
11757         * gst/gstmessage.c: (gst_message_new_custom):
11758         * gst/gstmessage.h:
11759           Add _new_custom, make _new_application a macro to _new_custom.
11760
11761 2005-07-20  Wim Taymans  <wim@fluendo.com>
11762
11763         * gst/base/gstbasesrc.c: (gst_base_src_init),
11764         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11765         * gst/base/gstbasesrc.h:
11766         Add a gboolean to decide when to push out a discont.
11767
11768         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11769         (gst_queue_loop), (gst_queue_handle_src_query),
11770         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
11771         (gst_queue_set_property), (gst_queue_get_property):
11772         Some cleanups.
11773
11774         * tests/threadstate/threadstate1.c: (main):
11775         Make a thread test compile and run... very silly..
11776
11777
11778 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11779
11780         * docs/manual/appendix-porting.xml:
11781           Mention removal of libgstgconf-0.9.la and existence of gconf
11782           elements.
11783
11784 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11785
11786         * docs/pwg/advanced-clock.xml:
11787         * docs/pwg/appendix-porting.xml:
11788         * docs/pwg/intro-preface.xml:
11789         * docs/pwg/other-base.xml:
11790         * docs/pwg/other-manager.xml:
11791         * docs/pwg/other-nton.xml:
11792         * docs/pwg/other-ntoone.xml:
11793         * docs/pwg/other-oneton.xml:
11794         * docs/pwg/pwg.xml:
11795           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
11796           demuxer), remove n-to-n (was never written), fix some code examples
11797           and links and update the porting section to include all this.
11798
11799 2005-07-19  Wim Taymans  <wim@fluendo.com>
11800
11801         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
11802         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
11803         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
11804         (gst_queue_src_activate_push), (gst_queue_change_state),
11805         (gst_queue_get_property):
11806         * gst/gstqueue.h:
11807         Propagate GstFlowReturn more intelligently upstream and output
11808         an ERROR/EOS when streaming stopped due to fatal error.
11809
11810 2005-07-19  Wim Taymans  <wim@fluendo.com>
11811
11812         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11813         Don't block forever for the state change to complete, the
11814         pipeline already did with a sensible timeout.
11815
11816 2005-07-19  Wim Taymans  <wim@fluendo.com>
11817
11818         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11819         Make sure we never call the create function is we
11820         got deactivated.
11821
11822 2005-07-19  Andy Wingo  <wingo@pobox.com>
11823
11824         * gst/parse/parse.l: Attempt to solve bug #172815.
11825
11826 2005-07-19  Wim Taymans  <wim@fluendo.com>
11827
11828         * docs/design/part-clocks.txt:
11829         * docs/design/part-events.txt:
11830         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
11831         Small docs updates.
11832         Only update the seeking values when we are not
11833         busy streaming.
11834
11835 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11836
11837         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11838           Oops, ignore the result of gst_pad_push_event here.
11839
11840 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
11841
11842         * gst/base/gstbasesrc.c: (gst_base_src_loop),
11843         (gst_base_src_activate_push):
11844           Send discont event from the loop function, as pads
11845           aren't activated yet in the activate_push handler.
11846
11847         * gst/gstbin.c: (bin_bus_handler):
11848           Don't leak element name.
11849
11850 2005-07-18  Andy Wingo  <wingo@pobox.com>
11851
11852         * configure.ac: Use AS_LIBTOOL_TAGS.
11853
11854 2005-07-18  Wim Taymans  <wim@fluendo.com>
11855
11856         * docs/gst/gstreamer.types:
11857         Remove deleted types.
11858
11859 2005-07-18  Wim Taymans  <wim@fluendo.com>
11860
11861         * check/elements/gstfakesrc.c: (GST_START_TEST):
11862         * configure.ac:
11863         * gst/Makefile.am:
11864         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11865         (init_popt_callback):
11866         * gst/gst.h:
11867         * gst/gst_private.h:
11868         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
11869         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
11870         * gst/gstbin.h:
11871         * gst/gstbus.h:
11872         * gst/gstconfig.h.in:
11873         * gst/gstelement.c: (gst_element_class_init),
11874         (gst_element_set_base_time), (gst_element_get_base_time),
11875         (iterator_fold_with_resync), (gst_element_change_state),
11876         (gst_element_dispose), (gst_element_get_bus):
11877         * gst/gstelement.h:
11878         * gst/gstelementfactory.h:
11879         * gst/gsterror.c: (_gst_core_errors_init):
11880         * gst/gsterror.h:
11881         * gst/gstevent.h:
11882         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11883         * gst/gstindex.c:
11884         * gst/gstinfo.c: (_gst_debug_init):
11885         * gst/gstmessage.c: (_gst_message_copy):
11886         * gst/gstmessage.h:
11887         * gst/gstminiobject.h:
11888         * gst/gstobject.c:
11889         * gst/gstobject.h:
11890         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11891         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
11892         * gst/gstpad.h:
11893         * gst/gstparse.h:
11894         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11895         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11896         (gst_pipeline_get_last_stream_time):
11897         * gst/gstpipeline.h:
11898         * gst/gstpluginfeature.h:
11899         * gst/gstquery.h:
11900         * gst/gstscheduler.c:
11901         * gst/gstscheduler.h:
11902         * gst/gststructure.h:
11903         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11904         (gst_task_finalize), (gst_task_func), (gst_task_create),
11905         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
11906         (gst_task_stop), (gst_task_pause):
11907         * gst/gsttask.h:
11908         * gst/gsttypefind.h:
11909         * gst/gsttypes.h:
11910         * gst/registries/gstlibxmlregistry.c: (load_feature),
11911         (gst_xml_registry_load), (gst_xml_registry_save_feature):
11912         * gst/registries/gstxmlregistry.c:
11913         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
11914         * gst/schedulers/threadscheduler.c:
11915         * libs/gst/control/dparammanager.h:
11916         * tools/gst-inspect.c: (print_element_list),
11917         (print_plugin_features), (print_element_features):
11918         * tools/gst-xmlinspect.c: (print_element_list),
11919         (print_plugin_info), (main):
11920         Removed plugable schedulers.
11921         Removed Scheduler/Manager from elements.
11922         Removed gsttypes.h, rearranged includes.
11923         Removed dependency pad<->element, element<>pipeline, and
11924         various others,  fix includes.
11925         implement gst_pad_get_parent() with gst_object_get_parent()
11926         Make GstTask sefcontained.
11927         Fix _get_state() on GstBin, it did not return ASYNC with a 0
11928         timeout.
11929         Fix endless loop in iterator_fold_with_resync.
11930
11931
11932 2005-07-18  Wim Taymans  <wim@fluendo.com>
11933
11934         * gst/Makefile.am:
11935         * gst/gstarch.h:
11936         Remove old file.
11937
11938 2005-07-18  Wim Taymans  <wim@fluendo.com>
11939
11940         * gst/Makefile.am:
11941         No more cothreads.h
11942
11943 2005-07-18  Wim Taymans  <wim@fluendo.com>
11944
11945         * gst/cothreads.c:
11946         * gst/cothreads.h:
11947         Let's remove these.
11948
11949 2005-07-18  Wim Taymans  <wim@fluendo.com>
11950
11951         * docs/design/part-dynamic.txt:
11952         * docs/design/part-events.txt:
11953         * docs/design/part-seeking.txt:
11954         Some more docs in the works.
11955
11956         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11957         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
11958         (gst_base_transform_setcaps), (gst_base_transform_get_size),
11959         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11960         (gst_base_transform_handle_buffer),
11961         (gst_base_transform_sink_activate_push),
11962         (gst_base_transform_src_activate_pull),
11963         (gst_base_transform_set_passthrough),
11964         (gst_base_transform_is_passthrough):
11965         Refcounting fixes.
11966
11967         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
11968         Cleanups.
11969
11970         * gst/gstevent.c: (gst_event_finalize):
11971         Set SRC to NULL.
11972
11973         * gst/gstutils.c: (gst_element_unlink),
11974         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
11975         (gst_pad_proxy_setcaps):
11976         * gst/gstutils.h:
11977         Add _get_parent_element() to get a pads parent as an element.
11978
11979 2005-07-18  Wim Taymans  <wim@fluendo.com>
11980
11981         * check/gst/gstbin.c: (GST_START_TEST):
11982         Remove bogus test.
11983
11984 2005-07-18  Wim Taymans  <wim@fluendo.com>
11985
11986         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11987         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11988         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11989         (gst_base_sink_event), (gst_base_sink_do_sync),
11990         (gst_base_sink_chain), (gst_base_sink_loop),
11991         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
11992         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11993         Refcounting fixes.
11994         Fix logic for returning ASYNC when not prerolled.
11995
11996 2005-07-18  Wim Taymans  <wim@fluendo.com>
11997
11998         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11999         Fix nasty refcount bug.
12000
12001 2005-07-16 Philippe Khalaf <burger@speedy.org>
12002
12003         * gst/elements/gstfdsrc.c:
12004         * gst/elements/gstfdsrc.h:
12005         * gst/elements/gstelements.c:
12006         * gst/elements/Makefile.am:
12007         Ported fdsrc to 0.9.
12008
12009 2005-07-16  Wim Taymans  <wim@fluendo.com>
12010
12011         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12012         (gst_base_sink_do_sync):
12013         Fix compile error.
12014
12015 2005-07-16  Wim Taymans  <wim@fluendo.com>
12016
12017         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12018         (gst_base_sink_event), (gst_base_sink_get_times),
12019         (gst_base_sink_do_sync), (gst_base_sink_change_state):
12020         * gst/base/gstbasesink.h:
12021         Store and use discont values when syncing buffers as described
12022         in design docs.
12023         
12024         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12025         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12026         (gst_base_src_activate_push):
12027         Push discont event when starting.
12028
12029         * gst/elements/gstidentity.c: (gst_identity_transform):
12030         Small cleanups.
12031
12032         * gst/gstbin.c: (gst_bin_change_state):
12033         Small cleanups in base_time  distribution.
12034
12035         * gst/gstelement.c: (gst_element_set_base_time),
12036         (gst_element_get_base_time), (gst_element_change_state):
12037         * gst/gstelement.h:
12038         Added methods for the base_time of the element.
12039         Some MT fixes.
12040
12041         * gst/gstpipeline.c: (gst_pipeline_send_event),
12042         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12043         (gst_pipeline_get_last_stream_time):
12044         * gst/gstpipeline.h:
12045         MT fixes.
12046         Handle seeking as described in design doc, remove stream_time
12047         hack.
12048         Cleanups clock and stream_time selection code. Added accessors
12049         for the stream_time.
12050         
12051
12052 2005-07-16  Andy Wingo  <wingo@pobox.com>
12053
12054         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12055         (#305291).
12056
12057 2005-07-16  Wim Taymans  <wim@fluendo.com>
12058
12059         * check/gst/gstbin.c: (GST_START_TEST):
12060         Make elements silent as the deep_notify refs the
12061         parent, which might make the test fail.
12062
12063         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12064         Don't hold the lock for too long.
12065
12066 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
12067
12068         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12069           Don't unref the caps we passed to gst_caps_make_writable() after
12070           passing them. gst_caps_make_writable() will do that for us.
12071
12072 2005-07-15  Andy Wingo  <wingo@pobox.com>
12073
12074         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12075         (#157311).
12076
12077         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12078         own marshalling function for the handoff signal. Properly type the
12079         buffer as a buffer. Fixes some warnings. Should do a more general
12080         solution.
12081         (gst_identity_class_init): Plug into the right marshaller.
12082
12083 2005-07-15  Wim Taymans  <wim@fluendo.com>
12084
12085         * docs/design/part-TODO.txt:
12086         * docs/design/part-clocks.txt:
12087         * docs/design/part-element-sink.txt:
12088         * docs/design/part-events.txt:
12089         * docs/design/part-gstpipeline.txt:
12090         Updated docs, mostly DISCONT related.
12091
12092 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
12093
12094         * docs/pwg/building-pads.xml:
12095           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12096
12097 2005-07-15  Andy Wingo  <wingo@pobox.com>
12098
12099         * tools/gst-typefind.c: Update, add copyright block.
12100
12101         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12102         Normalize and truncate caps before fixation.
12103
12104         * gst/gstcaps.h:
12105         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12106         discards all but the first structure from its argument.
12107
12108 2005-07-15  Wim Taymans  <wim@fluendo.com>
12109
12110         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12111         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12112         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12113         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12114         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12115         (gst_base_transform_chain), (gst_base_transform_change_state),
12116         (gst_base_transform_set_passthrough),
12117         (gst_base_transform_is_passthrough):
12118         * gst/base/gstbasetransform.h:
12119         Make passthrough work using the bufferpools.
12120         Changed API a bit, subclasses have to write into a buffer
12121         provided by the base class.
12122         More debug info in nego functions.
12123         
12124         * gst/elements/gstidentity.c: (gst_identity_init),
12125         (gst_identity_transform):
12126         Port to new base class.
12127
12128 2005-07-15  Wim Taymans  <wim@fluendo.com>
12129
12130         * gst/gstmessage.c: (gst_message_new_state_changed):
12131         * tools/gst-launch.c: (event_loop), (main):
12132         Totally dump messages in -launch with the -m option.
12133         Fix message name for State messages,
12134
12135 2005-07-14  Wim Taymans  <wim@fluendo.com>
12136
12137         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12138         Post error messages on errors.
12139
12140 2005-07-14  Wim Taymans  <wim@fluendo.com>
12141
12142         * gst/gstcaps.c: (gst_caps_do_simplify):
12143         Remove debug info.
12144
12145         * gst/gsterror.h:
12146         Define error for stream stopped.
12147
12148         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12149         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12150         Do proper return values.
12151
12152         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12153         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
12154         (gst_pad_get_range):
12155         Better return values.
12156
12157         * gst/gstpad.h:
12158         Reorganise return values, add macro to check for fatal errors.
12159
12160         * gst/gstqueue.c: (gst_queue_chain):
12161         Return proper GstFlowReturn values,
12162
12163 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12164
12165         * docs/gst/gstreamer-sections.txt:
12166         * docs/gst/gstreamer.types:
12167         * docs/gst/tmpl/gst.sgml:
12168         * docs/gst/tmpl/gstbasesink.sgml:
12169         * docs/gst/tmpl/gstbasesrc.sgml:
12170         * docs/gst/tmpl/gstbasetransform.sgml:
12171         * docs/gst/tmpl/gstbin.sgml:
12172         * docs/gst/tmpl/gstbuffer.sgml:
12173         * docs/gst/tmpl/gstcaps.sgml:
12174         * docs/gst/tmpl/gstclock.sgml:
12175         * docs/gst/tmpl/gstcompat.sgml:
12176         * docs/gst/tmpl/gstconfig.sgml:
12177         * docs/gst/tmpl/gstelement.sgml:
12178         * docs/gst/tmpl/gstelementdetails.sgml:
12179         * docs/gst/tmpl/gstelementfactory.sgml:
12180         * docs/gst/tmpl/gstenumtypes.sgml:
12181         * docs/gst/tmpl/gsterror.sgml:
12182         * docs/gst/tmpl/gstevent.sgml:
12183         * docs/gst/tmpl/gstfakesink.sgml:
12184         * docs/gst/tmpl/gstfakesrc.sgml:
12185         * docs/gst/tmpl/gstfilesink.sgml:
12186         * docs/gst/tmpl/gstfilesrc.sgml:
12187         * docs/gst/tmpl/gstfilter.sgml:
12188         * docs/gst/tmpl/gstformat.sgml:
12189         * docs/gst/tmpl/gstghostpad.sgml:
12190         * docs/gst/tmpl/gstimplementsinterface.sgml:
12191         * docs/gst/tmpl/gstindex.sgml:
12192         * docs/gst/tmpl/gstindexfactory.sgml:
12193         * docs/gst/tmpl/gstinfo.sgml:
12194         * docs/gst/tmpl/gstiterator.sgml:
12195         * docs/gst/tmpl/gstmacros.sgml:
12196         * docs/gst/tmpl/gstmemchunk.sgml:
12197         * docs/gst/tmpl/gstminiobject.sgml:
12198         * docs/gst/tmpl/gstobject.sgml:
12199         * docs/gst/tmpl/gstpad.sgml:
12200         * docs/gst/tmpl/gstpadtemplate.sgml:
12201         * docs/gst/tmpl/gstparse.sgml:
12202         * docs/gst/tmpl/gstpipeline.sgml:
12203         * docs/gst/tmpl/gstplugin.sgml:
12204         * docs/gst/tmpl/gstpluginfeature.sgml:
12205         * docs/gst/tmpl/gstquery.sgml:
12206         * docs/gst/tmpl/gstqueue.sgml:
12207         * docs/gst/tmpl/gstregistry.sgml:
12208         * docs/gst/tmpl/gstregistrypool.sgml:
12209         * docs/gst/tmpl/gstscheduler.sgml:
12210         * docs/gst/tmpl/gstschedulerfactory.sgml:
12211         * docs/gst/tmpl/gststructure.sgml:
12212         * docs/gst/tmpl/gstsystemclock.sgml:
12213         * docs/gst/tmpl/gsttaglist.sgml:
12214         * docs/gst/tmpl/gsttagsetter.sgml:
12215         * docs/gst/tmpl/gsttrace.sgml:
12216         * docs/gst/tmpl/gsttrashstack.sgml:
12217         * docs/gst/tmpl/gsttypefind.sgml:
12218         * docs/gst/tmpl/gsttypefindfactory.sgml:
12219         * docs/gst/tmpl/gsttypes.sgml:
12220         * docs/gst/tmpl/gsturihandler.sgml:
12221         * docs/gst/tmpl/gsturitype.sgml:
12222         * docs/gst/tmpl/gstutils.sgml:
12223         * docs/gst/tmpl/gstvalue.sgml:
12224         * docs/gst/tmpl/gstversion.sgml:
12225         * docs/gst/tmpl/gstxml.sgml:
12226         * docs/libs/tmpl/gstcontrol.sgml:
12227         * docs/libs/tmpl/gstdataprotocol.sgml:
12228         * docs/libs/tmpl/gstdparam.sgml:
12229         * docs/libs/tmpl/gstdplinint.sgml:
12230         * docs/libs/tmpl/gstdpman.sgml:
12231         * docs/libs/tmpl/gstdpsmooth.sgml:
12232         * docs/libs/tmpl/gstgetbits.sgml:
12233         * docs/libs/tmpl/gstunitconvert.sgml:
12234         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
12235         (gst_push_src_base_init), (gst_push_src_class_init),
12236         (gst_push_src_init), (gst_push_src_create):
12237         * gst/base/gstpushsrc.h:
12238         * gst/elements/gstelements.c:
12239         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
12240         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
12241         (gst_fake_sink_init), (gst_fake_sink_set_property),
12242         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
12243         (gst_fake_sink_event), (gst_fake_sink_preroll),
12244         (gst_fake_sink_render), (gst_fake_sink_change_state):
12245         * gst/elements/gstfakesink.h:
12246         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12247         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12248         (gst_fake_src_base_init), (gst_fake_src_class_init),
12249         (gst_fake_src_init), (gst_fake_src_event_handler),
12250         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
12251         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
12252         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
12253         (gst_fake_src_create_buffer), (gst_fake_src_create),
12254         (gst_fake_src_start), (gst_fake_src_stop):
12255         * gst/elements/gstfakesrc.h:
12256         * gst/elements/gstfilesink.c: (_do_init),
12257         (gst_file_sink_base_init), (gst_file_sink_class_init),
12258         (gst_file_sink_init), (gst_file_sink_dispose),
12259         (gst_file_sink_set_location), (gst_file_sink_set_property),
12260         (gst_file_sink_get_property), (gst_file_sink_open_file),
12261         (gst_file_sink_close_file), (gst_file_sink_query),
12262         (gst_file_sink_event), (gst_file_sink_render),
12263         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
12264         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
12265         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
12266         * gst/elements/gstfilesink.h:
12267         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
12268         (gst_file_src_class_init), (gst_file_src_init),
12269         (gst_file_src_finalize), (gst_file_src_set_location),
12270         (gst_file_src_set_property), (gst_file_src_get_property),
12271         (gst_file_src_map_region), (gst_file_src_map_small_region),
12272         (gst_file_src_create_mmap), (gst_file_src_create_read),
12273         (gst_file_src_create), (gst_file_src_is_seekable),
12274         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
12275         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
12276         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
12277         (gst_file_src_uri_handler_init):
12278         * gst/elements/gstfilesrc.h:
12279           more autistic cleanliness in functions/names/defines
12280
12281 2005-07-13  Andy Wingo  <wingo@pobox.com>
12282
12283         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
12284         source couldn't negotiate.
12285
12286         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
12287         connections again.
12288
12289         * gst/gstutils.h:
12290         * gst/gstutils.c (gst_element_link_pads_filtered): New old
12291         function. I am channeling Hades. Put your boots on suckers!!!
12292
12293 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12294
12295         * testsuite/caps/Makefile.am:
12296         * testsuite/caps/value_compare.c:
12297         * testsuite/caps/value_intersect.c:
12298         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12299           move two testsuite apps over to the check dir
12300
12301 2005-07-12  Wim Taymans  <wim@fluendo.com>
12302
12303         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12304         Added more debug info in the negotiate process.
12305
12306         * gst/gstmessage.h:
12307         Prepare for segment playback.
12308
12309         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
12310         Better debugging.
12311
12312         * gst/gstutils.c:
12313         Some more docs.
12314
12315         * tools/gst-launch.c: (main):
12316         NULL pipeline on errors.
12317
12318 2005-07-12  Andy Wingo  <wingo@pobox.com>
12319
12320         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
12321         not it comes from a malloc region. Make sure our copy gets freed.
12322
12323 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12324
12325         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12326         * check/gst/gstmessage.c: (GST_START_TEST):
12327         * check/gst/gststructure.c: (GST_START_TEST),
12328         (gst_structure_suite), (main):
12329           more testing
12330         * gst/gstelement.c: (gst_element_message_full):
12331           clean up GError and debug string now that they get copied
12332         * gst/gstmessage.c: (gst_message_new_error),
12333         (gst_message_new_warning), (gst_message_parse_error),
12334         (gst_message_parse_warning):
12335           use GST_TYPE_G_ERROR for structure_new, and take copies of
12336           arguments, so that we don't mess up refcounting
12337
12338 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12339
12340         * check/Makefile.am:
12341           add per-test valgrind targets
12342         * check/gst-libs/gdp.c: (GST_START_TEST),
12343         (gst_data_protocol_suite), (main):
12344           clean up
12345
12346 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12347
12348         * check/Makefile.am:
12349           instate more valgrindable tests
12350         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12351         (GST_START_TEST), (fakesrc_suite):
12352         * check/gst/gstpad.c: (GST_START_TEST):
12353         * check/gst/gststructure.c: (GST_START_TEST):
12354           fix test leaks
12355         * docs/gst/tmpl/gstminiobject.sgml:
12356         * gst/gstpad.c: (gst_pad_finalize):
12357           fix the static mutex leak
12358
12359 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12360
12361         * check/Makefile.am:
12362           add two more tests for valgrinding
12363         * check/gst/gstvalue.c: (GST_START_TEST):
12364           test refcount of deserialized buffer, found a leak
12365         * docs/gst/gstreamer-docs.sgml:
12366         * docs/gst/gstreamer-sections.txt:
12367         * docs/gst/gstreamer.types:
12368         * docs/gst/tmpl/gstminiobject.sgml:
12369           add miniobject to docs
12370         * gst/gstminiobject.c:
12371           add some docs
12372         * gst/gstvalue.c: (gst_value_deserialize_buffer),
12373         (gst_string_unwrap):
12374           fix a hard-to-find invalid write for one of the tests
12375           fix a leak for deserialized buffers
12376
12377 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12378
12379         * docs/pwg/advanced-events.xml:
12380         * docs/pwg/advanced-request.xml:
12381         * docs/pwg/advanced-scheduling.xml:
12382         * docs/pwg/appendix-porting.xml:
12383         * docs/pwg/building-boiler.xml:
12384         * docs/pwg/intro-preface.xml:
12385         * docs/pwg/other-ntoone.xml:
12386           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
12387           of example code and explanation for pad activation, loop() and
12388           getrange() functions and a bit more. Remove old comments pointing
12389           to loop-functions.
12390         * examples/pwg/Makefile.am:
12391           Add loop/getrange examples.
12392
12393 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12394
12395         * configure.ac:
12396           check for valgrind binary + some fixes
12397         * check/gst.supp:
12398           valgrind suppressions for the tests
12399         * check/Makefile.am:
12400           add a valgrind: target that valgrinds the unit tests
12401         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
12402         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12403         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12404         * check/gst/gstghostpad.c:
12405           added some cleanup
12406         * check/gst/gstdata.c:
12407           removed
12408         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
12409         (thread_unref), (gst_mini_object_suite), (main):
12410           added
12411         * gst/gst.c: (gst_deinit):
12412         * gst/gst.h:
12413           add a method to clean up.
12414         * gst/gstsystemclock.c: (gst_system_clock_dispose),
12415         (gst_system_clock_obtain):
12416           allow for disposing the system clock.
12417         * tools/gst-launch.c: (main):
12418           deinit
12419
12420 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12421
12422         * docs/gst/tmpl/gstbasesrc.sgml:
12423         * docs/gst/tmpl/gstfakesrc.sgml:
12424         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12425         (gst_base_src_init), (gst_base_src_set_property),
12426         (gst_base_src_get_property), (gst_base_src_get_range),
12427         (gst_base_src_start):
12428         * gst/base/gstbasesrc.h:
12429           add num-buffers property
12430         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12431         (gst_fakesrc_init), (gst_fakesrc_set_property),
12432         (gst_fakesrc_get_property), (gst_fakesrc_create),
12433         (gst_fakesrc_start):
12434           remove num-buffers property
12435
12436 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12437
12438         * docs/gst/gstreamer-sections.txt:
12439         * docs/gst/tmpl/gstbasesink.sgml:
12440         * docs/gst/tmpl/gstbasesrc.sgml:
12441         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12442         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12443         (gst_base_sink_finalize), (gst_base_sink_set_clock),
12444         (gst_base_sink_set_property), (gst_base_sink_get_property),
12445         (gst_base_sink_handle_object), (gst_base_sink_event),
12446         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12447         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
12448         (gst_base_sink_loop), (gst_base_sink_deactivate),
12449         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
12450         (gst_base_sink_change_state):
12451         * gst/base/gstbasesink.h:
12452         * gst/base/gstbasesrc.h:
12453         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
12454         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12455         (gst_filesink_init):
12456           more macro splitting
12457
12458 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12459
12460         * gst/gstelement.c: (gst_element_get_bus):
12461           add debug
12462         * tools/gst-launch.c: (check_intr), (event_loop):
12463           fix bus leaks
12464
12465 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12466
12467         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12468           fix a caps leak
12469
12470 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12471
12472         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12473         (gst_base_src_finalize):
12474           add finalize method and clean up properly
12475         * gst/gstpipeline.c: (gst_pipeline_dispose):
12476           add debug
12477
12478 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12479
12480         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
12481         (gst_bin_suite):
12482           add more things to check
12483         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12484         * gst/gstelement.c:
12485           more debug
12486
12487 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12488
12489         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12490         (GST_START_TEST), (fakesrc_suite):
12491         * check/gst-libs/gdp.c: (GST_START_TEST):
12492         * check/gst/gst.c: (GST_START_TEST):
12493         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12494         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12495         * check/gst/gstbus.c: (GST_START_TEST):
12496         * check/gst/gstcaps.c: (GST_START_TEST):
12497         * check/gst/gstdata.c: (GST_START_TEST):
12498         * check/gst/gstelement.c: (GST_START_TEST):
12499         * check/gst/gstghostpad.c: (GST_START_TEST):
12500         * check/gst/gstiterator.c: (GST_START_TEST):
12501         * check/gst/gstmessage.c: (GST_START_TEST):
12502         * check/gst/gstobject.c: (GST_START_TEST):
12503         * check/gst/gstpad.c: (GST_START_TEST):
12504         * check/gst/gststructure.c: (GST_START_TEST):
12505         * check/gst/gstsystemclock.c: (GST_START_TEST),
12506         (gst_systemclock_suite):
12507         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12508         * check/gst/gstvalue.c: (GST_START_TEST):
12509         * check/pipelines/cleanup.c: (GST_START_TEST):
12510         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12511         * check/states/sinks.c: (GST_START_TEST):
12512         * check/gstcheck.c: (gst_check_init):
12513         * check/gstcheck.h:
12514           add debugging category
12515           use GST_START_TEST now, so we add a debug line
12516
12517 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12518
12519         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12520           add test for state change message on a bin
12521         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12522           add another test
12523         * gst/gstbin.c: (gst_bin_init):
12524         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12525         * gst/gstelement.c: (gst_element_post_message),
12526         (gst_element_set_state):
12527         * gst/gstelementfactory.c: (gst_element_factory_create):
12528         * gst/gstmessage.c: (gst_message_new):
12529         * gst/gstscheduler.c:
12530           various debugging additions and cleanups
12531
12532 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12533
12534         * check/Makefile.am:
12535         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12536         (main):
12537           adding tests for elements
12538         * gst/gstelement.c: (gst_element_dispose):
12539
12540 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12541
12542         * gst/registries/gstlibxmlregistry.c: (load_feature):
12543           plug more leaks.  A simple gst_init() now is leakfree, yay.
12544
12545 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12546
12547         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
12548         (gst_xml_registry_load):
12549           plug another memleak
12550
12551 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12552
12553         * configure.ac:
12554           use GST_SET_ERROR_CFLAGS
12555         * docs/faq/cvs.xml:
12556           change to ERROR_CFLAGS
12557
12558 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12559
12560         * configure.ac:
12561           make GST_ERROR_CFLAGS overridable and re-enable Werror
12562         * docs/faq/cvs.xml:
12563           add a note about error CFLAGS
12564         * docs/gst/tmpl/gstfakesrc.sgml:
12565         * gst/elements/gstfakesrc.c:
12566           comment out some unused code
12567         * gst/gst.c: (split_and_iterate):
12568         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
12569         (load_feature):
12570           plug some memleaks
12571
12572 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12573
12574         * common/Makefile.am:
12575         * common/gtk-doc.mak:
12576         * docs/gst/Makefile.am:
12577           factor out gtk-doc.mak
12578
12579 2005-07-07  Wim Taymans  <wim@fluendo.com>
12580
12581         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
12582         (gst_thread_scheduler_dispose):
12583         Unlock the STREAM_LOCK completely.
12584
12585 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12586
12587         * check/Makefile.am:
12588         * check/elements/.cvsignore:
12589         * check/elements/gstfakesrc.c: (chain_func), (event_func),
12590         (START_TEST), (fakesrc_suite), (main):
12591         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12592         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12593         (gst_fakesrc_create), (gst_fakesrc_start):
12594         * gst/elements/gstfakesrc.h:
12595           adding a first element test
12596
12597 2005-07-07  Andy Wingo  <wingo@pobox.com>
12598
12599         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
12600         debug message.
12601
12602 2005-07-07  Wim Taymans  <wim@fluendo.com>
12603
12604         * gst/gstquery.c:
12605         * gst/gstquery.h:
12606         Remove old types
12607
12608 2005-07-07  Wim Taymans  <wim@fluendo.com>
12609
12610         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12611         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
12612         Allow subclasses to implement their own negotiation.
12613
12614 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12615
12616         * docs/design/part-gstbin.txt:
12617         * docs/design/part-gstpipeline.txt:
12618           Update design notes to reflect the movement of
12619           responsibility for bus handling from GstPipeline to
12620           GstBin
12621
12622 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12623
12624         * configure.ac:
12625           Remove unnecessary queue2/3/4 examples.
12626
12627 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
12628
12629         * examples/Makefile.am:
12630         * examples/helloworld/helloworld.c: (event_loop), (main):
12631         * examples/queue/queue.c: (event_loop), (main):
12632         * examples/queue2/queue2.c: (main):
12633           Update a couple of the examples to work again.
12634
12635         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12636         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
12637          Spelling corrections and extra debug.
12638         
12639         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
12640         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
12641         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
12642         * gst/gstbin.h:
12643         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12644         (gst_pipeline_change_state):
12645         * gst/gstpipeline.h:
12646           Move the bus handler for children to the GstBin, and create a
12647           separate bus for receiving messages from children to the one the
12648           bus sends 'upwards' on.
12649
12650 2005-07-06  Wim Taymans  <wim@fluendo.com>
12651
12652         * gst/base/README:
12653         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12654         (gst_base_sink_handle_object), (gst_base_sink_loop),
12655         (gst_base_sink_change_state):
12656         * gst/base/gstbasesink.h:
12657         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12658         (gst_base_src_init), (gst_base_src_setcaps),
12659         (gst_base_src_getcaps), (gst_base_src_loop),
12660         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
12661         (gst_base_src_start), (gst_base_src_change_state):
12662         * gst/base/gstbasesrc.h:
12663         Make basesrc negotiate.
12664         Handle the case where preroll fails in basesink.
12665         Update README.
12666
12667 2005-07-06  Wim Taymans  <wim@fluendo.com>
12668
12669         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
12670         Implement the fixate function.
12671         Clean up acceptcaps.
12672
12673 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12674
12675         * docs/pwg/building-filterfactory.xml:
12676         * docs/pwg/pwg.xml:
12677           Remove never-written filter-factory chapter; I'll add the various
12678           base classes to part 4 ("other element types") later on.
12679
12680 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12681
12682         * docs/pwg/advanced-negotiation.xml:
12683         * docs/pwg/building-boiler.xml:
12684         * docs/pwg/building-pads.xml:
12685         * docs/pwg/pwg.xml:
12686         * examples/pwg/Makefile.am:
12687           Add a chapter on caps negotiation, simplify the original code
12688           samples a bit w.r.t. caps negotiation, add link to the advanced
12689           section. Add a bunch of examples showing different use cases of
12690           different types of caps negotiation. Upstream renegotiation isn't
12691           fully documented yet since nobody knows how that works.
12692
12693 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12694
12695         * check/gst/gstpad.c:
12696         * check/gstcheck.c:
12697         * gst/gstpad.c: (gst_pad_get_internal_links_default):
12698           if pad has no parent, return NULL as list of internal links
12699
12700 2005-07-05  Andy Wingo  <wingo@pobox.com>
12701
12702         * gst/elements/gstfilesrc.c:
12703         * gst/elements/gstfakesrc.c: 
12704         * gst/base/gstpushsrc.c:
12705         * gst/base/gstbasesrc.h: 
12706         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
12707         
12708 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
12709
12710         * Makefile.am:
12711           better report generation target (lcov needs a patch)
12712
12713 2005-07-05  Andy Wingo  <wingo@pobox.com>
12714
12715         * gst/elements, testsuite: Null if we got it...
12716
12717 2005-07-05  Wim Taymans  <wim@fluendo.com>
12718
12719         * configure.ac:
12720         * libs/gst/dataprotocol/Makefile.am:
12721         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
12722         * libs/gst/dataprotocol/dataprotocol.h:
12723         * pkgconfig/Makefile.am:
12724         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
12725         * pkgconfig/gstreamer-dataprotocol.pc.in:
12726         Ported dataprotol to 0.9. 
12727         Added pkgconfig files.
12728
12729 2005-07-05  Andy Wingo  <wingo@pobox.com>
12730
12731         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
12732         Default to returning TRUE for the case when tranform_caps returns
12733         a fixed caps, like for identity or volume.
12734
12735         * check/gst/gstbus.c (pound_bus_with_messages): 
12736         * check/gst/gstmessage.c (START_TEST): 
12737         * check/pipelines/simple_launch_lines.c (got_handoff): Application
12738         message API change.
12739
12740         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
12741         logic weaks here: always run transform_caps, trying passthrough
12742         operation only if the original caps intersects with the transform.
12743
12744         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
12745         source and sink caps.
12746
12747         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
12748         Intersect the peer caps with the pad template before going into
12749         transform_caps.
12750         (gst_base_transform_transform_caps): More debugging.
12751
12752         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
12753         src argument.
12754
12755 2005-07-04  Edward Hervey  <edward@fluendo.com>
12756
12757         * gst/gstutils.c:
12758         * gst/gstutils.h:
12759         (gst_pad_add_*_probe): now returns the signal id for better wrapping
12760         in bindings.
12761
12762 2005-07-04  Andy Wingo  <wingo@pobox.com>
12763
12764         * check/gst/gstpad.c: Only set explicit caps on pads.
12765
12766 2005-07-01  Andy Wingo  <wingo@pobox.com>
12767
12768         * tests/network-clock.scm: Commentary update.
12769
12770         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
12771         Didn't really make sense, not implementable with basetransform,
12772         etc.
12773         (gst_identity_transform): Unref inbuf via make_writable. Feeble
12774         attempt at implementing the sync property, needs an unlock method.
12775
12776         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
12777         New func, by default returns the same caps (the identity
12778         transformation).
12779         (gst_base_transform_getcaps): Uses transform_caps to return
12780         something sensible.
12781         (gst_base_transform_setcaps): Complicated logic to get caps on
12782         both pads, even if they are different, and to call set_caps once
12783         for every time both pads get their caps set.
12784         (gst_base_transform_handle_buffer): Give the ref to the transform
12785         function. Allows in-place modification of the buffer.
12786
12787         * gst/base/gstbasetransform.h (transform_caps): New class method.
12788         Given caps on one side, what can I do on the other.
12789         (set_caps): Take two caps, one for each side of the element.
12790
12791         * gst/gstpad.h:
12792         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
12793         caps in place. This is safe because we can check the mutability of
12794         the caps, and a good idea because fixate functions are just called
12795         as a matter of last resort. (Not actually implemented.)
12796         (gst_pad_set_caps): If the caps we're setting is actually the same
12797         as the existing pad caps, just update the pointer without calling
12798         setcaps. Assert that caps is either NULL or fixed, as per the
12799         docs.
12800
12801         * gst/gstghostpad.c: Update for fixate changes.
12802
12803 2005-07-02  Andy Wingo  <wingo@pobox.com>
12804
12805         * gst/gstcaps.c:
12806         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
12807         two refcounts makes it immutable, which is enough. Doc more.
12808
12809 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
12810
12811         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
12812           Put the mini_object into GValue as a mini_object,
12813           not a gpointer, since that's how we declared
12814           the signal.
12815
12816 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12817
12818         * examples/pwg/Makefile.am:
12819           Fix buildbot again.
12820
12821 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12822
12823         * docs/pwg/building-testapp.xml:
12824           Add extra check.
12825         * examples/pwg/Makefile.am:
12826           Fix buildbot.
12827
12828 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12829
12830         * configure.ac:
12831         * examples/Makefile.am:
12832         * examples/pwg/Makefile.am:
12833         * examples/pwg/extract.pl:
12834           Enable building the PWG examples.
12835         * docs/pwg/advanced-interfaces.xml:
12836           Add URI interface stub.
12837         * docs/pwg/advanced-types.xml:
12838         * docs/pwg/other-autoplugger.xml:
12839         * docs/pwg/appendix-porting.xml:
12840         * docs/pwg/pwg.xml:
12841           Add porting guide (mostly stubs), remove autoplugging (see ADM).
12842         * docs/pwg/building-boiler.xml:
12843         * docs/pwg/building-chainfn.xml:
12844         * docs/pwg/building-pads.xml:
12845         * docs/pwg/building-props.xml:
12846         * docs/pwg/building-state.xml:
12847         * docs/pwg/building-testapp.xml:
12848           Update the building-*.xml parts for 0.9 changes. All examples
12849           code blocks compile in examples/pwg/*.
12850
12851 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12852
12853         * docs/manual/advanced-autoplugging.xml:
12854         * docs/manual/appendix-checklist.xml:
12855         * docs/manual/appendix-integration.xml:
12856         * docs/manual/highlevel-components.xml:
12857           Fix playbin/decodebin examples, update docs a bit, mention bus
12858           instead of signals in various places, mention kmplayer and
12859           kaffeine since they have a working GStreamer backend in the KDE
12860           section.
12861
12862 2005-06-30  Wim Taymans  <wim@fluendo.com>
12863
12864         * CHANGES-0.9:
12865         * docs/design/draft-ghostpads.txt:
12866         * docs/design/draft-push-pull.txt:
12867         * docs/design/draft-query.txt:
12868         * docs/design/part-TODO.txt:
12869         * docs/design/part-query.txt:
12870         Added CHANGES-0.9 doc, updated status of other docs.
12871         
12872         * gst/gstquery.h:
12873         Remove "hmm" macro
12874
12875 2005-06-30  Wim Taymans  <wim@fluendo.com>
12876
12877         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12878         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12879         (gst_base_sink_change_state):
12880         * gst/base/gstbasesink.h:
12881         Some tweaks, only EOS and a buffer complete a preroll.
12882
12883 2005-06-30  Andy Wingo  <wingo@pobox.com>
12884
12885         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
12886         activate_push down to the internal pad as well.
12887
12888 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
12889
12890         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12891
12892         * gst/gsttaginterface.c:
12893           Some documentation fixes (#307394 and #307397).
12894
12895 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
12896
12897         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12898
12899         * gst/gstvalue.c: (gst_value_intersect_list):
12900           Fix memleak (#309125).
12901
12902 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12903
12904         * docs/manual/advanced-dataaccess.xml:
12905           Fix fakesrc example to compile; doesn't work, bug somewhere...?
12906         * docs/manual/basics-pads.xml:
12907           Add reference for filtered caps to above chapter.
12908
12909 2005-06-30  Wim Taymans  <wim@fluendo.com>
12910
12911         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
12912         (gst_bin_change_state):
12913         Probes are gone.
12914         Lame attempt at making the state change function a bit
12915         more readable.
12916
12917 2005-06-30  Wim Taymans  <wim@fluendo.com>
12918
12919         * docs/design/part-clocks.txt:
12920         * docs/design/part-element-sink.txt:
12921         * docs/design/part-events.txt:
12922         * docs/design/part-preroll.txt:
12923         * docs/design/part-states.txt:
12924         Some more tweeks and additions to the docs.
12925
12926 2005-06-30  Wim Taymans  <wim@fluendo.com>
12927
12928         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12929         (default_have_data), (gst_pad_class_init), (gst_pad_init),
12930         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12931         (gst_pad_check_pull_range), (gst_pad_get_range),
12932         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
12933         * gst/gstpad.h:
12934         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
12935         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12936         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12937         (gst_pad_remove_buffer_probe):
12938         Removed atomic operations, use existing LOCK.
12939         Move exception handling out of main code path.
12940
12941 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12942
12943         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12944         (silly_return_true_function), (gst_pad_class_init),
12945         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12946         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
12947         (gst_pad_send_event):
12948           Fix accumulator, add default value by using _emitv() instead
12949           of _emit() for signal emission.
12950
12951 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12952
12953         * docs/manual/advanced-dataaccess.xml:
12954         * examples/manual/Makefile.am:
12955           Add probe example.
12956         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
12957           Make work (??).
12958
12959 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
12960
12961         * gst/elements/gstfilesink.c: (gst_filesink_render):
12962           Simplify code so that we don't have to handle short
12963           writes and return GST_FLOW_ERROR if an error occured.
12964
12965 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12966
12967         * docs/gst/gstreamer-docs.sgml:
12968           Remove probes more.
12969
12970 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12971
12972         * docs/gst/gstreamer-sections.txt:
12973         * docs/gst/tmpl/gstpad.sgml:
12974         * docs/gst/tmpl/gstprobe.sgml:
12975         * gst/Makefile.am:
12976         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12977         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
12978         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12979         (gst_pad_push_event), (gst_pad_send_event):
12980         * gst/gstpad.h:
12981         * gst/gstutils.c: (gst_pad_add_data_probe),
12982         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12983         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12984         (gst_pad_remove_buffer_probe):
12985         * gst/gstutils.h:
12986           Remove old probes, add new g-signal-based probes and some utility
12987           functions.
12988
12989 2005-06-29  Edward Hervey  <edward@fluendo.com>
12990
12991         * gst/gstelementfactory.c:
12992         * gst/gstutils.h:
12993         * gst/gstutils.c:
12994         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
12995         the definition to the header file.
12996
12997 2005-06-29  Andy Wingo  <wingo@pobox.com>
12998
12999         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13000         plugins from the source directory.
13001
13002 2005-06-29  Wim Taymans  <wim@fluendo.com>
13003
13004         * docs/gst/tmpl/gstbuffer.sgml:
13005         * docs/gst/tmpl/gstclock.sgml:
13006         Some fixings for blantently wrong text.
13007
13008 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13009
13010         * check/Makefile.am:
13011         * gst/gst.c: (add_path_func), (init_pre):
13012         * gst/gstregistry.c: (gst_registry_add_path):
13013           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13014           only scan the GST_PLUGIN_PATH locations, and not add
13015           system locations
13016
13017 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13018
13019         * docs/gst/gstreamer-sections.txt:
13020         * docs/gst/tmpl/gstbasesrc.sgml:
13021         * gst/gstelement.c:
13022         * gst/gstelement.h:
13023         * gst/gstevent.c:
13024         * gst/gstutils.c:
13025           doc fixes
13026
13027 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13028
13029         * docs/manual/advanced-autoplugging.xml:
13030           Fix autoplugging example.
13031
13032 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13033
13034         * docs/manual/advanced-autoplugging.xml:
13035         * docs/manual/mime-world.fig:
13036           Try to get autoplugging working, fix type detection. Fix text
13037           in hello-world image.
13038
13039 2005-06-29  Wim Taymans  <wim@fluendo.com>
13040
13041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13042         (gst_base_sink_change_state):
13043         Small debug line.
13044
13045         * gst/gstclock.h:
13046         map SIGNAL and BROADCAST to the right function.
13047
13048         * gst/gstobject.h:
13049         Remove redundant braces.
13050
13051         * gst/gstpad.c: (gst_pad_set_caps):
13052         Don't call setcaps function when reseting caps to NULL.
13053
13054         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13055         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13056         (gst_system_clock_id_unschedule):
13057         Use BROADCAST as this is what we do.
13058
13059 2005-06-29  Wim Taymans  <wim@fluendo.com>
13060
13061         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13062         We are actually prerolling before commiting the state
13063         change. 
13064
13065 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13066
13067         * docs/manual/advanced-clocks.xml:
13068         * docs/manual/advanced-interfaces.xml:
13069         * docs/manual/advanced-metadata.xml:
13070         * docs/manual/advanced-position.xml:
13071         * docs/manual/advanced-schedulers.xml:
13072         * docs/manual/advanced-threads.xml:
13073         * docs/manual/appendix-porting.xml:
13074         * docs/manual/basics-bins.xml:
13075         * docs/manual/basics-bus.xml:
13076         * docs/manual/basics-elements.xml:
13077         * docs/manual/basics-helloworld.xml:
13078         * docs/manual/basics-pads.xml:
13079         * docs/manual/highlevel-components.xml:
13080         * docs/manual/manual.xml:
13081         * docs/manual/thread.fig:
13082           Update (until threads/scheduling) Application Development Manual;
13083           remove GstThread, add GstBus, add simple porting checklist, add
13084           documentation for tag writing, clocks, make all examples until this
13085           part compile and run.
13086         * examples/manual/Makefile.am:
13087           Update from changes to Application Development Manual; add bus
13088           example, remove thread example.
13089
13090 2005-06-28  Wim Taymans  <wim@fluendo.com>
13091
13092         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13093         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13094         (gst_bus_source_dispatch):
13095         Add debugging messages.
13096         Make internal methods static.
13097         Handle the case where the bus is flushed in the handler.
13098         
13099         * gst/gstelement.c: (gst_element_get_bus):
13100         Fix refcount in _get_bus();
13101
13102         * gst/gstpipeline.c: (gst_pipeline_change_state),
13103         (gst_pipeline_get_clock_func):
13104         Clock refcounting fixes.
13105         Handle the case where preroll timed out more gracefully.
13106         
13107         * gst/gstsystemclock.c: (gst_system_clock_dispose):
13108         Clean up the internal thread in dispose. This is needed
13109         for subclasses that actually get disposed.
13110         
13111         * gst/schedulers/threadscheduler.c:
13112         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13113         (gst_thread_scheduler_dispose):
13114         Free thread pool in dispose.
13115
13116 2005-06-28  Andy Wingo  <wingo@pobox.com>
13117
13118         * tests/network-clock-utils.scm (debug, print-event): New utils.
13119
13120         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13121         (*packet-loss*): Unified loss probability.
13122         (network-time): Report out-of-band events.
13123
13124         * tests/plot-data: Add support for out-of-band events. Hack it
13125         into this script instead of passing it down the pipe; should fix
13126         this later.
13127
13128 2005-06-28  Wim Taymans  <wim@fluendo.com>
13129
13130         * docs/gst/gstreamer.types:
13131         * docs/gst/tmpl/gstbasesrc.sgml:
13132         * docs/gst/tmpl/gstpad.sgml:
13133         Docs fixes.
13134
13135 2005-06-28  Wim Taymans  <wim@fluendo.com>
13136
13137         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13138         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13139         (gst_proxy_pad_do_fixatecaps):
13140         Correctly proxy the check_pull_range function.
13141
13142 2005-06-28  Andy Wingo  <wingo@pobox.com>
13143
13144         * tests/network-clock.scm: Removed need for slib.
13145         
13146 2005-06-28  Wim Taymans  <wim@fluendo.com>
13147
13148         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13149         (gst_basesink_preroll_queue_flush):
13150         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13151         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
13152         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13153         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13154         (gst_proxy_pad_set_property):
13155         * gst/gstpad.c:
13156         * gst/gstpad.h:
13157         * gst/gstqueue.c: (gst_queue_init):
13158         The deprecated pad loop function is removed now.
13159
13160 2005-06-28  Andy Wingo  <wingo@pobox.com>
13161
13162         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
13163         New parameters, simulate network packet loss.
13164
13165         * tests/network-clock-utils.scm: Initialize the RNG.
13166
13167 2005-06-28  Wim Taymans  <wim@fluendo.com>
13168
13169         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
13170         (gst_basesink_event), (gst_basesink_deactivate):
13171         Flushing the preroll queue always needs to unlock the waiters.
13172
13173 2005-06-28  Edward Hervey  <edward@fluendo.com>
13174
13175         * gst/gstpipeline.c: (gst_pipeline_send_event): 
13176         Wheen a seek was successful on a pipeline, set the stream_time to the
13177         seek offset in order to have a synchronized stream_time.
13178
13179 2005-06-28  Wim Taymans  <wim@fluendo.com>
13180
13181         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13182         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
13183         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
13184         (gst_proxy_pad_do_fixatecaps):
13185         Call wrapper function instead of just calling the function
13186         pointers. This takes care of any locking and whatmore.
13187
13188 2005-06-28  Wim Taymans  <wim@fluendo.com>
13189
13190         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
13191         (gst_pad_pull_range):
13192         * gst/gstpad.h:
13193         CONNECTED -> LINKED.
13194
13195 2005-06-28  Andy Wingo  <wingo@pobox.com>
13196
13197         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
13198         source-munging commit!!!
13199
13200         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
13201         (gst_object_sink): Take gpointer arguments, not GstObject --
13202         avoids casts. Like GLib.
13203
13204         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
13205         activate.
13206
13207 2005-06-27  Andy Wingo  <wingo@pobox.com>
13208
13209         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
13210         remaining buffer.
13211
13212         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
13213         returns a sorted copy of the trace list.
13214         (gst_alloc_trace_print_live): New API, only prints traces with
13215         live objects. Sort the list.
13216         (gst_alloc_trace_print_all): Sort the list.
13217         (gst_alloc_trace_print): Align columns.
13218
13219         * gst/elements/gstttypefindelement.c:
13220         * gst/elements/gsttee.c:
13221         * gst/base/gstbasesrc.c:
13222         * gst/base/gstbasesink.c:
13223         * gst/base/gstbasetransform.c:
13224         * gst/gstqueue.c: Adapt for pad activation changes.
13225
13226         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
13227         sched.
13228         (gst_pipeline_dispose): Drop ref on sched.
13229
13230         * gst/gstpad.c (gst_pad_init): Set the default activate func.
13231         (gst_pad_activate_default): Push mode by default.
13232         (pre_activate_switch, post_activate_switch): New stubs, things to
13233         do before and after switching activation modes on pads.
13234         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
13235         the pad's activate function to choose which mode to activate.
13236         Shortcut on deactivation and call the right function directly.
13237         (gst_pad_activate_pull): New API, (de)activates a pad in pull
13238         mode.
13239         (gst_pad_activate_push): New API, same for push mode.
13240         (gst_pad_set_activate_function) 
13241         (gst_pad_set_activatepull_function) 
13242         (gst_pad_set_activatepush_function): Setters for new API.
13243
13244         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
13245         Trace all miniobjects.
13246         (gst_mini_object_make_writable): Unref the arg if we copy, like
13247         gst_caps_make_writable.
13248
13249         * gst/gstmessage.c (_gst_message_initialize): No trace init.
13250
13251         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
13252         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
13253         Adapt for new pad API.
13254
13255         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
13256
13257         * gst/gstelement.h:
13258         * gst/gstelement.c (gst_element_iterate_src_pads) 
13259         (gst_element_iterate_sink_pads): New API functions.
13260         
13261         * gst/gstelement.c (iterator_fold_with_resync): New utility,
13262         should fold into gstiterator.c in some form.
13263         (gst_element_pads_activate): Simplified via use of fold and
13264         delegation of decisions to gstpad->activate.
13265
13266         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
13267         help in debugging.
13268
13269         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
13270         class once in init, like gstmessage. Didn't run into this issue
13271         but it seems correct. Don't initialize a trace, gstminiobject does
13272         that.
13273
13274         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
13275         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
13276         to the bus.
13277         (assert_live_count): New util function, uses alloc traces to check
13278         cleanup.
13279
13280         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
13281         To be modified when unlink drops the internal pad.
13282
13283 2005-06-27  Wim Taymans  <wim@fluendo.com>
13284
13285         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
13286         (gst_bin_change_state):
13287         Cleanup the get_state() function a little, make sure it
13288         iterates the same set of elements.
13289         Added stub iterate_state_order().
13290
13291 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13292
13293         * docs/gst/gstreamer-docs.sgml:
13294         * docs/gst/gstreamer-sections.txt:
13295         * docs/gst/gstreamer.types:
13296         * docs/gst/tmpl/gstbasesink.sgml:
13297         * docs/gst/tmpl/gstbasesrc.sgml:
13298         * docs/gst/tmpl/gstbasetransform.sgml:
13299         * docs/gst/tmpl/gstelement.sgml:
13300         * docs/gst/tmpl/gstiterator.sgml:
13301         * gst/base/gstbasesrc.c:
13302         * gst/base/gstbasesrc.h:
13303         * gst/base/gstbasetransform.h:
13304         * gst/gstelement.c:
13305         * gst/gstiterator.h:
13306           adding basetransform and iterator docs
13307
13308 2005-06-27  Andy Wingo  <wingo@pobox.com>
13309
13310         * docs/design/part-activation.txt: Notes on how activation should
13311         work -- not quite implemented yet.
13312
13313 2005-06-25  Wim Taymans  <wim@fluendo.com>
13314
13315         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
13316         At least get the chain function correct, needs more
13317         fixing.
13318
13319 2005-06-25  Wim Taymans  <wim@fluendo.com>
13320
13321         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13322         (gst_basesink_handle_object), (gst_basesink_event),
13323         (gst_basesink_do_sync), (gst_basesink_handle_event),
13324         (gst_basesink_change_state):
13325         * gst/gsttask.h:
13326         Right, two problems here: ghostpads don't take locks and
13327         glib _rec_mutex_lock_full() with depth==0 still locks.
13328         Catch illegal locking and g_warn them.
13329
13330 2005-06-25  Wim Taymans  <wim@fluendo.com>
13331
13332         * check/states/sinks.c: (START_TEST), (gst_object_suite):
13333         Have to check for completion now...
13334
13335 2005-06-25  Wim Taymans  <wim@fluendo.com>
13336
13337         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13338         (gst_basesink_handle_object), (gst_basesink_event),
13339         (gst_basesink_do_sync), (gst_basesink_handle_event),
13340         (gst_basesink_change_state):
13341         * gst/gstpad.h:
13342         Unlock STREAM_LOCK whatever the recursion was.
13343
13344 2005-06-25  Wim Taymans  <wim@fluendo.com>
13345
13346         * gst/base/gstbasesink.c: (gst_basesink_set_property),
13347         (gst_basesink_preroll_queue_empty),
13348         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
13349         (gst_basesink_event), (gst_basesink_do_sync),
13350         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
13351         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
13352         (gst_basesink_change_state):
13353         Reworked the base sink, handle event and buffer serialisation
13354         correctly and removed possible deadlock.
13355         Handle EOS correctly.
13356
13357 2005-06-25  Wim Taymans  <wim@fluendo.com>
13358
13359         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
13360         (gst_pipeline_change_state):
13361         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13362         Allow elements to post EOS in the state change function.
13363         Fix up -launch, make it exit the poll loop when the
13364         pipeline actually changed state.
13365         Fix up warning parsing in -launch.
13366
13367 2005-06-25  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
13370         (gst_tee_sink_activate):
13371         Core takes STREAM_LOCK for us now.
13372
13373 2005-06-25  Wim Taymans  <wim@fluendo.com>
13374
13375         * gst/gstelement.c: (gst_element_get_state_func),
13376         (gst_element_set_state):
13377         * gst/gstelement.h:
13378         * gst/gstmessage.c: (gst_message_parse_error),
13379         (gst_message_parse_warning):
13380         Keep track of current target state while performing a state
13381         change so that subclasses can do something interesting.
13382         Fix parsing of warning/error messages when GError is NULL.
13383
13384 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13385
13386         * docs/gst/Makefile.am:
13387         * docs/gst/gstreamer-docs.sgml:
13388         * docs/gst/gstreamer-sections.txt:
13389         * docs/gst/gstreamer.types:
13390         * docs/gst/tmpl/gstbasesink.sgml:
13391         * docs/gst/tmpl/gstbasesrc.sgml:
13392         * docs/gst/tmpl/gstbin.sgml:
13393         * docs/gst/tmpl/gstcompat.sgml:
13394         * docs/gst/tmpl/gstfakesink.sgml:
13395         * docs/gst/tmpl/gstfakesrc.sgml:
13396         * docs/gst/tmpl/gstfilesink.sgml:
13397         * docs/gst/tmpl/gstfilesrc.sgml:
13398         * docs/gst/tmpl/gstindex.sgml:
13399         * docs/manual/appendix-quotes.xml:
13400         * gst/base/gstbasesrc.h:
13401         * gst/elements/gstfakesrc.h:
13402         * gst/gstmessage.h:
13403           start pulling in base classes and elements in our docs
13404
13405 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
13406
13407         * docs/gst/Makefile.am:
13408         * docs/libs/Makefile.am:
13409           fixed make distcheck with gtk-doc 1.3
13410
13411 2005-06-23  Wim Taymans  <wim@fluendo.com>
13412
13413         * gst/gstelement.c: (gst_element_get_state_func),
13414         (gst_element_set_state), (gst_element_change_state):
13415         When the state did not change, also report NO_PREROLL
13416         when it matters.
13417
13418 2005-06-23  Wim Taymans  <wim@fluendo.com>
13419
13420         * gst/gstpad.c: (gst_pad_event_default):
13421         * gst/gstqueue.c: (gst_queue_loop):
13422         No unsafe task pausing please.
13423
13424 2005-06-23  Wim Taymans  <wim@fluendo.com>
13425
13426         * gst/schedulers/threadscheduler.c:
13427         (gst_thread_scheduler_task_start),
13428         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
13429         Ref the task before pushing it on the threadpool. This
13430         makes sure that we have a ref when the threadfunction is
13431         actually called.
13432
13433 2005-06-23  Andy Wingo  <wingo@pobox.com>
13434
13435         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
13436         offset is greater than the file's size.
13437
13438         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
13439         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
13440         * gst/gstobject.c (gst_object_class_init): Make the class lock
13441         recursive. Wim won't let me drop deep_notify. Decodebin works
13442         again, whoopdy doo.
13443
13444         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
13445         internal pad, and hacks accordingly. Doesn't do it on the target
13446         pad because we change its caps. Probably catches all cases of
13447         interest tho.
13448         (gst_ghost_pad_set_property): Connect to notify::caps as
13449         appropritate.
13450
13451         * tests/network-clock.scm (plot-simulation): Pipe data to the
13452         elite python skript.
13453
13454         * tests/network-clock-utils.scm (define-parameter): New macro,
13455         defines a parameter that can be set via the command line.
13456         (set-parameter!, parse-parameter-arguments): Command line args
13457         parser.
13458
13459         * tests/plot-data: Simple matplotlib-based plotter, takes input on
13460         stdin.
13461
13462 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
13463
13464         * gst/elements/gsttypefindelement.c:
13465         (gst_type_find_element_handle_event):
13466           Don't restart typefinding on a discont.
13467         * gst/gstelement.c: (gst_element_set_state):
13468           Debug spelling fix.
13469         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
13470           Allow changing mode of an active pad.
13471           Debug output fixes.
13472         * gst/registries/gstlibxmlregistry.c: (load_feature):
13473           Don't cast a static pad template to a normal pad template.
13474
13475 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13476
13477         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13478         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13479           remove gst_strtoll completely, since it didn't actually do
13480           anything more than what g_ascii_strtoull already does.
13481           check for range errors when deserializing
13482           do a cast for the unsigned cases; but further fixing needs
13483           a decision on what the interpretation of "(int)" and
13484           deserialization should be for values that fall outside the
13485           type's boundaries (ie, refuse, or interpret as casting)
13486
13487 2005-06-23  Wim Taymans  <wim@fluendo.com>
13488
13489         * check/Makefile.am:
13490         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
13491         * docs/design/part-live-source.txt:
13492         * docs/design/part-states.txt:
13493         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13494         (gst_basesrc_set_live), (gst_basesrc_is_live),
13495         (gst_basesrc_get_range), (gst_basesrc_activate),
13496         (gst_basesrc_change_state):
13497         * gst/base/gstbasesrc.h:
13498         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13499         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13500         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13501         * gst/gstelement.c: (gst_element_get_state_func),
13502         (gst_element_set_state):
13503         * gst/gstelement.h:
13504         * gst/gsttypes.h:
13505         * tools/gst-launch.c: (event_loop), (main):
13506         Added support for live sources and other elements that
13507         cannot do preroll.
13508         Updated design docs, added live-source design doc.
13509         Implemented live source functionality in basesrc
13510         Fix error condition in _bin_get_state()
13511         Implement live source handling in -launch.
13512         Added check for live sources.
13513         Fixed case in GstBin where elements were changed state
13514         multiple times.
13515
13516
13517 2005-06-23  Andy Wingo  <wingo@pobox.com>
13518
13519         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13520         borken refcounting.
13521
13522         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13523         gst_caps_replace takes care of this for us.
13524
13525         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13526         gst_pad_set_caps on the target, not just its setcaps() function.
13527
13528         * tests/network-clock.scm: 
13529         * tests/network-clock-utils.scm: A network clock simulator.
13530         Something of an algorithmic testbed before doing something in C.
13531
13532 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13533
13534         * check/Makefile.am:
13535         * check/gst/capslist.h:
13536           copy over from 0.8, and add two with bitmasks specified with
13537           (int) 0xFF...
13538         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13539           add test to parse everything from capslist.h
13540         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13541         (main):
13542           add test for structure deserialization
13543         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13544           add tests for deserialization of strings to int types
13545         * gst/gststructure.c: (gst_structure_nth_field_name):
13546         * gst/gststructure.h:
13547           add a way to get the name of a field referenced by index
13548         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13549           instead of checking if the resulting long long lies between
13550           min and max, we check if the long long would fit into
13551           a number of bytes for the final type.
13552           This fixes cases where a string represents 2^32 - 1, which
13553           when cast to int would be the (valid) -1, but is bigger than
13554           G_MAXINT
13555
13556 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13557
13558         * gst/parse/grammar.y:
13559           add a log line for type deserialization
13560
13561 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13562
13563         * check/gst/gstvalue.c: (START_TEST):
13564         * gst/gstvalue.c: (gst_value_deserialize):
13565           return long long, not int, so gint64 deserialization actually
13566           works.  Is there any flag that makes the compiler check this ?
13567           Fixes #308559
13568
13569 2005-06-22  Wim Taymans  <wim@fluendo.com>
13570
13571         * gst/gstbuffer.h:
13572         Added convenience macros for setting buffers in GValue.
13573
13574 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13575
13576         * check/gst/.cvsignore:
13577         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13578           add a test deserializing int64, and comment part out because
13579           it fails, yay !
13580
13581 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13582
13583         * check/Makefile.am:
13584         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
13585         * testsuite/Makefile.am:
13586         * testsuite/caps/Makefile.am:
13587         * testsuite/caps/value_serialize.c:
13588         * testsuite/test_gst_init.c:
13589           move a value_serialize test over
13590
13591 2005-06-20  Wim Taymans  <wim@fluendo.com>
13592
13593         * gst/gstpad.c:
13594         Small doc updates.
13595         
13596         * gst/gstvalue.c: (gst_value_compare_buffer),
13597         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
13598         (gst_value_compare_flags), (gst_value_serialize_flags),
13599         (gst_value_deserialize_flags), (_gst_value_initialize):
13600         Fix serialisation of buffers, they are not boxed types anymore
13601
13602 2005-06-20  Wim Taymans  <wim@fluendo.com>
13603
13604         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13605         Testcase to show error in buffer-on-caps serialisation.
13606
13607 2005-06-20  Andy Wingo  <wingo@pobox.com>
13608
13609         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
13610         will be adding to later.
13611
13612         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
13613         if its socks fill with rocks.
13614         (gst_system_clock_obtain): Set the name on object construction.
13615         Avoid double-checked locking.
13616
13617 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
13618
13619         * gst/gsturi.c: (gst_element_make_from_uri):
13620           Fix potential endless loop.
13621
13622 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13623
13624         * check/Makefile.am:
13625           add gsttag
13626         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
13627         (main):
13628           move over from testsuite dir and clean up
13629         * configure.ac:
13630         * gst/gsttag.c:
13631         * testsuite/Makefile.am:
13632         * testsuite/tags/.cvsignore:
13633         * testsuite/tags/Makefile.am:
13634         * testsuite/tags/merge.c:
13635           remove testsuite/tags
13636
13637 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13638
13639         * docs/gst/gstreamer-sections.txt:
13640         * docs/gst/tmpl/gstenumtypes.sgml:
13641         * win32/gstenumtypes.c:
13642           clean up documentation build a little
13643
13644 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13645
13646         * check/gstcheck.h:
13647           add macros for checking refcounts on objects and caps
13648         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
13649           add some more unit tests
13650         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13651         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
13652           fix leaked refcounts (I hope :)) so unittest works
13653         * gst/gstpad.h:
13654           whitespace removal
13655
13656 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13657
13658         * configure.ac: back to HEAD
13659
13660 === release 0.9.1 ===
13661
13662 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13663
13664         * NEWS:
13665         * RELEASE:
13666           updated
13667
13668 2005-06-17  Andy Wingo  <wingo@pobox.com>
13669
13670         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
13671         assert; it's always possible that the pad gets deactivated in
13672         between the checks in gstpad.c and the implementation. Rely on
13673         finish_preroll() to return a FLUSHING or similar instead of on the
13674         assert.
13675         
13676         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
13677         clock and post an EOS message if we come out of finish_preroll in
13678         the playing state.
13679
13680 2005-06-16  David Schleef  <ds@schleef.org>
13681
13682         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13683         (gst_capsfilter_set_property): Allow NULL as possible value
13684         for filter_caps property, indicating GST_CAPS_ANY.
13685
13686 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13687
13688         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
13689           fix debug output
13690         * gst/schedulers/Makefile.am:
13691           use libgst prefix
13692         * gstreamer.spec.in:
13693           fix spec for it
13694
13695 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13696
13697         * gstreamer.spec.in:
13698           clean up
13699
13700 2005-06-08  Andy Wingo  <wingo@pobox.com>
13701
13702         * gst/gstutils.c: RPAD fixes all around.
13703         (gst_element_link_pads): Refcounting fixes.
13704
13705         * tools/gst-inspect.c:
13706         * tools/gst-xmlinspect.c:
13707         * parse/grammar.y:
13708         * gst/base/gsttypefindhelper.c:
13709         * gst/base/gstbasesink.c:
13710         * gst/gstqueue.c: RPAD fixes.
13711
13712         * gst/gstghostpad.h:
13713         * gst/gstghostpad.c: New ghost pad implementation as full proxy
13714         pads. The tricky thing is they provide both source and sink
13715         interfaces, since they proxy the internal pad for the external
13716         pad, and vice versa. Implement with lower-level ProxyPad objects,
13717         with the interior proxy pad as a child of the exterior ghost pad.
13718         Should write a doc on this.
13719         
13720         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
13721         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
13722         gst_object API.
13723         
13724         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
13725         pads are real pads. No ghost pads in this file. Not documenting
13726         the myriad s/RPAD/PAD/ and REALIZE fixes.
13727         (gst_pad_class_init): Add properties for "direction" and
13728         "template". Both are construct-only, so they can't change during
13729         the life of the pad. Fixes properly deriving from GstPad.
13730         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
13731         derived objects, just set properties when creating the objects via
13732         g_object_new.
13733         (gst_pad_get_parent): Implement as a function, return NULL if the
13734         parent is not an element.
13735         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
13736         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
13737         
13738         * gst/gstobject.c (gst_object_class_init): Make name a construct
13739         property. Don't set it in the object init.
13740
13741         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
13742         with UNKNOWN direction.
13743         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
13744         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
13745         (gst_element_remove_pad): Remove ghost-pad special cases.
13746         (gst_element_pads_activate): Remove rpad cruft.
13747
13748         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
13749         catch the pad's-parent-not-an-element case.
13750
13751         * gst/gst.h: Include gstghostpad.h.
13752
13753         * gst/gst.c (init_post): No more real, ghost pads.
13754
13755         * gst/Makefile.am: Add gstghostpad.[ch].
13756
13757         * check/Makefile.am:
13758         * check/gst/gstbin.c:
13759         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
13760         into a bin creates ghost pads, and that the refcounts are right.
13761         Partly moved from gstbin.c.
13762
13763 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         * check/gst-libs/.cvsignore:
13766         * check/gst/.cvsignore:
13767         * check/pipelines/.cvsignore:
13768           ignore more
13769         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
13770         (START_TEST), (cleanup_suite), (main):
13771           add some tests related to cleanup after running pipelines
13772
13773 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13774
13775         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
13776           add a testsuite for GstBuffer
13777
13778 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13779
13780         * gst/gstminiobject.h:
13781           add defines for accessing the refcount
13782
13783 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
13784
13785         * Makefile.am: added support for html unit test coverage reports
13786
13787 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
13788
13789         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13790           Free existing caps if the capsfilter changes. Add a FIXME about
13791           setting those caps on the pads.
13792
13793         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
13794           Before adding a ghost pad to a parent bin, check that there isn't
13795           already one for the element on the bin. Prevents infinite recursion
13796           when using decodebin in parse pipelines. Andy says he'll rewrite the
13797           way this works anyway, so ignore the hack.
13798
13799 2005-06-02  Andy Wingo  <wingo@pobox.com>
13800
13801         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
13802         file size, pass it on to the type find helper.
13803
13804         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
13805         segment_start and segment_end properly according to the seek
13806         method. Segment_end is still a bit flaky because offset can be
13807         negative for CUR and END cases, but it takes -1 as an "unset"
13808         value.
13809
13810 2005-06-02  Wim Taymans  <wim@fluendo.com>
13811
13812         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
13813         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
13814         (gst_basesink_activate):
13815         * gst/base/gstbasesink.h:
13816         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13817         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13818         (gst_pad_query), (gst_pad_start_task):
13819         * gst/gstpad.h:
13820         * gst/gstqueue.c: (gst_queue_bufferalloc),
13821         (gst_queue_handle_sink_event), (gst_queue_chain):
13822         Bufferalloc: return GstFlowReturn to more accuratly report
13823         why allocation failed.
13824
13825 2005-06-02  Wim Taymans  <wim@fluendo.com>
13826
13827         * gst/gstpipeline.c: (gst_pipeline_send_event):
13828         Take snapshot of state without blocking.
13829
13830 2005-06-02  Wim Taymans  <wim@fluendo.com>
13831
13832         * docs/design/part-TODO.txt:
13833         * docs/design/part-caps.txt:
13834         * docs/design/part-clocks.txt:
13835         * docs/design/part-negotiation.txt:
13836         * docs/design/part-preroll.txt:
13837         Small doc updates 
13838
13839 2005-05-30  Wim Taymans  <wim@fluendo.com>
13840
13841         * gst/elements/gstidentity.c: (gst_identity_event),
13842         (gst_identity_transform), (gst_identity_get_property):
13843         Protect last_message property as it is accessed from
13844         multiple threads.
13845
13846 2005-05-30  Wim Taymans  <wim@fluendo.com>
13847
13848         * gst/gstelement.c: (gst_element_init),
13849         (gst_element_pads_activate), (gst_element_change_state):
13850         Slicker pad activation code.
13851
13852 2005-05-30  Wim Taymans  <wim@fluendo.com>
13853
13854         * gst/Makefile.am:
13855         * gst/gstelement.h:
13856         * gst/gstelementfactory.h:
13857         * gst/gsttypes.h:
13858         Move elementfactory methods to separate .h file.
13859
13860 2005-05-30  Wim Taymans  <wim@fluendo.com>
13861
13862         * docs/design/part-overview.txt:
13863         * gst/gstsystemclock.h:
13864         Small typo fixes, doc updates.
13865
13866 2005-05-30  Wim Taymans  <wim@fluendo.com>
13867
13868         * gst/gst.c: (gst_init_get_popt_table), (init_post),
13869         (init_popt_callback):
13870         Remove cpu-opt flag.
13871
13872 2005-05-30  Wim Taymans  <wim@fluendo.com>
13873
13874         * gst/gstbuffer.c: (gst_subbuffer_finalize),
13875         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
13876         * gst/gstbuffer.h:
13877         Avoid typechecking in places where not needed.
13878         Added accessor for malloc_data.
13879
13880 2005-05-30  Wim Taymans  <wim@fluendo.com>
13881
13882         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
13883         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
13884         (gst_pad_configure_sink), (gst_pad_configure_src),
13885         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
13886         (gst_pad_start_task):
13887         Propagate errors from _set_caps() in configure_src/sink
13888         functions instead of returning TRUE.
13889         FLUSH events can travel up and downstream
13890
13891
13892 2005-05-30  Wim Taymans  <wim@fluendo.com>
13893
13894         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13895         (gst_basesink_activate):
13896         Handle EOS in preroll.
13897
13898 2005-05-30  Wim Taymans  <wim@fluendo.com>
13899
13900         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13901         (gst_queue_loop), (gst_queue_handle_src_event):
13902         Remove old pieces of code
13903         Flushing the queue in an upstream event is a very bad idea.
13904
13905 2005-05-26  Andy Wingo  <wingo@pobox.com>
13906
13907         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
13908         gst_value_set_mini_object so as to add a ref on the object (which
13909         will be removed when the value is unset).
13910
13911         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
13912         arg type in ::handoff.
13913
13914         * gst/gstelement.c (gst_element_change_state): Also deactivate
13915         pads in READY->NULL, just in case the element didn't make it to
13916         PAUSED. Wingo tested, Wim approved.
13917
13918 2005-05-26  Wim Taymans  <wim@fluendo.com>
13919
13920         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13921         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13922         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
13923         A flushing pad cannot be used to alloc_buffer from.
13924
13925 2005-05-26  Wim Taymans  <wim@fluendo.com>
13926
13927         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
13928         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
13929         (gst_bus_source_dispatch), (gst_bus_source_finalize),
13930         (gst_bus_create_watch), (gst_bus_add_watch_full):
13931         * gst/gstbus.h:
13932         Implement a real GSource and use g_main_context_wakeup() to
13933         signal new messages instead of the socketpair.
13934
13935 2005-05-25  Wim Taymans  <wim@fluendo.com>
13936
13937         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
13938         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
13939         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13940         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13941         (gst_pad_send_event), (gst_pad_start_task):
13942         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
13943         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13944         (gst_queue_sink_activate), (gst_queue_src_activate),
13945         (gst_queue_change_state):
13946         * gst/gstqueue.h:
13947         Fix state changes for non sinks. We now change sinks, then elements
13948         with unconnected srcpads, then the rest.
13949         More efficient queue unlocking in flush and state changes.
13950         Set the pad activate mode even if it does not have an activate
13951         function.
13952
13953 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13954
13955         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
13956           Don't go in pull mode for non-seekable sources.
13957         * gst/elements/gsttypefindelement.h:
13958         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13959         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
13960         (free_entry), (stop_typefinding),
13961         (gst_type_find_element_handle_event), (find_peek),
13962         (gst_type_find_element_chain), (do_pull_typefind),
13963         (gst_type_find_element_change_state):
13964           Allow typefinding (w/o seeking) in push-mode, simplified version
13965           of what was in 0.8.
13966         * gst/gstutils.c: (gst_buffer_join):
13967         * gst/gstutils.h:
13968           gst_buffer_join() from 0.8.
13969
13970 2005-05-25  Wim Taymans  <wim@fluendo.com>
13971
13972         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13973         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13974         (gst_pad_send_event), (gst_pad_start_task):
13975         Disable attempt at mode switching until it is figured out.
13976
13977 2005-05-25  Wim Taymans  <wim@fluendo.com>
13978
13979         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
13980         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13981         (gst_basesink_finish_preroll), (gst_basesink_chain),
13982         (gst_basesink_loop), (gst_basesink_activate),
13983         (gst_basesink_change_state):
13984         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
13985         (gst_basesrc_get_range), (gst_basesrc_loop),
13986         (gst_basesrc_activate):
13987         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13988         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13989         (gst_real_pad_init), (gst_real_pad_set_property),
13990         (gst_real_pad_get_property), (gst_pad_set_active),
13991         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
13992         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
13993         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
13994         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
13995         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13996         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
13997         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
13998         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13999         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14000         (gst_pad_stop_task):
14001         * gst/gstpad.h:
14002         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14003         (gst_queue_loop), (gst_queue_src_activate):
14004         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14005         (gst_task_get_state):
14006         * gst/gsttask.h:
14007         * gst/schedulers/threadscheduler.c:
14008         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14009         Implement gst_pad_pause/start/stop_task(), take STREAM lock
14010         in task function.
14011         Remove ACTIVE pad flag, use FLUSHING everywhere
14012         Added _pad_chain(), _pad_get_range() to call chain/getrange 
14013         functions.
14014         Add locks around IS_FLUSHING when reading.
14015         Take STREAM lock in chain(), get_range() functions so plugins
14016         don't need to take it anymore.
14017         
14018
14019
14020 2005-05-25  Wim Taymans  <wim@fluendo.com>
14021
14022         * tools/gst-launch.c: (event_loop):
14023         Unref message after using its contents instead of
14024         before.
14025
14026 2005-05-24  Wim Taymans  <wim@fluendo.com>
14027
14028         * docs/design/draft-ghostpads.txt:
14029         * docs/design/draft-push-pull.txt:
14030         * docs/design/draft-query.txt:
14031         * docs/design/part-overview.txt:
14032         Docs updates, added general overview doc.
14033
14034 2005-05-21  David Schleef  <ds@schleef.org>
14035
14036         * docs/gst/tmpl/old/GstBin.sgml:
14037         * docs/gst/tmpl/old/GstBuffer.sgml:
14038         * docs/gst/tmpl/old/GstCaps.sgml:
14039         * docs/gst/tmpl/old/GstClock.sgml:
14040         * docs/gst/tmpl/old/GstCompat.sgml:
14041         * docs/gst/tmpl/old/GstData.sgml:
14042         * docs/gst/tmpl/old/GstElement.sgml:
14043         * docs/gst/tmpl/old/GstEvent.sgml:
14044         * docs/gst/tmpl/old/GstIndex.sgml:
14045         * docs/gst/tmpl/old/GstStructure.sgml:
14046         * docs/gst/tmpl/old/GstTag.sgml:
14047         * docs/gst/tmpl/old/cothreads.sgml:
14048         * docs/gst/tmpl/old/cothreads_compat.sgml:
14049         * docs/gst/tmpl/old/gettext.sgml:
14050         * docs/gst/tmpl/old/gobject2gtk.sgml:
14051         * docs/gst/tmpl/old/grammar.tab.sgml:
14052         * docs/gst/tmpl/old/gst-i18n-app.sgml:
14053         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14054         * docs/gst/tmpl/old/gst_private.sgml:
14055         * docs/gst/tmpl/old/gstaggregator.sgml:
14056         * docs/gst/tmpl/old/gstarch.sgml:
14057         * docs/gst/tmpl/old/gstatomic_impl.sgml:
14058         * docs/gst/tmpl/old/gstbufferstore.sgml:
14059         * docs/gst/tmpl/old/gstdata_private.sgml:
14060         * docs/gst/tmpl/old/gstdisksink.sgml:
14061         * docs/gst/tmpl/old/gstdisksrc.sgml:
14062         * docs/gst/tmpl/old/gstelementfactory.sgml:
14063         * docs/gst/tmpl/old/gstextratypes.sgml:
14064         * docs/gst/tmpl/old/gstfakesink.sgml:
14065         * docs/gst/tmpl/old/gstfakesrc.sgml:
14066         * docs/gst/tmpl/old/gstfdsink.sgml:
14067         * docs/gst/tmpl/old/gstfdsrc.sgml:
14068         * docs/gst/tmpl/old/gstfilesink.sgml:
14069         * docs/gst/tmpl/old/gstfilesrc.sgml:
14070         * docs/gst/tmpl/old/gsthttpsrc.sgml:
14071         * docs/gst/tmpl/old/gstidentity.sgml:
14072         * docs/gst/tmpl/old/gstindexfactory.sgml:
14073         * docs/gst/tmpl/old/gstmarshal.sgml:
14074         * docs/gst/tmpl/old/gstmd5sink.sgml:
14075         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14076         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14077         * docs/gst/tmpl/old/gstpadtemplate.sgml:
14078         * docs/gst/tmpl/old/gstpipefilter.sgml:
14079         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14080         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14081         * docs/gst/tmpl/old/gstshaper.sgml:
14082         * docs/gst/tmpl/old/gstspider.sgml:
14083         * docs/gst/tmpl/old/gstspideridentity.sgml:
14084         * docs/gst/tmpl/old/gststatistics.sgml:
14085         * docs/gst/tmpl/old/gsttee.sgml:
14086         * docs/gst/tmpl/old/gsttimecache.sgml:
14087         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14088         * docs/gst/tmpl/old/gstxmlregistry.sgml:
14089         * docs/gst/tmpl/old/gthread-cothreads.sgml:
14090         * docs/gst/tmpl/old/types.sgml:
14091           I didn't intend to add these or check them in.
14092
14093 2005-05-19  David Schleef  <ds@schleef.org>
14094
14095         * configure.ac: Use -no-common everywhere.  In a sane world, it
14096           would be the default in libtool, because without it, you can't
14097           build DLLs on Windows.
14098         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14099         * docs/gst/gstreamer-sections.txt:
14100         * docs/gst/tmpl/gstcpu.sgml:
14101         * docs/gst/tmpl/gstdata.sgml:
14102         * docs/gst/tmpl/gstthread.sgml:
14103
14104 2005-05-19  David Schleef  <ds@schleef.org>
14105
14106         * gst/gstminiobject.c: (gst_value_set_mini_object),
14107         (gst_value_take_mini_object), (gst_value_get_mini_object):
14108         * gst/gstminiobject.h: Add GValue set/get functions.
14109
14110 2005-05-19  Wim Taymans  <wim@fluendo.com>
14111
14112         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14113         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14114         (gst_subbuffer_init), (gst_buffer_is_span_fast):
14115         * gst/gstbuffer.h:
14116         * gst/gstbus.c: (gst_bus_post):
14117         * gst/gstelement.c: (gst_element_get_random_pad):
14118         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14119         Make subbufer unref the parent in finalize.
14120         some more debugging info.
14121
14122
14123 2005-05-19  Wim Taymans  <wim@fluendo.com>
14124
14125         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14126         (gst_basesink_init), (gst_basesink_finalize),
14127         (gst_basesink_activate), (gst_basesink_change_state):
14128         Don't free preroll queue too early.
14129
14130 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14131
14132         * gst/Makefile.am:
14133         * gst/ROADMAP:
14134           Hi, I'm outdated. Please shoot me.
14135
14136 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14137
14138         * gst/gstpipeline.c: (gst_pipeline_send_event):
14139           Do not access variables after they have been deleted.
14140
14141 2005-05-19  Wim Taymans  <wim@fluendo.com>
14142
14143         * tools/gst-inspect.c: (print_plugin_features):
14144         A plugin feature does unfortunatly not use the
14145         object name yet...
14146
14147 2005-05-18  Wim Taymans  <wim@fluendo.com>
14148
14149         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14150         Port _span() functions to new subbuffers.
14151
14152 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14153
14154         * gst/gstbin.c: (gst_bin_add_func):
14155           Fix clock settery in bins when adding kids after the clock has
14156           been selected.
14157
14158 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14159
14160         * gst/elements/gstidentity.c: (gst_identity_class_init):
14161           Workaround until signals support GstMiniObject.
14162
14163 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14164
14165         * gst/gstbuffer.c:
14166         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
14167
14168 2005-05-18  Wim Taymans  <wim@fluendo.com>
14169
14170         * gst/base/Makefile.am:
14171         * gst/base/gstadapter.c: (gst_adapter_base_init),
14172         (gst_adapter_class_init), (gst_adapter_init),
14173         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
14174         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
14175         (gst_adapter_flush), (gst_adapter_available),
14176         (gst_adapter_available_fast):
14177         * gst/base/gstadapter.h:
14178         Ported and added adapter to the base classes.
14179
14180 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14181
14182         * gst/gst.c:
14183         * gst/gstmessage.c:
14184           Make sure the class is reffed/unreffed once before threads can be
14185           used.  Fixes #304551.
14186
14187 2005-05-17  Wim Taymans  <wim@fluendo.com>
14188
14189         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
14190         (gst_basesink_chain_unlocked), (gst_basesink_activate):
14191         * gst/gstminiobject.c: (gst_mini_object_get_type),
14192         (gst_mini_object_free):
14193         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
14194         (gst_pad_push), (gst_pad_push_event):
14195         * gst/gstqueue.c: (gst_queue_change_state):
14196         Don't queue buffers in basesink when we are flushing.
14197         Unref buffer when flushing in basesink.
14198         Flush queue when going to READY
14199         Unref buffer when _push() returns an error.
14200         Don't free MiniObject instance when refcount is incremented
14201         in _finalize() so that we can recover objects.
14202
14203 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14204
14205         * docs/manual/advanced-schedulers.xml:
14206         * docs/manual/appendix-checklist.xml:
14207         * docs/pwg/advanced-clock.xml:
14208         * docs/pwg/advanced-interfaces.xml:
14209         * docs/pwg/advanced-request.xml:
14210         * docs/pwg/advanced-types.xml:
14211         * docs/pwg/intro-preface.xml:
14212         * examples/plugins/example.c: (gst_example_get_type),
14213         (gst_example_class_init), (gst_example_chain),
14214         (gst_example_set_property), (gst_example_get_property),
14215         (gst_example_change_state), (plugin_init):
14216         * examples/plugins/example.h:
14217           small doc fixes
14218
14219 2005-05-17  Wim Taymans  <wim@fluendo.com>
14220
14221         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
14222         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
14223         * gst/gstqueue.c: (gst_queue_change_state):
14224         Clear queue when going to READY.
14225         Remove IN_SETCAPS flag too.
14226
14227 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
14228
14229         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
14230           Remove implicit cast from gboolean to GstElementStateReturn;
14231           make sure we still return failure in paused => ready case if
14232           the parent class fails to change state and our own stop 
14233           vfunc succeeds.
14234
14235 2005-05-17  Wim Taymans  <wim@fluendo.com>
14236
14237         * tools/gst-launch.c: (event_loop):
14238         Message was unreffed too soon.
14239
14240 2005-05-16  Andy Wingo  <wingo@pobox.com>
14241
14242         * gst/gstbin.c (sink_iterator_filter): Err... um...
14243
14244         * check/gst/gstbin.c (test_ghost_pads): New test for the
14245         ghosting-if-elements-not-in-same-bin behavior.
14246
14247 2005-05-16  David Schleef  <ds@schleef.org>
14248
14249         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
14250         accessing refcount directly.
14251
14252 2005-05-15  David Schleef  <ds@schleef.org>
14253
14254         * check/Makefile.am: remove GstData checks
14255         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
14256         * gst/Makefile.am: add miniobject, remove data
14257         * gst/gst.h: add miniobject, remove data
14258         * gst/gstdata.c: remove
14259         * gst/gstdata.h: remove
14260         * gst/gstdata_private.h: remove
14261         * gst/gsttypes.h: remove GstEvent and GstMessage
14262         * gst/gstelement.c: (gst_element_post_message): fix for API changes
14263         * gst/gstmarshal.list: change BOXED -> OBJECT
14264
14265         Implement GstMiniObject.
14266         * gst/gstminiobject.c:
14267         * gst/gstminiobject.h:
14268
14269         Modify to be subclasses of GstMiniObject.
14270         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
14271         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
14272         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
14273         (gst_subbuffer_get_type), (gst_subbuffer_init),
14274         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
14275         (gst_buffer_span):
14276         * gst/gstbuffer.h:
14277         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
14278         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
14279         (_gst_event_copy), (gst_event_new):
14280         * gst/gstevent.h:
14281         * gst/gstmessage.c: (_gst_message_initialize),
14282         (gst_message_get_type), (gst_message_class_init),
14283         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
14284         (gst_message_new), (gst_message_new_error),
14285         (gst_message_new_warning), (gst_message_new_tag),
14286         (gst_message_new_state_changed), (gst_message_new_application):
14287         * gst/gstmessage.h:
14288         * gst/gstprobe.c: (gst_probe_perform),
14289         (gst_probe_dispatcher_dispatch):
14290         * gst/gstprobe.h:
14291         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
14292         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
14293         (_gst_query_copy), (gst_query_new):
14294
14295         Update elements for GstData -> GstMiniObject changes
14296         * gst/gstquery.h:
14297         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
14298         (gst_queue_chain), (gst_queue_loop):
14299         * gst/elements/gstbufferstore.c:
14300         (gst_buffer_store_add_buffer_func),
14301         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
14302         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14303         (gst_fakesink_render):
14304         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14305         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
14306         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
14307         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
14308         (gst_filesrc_create_read):
14309         * gst/elements/gstidentity.c: (gst_identity_class_init):
14310         * gst/elements/gsttypefindelement.c:
14311         (gst_type_find_element_src_event), (free_entry_buffers),
14312         (gst_type_find_element_handle_event):
14313         * libs/gst/dataprotocol/dataprotocol.c:
14314         (gst_dp_header_from_buffer):
14315         * libs/gst/dataprotocol/dataprotocol.h:
14316         * libs/gst/dataprotocol/dp-private.h:
14317
14318 2005-05-15  David Schleef  <ds@schleef.org>
14319
14320         * gst/elements/gstelements.c: Don't include headers that were
14321         just removed.
14322
14323 2005-05-15  David Schleef  <ds@schleef.org>
14324
14325         * gst/elements/Makefile.am: Remove some elements that don't
14326         need to be in the core (or even exist at all).
14327         * gst/elements/gstaggregator.c:
14328         * gst/elements/gstaggregator.h:
14329         * gst/elements/gstmd5sink.c:
14330         * gst/elements/gstmd5sink.h:
14331         * gst/elements/gstmultifilesrc.c:
14332         * gst/elements/gstmultifilesrc.h:
14333         * gst/elements/gstpipefilter.c:
14334         * gst/elements/gstpipefilter.h:
14335         * gst/elements/gstshaper.c:
14336         * gst/elements/gstshaper.h:
14337         * gst/elements/gststatistics.c:
14338         * gst/elements/gststatistics.h:
14339         * po/POTFILES.in: Remove above files.
14340
14341 2005-05-14  Andy Wingo  <wingo@pobox.com>
14342
14343         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
14344         so as to get the refs right.
14345         (sink_iterator_filter): New function, wraps bin_element_is_sink,
14346         unreffing objects that don't pass the filter.
14347
14348         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
14349         gst_element_set_bus.
14350         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
14351         normal cases, this will destroy the bus.
14352
14353         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
14354         object.
14355
14356         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
14357         has no sinks.
14358
14359 2005-05-13  Andy Wingo  <wingo@pobox.com>
14360
14361         * gst/gstutils.c (gst_element_link_pads): Instead of calling
14362         gst_pad_link, call pad_link_maybe_ghosting,
14363         (pad_link_maybe_ghosting): Links pads, making sure that the
14364         elements being linked are in the same bin.
14365         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
14366         Helpers for pad_link_maybe_ghosting.
14367
14368 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14369
14370         * configure.ac:
14371           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
14372
14373 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14374
14375         * docs/design/part-element-source.txt:
14376           Mention GstPushSrc
14377
14378 2005-05-12  Wim Taymans  <wim@fluendo.com>
14379
14380         * gst/base/gstbasesink.c: (gst_basesink_init),
14381         (gst_basesink_activate):
14382         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
14383         (gst_basesrc_is_seekable):
14384         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14385         (bin_element_is_sink), (gst_bin_change_state):
14386         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14387         * gst/gstelement.h:
14388         Identify sinks by their flag to avoid overly complicated
14389         checks (fow now).
14390         Do state changes even for elements not reachable from the
14391         sinks.
14392         BaseSink is a sink now :)
14393         Some more debugging info in the basesrc.
14394
14395
14396 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14397
14398         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
14399           Implement _query on a bin, similar to _send_event.
14400
14401 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14402
14403         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
14404           Discont event offset format should be GST_FORMAT_BYTES,
14405           not GST_FORMAT_TIME.
14406
14407 2005-05-12  Wim Taymans  <wim@fluendo.com>
14408
14409         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
14410         Same fix as Ronald's but without the signal. 
14411
14412 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14413
14414         * gst/gstutils.c: (gst_element_query_position):
14415           No, an element is not a pad.
14416
14417 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14418
14419         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
14420         (gst_bin_get_state):
14421           If a child is removed from a bin while we remove the child from
14422           the bin and while we're retrieving its state, signal this to the
14423           get_state function so we abort the wait (instead of waiting for
14424           a timeout) and can immediately re-iterate over all other elements.
14425
14426 2005-05-12  Wim Taymans  <wim@fluendo.com>
14427
14428         * gst/base/Makefile.am:
14429         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
14430         (gst_basesrc_start):
14431         * gst/base/gstbasesrc.h:
14432         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
14433         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
14434         (gst_pushsrc_init), (gst_pushsrc_create):
14435         * gst/base/gstpushsrc.h:
14436         Added is_seekable to BaseSrc
14437         Added simple PushSrc.
14438
14439 2005-05-11  Wim Taymans  <wim@fluendo.com>
14440
14441         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14442         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14443         (gst_element_link_pads), (gst_element_query_position),
14444         (gst_element_query_convert), (intersect_caps_func),
14445         (gst_pad_query_position), (gst_pad_query_convert):
14446         Fix refcounting in utils function.
14447         No point in trying to activate a pad when it's added, it could
14448         be added from the state change function and then we deadlock, the
14449         element has to decide what to do.
14450
14451 2005-05-10  Andy Wingo  <wingo@pobox.com>
14452
14453         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
14454         *all* the arguments.
14455
14456         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
14457         stream lock if it's a FLUSH_DONE; normal flushes don't get the
14458         lock (according to the docs -- if this is wrong change the docs).
14459
14460         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
14461         flush messages in the NULL state.
14462
14463         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
14464         message immediately and return.
14465         (gst_bus_set_flushing): New function. If a bus is flushing, it
14466         flushes out any queued messages and immediately unrefs new
14467         messages. This is so when an element goes to NULL, all of the
14468         unhandled messages coming from it can be freed, and their
14469         references to the element dropped. In other words: message source
14470         ref considered harmful :P
14471
14472         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
14473         we're finished with it.
14474
14475         * gst/gstmessage.c (gst_message_new_state_changed): 
14476
14477 2005-05-10  Wim Taymans  <wim@fluendo.com>
14478
14479         * gst/gstvalue.c: (gst_value_compare_flags),
14480         (gst_value_serialize_flags), (gst_value_deserialize_flags),
14481         (_gst_value_initialize):
14482         Added flags serialize/deserialize/compare code.
14483
14484 2005-05-09  Andy Wingo  <wingo@pobox.com>
14485
14486         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
14487         Intersect the peer's caps with our caps.
14488
14489 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14490
14491         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14492         * gst/elements/gsttypefindelement.c: (find_peek):
14493           Handle negative offsets better. Fixes decodebin.
14494
14495 2005-05-09  Wim Taymans  <wim@fluendo.com>
14496
14497         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14498         (gst_base_transform_event):
14499         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14500         Implement accept_caps.
14501         Fix silly lock/unlock mismatch in base class.
14502
14503 2005-05-09  Wim Taymans  <wim@fluendo.com>
14504
14505         * docs/design/draft-push-pull.txt:
14506         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14507         * gst/elements/gstfilesink.c: (gst_filesink_init),
14508         (gst_filesink_query):
14509         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14510         (gst_type_find_handle_src_query), (find_element_get_length):
14511         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14512         * gst/gstelement.h:
14513         * gst/gstmessage.c:
14514         * gst/gstmessage.h:
14515         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14516         (gst_real_pad_get_caps_unlocked),
14517         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14518         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14519         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14520         (gst_real_pad_dispose), (gst_real_pad_finalize),
14521         (gst_pad_load_and_link), (gst_pad_save_thyself),
14522         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14523         (gst_pad_check_pull_range), (gst_pad_pull_range),
14524         (gst_pad_template_get_type), (gst_pad_template_class_init),
14525         (gst_pad_template_init), (gst_pad_template_dispose),
14526         (name_is_valid), (gst_static_pad_template_get),
14527         (gst_pad_template_new), (gst_static_pad_template_get_caps),
14528         (gst_pad_template_get_caps), (gst_pad_set_element_private),
14529         (gst_pad_get_element_private), (gst_pad_start_task),
14530         (gst_pad_pause_task), (gst_pad_stop_task),
14531         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14532         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14533         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14534         (gst_ghost_pad_new):
14535         * gst/gstpad.h:
14536         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14537         (gst_query_new_position), (gst_query_set_position),
14538         (gst_query_parse_position), (gst_query_new_convert),
14539         (gst_query_set_convert), (gst_query_parse_convert):
14540         * gst/gstquery.h:
14541         * gst/gstqueryutils.c:
14542         * gst/gstqueryutils.h:
14543         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14544         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14545         (gst_queue_handle_src_query):
14546         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14547         (gst_element_query_position), (gst_element_query_convert),
14548         (intersect_caps_func), (gst_pad_query_position),
14549         (gst_pad_query_convert):
14550         * gst/gstutils.h:
14551         * tools/gst-inspect.c: (print_pad_info):
14552         * tools/gst-xmlinspect.c: (print_element_info):
14553         Remove old query functions. Ported old code.
14554         Added position/convert helper functions to gstutils.
14555         Reordered gstpad.c code, grouping relevant things.
14556         Remove gst_message_new(), always need to speficy a specific
14557         message.
14558
14559
14560 2005-05-09  Andy Wingo  <wingo@pobox.com>
14561
14562         * gst/gstiterator.h: Add some includes.
14563
14564         * gst/gstqueryutils.h: Include more headers.
14565
14566         * gst/gstpad.h:
14567         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
14568         some uses of gst_pad_query.
14569
14570         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
14571         NULL out parameters.
14572         (gst_query_new_position): New proc, allocates a new position
14573         query.
14574
14575         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
14576         gstqueryutils.c to the build.
14577
14578         * gst/gststructure.c (gst_structure_set_valist): Implement with
14579         the generic G_VALUE_COLLECT.
14580         
14581 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
14582
14583         * gst/Makefile.am: (gst_headers):
14584         Added gstqueryutils.h to the list of headers to install, that was
14585         a 'nachty' move wingo :)
14586
14587 2005-05-06  Andy Wingo  <wingo@pobox.com>
14588
14589         * gst/gstquery.h
14590         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
14591         GstData, init a memchunk.
14592         (standard_definitions): Add a few query types, deprecate a few.
14593         (gst_query_get_type): New proc.
14594         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
14595         implementation.
14596         (gst_query_new_application, gst_query_get_structure): New public
14597         procs.
14598
14599         * docs/design/draft-query.txt: Removed LINKS from the query types,
14600         because all the rest can be dispatched to other pads -- seemed
14601         ugly to have a query that couldn't be dispatched. internal_links
14602         is fine as a pad method.
14603
14604         * gst/gstpad.h: Add query2 as a pad method, add the new functions
14605         in gstpad.c, but maintain binary compatibility for the moment.
14606         Will fix before 0.9 is out.
14607
14608         * gst/gstqueryutils.c: 
14609         * gst/gstqueryutils.h: New files, implement 3 methods for each
14610         query type: parse_query, parse_response, and set. Probably need an
14611         allocator as well.
14612
14613         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
14614
14615         * gst/elements/gstfilesink.c (gst_filesink_query2):
14616         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
14617         query_types, and formats methods.
14618
14619         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
14620         (gst_pad_set_query2_function): New functions.
14621         (gst_real_pad_init): Set query2_default as the default query2
14622         function. Basically just dispatches to internally linked pads.
14623
14624         Needs review!
14625         
14626         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
14627         without using the atomic operations. Only one thread can possibly
14628         be accessing the data at this point. Changed so as to avoid
14629         gst_atomic operations.
14630
14631 2005-05-06  Wim Taymans  <wim@fluendo.com>
14632
14633         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
14634         Also set caps if we use the fallback buffer alloc.
14635
14636 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
14637
14638         * docs/gst/Makefile.am:
14639         * docs/gst/gstreamer-docs.sgml:
14640         * docs/gst/gstreamer-sections.txt:
14641         * docs/gst/tmpl/gstatomic.sgml:
14642         * docs/gst/tmpl/gstmemchunk.sgml:
14643         * testsuite/elements/struct_i386.h:
14644         * win32/GStreamer.vcproj:
14645         * win32/Makefile:
14646           Purge GstAtomic stuff from docs and win32 makefiles as well
14647
14648 2005-05-06  Wim Taymans  <wim@fluendo.com>
14649
14650         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
14651         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
14652         * gst/gstpad.c: (gst_pad_peer_get_caps):
14653         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14654         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14655         (gst_queue_src_activate), (gst_queue_change_state):
14656         * gst/gstqueue.h:
14657         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14658         (intersect_caps_func):
14659         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
14660         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
14661         Some fixes for the peer_get_caps() change.
14662
14663 2005-05-06  Wim Taymans  <wim@fluendo.com>
14664
14665         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14666         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
14667         (gst_basesink_activate):
14668         Actually do something with error codes returned from the push
14669         functions.
14670
14671 2005-05-06  Wim Taymans  <wim@fluendo.com>
14672
14673         * docs/design/part-element-sink.txt:
14674         * docs/design/part-element-source.txt:
14675         * gst/base/gstbasesink.c: (gst_basesink_class_init),
14676         (gst_basesink_event), (gst_basesink_activate):
14677         * gst/base/gstbasesink.h:
14678         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
14679         (gst_basesrc_activate):
14680         * gst/base/gstbasesrc.h:
14681         * gst/gstelement.c: (gst_element_pads_activate):
14682         Some more documentation.
14683         Fixed scheduling decision in _pads_activate().
14684
14685 2005-05-05  Andy Wingo  <wingo@pobox.com>
14686
14687         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
14688         the test suite.
14689
14690 2005-05-05  Wim Taymans  <wim@fluendo.com>
14691
14692         * gst/base/Makefile.am:
14693         * gst/base/gstbasesink.h:
14694         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14695         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
14696         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
14697         (gst_collectpads_class_init), (gst_collectpads_init),
14698         (gst_collectpads_finalize), (gst_collectpads_new),
14699         (gst_collectpads_set_function), (gst_collectpads_add_pad),
14700         (find_pad), (gst_collectpads_remove_pad),
14701         (gst_collectpads_is_active), (gst_collectpads_collect),
14702         (gst_collectpads_collect_range), (gst_collectpads_start),
14703         (gst_collectpads_stop), (gst_collectpads_peek),
14704         (gst_collectpads_pop), (gst_collectpads_available),
14705         (gst_collectpads_read), (gst_collectpads_flush),
14706         (gst_collectpads_chain):
14707         * gst/base/gstcollectpads.h:
14708         * gst/elements/Makefile.am:
14709         * gst/elements/gstelements.c:
14710         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14711         (gst_fakesink_get_times), (gst_fakesink_event),
14712         (gst_fakesink_preroll), (gst_fakesink_render):
14713         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14714         (gst_filesink_init), (gst_filesink_set_location),
14715         (gst_filesink_open_file), (gst_filesink_close_file),
14716         (gst_filesink_pad_query), (gst_filesink_event),
14717         (gst_filesink_render), (gst_filesink_change_state):
14718         * gst/elements/gstfilesink.h:
14719         Added object to help in making collect pad based elements.
14720         Ported filesink.
14721         Make event function in sink baseclass return gboolean.
14722
14723 2005-05-05  Wim Taymans  <wim@fluendo.com>
14724
14725         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
14726         (gst_bin_get_by_name):
14727         * gst/gstbuffer.h:
14728         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
14729         (gst_clock_finalize):
14730         * gst/gstdata.c: (gst_data_replace):
14731         * gst/gstdata.h:
14732         * gst/gstelement.c: (gst_element_request_pad),
14733         (gst_element_pads_activate):
14734         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14735         (gst_object_unref):
14736         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14737         (gst_pad_set_checkgetrange_function),
14738         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
14739         (gst_pad_check_pull_range), (gst_pad_pull_range),
14740         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14741         (gst_pad_pause_task), (gst_pad_stop_task):
14742         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14743         (gst_element_request_pad), (gst_pad_proxy_getcaps):
14744         Fix name lookup in GstBin.
14745         Added _data_replace() function and _buffer_replace()
14746         Use finalize method to clean up clock.
14747         Fix refcounting on request pads.
14748         Fix pad schedule mode error.
14749         Some more object refcounting debug info,
14750
14751
14752 2005-05-04  Andy Wingo <wingo@pobox.com>
14753
14754         * check/Makefile.am:
14755         * docs/gst/tmpl/gstatomic.sgml:
14756         * docs/gst/tmpl/gstplugin.sgml:
14757         * gst/base/gstbasesink.c: (gst_basesink_activate):
14758         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
14759         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
14760         (gst_basesrc_query), (gst_basesrc_set_property),
14761         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
14762         (gst_basesrc_activate):
14763         * gst/base/gstbasesrc.h:
14764         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
14765         (gst_base_transform_src_activate):
14766         * gst/elements/gstelements.c:
14767         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14768         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14769         * gst/elements/gsttee.c: (gst_tee_sink_activate):
14770         * gst/elements/gsttypefindelement.c: (find_element_get_length),
14771         (gst_type_find_element_checkgetrange),
14772         (gst_type_find_element_activate):
14773         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
14774         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
14775         (gst_caps_load_thyself):
14776         * gst/gstelement.c: (gst_element_pads_activate),
14777         (gst_element_save_thyself), (gst_element_restore_thyself):
14778         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
14779         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
14780         * gst/gstpad.h:
14781         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
14782         (gst_xml_parse_file), (gst_xml_parse_memory),
14783         (gst_xml_get_element), (gst_xml_make_element):
14784         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14785         (_file_index_id_save_xml), (gst_file_index_commit):
14786         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
14787         (read_enum), (load_pad_template), (load_feature), (load_plugin),
14788         (load_paths):
14789         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
14790         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
14791         * tools/gst-complete.c: (main):
14792         * tools/gst-compprep.c: (main):
14793         * tools/gst-inspect.c: (print_element_properties_info):
14794         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
14795         * tools/gst-xmlinspect.c: (print_element_properties):
14796         GCC 4 fixen.
14797         
14798 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14799
14800         * gst/gstplugin.c: (gst_plugin_check_module),
14801         (gst_plugin_check_file), (gst_plugin_load_file):
14802             apply patch from #172526 to make register work on MacOSX
14803
14804 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14805
14806         * docs/gst/tmpl/gstconfig.sgml:
14807         * gst/gstconfig.h.in:
14808           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
14809         * testsuite/debug/printf_extension.c: (main):
14810           Do not use GST_PTR_FORMAT on pointers to types with
14811           sizeof < sizeof(gpointer).  Fixes test on 64-bit
14812         * testsuite/elements/property.h:
14813           use correct printf format
14814
14815 2005-05-02  Wim Taymans  <wim@fluendo.com>
14816
14817         * docs/design/draft-push-pull.txt:
14818         * docs/design/draft-query.txt:
14819         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
14820         (gst_basesrc_start):
14821         Added draft for new query API.
14822         Added draft for better selecting scheduling methods.
14823         Make basesrc ignore length if the subclass does not support
14824         it.
14825
14826 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14827
14828         * gst/Makefile.am:
14829           possible fixes for automake-1.5 - _LIBADD is reserved
14830
14831 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14832
14833         * docs/faq/Makefile.am:
14834         * docs/manual/Makefile.am:
14835         * docs/manuals.mak:
14836         * docs/pwg/Makefile.am:
14837         * gst/Makefile.am:
14838           possible fixes for automake-1.5
14839
14840 2005-04-28  Wim Taymans  <wim@fluendo.com>
14841
14842         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14843         (gst_basesink_pad_getcaps), (gst_basesink_init),
14844         (gst_basesink_do_sync):
14845         * gst/gstclock.c: (gst_clock_entry_new):
14846         * gst/gstevent.c: (gst_event_discont_get_value):
14847         * gst/gstpipeline.c: (pipeline_bus_handler),
14848         (gst_pipeline_change_state):
14849         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14850         Better debugging of clocking info.
14851         Allow NULL values when getting discont values.
14852
14853 2005-04-27  Wim Taymans  <wim@fluendo.com>
14854
14855         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14856         * check/gst/gstpad.c: (gst_pad_suite):
14857         Increase timeout for checks.
14858
14859 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14860
14861         * check/Makefile.am:
14862           fix the broken rule for cleanup.  Apparently this rule is
14863           only needed on FC2, so maybe this warrants further autotool
14864           inspection.
14865
14866 2005-04-26  Wim Taymans  <wim@fluendo.com>
14867
14868         * gst/gsttrashstack.h:
14869         Ooohh. a nasty one! After having a failed pop() from the stack,
14870         it's possible that the stack is empty. In that case, don't
14871         follow the NULL pointer.
14872
14873 2005-04-25  Wim Taymans  <wim@fluendo.com>
14874
14875         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14876         (gst_pad_set_checkgetrange_function),
14877         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
14878         (gst_pad_check_pull_range), (gst_pad_pull_range),
14879         (gst_static_pad_template_get_caps), (gst_pad_start_task),
14880         (gst_pad_pause_task), (gst_pad_stop_task):
14881         * gst/gstplugin.c: (gst_plugin_load):
14882         * gst/gstplugin.h:
14883         Remove gst_library_load as it does more harm than good with
14884         the new g_module flags.
14885         Revert bogus caps template check in pad linking, pad caps
14886         are important when linking not the template, which is more
14887         general than the current caps.
14888
14889 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14890
14891         * gst/autoplug/.cvsignore:
14892         * gst/autoplug/Makefile.am:
14893         * gst/autoplug/gstsearchfuncs.c:
14894         * gst/autoplug/gstsearchfuncs.h:
14895         * gst/autoplug/gstspider.c:
14896         * gst/autoplug/gstspider.h:
14897         * gst/autoplug/gstspideridentity.c:
14898         * gst/autoplug/gstspideridentity.h:
14899         * gst/autoplug/spidertest.c:
14900           Die, spider, die.
14901
14902 2005-04-25  Wim Taymans  <wim@fluendo.com>
14903
14904         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14905         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14906         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
14907         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
14908         * gst/gstpad.h:
14909         Added stubs for unimplemented functions. 
14910
14911 2005-04-24  David Schleef  <ds@schleef.org>
14912
14913         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
14914         please fix.
14915
14916 2005-04-24  David Schleef  <ds@schleef.org>
14917
14918         Convert everything from GstAtomicInt to g_atomic_int_*, and
14919         remove gstatomic.
14920         * gst/Makefile.am:
14921         * gst/gstatomic.c:
14922         * gst/gstatomic.h:
14923         * gst/gstatomic_impl.h:
14924         * gst/gstbuffer.c:
14925         * gst/gstcaps.c:
14926         * gst/gstcaps.h:
14927         * gst/gstclock.c:
14928         * gst/gstclock.h:
14929         * gst/gstdata.c:
14930         * gst/gstdata.h:
14931         * gst/gstdata_private.h:
14932         * gst/gstevent.c:
14933         * gst/gstinfo.c:
14934         * gst/gstinfo.h:
14935         * gst/gstmessage.c:
14936         * gst/gstobject.c:
14937         * gst/gstobject.h:
14938         * gst/gststructure.c:
14939         * gst/gststructure.h:
14940         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
14941         * gst/gstutils.h:
14942
14943 2005-04-24  David Schleef  <ds@schleef.org>
14944
14945         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
14946         make the regressions tests work.  Remove some code that is no
14947         longer true.
14948         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
14949         Disable warning for pads without templates.
14950
14951 2005-04-24  David Schleef  <ds@schleef.org>
14952
14953         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
14954         functions that handle filtered links.
14955         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
14956         removed functions.
14957         * gst/gstutils.c: Fix/remove utility functions that handle
14958         filtered caps.
14959         * gst/gstutils.h:
14960         * gst/gstvalue.c: Add serialization/deserialization of caps
14961         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
14962         requires fixing so that the filter caps notation creates
14963         a capsfilter element and sets the filter_caps property.  I
14964         think everyone probably wants to keep the shorthand notation.
14965         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
14966         * docs/gst/tmpl/gstpad.sgml:
14967
14968         * gst/elements/gstelements.c: Register capsfilter element.
14969         * gst/Makefile.am: fix spacing
14970         * docs/random/ds/0.9-suggested-changes: random
14971
14972 2005-04-23  David Schleef  <ds@schleef.org>
14973
14974         * gst/elements/Makefile.am:
14975         * gst/elements/gstcapsfilter.c: New element that acts like an
14976         identity, but filters caps.  Will eventually replace filtered
14977         caps in pad linking.
14978         * gst/gstutils.c: (gst_element_create_all_pads): New function
14979         to create all the ALWAYS pads that are registered with an
14980         element class.  This functionality should eventually be
14981         merged in with GstElement initialization.
14982         * gst/gstutils.h:
14983         * testsuite/trigger/README: part of trigger test code that should
14984         have been checked in a long time ago.
14985
14986 2005-04-23  David Schleef  <ds@schleef.org>
14987
14988         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
14989         needed with new versions of libtool (nobody will confirm this),
14990         and hard to carry around.
14991         * gst/autoplug/Makefile.am:
14992         * gst/base/Makefile.am:
14993         * gst/elements/Makefile.am:
14994         * gst/indexers/Makefile.am:
14995         * gst/schedulers/Makefile.am:
14996         * libs/gst/bytestream/Makefile.am:
14997         * libs/gst/control/Makefile.am:
14998         * libs/gst/dataprotocol/Makefile.am:
14999         * libs/gst/getbits/Makefile.am:
15000
15001 2005-04-21  Wim Taymans  <wim@fluendo.com>
15002
15003         * docs/design/draft-push-pull.txt:
15004         * docs/design/part-MT-refcounting.txt:
15005         * docs/design/part-TODO.txt:
15006         * docs/design/part-caps.txt:
15007         * docs/design/part-events.txt:
15008         * docs/design/part-gstbus.txt:
15009         * docs/design/part-gstpipeline.txt:
15010         * docs/design/part-messages.txt:
15011         * docs/design/part-push-pull.txt:
15012         * docs/design/part-query.txt:
15013         Some more docs.
15014
15015 2005-04-21  Wim Taymans  <wim@fluendo.com>
15016
15017         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15018         (gst_message_new), (gst_message_new_error),
15019         (gst_message_new_warning), (gst_message_new_tag),
15020         (gst_message_new_state_changed), (gst_message_new_application),
15021         (gst_message_get_structure):
15022         * gst/gstmessage.h:
15023         * gst/gststructure.c: (gst_structure_set_parent_refcount),
15024         (gst_structure_copy_conditional):
15025         Use parent refcount in GstMessage to ensure GstStructure
15026         consistency.
15027         Cleaned up headers a bit.
15028         
15029
15030 2005-04-20  Wim Taymans  <wim@fluendo.com>
15031
15032         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15033         (gst_basesink_pad_getcaps), (gst_basesink_init),
15034         (gst_basesink_chain_unlocked):
15035         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15036         (gst_type_find_helper):
15037         * gst/elements/gsttypefindelement.c:
15038         (gst_type_find_element_have_type), (gst_type_find_element_init),
15039         (stop_typefinding), (gst_type_find_element_handle_event),
15040         (find_suggest), (gst_type_find_element_chain),
15041         (gst_type_find_element_checkgetrange),
15042         (gst_type_find_element_getrange), (do_typefind),
15043         (gst_type_find_element_activate):
15044         * gst/gstbuffer.c: (_gst_buffer_sub_free),
15045         (gst_buffer_default_free), (gst_buffer_default_copy),
15046         (gst_buffer_set_caps):
15047         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15048         (gst_caps_replace):
15049         * gst/gstmessage.c: (gst_message_new),
15050         (gst_message_new_state_changed):
15051         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15052         (gst_pad_set_checkgetrange_function),
15053         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15054         (gst_pad_set_caps), (gst_pad_check_pull_range),
15055         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15056         * gst/gstpad.h:
15057         * gst/gsttypefind.c: (gst_type_find_register):
15058         Make gst_caps_replace() work like other _replace() functions.
15059         Use _caps_replace() where possible.
15060         Make sure _message_new() initialises its field.
15061         Add gst_static_pad_template_get_caps()
15062
15063
15064 2005-04-18  Andy Wingo  <wingo@pobox.com>
15065
15066         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15067         on the peer, not the pad. I think that was a typo. Pass an extra
15068         arg to see if random access is possible. Activate the pads as
15069         PULL_RANGE if possible.
15070
15071         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15072
15073         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
15074         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15075         to PROP_....
15076
15077 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15078
15079         * docs/faq/using.xml:
15080           Add note on gstreamer-properties (#154996).
15081
15082 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15083
15084         * docs/random/bbb/optional-properties:
15085           Some analysis on optional properties.
15086
15087 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15088
15089         * docs/gst/tmpl/gstelementfactory.sgml:
15090         * gst/gstelement.h:
15091         * gst/gstelementfactory.c: (gst_element_factory_init),
15092         (gst_element_factory_cleanup), (gst_element_register),
15093         (__gst_element_factory_add_static_pad_template),
15094         (gst_element_factory_get_static_pad_templates),
15095         (gst_element_factory_can_src_caps),
15096         (gst_element_factory_can_sink_caps):
15097         * gst/registries/Makefile.am:
15098         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15099         (gst_xml_registry_class_init), (gst_xml_registry_init),
15100         (gst_xml_registry_new), (gst_xml_registry_set_property),
15101         (gst_xml_registry_get_property), (get_time), (make_dir),
15102         (gst_xml_registry_get_perms_func),
15103         (plugin_times_older_than_recurse), (plugin_times_older_than),
15104         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15105         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15106         (add_to_char_array), (read_string), (read_uint), (read_enum),
15107         (load_pad_template), (load_feature), (load_plugin), (load_paths),
15108         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15109         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15110         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15111         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15112         (gst_xml_registry_rebuild):
15113         * gst/registries/gstlibxmlregistry.h:
15114         * tools/gst-compprep.c: (main):
15115         * tools/gst-inspect.c: (print_pad_templates_info):
15116         * tools/gst-xmlinspect.c: (print_element_info):
15117           Use libxml2 for registry parsing, use staticpadtemplates in
15118           elementfactories. Makes gst_init() +/- 10x faster.
15119
15120 2005-04-12  Wim Taymans  <wim@fluendo.com>
15121
15122         * gst/base/Makefile.am:
15123         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15124         (gst_basesink_pad_getcaps), (gst_basesink_init),
15125         (gst_basesink_event), (gst_basesink_change_state):
15126         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15127         (gst_basesrc_init), (gst_basesrc_query),
15128         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15129         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15130         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15131         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15132         (gst_basesrc_stop), (gst_basesrc_activate),
15133         (gst_basesrc_change_state):
15134         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15135         (helper_find_suggest), (gst_type_find_helper):
15136         * gst/base/gsttypefindhelper.h:
15137         * gst/elements/Makefile.am:
15138         * gst/elements/gstelements.c:
15139         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15140         (gst_fakesink_get_times), (gst_fakesink_event),
15141         (gst_fakesink_preroll), (gst_fakesink_render):
15142         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15143         (gst_fakesrc_init), (gst_fakesrc_event_handler),
15144         (gst_fakesrc_get_property), (gst_fakesrc_create),
15145         (gst_fakesrc_start), (gst_fakesrc_stop):
15146         * gst/elements/gstfakesrc.h:
15147         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15148         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15149         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15150         (gst_filesrc_create_read), (gst_filesrc_create),
15151         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
15152         (gst_filesrc_start):
15153         * gst/elements/gsttypefindelement.c:
15154         (gst_type_find_element_have_type), (gst_type_find_element_init),
15155         (start_typefinding), (stop_typefinding), (push_buffer_store),
15156         (gst_type_find_element_handle_event),
15157         (gst_type_find_element_chain),
15158         (gst_type_find_element_checkgetrange),
15159         (gst_type_find_element_getrange), (do_typefind),
15160         (gst_type_find_element_activate),
15161         (gst_type_find_element_change_state):
15162         * gst/elements/gsttypefindelement.h:
15163         * gst/gstpipeline.c: (pipeline_bus_handler):
15164         Added typefind helper.
15165         Small preroll fix in the base sink.
15166         Disable typefind code in basesrc.
15167         Crude port of typefindelement.
15168         Fakesrc cleanups.
15169
15170
15171 2005-04-11  Wim Taymans  <wim@fluendo.com>
15172
15173         * check/gst/gstbus.c: (gstbus_suite):
15174         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
15175         * check/gstcheck.h:
15176           Fix up the timeout so that the test does not fail.
15177
15178 2005-04-06  Wim Taymans  <wim@fluendo.com>
15179
15180         * gst/base/README:
15181         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15182         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
15183         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15184         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15185         (gst_basesrc_check_get_range), (gst_basesrc_loop),
15186         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15187         (gst_basesrc_stop), (gst_basesrc_activate),
15188         (gst_basesrc_change_state), (basesrc_find_peek),
15189         (basesrc_find_suggest), (gst_basesrc_type_find):
15190         * gst/base/gstbasesrc.h:
15191         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
15192         (gst_filesrc_class_init), (gst_filesrc_init),
15193         (gst_filesrc_finalize), (gst_filesrc_set_location),
15194         (gst_filesrc_set_property), (gst_filesrc_get_property),
15195         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15196         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15197         (gst_filesrc_create_read), (gst_filesrc_create),
15198         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
15199         * gst/elements/gstfilesrc.h:
15200         * gst/gstelement.c: (gst_element_get_state_func),
15201         (gst_element_lost_state), (gst_element_pads_activate):
15202         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15203         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15204         (gst_pad_pull_range):
15205         * gst/gstpad.h:
15206         More work on the generic source base class, implement seeking,
15207         query.
15208         Make filesrc extend the base source class.
15209         Added gst_pad_set_checkgetrange_function to GstPad.
15210
15211 2005-04-06  Andy Wingo  <wingo@pobox.com>
15212
15213         * pkgconfig/gstreamer-base.pc.in:
15214         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
15215
15216         * pkgconfig/Makefile.am:
15217         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
15218
15219 2005-04-04  Wim Taymans  <wim@fluendo.com>
15220
15221         * gst/base/Makefile.am:
15222         * gst/base/README:
15223         * gst/base/gstbasesink.c: (gst_basesink_base_init),
15224         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15225         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15226         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
15227         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15228         (gst_basesrc_base_init), (gst_basesrc_class_init),
15229         (gst_basesrc_init), (gst_basesrc_get_formats),
15230         (gst_basesrc_get_query_types), (gst_basesrc_query),
15231         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
15232         (gst_basesrc_set_property), (gst_basesrc_get_property),
15233         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
15234         (gst_basesrc_loop), (gst_basesrc_activate),
15235         (gst_basesrc_change_state):
15236         * gst/base/gstbasesrc.h:
15237         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
15238         (gst_fakesrc_class_init), (gst_fakesrc_init),
15239         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
15240         (gst_fakesrc_get_property), (gst_fakesrc_create):
15241         * gst/elements/gstfakesrc.h:
15242         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
15243         (gst_filesrc_open_file), (gst_filesrc_loop),
15244         (gst_filesrc_activate), (filesrc_find_peek),
15245         (gst_filesrc_type_find):
15246         Made base source class, make fakesrc extend it.
15247         Add comments to basesink class.
15248         Some filesrc cleanup.
15249
15250 2005-03-31  David Schleef  <ds@schleef.org>
15251
15252         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
15253         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
15254         expected to link against libgstreamer.
15255         * gst/base/Makefile.am: link against libgstreamer
15256         * gst/elements/Makefile.am: same
15257
15258 2005-03-31  Andy Wingo  <wingo@pobox.com>
15259
15260         * tests/instantiate/Makefile.am:
15261         * tests/instantiate/caps.c: Add test to test speed of caps copy
15262         and free.
15263
15264         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
15265         GMemChunk to be fair.
15266
15267         * gst/gsttrashstack.h: Remove warning about using the fallback
15268         trash stack implementation, it's still faster than malloc.
15269
15270 2005-03-30  Andy Wingo  <wingo@pobox.com>
15271
15272         * tests/complexity.c: Add a copyright.
15273
15274 2005-03-31  Wim Taymans  <wim@fluendo.com>
15275
15276         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
15277         (gst_base_transform_class_init), (gst_base_transform_init),
15278         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
15279         (gst_base_transform_get_property),
15280         (gst_base_transform_sink_activate),
15281         (gst_base_transform_src_activate),
15282         (gst_base_transform_change_state):
15283         * gst/base/gstbasetransform.h:
15284         * gst/elements/gstidentity.c: (gst_identity_class_init),
15285         (gst_identity_event), (gst_identity_check_perfect),
15286         (gst_identity_transform), (gst_identity_start),
15287         (gst_identity_stop):
15288         Added start/stop methods to transform base class so subclasses 
15289         don't need to deal with state changes even.
15290
15291 2005-03-31  Wim Taymans  <wim@fluendo.com>
15292
15293         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
15294         (gst_event_new_discontinuous), (gst_event_discont_get_value):
15295         * gst/gstevent.h:
15296         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15297         (gst_pad_pull_range):
15298         Added rate to the discont event to prepare for variable speed
15299         and reverse playback.
15300
15301 2005-03-29  David Schleef  <ds@schleef.org>
15302
15303         * configure.ac:
15304         * testsuite/trigger/Makefile.am:
15305         * testsuite/trigger/trigger.c: A little example program to show
15306         how trigger-based elements can work.
15307
15308 2005-03-29  Wim Taymans  <wim@fluendo.com>
15309
15310         * gst/base/Makefile.am:
15311         * gst/base/README:
15312         * gst/base/gstbasesink.c: (gst_basesink_get_type),
15313         (gst_basesink_base_init), (gst_basesink_class_init),
15314         (gst_basesink_pad_getcaps), (gst_basesink_init),
15315         (gst_basesink_activate), (gst_basesink_change_state):
15316         * gst/base/gstbasesink.h:
15317         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
15318         (gst_base_transform_base_init), (gst_base_transform_finalize),
15319         (gst_base_transform_class_init), (gst_base_transform_init),
15320         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
15321         (gst_base_transform_event), (gst_base_transform_getrange),
15322         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
15323         (gst_base_transform_set_property),
15324         (gst_base_transform_get_property),
15325         (gst_base_transform_sink_activate),
15326         (gst_base_transform_src_activate),
15327         (gst_base_transform_change_state):
15328         * gst/base/gstbasetransform.h:
15329         * gst/elements/gstidentity.c: (gst_identity_finalize),
15330         (gst_identity_class_init), (gst_identity_init),
15331         (gst_identity_event), (gst_identity_check_perfect),
15332         (gst_identity_transform), (gst_identity_set_property),
15333         (gst_identity_get_property), (gst_identity_change_state):
15334         * gst/elements/gstidentity.h:
15335         * gst/gstelement.c: (gst_element_get_state_func),
15336         (gst_element_lost_state), (gst_element_pads_activate):
15337         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15338         (gst_pad_check_pull_range), (gst_pad_pull_range):
15339         * gst/gstpad.h:
15340         Simplify pad activation.
15341         Added function to check if pull_range can be performed.
15342         Error out when pulling inactive or flushing pads.
15343         Removed const from refcounted types as it does not make sense.
15344         Simplify pad templates in basesink
15345         Added base class for simple 1-to-1 transforms.
15346         Make identity subclass the base transform.
15347
15348 2005-03-29  Andy Wingo  <wingo@pobox.com>
15349
15350         * docs/libs/gstreamer-libs-overrides.txt: 
15351         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
15352         really don't understand what's going on, but like whatever. I want
15353         green buildbot!
15354
15355         * docs/gst/Makefile.am:
15356         * docs/libs/Makefile.am: Dist the overrides files.
15357
15358         * check/Makefile.am (clean-local): Remove .libs directories.
15359
15360         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
15361         elements to EXTRA_DIST, so po/ files are happy.
15362
15363         * po/POTFILES.in: Er, remove it here.
15364
15365         * po/POTFILES: Remove gstspider.c.
15366
15367         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
15368
15369         * docs/libs/gstreamer-libs-docs.sgml: 
15370         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
15371         bytestream.
15372
15373         * tests/complexity.c (main): Set the length of the preroll queue
15374         on the sinks to prevent a lockup.
15375
15376         * libs/gst/dataprotocol/Makefile.am: 
15377         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
15378         the same as the one in check/gst-libs/gdp.c.
15379
15380         * po/, docs/gst/: Commit automatic changes to docs and po files.
15381
15382         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
15383         the versioned libgstbase.
15384
15385         * check/Makefile.am: Depend on an unversioned gst-register, seems
15386         to make autoconf happier.
15387
15388         * gst/base/Makefile.am: Make libgstbase a versioned lib.
15389
15390 2005-03-28  Wim Taymans  <wim@fluendo.com>
15391
15392         * configure.ac:
15393         * docs/design/part-gstelement.txt:
15394         * docs/design/part-negotiation.txt:
15395         * docs/design/part-preroll.txt:
15396         * docs/design/part-scheduling.txt:
15397         * docs/design/part-states.txt:
15398         * gst/Makefile.am:
15399         * gst/base/Makefile.am:
15400         * gst/base/README:
15401         * gst/base/gstbasesink.c: (gst_basesink_get_template),
15402         (gst_basesink_base_init), (gst_basesink_class_init),
15403         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15404         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15405         (gst_basesink_set_pad_functions),
15406         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
15407         (gst_basesink_set_property), (gst_basesink_get_property),
15408         (gst_base_sink_get_template), (gst_base_sink_get_caps),
15409         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
15410         (gst_basesink_preroll_queue_push),
15411         (gst_basesink_preroll_queue_empty),
15412         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
15413         (gst_basesink_event), (gst_basesink_get_times),
15414         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
15415         (gst_basesink_chain_unlocked), (gst_basesink_chain),
15416         (gst_basesink_loop), (gst_basesink_activate),
15417         (gst_basesink_change_state):
15418         * gst/base/gstbasesink.h:
15419         * gst/elements/Makefile.am:
15420         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
15421         (gst_fakesink_class_init), (gst_fakesink_init),
15422         (gst_fakesink_set_property), (gst_fakesink_get_property),
15423         (gst_fakesink_get_times), (gst_fakesink_event),
15424         (gst_fakesink_preroll), (gst_fakesink_render),
15425         (gst_fakesink_change_state):
15426         * gst/elements/gstfakesink.h:
15427         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15428         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
15429         * gst/gstelement.c: (gst_element_add_pad),
15430         (gst_element_get_state_func), (gst_element_abort_state),
15431         (gst_element_commit_state), (gst_element_lost_state),
15432         (gst_element_set_state), (gst_element_pads_activate):
15433         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
15434         * gst/gstpipeline.c: (gst_pipeline_send_event),
15435         (gst_pipeline_change_state):
15436         Added state change code.
15437         Added/updated docs.
15438         Added sink base class, make fakesink extend the base class.
15439         Small cleanups in GstPipeline.
15440
15441 2005-03-26  David Schleef  <ds@schleef.org>
15442
15443         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
15444         is broken and should be implemented in a different library.
15445         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
15446         * gst/gst.h: remove gstcpu.h
15447         * gst/gstcpu.c: remove
15448         * gst/gstcpu.h: remove
15449         * gst/Makefile.am.future: Remove this file.  It's ancient.
15450
15451 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15452
15453         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15454         (gst_bin_send_event):
15455           Add default event/set_manager handlers. The set_manager handler
15456           takes care that the manager is distributed over kids that were
15457           already in the bin before the manager was set. The event handler
15458           is a utility virtual function that sends the event over all sinks,
15459           so that gst_element_send_event (bin, event); has the expected
15460           behaviour.
15461         * gst/gstpad.c: (gst_pad_event_default):
15462           Re-install default event handling for discontinuities, so that
15463           seeking works without requiring hacks in applications or extra
15464           code in sinks.
15465         * gst/gstpipeline.c: (gst_pipeline_class_init),
15466         (gst_pipeline_send_event):
15467           Half hack, half utility: set a pipeline to PAUSED for seek events,
15468           since that is the only way we can guarantee a/v sync. Means that
15469           you can do gst_element_seek (pipeline, method, pos); on a pipeline
15470           and it "just works".
15471
15472 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15473
15474         * gst/gstpipeline.c: (gst_pipeline_use_clock):
15475           Lock/unlock mismatch.
15476
15477 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15478
15479         * docs/faq/gst-uninstalled:
15480           add gst-plugins-base
15481         * docs/gst/Makefile.am:
15482           don't error out until docs are fixed
15483         * docs/gst/gstreamer.types:
15484           remove thread
15485
15486 2005-03-22  Wim Taymans  <wim@fluendo.com>
15487
15488         * check/Makefile.am:
15489         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
15490         * gst/gststructure.c: (gst_structure_set_valist),
15491         (gst_structure_copy_conditional):
15492         Activated more tests.
15493         Added message test.
15494         Added G_TYPE_POINTER to GstStructure.
15495         
15496
15497 2005-03-22  Wim Taymans  <wim@fluendo.com>
15498
15499         * docs/design/part-TODO.txt:
15500         * docs/design/part-events.txt:
15501         * docs/design/part-gstbin.txt:
15502         * docs/design/part-gstbus.txt:
15503         * docs/design/part-gstpipeline.txt:
15504         * docs/design/part-messages.txt:
15505         * gst/gstbus.c:
15506         * gst/gstmessage.c:
15507         Docs updates
15508
15509 2005-03-21  Wim Taymans  <wim@fluendo.com>
15510
15511         * gst/gstbus.c: (gst_bus_post):
15512         Fix copy-and-paste error.
15513
15514 2005-03-21  Wim Taymans  <wim@fluendo.com>
15515
15516         * check/Makefile.am:
15517         * gst/Makefile.am:
15518         * gst/elements/Makefile.am:
15519         * gst/elements/gstelements.c:
15520         * gst/elements/gstfakesink.c: (gst_fakesink_init),
15521         (gst_fakesink_event), (gst_fakesink_chain):
15522         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15523         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15524         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15525         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15526         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15527         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15528         (gst_fakesrc_loop), (gst_fakesrc_activate),
15529         (gst_fakesrc_change_state):
15530         * gst/elements/gstfakesrc.h:
15531         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15532         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15533         (gst_filesrc_open_file), (gst_filesrc_loop),
15534         (gst_filesrc_activate), (gst_filesrc_change_state),
15535         (filesrc_find_peek), (filesrc_find_suggest),
15536         (gst_filesrc_type_find):
15537         * gst/elements/gstidentity.c: (gst_identity_finalize),
15538         (gst_identity_class_init), (gst_identity_init),
15539         (gst_identity_proxy_getcaps), (identity_queue_push),
15540         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15541         (gst_identity_getrange), (gst_identity_chain),
15542         (gst_identity_sink_loop), (gst_identity_src_loop),
15543         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
15544         (gst_identity_set_property), (gst_identity_get_property),
15545         (gst_identity_change_state):
15546         * gst/elements/gstidentity.h:
15547         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
15548         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
15549         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
15550         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
15551         (gst_tee_sink_activate):
15552         * gst/elements/gsttee.h:
15553         * gst/gst.c: (gst_register_core_elements), (init_post):
15554         * gst/gst.h:
15555         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
15556         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
15557         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
15558         (gst_bin_change_state):
15559         * gst/gstbin.h:
15560         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
15561         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
15562         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
15563         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
15564         (gst_bus_set_sync_handler), (gst_bus_create_watch),
15565         (bus_watch_callback), (bus_watch_destroy),
15566         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
15567         (poll_timeout), (gst_bus_poll):
15568         * gst/gstbus.h:
15569         * gst/gstcaps.h:
15570         * gst/gstdata.h:
15571         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15572         (gst_element_post_message), (gst_element_message_full),
15573         (gst_element_get_state_func), (gst_element_get_state),
15574         (gst_element_abort_state), (gst_element_commit_state),
15575         (gst_element_lost_state), (gst_element_set_state),
15576         (gst_element_pads_activate), (gst_element_change_state),
15577         (gst_element_dispose), (gst_element_set_manager_func),
15578         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
15579         (gst_element_set_manager), (gst_element_get_manager),
15580         (gst_element_set_bus), (gst_element_get_bus),
15581         (gst_element_set_scheduler), (gst_element_get_scheduler):
15582         * gst/gstelement.h:
15583         * gst/gstevent.c: (gst_event_new_segment_seek),
15584         (gst_event_new_flush):
15585         * gst/gstevent.h:
15586         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
15587         (_gst_message_free), (gst_message_get_type), (gst_message_new),
15588         (gst_message_new_eos), (gst_message_new_error),
15589         (gst_message_new_warning), (gst_message_new_tag),
15590         (gst_message_new_state_changed), (gst_message_new_application),
15591         (gst_message_get_structure), (gst_message_parse_tag),
15592         (gst_message_parse_state_changed), (gst_message_parse_error),
15593         (gst_message_parse_warning):
15594         * gst/gstmessage.h:
15595         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
15596         (gst_real_pad_set_property), (gst_pad_set_active),
15597         (gst_pad_is_active), (gst_pad_set_blocked_async),
15598         (gst_pad_set_blocked), (gst_pad_is_blocked),
15599         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
15600         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
15601         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
15602         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
15603         (gst_pad_link_filtered), (gst_pad_relink_filtered),
15604         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
15605         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
15606         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
15607         (gst_pad_set_caps), (gst_pad_configure_sink),
15608         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
15609         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
15610         (gst_real_pad_dispose), (gst_real_pad_finalize),
15611         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
15612         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15613         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
15614         * gst/gstpad.h:
15615         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
15616         (pipeline_bus_handler), (gst_pipeline_change_state),
15617         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
15618         * gst/gstpipeline.h:
15619         * gst/gstprobe.h:
15620         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15621         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
15622         (gst_queue_link_src), (gst_queue_bufferalloc),
15623         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15624         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
15625         (gst_queue_loop), (gst_queue_handle_src_event),
15626         (gst_queue_handle_src_query), (gst_queue_src_activate),
15627         (gst_queue_change_state):
15628         * gst/gstqueue.h:
15629         * gst/gstscheduler.c: (gst_scheduler_init),
15630         (gst_scheduler_dispose), (gst_scheduler_create_task),
15631         (gst_scheduler_factory_create):
15632         * gst/gstscheduler.h:
15633         * gst/gststructure.c: (gst_structure_get_type),
15634         (gst_structure_copy_conditional):
15635         * gst/gststructure.h:
15636         * gst/gsttaginterface.h:
15637         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15638         (gst_task_init), (gst_task_dispose), (gst_task_create),
15639         (gst_task_get_state), (gst_task_start), (gst_task_stop),
15640         (gst_task_pause):
15641         * gst/gsttask.h:
15642         * gst/gstthread.c:
15643         * gst/gstthread.h:
15644         * gst/gsttypes.h:
15645         * gst/schedulers/Makefile.am:
15646         * gst/schedulers/cothreads_compat.h:
15647         * gst/schedulers/entryscheduler.c:
15648         * gst/schedulers/faircothreads.c:
15649         * gst/schedulers/faircothreads.h:
15650         * gst/schedulers/fairscheduler.c:
15651         * gst/schedulers/gstbasicscheduler.c:
15652         * gst/schedulers/gstoptimalscheduler.c:
15653         * gst/schedulers/gthread-cothreads.h:
15654         * gst/schedulers/threadscheduler.c:
15655         (gst_thread_scheduler_task_get_type),
15656         (gst_thread_scheduler_task_class_init),
15657         (gst_thread_scheduler_task_init),
15658         (gst_thread_scheduler_task_start),
15659         (gst_thread_scheduler_task_stop),
15660         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
15661         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15662         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
15663         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
15664         (plugin_init):
15665         * libs/gst/Makefile.am:
15666         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
15667         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
15668         (gst_file_pad_parent_set):
15669         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15670         (gst_dp_event_from_packet):
15671         * tests/complexity.c: (main):
15672         * tests/mass_elements.c: (main):
15673         * testsuite/states/locked.c: (message_received), (main):
15674         * testsuite/states/parent.c: (main):
15675         * tools/gst-inspect.c: (print_element_flag_info),
15676         (print_implementation_info), (print_pad_info):
15677         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
15678         (main):
15679         * tools/gst-md5sum.c: (event_loop), (main):
15680         * tools/gst-typefind.c: (main):
15681         * tools/gst-xmlinspect.c: (print_element_info):
15682         Next big merge.
15683         Added GstBus for mainloop integration.
15684         Added GstMessage for sending notifications on the bus.
15685         Added GstTask as an abstraction for pipeline entry points.
15686         Removed GstThread.
15687         Removed Schedulers.
15688         Simplified GstQueue for multithreaded core.
15689         Made _link threadsafe, removed old capsnego.
15690         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
15691         Added pad blocking functions.
15692         Reworked scheduling functions in GstPad to prepare for
15693         scheduling updates soon.
15694         Moved events out of data stream.
15695         Simplified GstEvent types.
15696         Added return values to push/pull.
15697         Removed clocking from GstElement.
15698         Added prototypes for state change function for next merge.
15699         Removed iterate from bins and state change management.
15700         Fixed some elements, disabled others for now.
15701         Fixed -inspect and -launch.
15702         Added check for GstBus.
15703
15704 2005-03-10  Wim Taymans  <wim@fluendo.com>
15705
15706         * docs/design/part-MT-refcounting.txt:
15707         * docs/design/part-clocks.txt:
15708         * docs/design/part-gstelement.txt:
15709         * docs/design/part-gstobject.txt:
15710         * docs/design/part-standards.txt:
15711         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15712         (gst_bin_remove_func), (gst_bin_remove):
15713         * gst/gstbin.h:
15714         * gst/gstbuffer.c:
15715         * gst/gstcaps.h:
15716         * testsuite/clock/clock1.c: (main):
15717         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
15718         (main):
15719         * testsuite/dlopen/loadgst.c: (do_test):
15720         * testsuite/refcounting/bin.c: (add_remove_test1),
15721         (add_remove_test2), (main):
15722         * testsuite/refcounting/element.c: (main):
15723         * testsuite/refcounting/element_pad.c: (main):
15724         * testsuite/refcounting/pad.c: (main):
15725         * tools/gst-launch.c: (sigint_handler_sighandler):
15726         * tools/gst-typefind.c: (main):
15727         Doc updates.
15728         Added doc about clock.
15729         removed gst_bin_iterate_recurse_up(), marked methods
15730         for removal.
15731         Fix more testsuites.
15732
15733 2005-03-09  Wim Taymans  <wim@fluendo.com>
15734
15735         * gst/gstpad.c: (gst_pad_get_direction),
15736         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
15737         (gst_pad_collect_valist):
15738         * testsuite/bins/interface.c: (main):
15739         * testsuite/caps/audioscale.c: (test_caps):
15740         * testsuite/caps/caps.c: (test1), (test2), (test3):
15741         * testsuite/caps/deserialize.c: (main):
15742         * testsuite/caps/enumcaps.c: (main):
15743         * testsuite/caps/filtercaps.c: (main):
15744         * testsuite/caps/intersect2.c: (main):
15745         * testsuite/caps/random.c: (main):
15746         * testsuite/caps/renegotiate.c: (my_fixate), (main):
15747         * testsuite/caps/sets.c: (check_caps):
15748         * testsuite/caps/simplify.c: (check_caps), (main):
15749         * testsuite/caps/subtract.c: (check_caps):
15750         Fix _pad_get_direction wrt ghostpads.
15751         Fix caps testsuite.
15752
15753 2005-03-09  Wim Taymans  <wim@fluendo.com>
15754
15755         * check/Makefile.am:
15756         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
15757         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
15758         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
15759         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
15760         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
15761         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
15762         (gst_bin_remove), (gst_bin_iterate_recurse_up),
15763         (bin_element_is_sink), (gst_bin_iterate_sinks),
15764         (gst_bin_iterate_all_by_interface):
15765         * gst/gstbin.h:
15766         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
15767         (gst_element_change_state), (gst_element_dispose),
15768         (gst_element_finalize), (gst_element_set_loop_function):
15769         * gst/gstelement.h:
15770         * gst/gstiterator.c: (find_custom_fold_func):
15771         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15772         (gst_pad_collectv), (gst_pad_collect_valist),
15773         (gst_pad_template_new):
15774         * gst/gstpipeline.c: (gst_pipeline_class_init),
15775         (gst_pipeline_dispose), (gst_pipeline_set_property),
15776         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
15777         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
15778         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
15779         * gst/gstutils.h:
15780         * gst/schedulers/entryscheduler.c:
15781         * gst/schedulers/gstbasicscheduler.c:
15782         (gst_basic_scheduler_cothreaded_chain),
15783         (gst_basic_scheduler_chain_add_element):
15784         * testsuite/bins/interface.c: (main):
15785         Added GstBin test.
15786         Added GstSystemClock test.
15787         Implemented clock distribution code in GstBin.
15788         Implemented iterate sinks method for future use.
15789         Rearranged gstelement.h
15790         Fix GstIterator comparison bug.
15791         Moved some code to GstPipeline, mostly clocking related.
15792
15793 2005-03-09  Wim Taymans  <wim@fluendo.com>
15794
15795         * configure.ac:
15796         * gst/gst_private.h:
15797         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15798         (gst_bin_remove_func), (gst_bin_remove),
15799         (gst_bin_get_by_name_recurse_up):
15800         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
15801         (gst_clock_id_compare_func), (gst_clock_id_wait),
15802         (gst_clock_id_wait_async), (gst_clock_init),
15803         (gst_clock_adjust_unlocked), (gst_clock_get_time):
15804         * gst/gstelement.h:
15805         * gst/gstinfo.c: (_gst_debug_init):
15806         * gst/gstobject.h:
15807         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15808         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
15809         * gst/gstpad.h:
15810         Bump version number, we're now 0.9.0
15811         Add future debugging category.
15812         Fix NULL _unref() in _get_by_name_recurse_up
15813         Rearrange gstpad.h.
15814         Update some docs.
15815
15816 2005-03-08  Wim Taymans  <wim@fluendo.com>
15817
15818         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
15819         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
15820         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15821         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
15822         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
15823         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
15824         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
15825         * gst/elements/gstidentity.c: (gst_identity_class_init):
15826         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
15827         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
15828         * gst/elements/gstshaper.c: (gst_shaper_class_init):
15829         * gst/elements/gststatistics.c: (gst_statistics_class_init):
15830         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
15831         (gst_tee_link):
15832         * gst/gstelement.c: (gst_element_class_init),
15833         (gst_element_base_class_init), (gst_element_init),
15834         (gst_element_get_random_pad), (gst_element_wait_state_change),
15835         (gst_element_change_state), (gst_element_dispose),
15836         (gst_element_finalize), (gst_element_set_loop_function):
15837         * gst/gstelement.h:
15838         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
15839         * gst/gstthread.c: (gst_thread_class_init),
15840         (gst_thread_release_children_locks), (gst_thread_change_state):
15841         * gst/schedulers/gstbasicscheduler.c:
15842         (gst_basic_scheduler_loopfunc_wrapper),
15843         (gst_basic_scheduler_chain_wrapper),
15844         (gst_basic_scheduler_src_wrapper),
15845         (gst_basic_scheduler_remove_element):
15846         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
15847         Remove threadsafe properties. Fix elements because GObject
15848         complains when installing a property before declaring a
15849         set/get_property handler.
15850         Rearrange gstelement.h file, use STATE macros for state locks.
15851         Free mutexes in the finalize method instead of dispose.
15852
15853 2005-03-08  Wim Taymans  <wim@fluendo.com>
15854
15855         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15856         * gst/gstthread.c: (gst_thread_release_children_locks):
15857         Added parentage check.
15858         Fix build og GstThread again.
15859
15860 2005-03-08  Wim Taymans  <wim@fluendo.com>
15861
15862         * docs/design/part-MT-refcounting.txt:
15863         * docs/design/part-conventions.txt:
15864         * docs/design/part-gstobject.txt:
15865         * docs/design/part-relations.txt:
15866         * docs/design/part-standards.txt:
15867         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15868         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
15869         (gst_bin_get_by_name), (gst_bin_get_by_interface),
15870         (gst_bin_iterate_all_by_interface):
15871         * gst/gstbuffer.h:
15872         * gst/gstclock.h:
15873         * gst/gstelement.c: (gst_element_class_init),
15874         (gst_element_change_state), (gst_element_set_loop_function):
15875         * gst/gstelement.h:
15876         * gst/gstiterator.c:
15877         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
15878         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
15879         (gst_object_dispatch_properties_changed), (gst_object_set_name),
15880         (gst_object_set_parent), (gst_object_unparent),
15881         (gst_object_check_uniqueness):
15882         * gst/gstobject.h:
15883         Docs updates, clean up some headers.
15884
15885 2005-03-07  Wim Taymans  <wim@fluendo.com>
15886
15887         * check/.cvsignore:
15888         * check/Makefile.am:
15889         * check/gst-libs/.cvsignore:
15890         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
15891         * check/gst/.cvsignore:
15892         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
15893         (START_TEST), (gstbus_suite), (main):
15894         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
15895         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
15896         (gst_data_suite), (main):
15897         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
15898         (add_fold_func), (gstiterator_suite), (main):
15899         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
15900         (thread_name_object), (thread_name_object_default),
15901         (gst_object_name_compare), (gst_object_suite), (main):
15902         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
15903         (gst_pad_suite), (main):
15904         * check/gstcheck.c: (gst_check_log_message_func),
15905         (gst_check_log_critical_func), (gst_check_init):
15906         * check/gstcheck.h:
15907         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15908         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
15909         Added checks.
15910
15911 2005-03-07  Wim Taymans  <wim@fluendo.com>
15912
15913         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15914         (gst_list_iterator_next), (gst_list_iterator_resync),
15915         (gst_list_iterator_free), (gst_iterator_new_list),
15916         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
15917         (gst_iterator_free), (gst_iterator_push), (filter_next),
15918         (filter_resync), (filter_uninit), (filter_free),
15919         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
15920         (gst_iterator_foreach), (find_custom_fold_func),
15921         (gst_iterator_find_custom):
15922         * gst/gstiterator.h:
15923         Added missing files.
15924
15925 2005-03-07  Wim Taymans  <wim@fluendo.com>
15926
15927         * Makefile.am:
15928         * configure.ac:
15929         * docs/design/part-MT-refcounting.txt:
15930         * docs/design/part-conventions.txt:
15931         * docs/design/part-gstobject.txt:
15932         * docs/design/part-relations.txt:
15933         * examples/mixer/mixer.c: (main):
15934         * examples/thread/thread.c: (eos), (main):
15935         * gst/Makefile.am:
15936         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
15937         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
15938         (gst_spider_plug_from_srcpad):
15939         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
15940         (gst_spider_identity_change_state),
15941         (gst_spider_identity_sink_loop_type_finding):
15942         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
15943         * gst/elements/gstidentity.c: (gst_identity_init):
15944         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
15945         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
15946         * gst/elements/gsttypefindelement.c: (free_entry):
15947         * gst/gst.c:
15948         * gst/gst.h:
15949         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
15950         (gst_bin_set_clock_func), (gst_bin_auto_clock),
15951         (gst_bin_set_index), (gst_bin_set_element_sched),
15952         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
15953         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
15954         (gst_bin_iterate_elements), (iterate_child_recurse),
15955         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
15956         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
15957         (compare_interface), (gst_bin_get_by_interface),
15958         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
15959         * gst/gstbin.h:
15960         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
15961         (gst_buffer_default_free), (gst_buffer_default_copy),
15962         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
15963         (gst_buffer_create_sub):
15964         * gst/gstbuffer.h:
15965         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
15966         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
15967         (gst_caps_unref), (gst_static_caps_get),
15968         (gst_caps_remove_and_get_structure), (gst_caps_append),
15969         (gst_caps_append_structure), (gst_caps_remove_structure),
15970         (gst_caps_copy_nth), (gst_caps_set_simple),
15971         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
15972         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
15973         (gst_caps_structure_intersect_field), (gst_caps_intersect),
15974         (gst_caps_structure_subtract_field), (gst_caps_subtract),
15975         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
15976         (gst_caps_structure_figure_out_union),
15977         (gst_caps_switch_structures), (gst_caps_do_simplify),
15978         (gst_caps_replace), (gst_caps_from_string),
15979         (gst_caps_copy_conditional):
15980         * gst/gstcaps.h:
15981         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
15982         (_gst_clock_id_free), (gst_clock_id_unref),
15983         (gst_clock_id_compare_func), (gst_clock_id_wait),
15984         (gst_clock_id_wait_async), (gst_clock_class_init),
15985         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
15986         (gst_clock_get_time), (gst_clock_set_time_adjust),
15987         (gst_clock_set_property), (gst_clock_get_property):
15988         * gst/gstclock.h:
15989         * gst/gstcompat.h:
15990         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
15991         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
15992         * gst/gstdata.h:
15993         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15994         (gst_element_requires_clock), (gst_element_provides_clock),
15995         (gst_element_set_clock), (gst_element_clock_wait),
15996         (gst_element_wait), (gst_element_set_time_delay),
15997         (gst_element_is_indexable), (gst_element_add_pad),
15998         (gst_element_add_ghost_pad), (gst_element_remove_pad),
15999         (pad_compare_name), (gst_element_get_static_pad),
16000         (gst_element_request_pad), (gst_element_get_request_pad),
16001         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16002         (gst_element_class_get_pad_template_list),
16003         (gst_element_class_get_pad_template), (gst_element_error_func),
16004         (gst_element_get_random_pad), (gst_element_get_event_masks),
16005         (gst_element_send_event), (gst_element_seek),
16006         (gst_element_get_query_types), (gst_element_query),
16007         (gst_element_get_formats), (gst_element_convert),
16008         (gst_element_is_locked_state), (gst_element_set_locked_state),
16009         (gst_element_sync_state_with_parent), (gst_element_change_state),
16010         (gst_element_finalize), (gst_element_yield),
16011         (gst_element_interrupt), (gst_element_set_scheduler),
16012         (gst_element_get_scheduler), (gst_element_set_loop_function):
16013         * gst/gstelement.h:
16014         * gst/gstevent.h:
16015         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16016         (gst_format_get_by_nick), (gst_format_get_details),
16017         (gst_format_iterate_definitions):
16018         * gst/gstformat.h:
16019         * gst/gstindex.c: (gst_index_gtype_resolver):
16020         * gst/gstinfo.c:
16021         * gst/gstinfo.h:
16022         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16023         (gst_mem_chunk_free):
16024         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16025         (gst_object_ref), (gst_object_unref), (gst_object_sink),
16026         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16027         (gst_object_dispatch_properties_changed),
16028         (gst_object_set_name_default), (gst_object_set_name),
16029         (gst_object_get_name), (gst_object_set_name_prefix),
16030         (gst_object_get_name_prefix), (gst_object_set_parent),
16031         (gst_object_get_parent), (gst_object_unparent),
16032         (gst_object_check_uniqueness), (gst_object_save_thyself),
16033         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16034         (gst_object_set_property), (gst_object_get_property),
16035         (gst_object_get_path_string):
16036         * gst/gstobject.h:
16037         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16038         (gst_real_pad_init), (gst_real_pad_get_property),
16039         (gst_pad_custom_new), (gst_pad_get_direction),
16040         (gst_pad_set_active), (gst_pad_is_active),
16041         (gst_pad_set_event_function), (gst_pad_is_linked),
16042         (gst_pad_link_free), (gst_pad_link_intersect),
16043         (gst_pad_link_fixate), (gst_pad_set_caps),
16044         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16045         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16046         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16047         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16048         (gst_pad_get_caps), (gst_pad_peer_get_caps),
16049         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16050         (gst_pad_realize), (gst_pad_get_allowed_caps),
16051         (gst_real_pad_dispose), (gst_real_pad_finalize),
16052         (gst_pad_collectv), (gst_pad_collect_valist),
16053         (gst_pad_template_dispose), (gst_pad_template_new),
16054         (gst_pad_get_internal_links):
16055         * gst/gstpad.h:
16056         * gst/gstpipeline.c: (gst_pipeline_dispose),
16057         (gst_pipeline_change_state):
16058         * gst/gstpipeline.h:
16059         * gst/gstplugin.c:
16060         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16061         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16062         * gst/gstpluginfeature.h:
16063         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16064         * gst/gstquery.c: (_gst_query_type_initialize),
16065         (gst_query_type_register), (gst_query_type_get_by_nick),
16066         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16067         * gst/gstquery.h:
16068         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16069         * gst/gstscheduler.c: (gst_scheduler_add_element),
16070         (gst_scheduler_factory_create):
16071         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16072         (gst_structure_free), (gst_structure_set_name),
16073         (gst_structure_id_set_value), (gst_structure_set_value),
16074         (gst_structure_set_valist), (gst_structure_remove_field),
16075         (gst_structure_remove_fields),
16076         (gst_structure_remove_fields_valist),
16077         (gst_structure_remove_all_fields), (gst_structure_foreach),
16078         (gst_structure_map_in_place),
16079         (gst_caps_structure_fixate_field_nearest_int),
16080         (gst_caps_structure_fixate_field_nearest_double):
16081         * gst/gststructure.h:
16082         * gst/gstsystemclock.c: (gst_system_clock_class_init),
16083         (gst_system_clock_init), (gst_system_clock_dispose),
16084         (gst_system_clock_async_thread),
16085         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16086         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16087         * gst/gstsystemclock.h:
16088         * gst/gsttag.c: (gst_tag_list_add_value_internal),
16089         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16090         * gst/gsttaginterface.c:
16091         * gst/gstthread.c: (gst_thread_dispose),
16092         (gst_thread_release_children_locks), (gst_thread_change_state),
16093         (gst_thread_main_loop):
16094         * gst/gsttrashstack.h:
16095         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16096         * gst/gsttypes.h:
16097         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16098         (gst_element_request_pad), (gst_element_get_pad_from_template),
16099         (gst_element_request_compatible_pad),
16100         (gst_element_get_compatible_pad_filtered),
16101         (gst_element_get_compatible_pad), (gst_element_state_get_name),
16102         (gst_element_link_pads_filtered), (gst_element_link_filtered),
16103         (gst_element_link_many), (gst_element_link),
16104         (gst_element_link_pads), (gst_element_unlink_pads),
16105         (gst_element_unlink_many), (gst_element_unlink),
16106         (gst_pad_can_link_filtered), (gst_pad_can_link),
16107         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16108         (gst_object_default_error), (gst_bin_add_many),
16109         (gst_bin_remove_many), (gst_element_populate_std_props),
16110         (gst_element_class_install_std_props), (gst_buffer_merge),
16111         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16112         (link_fold_func), (gst_pad_proxy_setcaps):
16113         * gst/gstutils.h:
16114         * gst/gstvalue.c: (gst_value_deserialize_string):
16115         * gst/parse/grammar.y:
16116         * gst/schedulers/gstbasicscheduler.c:
16117         (gst_basic_scheduler_cothreaded_chain),
16118         (gst_basic_scheduler_chain_recursive_add),
16119         (gst_basic_scheduler_pad_link):
16120         * gst/schedulers/gstoptimalscheduler.c:
16121         (get_group_schedule_function),
16122         (gst_opt_scheduler_state_transition),
16123         (gst_opt_scheduler_add_element), (element_get_reachables_func):
16124         * libs/gst/bytestream/bytestream.c:
16125         * libs/gst/dataprotocol/dataprotocol.c:
16126         (gst_dp_header_from_buffer):
16127         * po/nb.po:
16128         * po/ru.po:
16129         * tests/threadstate/threadstate2.c: (eos):
16130         * tools/gst-compprep.c: (main):
16131         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16132         (print_pad_info), (print_children_info):
16133         * tools/gst-launch.c: (idle_func), (main):
16134         * tools/gst-md5sum.c: (idle_func), (main):
16135         * tools/gst-xmlinspect.c: (print_element_info):
16136         First THREADED backport attempt, focusing on adding locks and
16137         making sure the API is threadsafe. Needs more work. More docs
16138         follow this week.
16139
16140 2005-02-24  Andy Wingo  <wingo@pobox.com>
16141
16142         * tests/bench-complexity.scm:
16143         * tests/complexity.gnuplot: New files, good for running complexity
16144         benchmarks.
16145
16146         * tests/Makefile.am:
16147         * tests/complexity.c: New test, sets up N elements, at each level
16148         teeing into M streams per element. Eeeenteresting.
16149
16150         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16151         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
16152         running bench-mass_elements.scm.
16153
16154         * tests/bench-mass_elements.scm: New script, runs mass_elements
16155         for various numbers of identities, outputting the results to a
16156         file. Requires guile 1.6. Just for testing.
16157
16158 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16159
16160         * gst/schedulers/fairscheduler.c:
16161           compile with debug disabled
16162
16163 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16164
16165         * configure.ac:
16166           hunting season on 0.9 is now OPEN